[Home]

Summary:ASTERISK-25095: Not manage "busy/congestion" in Asterisk release after v. 1.8.29.0
Reporter:Top (topgunx1)Labels:
Date Opened:2015-05-15 09:49:13Date Closed:2015-06-01 17:58:06
Priority:MajorRegression?
Status:Closed/CompleteComponents:
Versions:1.8.32.3 13.3.2 Frequency of
Occurrence
Constant
Related
Issues:
Environment:Ubuntu 14.04 LTS (64 bit)Attachments:
Description:Hi all,

After upgrading to the last version of Asterisk (1.8.32.3) when I call a number to CCM (from Asterisk) Asterisk don't manage the:
"Everyone is busy/congested at this time.....Auto fallthrough, channel 'SIP/callman01-00000400' status is 'CONGESTION'" if the CCM close with a busy after some rings.

Upgrading to the new and last branch (13.x) I've the same result.

Downgrading to Asterisk 1.8.29.0 (my old version) it works correctly!

Here is the verbose log:

a) v. 1.8.29.0
{noformat}
....
Scheduling destruction of SIP dialog '6a49af6955b2084b7b37465a5992be6e@xxx.xxx.xxx.xxx:5060' in 6400 ms (Method: INVITE)
 == Everyone is busy/congested at this time (2:0/1/1)
-- Auto fallthrough, channel 'SIP/callman01-00000400' status is 'CONGESTION'
{noformat}
...In this case the user hear a vocal message that is related to the busy/congestion signal.

b) v. 1.8.32.3
{noformat}
...
Scheduling destruction of SIP dialog '6e7686d8178cd38a56d8a69a14bab358@xxx.xxx.xxx.xxx:5060' in 6400 ms (Method: INVITE)
{noformat}
...In this case the Asterisk user hear ringing forever even if at the other side the CCM has returned to Asterisk the Busy/Congested signal
...Also the line from "sip show channels" after the "CCM close" disappear, but not the ringing/call.

Is a new bug or it has already been solved?

If not, could anyone patch it?

Thanks in advance

PS: Here a sample config:

----------------------------------------------------------------------
{noformat}
[macro-dialout-callmanager]

exten => s,1,ChanIsAvail(SIP/callman02&SIP/callman01)
exten => s,2,Dial(${CUT(AVAILCHAN,,1)}/${ARG1},${ARG2},${ARG3})
exten => s,3,Hangup
exten => s,102,Congestion

exten => 6230,1,Answer()           <------ Asterisk user call this and this call CCM (from PHPAGI)
exten => 6230,n,AGI(test.php)
{noformat}
----------------------------------------------------------------------
{noformat}
[callman01]
type=friend
context=incoming-internal
host=x.x.x.x
disallow=all
allow=alaw
allow=ulaw
nat=no
canreinvite=no
qualify=yes

[callman02]
type=friend
context=incoming-internal
host=x.x.x.x
disallow=all
allow=alaw
allow=ulaw
nat=no
canreinvite=no
qualify=yes
{noformat}
----------------------------------------------------------------------
test.php
{noformat}
#!/usr/bin/php -q
<?php
   error_reporting( E_ALL ^ E_NOTICE);


   // Asterisk related
   require('phpagi.php');

      $agi = new AGI();
      $agi->answer();

      $agi->stream_file('hello');

           $callstatus = $agi->exec_dial('SIP/callman02&SIP/callman01','3000');
           $dialstatus = $agi->get_variable("DIALSTATUS");

           switch ($dialstatus[data]) {

               case "CHANUNAVAIL" : // Channel unavailable (for example in sip.conf, when using qualify=, the SIP chan is unavailable)
                   $agi->stream_file('busy');
                   break;
               case "BUSY" : //Returned busy
                   $agi->stream_file('busy');
                   break;
               case "NOANSWER" : //No Answer (i.e SIP 480 or 604 response)
                   $agi->stream_file('retry');
                   break;
               case "ANSWER" : //Call was answered
                   $agi->stream_file('byebye');
                   break;
               case "CANCEL" : //Call attempt cancelled (i.e user hung up before the call connected)
                   $agi->stream_file('retry');
                   break;
               case "DONTCALL" : //Privacy manager don't call
                   $agi->stream_file('retry');
                   break;
               case "TORTURE" : //Privacy manager torture menu
                   $agi->stream_file('retry');
                   break;
               case "CONGESTION" : //Means Congestion, or anything else (some other error setting up the call)
                   $agi->stream_file('retry');
                   break;
               default:
                  break;
           }

           break;

   $agi->stream_file('the-end');
?>
{noformat}
Comments:By: Rusty Newton (rnewton) 2015-05-15 17:27:31.566-0500

Thanks for the report and debug. However we also need protocol specific debug captured at the time of the issue. Please include the following:

* Asterisk log files generated using the instructions on the Asterisk wiki [1], with the appropriate protocol debug options enabled, e.g. 'pjsip set logger on' if the issue involves the chan_pjsip channel driver.
* Configuration information for the relevant channel driver, e.g. pjsip.conf.
* A wireshark compatible packet capture, captured at the same time as the Asterisk log output.

[1] https://wiki.asterisk.org/wiki/display/AST/Collecting+Debug+Information



By: Rusty Newton (rnewton) 2015-05-15 17:27:46.128-0500

We require additional debug to continue with triage of your issue. Please follow the instructions on the wiki [1] for how to collect debugging information from Asterisk. For expediency, where possible, attach the debug with a '.txt' file extension so that the debug will be usable for further analysis.

Thanks!

[1] https://wiki.asterisk.org/wiki/display/AST/Collecting+Debug+Information



By: Rusty Newton (rnewton) 2015-06-01 17:58:17.475-0500

Suspended due to lack of activity. Please request a bug marshal in #asterisk-bugs on the IRC network irc.freenode.net to reopen the issue should you have the additional information requested. Further information on issue tracker usage can be found in the Asterisk Issue Guidlines [1].

[1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines