[asterisk-bugs] [JIRA] (ASTERISK-25095) Not manage "busy/congestion" in Asterisk release after v. 1.8.29.0

Richard Mudgett (JIRA) noreply at issues.asterisk.org
Fri May 15 10:29:33 CDT 2015


     [ https://issues.asterisk.org/jira/browse/ASTERISK-25095?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Richard Mudgett updated ASTERISK-25095:
---------------------------------------

    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 at 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 at 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}


  was:
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 
....
Scheduling destruction of SIP dialog '6a49af6955b2084b7b37465a5992be6e at 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'

...In this case the user hear a vocal message that is related to the busy/congestion signal.

b) v. 1.8.32.3
...
Scheduling destruction of SIP dialog '6e7686d8178cd38a56d8a69a14bab358 at xxx.xxx.xxx.xxx:5060' in 6400 ms (Method: INVITE)

...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:

----------------------------------------------------------------------
[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)


----------------------------------------------------------------------
[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



----------------------------------------------------------------------
[test.php]
#!/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');
?>



> Not manage "busy/congestion" in Asterisk release after v. 1.8.29.0
> ------------------------------------------------------------------
>
>                 Key: ASTERISK-25095
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-25095
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>    Affects Versions: 1.8.32.3, 13.3.2
>         Environment: Ubuntu 14.04 LTS  (64 bit)
>            Reporter: Top
>
> 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 at 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 at 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}



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list