Summary: | ASTERISK-16964: Asterisk does not send release message when channel requested during SETUP gets changed during Procedding Message from TELCO | ||
Reporter: | destiny6628 (destiny6628) | Labels: | |
Date Opened: | 2010-11-16 01:47:40.000-0600 | Date Closed: | 2011-04-04 11:18:01 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | Channels/chan_dahdi |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) UK.txt | |
Description: | Hi, We are using Asterisk 1.4.36 / dahdi-linux-2.3.0.1 / dahdi-tool-2.3.0 / libpri 1.4.10 with Digium Pri cards 4 PORT and 2 PORT respectively with hardware echo cancellation supported. I will try to describe issue to the best of my ability out here so that we can come to any sort of resolution on this, as I am sure there would many others facing same issue. Description : I am working with a TELCO PROVIDER known as BT in UK where i have ISDN30e lines from there where TEI is static. During Call Initiation from Dialer Server Channel picked up from Server would be X and sent across the ISDN LINE towards TELCO. Now in return to that SETUP there would be a CALL PROCEDDING Message send back by TELCO on a different channel which was there during the SET UP MESSAGE. Unfortunately when this happens the channel on which CALL PROCEDDING was sent back, was already BUSY. Now at this instant as per my understanding ideally Asterisk shall release channel and call shall get hangup but instead of this Call remains ON and gets established on a another channel which was in CALL PROCEDDING but as CHANNEL has changed there would be no audio at all. Please find the PRI LOGS ATTACHED in the description | ||
Comments: | By: destiny6628 (destiny6628) 2010-11-24 08:32:44.000-0600 Any update on this?? This has been a major issue as far as i understand in operations. By: destiny6628 (destiny6628) 2010-11-25 06:03:19.000-0600 Any solution ? By: Birger "WIMPy" Harzenetter (wimpy) 2010-11-25 06:14:08.000-0600 Solution to what? Did you experience any problems with the shown call? (Assuming it was one call; the relevant bits are missing) The signaling looks pretty normal to me. The error message bout being unable to change channel appears in a position where it should already have happened. So probably it's trying to do so twice, which is not good, but wouldn't necessarily lead to any undesired effects other than that message. Actually I see a "peerstate Connect Request" on the hangup which looks wrong. By: destiny6628 (destiny6628) 2010-12-06 02:15:17.000-0600 @wimpy : In case you originate a Call to Telco on channel X, it is assumed that you will receive a response back on the same channel X only from TELCO in the signalling not Y. Also if we get the request back on channel Y and if channel Y is already busy on another call then only issues related to NO RTP ( No voice call ) comes on the Agents Terminal. So is this channel shifting and response of Asterisk to channel shifting in case shifted channel is already busy on call is normal?? By: Leif Madsen (lmadsen) 2010-12-06 13:21:40.000-0600 I'll acknowledge this issue because I don't know what else I can ask for. Perhaps an intense PRI debug from the Asterisk console along with debug level logging would be useful. By: Birger "WIMPy" Harzenetter (wimpy) 2010-12-06 15:05:58.000-0600 Ok, you didn't tell us that you had no audio. I have tried to force the situation and test. I did not find any problems. The call worked on the reselected channel. That was done using svn versions of all parts. So I suggest you try the latest libpri and see if that still happens. There have been two differences with my setup however: 1. I used a BRI as I can only simulate PRI with dahdi and I'm not sure if I can get it to force reselection, but that shouldn't make a difference. 2. I have the changed cahnel in a SETUP ACK. No idea how to get rid of that. This might make a difference. By: destiny6628 (destiny6628) 2010-12-18 03:11:33.000-0600 Sure, will upload the pri intense debug logs asap By: Digium Subversion (svnbot) 2011-04-04 10:49:32 Repository: asterisk Revision: 312573 U branches/1.4/channels/chan_dahdi.c U branches/1.4/configure U branches/1.4/configure.ac U branches/1.4/include/asterisk/autoconfig.h.in ------------------------------------------------------------------------ r312573 | rmudgett | 2011-04-04 10:49:32 -0500 (Mon, 04 Apr 2011) | 38 lines Issues with ISDN calls changing B channels during call negotiations. The handling of the PROCEEDING message was not using the correct call structure if the B channel was changed. (The same for PROGRESS.) The call was also not hungup if the new B channel is not provisioned or is busy. * Made all call connection messages (SETUP_ACKNOWLEDGE, PROCEEDING, PROGRESS, ALERTING, CONNECT, CONNECT_ACKNOWLEDGE) ensure that they are using the correct structure and B channel. If there is any problem with the operations then the call is now hungup with an appropriate cause code. * Made miscellaneous messages (INFORMATION, FACILITY, NOTIFY) find the correct structure by looking for the call and not using the channel ID. NOTIFY is an exception with versions of libpri before v1.4.11 because a call pointer is not available for Asterisk to use. * Made all hangup messages (DISCONNECT, RELEASE, RELEASE_COMPLETE) find the correct structure by looking for the call and not using the channel ID. (closes issue ASTERISK-16964) Reported by: destiny6628 Tested by: rmudgett JIRA SWP-2620 (closes issue ASTERISK-16892) Reported by: destiny6628 Tested by: rmudgett JIRA SWP-2924 (closes issue ASTERISK-17120) Reported by: jpokorny JIRA SWP-2929 JIRA AST-437 (The issues fixed here are most likely causing this JIRA issue.) JIRA DAHDI-406 JIRA LIBPRI-33 (Stuck resetting flag likely fixed) ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=312573 By: Digium Subversion (svnbot) 2011-04-04 11:00:04 Repository: asterisk Revision: 312574 _U branches/1.6.2/ U branches/1.6.2/channels/chan_dahdi.c U branches/1.6.2/configure U branches/1.6.2/configure.ac U branches/1.6.2/include/asterisk/autoconfig.h.in ------------------------------------------------------------------------ r312574 | rmudgett | 2011-04-04 11:00:04 -0500 (Mon, 04 Apr 2011) | 45 lines Merged revisions 312573 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r312573 | rmudgett | 2011-04-04 10:49:30 -0500 (Mon, 04 Apr 2011) | 38 lines Issues with ISDN calls changing B channels during call negotiations. The handling of the PROCEEDING message was not using the correct call structure if the B channel was changed. (The same for PROGRESS.) The call was also not hungup if the new B channel is not provisioned or is busy. * Made all call connection messages (SETUP_ACKNOWLEDGE, PROCEEDING, PROGRESS, ALERTING, CONNECT, CONNECT_ACKNOWLEDGE) ensure that they are using the correct structure and B channel. If there is any problem with the operations then the call is now hungup with an appropriate cause code. * Made miscellaneous messages (INFORMATION, FACILITY, NOTIFY) find the correct structure by looking for the call and not using the channel ID. NOTIFY is an exception with versions of libpri before v1.4.11 because a call pointer is not available for Asterisk to use. * Made all hangup messages (DISCONNECT, RELEASE, RELEASE_COMPLETE) find the correct structure by looking for the call and not using the channel ID. (closes issue ASTERISK-16964) Reported by: destiny6628 Tested by: rmudgett JIRA SWP-2620 (closes issue ASTERISK-16892) Reported by: destiny6628 Tested by: rmudgett JIRA SWP-2924 (closes issue ASTERISK-17120) Reported by: jpokorny JIRA SWP-2929 JIRA AST-437 (The issues fixed here are most likely causing this JIRA issue.) JIRA DAHDI-406 JIRA LIBPRI-33 (Stuck resetting flag likely fixed) ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=312574 By: Digium Subversion (svnbot) 2011-04-04 11:10:52 Repository: asterisk Revision: 312575 _U branches/1.8/ U branches/1.8/channels/chan_dahdi.c U branches/1.8/channels/sig_pri.c U branches/1.8/channels/sig_pri.h ------------------------------------------------------------------------ r312575 | rmudgett | 2011-04-04 11:10:51 -0500 (Mon, 04 Apr 2011) | 52 lines Merged revisions 312574 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r312574 | rmudgett | 2011-04-04 11:00:02 -0500 (Mon, 04 Apr 2011) | 45 lines Merged revisions 312573 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r312573 | rmudgett | 2011-04-04 10:49:30 -0500 (Mon, 04 Apr 2011) | 38 lines Issues with ISDN calls changing B channels during call negotiations. The handling of the PROCEEDING message was not using the correct call structure if the B channel was changed. (The same for PROGRESS.) The call was also not hungup if the new B channel is not provisioned or is busy. * Made all call connection messages (SETUP_ACKNOWLEDGE, PROCEEDING, PROGRESS, ALERTING, CONNECT, CONNECT_ACKNOWLEDGE) ensure that they are using the correct structure and B channel. If there is any problem with the operations then the call is now hungup with an appropriate cause code. * Made miscellaneous messages (INFORMATION, FACILITY, NOTIFY) find the correct structure by looking for the call and not using the channel ID. NOTIFY is an exception with versions of libpri before v1.4.11 because a call pointer is not available for Asterisk to use. * Made all hangup messages (DISCONNECT, RELEASE, RELEASE_COMPLETE) find the correct structure by looking for the call and not using the channel ID. (closes issue ASTERISK-16964) Reported by: destiny6628 Tested by: rmudgett JIRA SWP-2620 (closes issue ASTERISK-16892) Reported by: destiny6628 Tested by: rmudgett JIRA SWP-2924 (closes issue ASTERISK-17120) Reported by: jpokorny JIRA SWP-2929 JIRA AST-437 (The issues fixed here are most likely causing this JIRA issue.) JIRA DAHDI-406 JIRA LIBPRI-33 (Stuck resetting flag likely fixed) ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=312575 By: Digium Subversion (svnbot) 2011-04-04 11:18:00 Repository: asterisk Revision: 312579 _U trunk/ U trunk/channels/chan_dahdi.c U trunk/channels/sig_pri.c U trunk/channels/sig_pri.h ------------------------------------------------------------------------ r312579 | rmudgett | 2011-04-04 11:18:00 -0500 (Mon, 04 Apr 2011) | 59 lines Merged revisions 312575 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r312575 | rmudgett | 2011-04-04 11:10:50 -0500 (Mon, 04 Apr 2011) | 52 lines Merged revisions 312574 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r312574 | rmudgett | 2011-04-04 11:00:02 -0500 (Mon, 04 Apr 2011) | 45 lines Merged revisions 312573 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r312573 | rmudgett | 2011-04-04 10:49:30 -0500 (Mon, 04 Apr 2011) | 38 lines Issues with ISDN calls changing B channels during call negotiations. The handling of the PROCEEDING message was not using the correct call structure if the B channel was changed. (The same for PROGRESS.) The call was also not hungup if the new B channel is not provisioned or is busy. * Made all call connection messages (SETUP_ACKNOWLEDGE, PROCEEDING, PROGRESS, ALERTING, CONNECT, CONNECT_ACKNOWLEDGE) ensure that they are using the correct structure and B channel. If there is any problem with the operations then the call is now hungup with an appropriate cause code. * Made miscellaneous messages (INFORMATION, FACILITY, NOTIFY) find the correct structure by looking for the call and not using the channel ID. NOTIFY is an exception with versions of libpri before v1.4.11 because a call pointer is not available for Asterisk to use. * Made all hangup messages (DISCONNECT, RELEASE, RELEASE_COMPLETE) find the correct structure by looking for the call and not using the channel ID. (closes issue ASTERISK-16964) Reported by: destiny6628 Tested by: rmudgett JIRA SWP-2620 (closes issue ASTERISK-16892) Reported by: destiny6628 Tested by: rmudgett JIRA SWP-2924 (closes issue ASTERISK-17120) Reported by: jpokorny JIRA SWP-2929 JIRA AST-437 (The issues fixed here are most likely causing this JIRA issue.) JIRA DAHDI-406 JIRA LIBPRI-33 (Stuck resetting flag likely fixed) ........ ................ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=312579 |