Summary: | ASTERISK-03470: [patch] The ISDN Baerer Capability Information is not properly passed on a bridged channel | ||
Reporter: | Frank Sautter (xylome) | Labels: | |
Date Opened: | 2005-02-10 07:14:50.000-0600 | Date Closed: | 2011-06-07 14:10:19 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | Core/General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) ast_caps.diff ( 1) bearercapability-patch-v1.diff ( 2) transfercapability-patch-asterisk-v2.diff ( 3) transfercapability-patch-asterisk-v3.diff ( 4) transfercapability-patch-asterisk-v4.diff ( 5) transfercapability-patch-asterisk-v5.diff ( 6) transfercapability-patch-asterisk-v6.diff ( 7) transfercapability-patch-libpri-v2-.diff ( 8) transfercapability-patch-libpri-v3.diff | |
Description: | When bridging calls between two PRIs, the Bearer Capability Info in the ISDN Setup IE is not passed to the outgoing call. Currently only UNRESTRICTED DIGITAL calls are handled correct. all others are set to SPEECH which make problems or makes it even imposible to call some devices like faxmachines or videophones. ****** ADDITIONAL INFORMATION ****** * a new unsigned short variable 'bcap' is added to ast_channel in addition to the already existing AST_FLAG_DIGITAL. * app_dial has a new option 'B(x)', which is to set the bearer capability to the desired value. | ||
Comments: | By: Olle Johansson (oej) 2005-02-14 01:35:43.000-0600 Do you have a disclaimer on file or do you need to submit one? By: Frank Sautter (xylome) 2005-02-14 07:28:15.000-0600 disclaimer is on file By: Frank Sautter (xylome) 2005-02-14 07:35:21.000-0600 OK, after i now have the Q.931 specs on hand, I revised my patch, as I now know that it's not the bearer capability but the transfercapability that has to be passed.... (the patch still is the same, but the names of the variables and the debug output have changed). i also noticed that 7k audio is depriciated since 05/1998 and has been replaced by 'unrestricted digital information with tones/announcements'. therefore i also patched libpri to reflect this change in the ITU recommendation (has 7k ever been used?!?) the new option of app_dial has also been changed from 'B(x)' to 'X(x)' (X stands for Trans(X)fer capability). By: Frank Sautter (xylome) 2005-02-14 07:39:08.000-0600 i wanted to add, that this patch is in production use in our company since 2005-02-09 with over 3000 calls (1200 of them faxes). all problems we had with faxes not going through are now history (faxes were accidentally routed to voice DTEs or the calls were not accepted by the DTE). By: Mark Spencer (markster) 2005-02-14 09:39:33.000-0600 I would like to recommend that instead of adding a new option to dial, this should be handled transparently, with the possible addition of SetTransferCapability app, so that it looks a lot like callingpres, etc. By: Frank Sautter (xylome) 2005-02-14 10:22:33.000-0600 ok, good point! i will create app_SetTransferCapability and remove it from app_dial. I was't very happy with this solution, but couldn't think of any other solution. the remaining parts are currently handled completly transparent. the dial option was just to set the transfer capability explicitly. btw: could someone change the subject of this bug to 'transfer capability' just to rectify things. By: Frank Sautter (xylome) 2005-02-14 12:56:40.000-0600 created app_setTransferCapability removed Dial option 'X(x)' variable CALLTYPE depriciated -> replaced through TRANSFERCAPABILITY patch V3 is in production use (so far > 50 calls) so far no problems edited on: 02-14-05 12:57 By: Mark Spencer (markster) 2005-02-28 00:38:45.000-0600 Merged the PRI portion. If transfercapability is going to be asterisk-wide, shouldn't the routines to convert capability numbers to names and back also be elsewhere in asterisk (e.g. channel.c)? By: Olle Johansson (oej) 2005-02-28 02:27:49.000-0600 Just out of curiousity: What is ISDN bearer capability? By: Olle Johansson (oej) 2005-02-28 02:28:54.000-0600 Google is my friend. Cisco has a good ISDN PRI information page http://www.cisco.com/univercd/cc/td/doc/product/software/ssr921/dcr/24014.htm By: Frank Sautter (xylome) 2005-03-02 05:51:58.000-0600 mark, i took your implicit advise and moved the function to channel.c. it would be nice to have this patch in the cvs soon, as it's very time consuming to create the appropriate patch files, while developing other patches in the same files... edited on: 03-02-05 06:00 By: Frank Sautter (xylome) 2005-03-02 06:00:05.000-0600 for all who want to know more about bearer capability, ericsson has some easy readable documents "understanding telecommunications": http://www.ericsson.com/support/telecom/part-c/c-1-2.shtml and in general: http://www.ericsson.com/support/telecom/index.shtml also the capi documentation is a good reference: http://www.capi.org/download/capi20-1.pdf By: Paul Cadach (pcadach) 2005-03-09 01:25:04.000-0600 Very complex. I done it much simpler (without patching libpri), just through _CALLTYPE variable, like: exten => _X.,2,SetVar(_CALLTYPE=${CALLTYPE}) Possible there is needs to rename CALLTYPE variable prepared at chan_zap.c to _CALLTYPE or __CALLTYPE to be transfered to other leg by existing Dial()'s mechanism. By: Paul Cadach (pcadach) 2005-03-09 01:33:52.000-0600 PS: Disclaimer is on file (for ast_caps.diff). 2Mark: Because bearer capability option related to TDM (ISDN, SS7) only there isn't need to be supported at Asterisk's core level, just for TDM-related channel drivers only. And, show channel Zap/xxx isn't shows '_' prefixes before variable so CALLTYPE and _CALLTYPE looks the same. Also, Dial()'s mechanism needs to be checked for updating/leaving existing variables (for example, CALLTYPE is exists anytime on Zap channels, and passing _CALLTYPE to other leg duplicates the variable IMHO). But anyway all works fine. By: Frank Sautter (xylome) 2005-03-09 01:56:33.000-0600 updated patch to recent cvs version By: Frank Sautter (xylome) 2005-03-09 02:08:35.000-0600 libpri only was patched because 7k audio is depreceated since 1995. i made it this complex, because i will soon publish a patch allowing to set/get/bridge High Layer Compatibility (HLC) and Common ISDN Profiles (CIP) as defined in CAPI. 2PCadach: i think your version is also possible for the moment. but i would change CALLTYPE to TRANSFERCAPABILITY just to name things by their names. also i would propose to rename 31KAUDIO to 3K1AUDIO and 7KAUDIO to DIGITAL_W_TONES to be conform with itu spec. By: Frank Sautter (xylome) 2005-03-31 14:59:12.000-0600 Reminder sent to mattf Is there a chance to get this into the cvs? By: Matthew Fredrickson (mattf) 2005-03-31 18:32:17.000-0600 I think that this looks good. If there is nothing else, I'm going to commit it. By: Matthew Fredrickson (mattf) 2005-03-31 18:42:27.000-0600 Hrm... Looks like it's not merging. Xylome, Can you post an updated patch for current CVS? By: Frank Sautter (xylome) 2005-04-01 04:01:55.000-0600 Reminder sent to mattf i updated the patch. it should merge now. By: Matthew Fredrickson (mattf) 2005-04-01 09:31:14.000-0600 I want to go over this with Mark before I commit it. I'll see if I can talk to him today about it. By: Matthew Fredrickson (mattf) 2005-04-01 11:07:40.000-0600 Ok, I talked it over with Mark and I think I have just about finished merging this in. Note to all that use this, this deprecates the AST_FLAG_DIGITAL in the bitflags section of channel.h By: Matthew Fredrickson (mattf) 2005-04-01 11:08:23.000-0600 committed By: Michael Jerris (mikej) 2005-04-01 11:51:43.000-0600 Recent apps makefile change causes: make[1]: *** No rule to make target `app_settransfercapability.so', needed by `all'. Stop By: Matthew Fredrickson (mattf) 2005-04-01 12:56:09.000-0600 oops. forgot to add app_settransfercapability.c By: Matthew Fredrickson (mattf) 2005-04-01 12:56:32.000-0600 Closed |