[asterisk-bugs] [JIRA] (ASTERISK-22082) 180 Ringing not forwarded out on inbound channel during parallel Dial due to Dial waiting on provisional response from outbound channels

Rusty Newton (JIRA) noreply at issues.asterisk.org
Fri Jul 26 16:41:03 CDT 2013


    [ https://issues.asterisk.org/jira/browse/ASTERISK-22082?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=208268#comment-208268 ] 

Rusty Newton commented on ASTERISK-22082:
-----------------------------------------

It's debatable whether these issues are bugs or not, but we'll keep these open as they are close enough to being bugs. The behavior is definitely not optimal. Though we consider the 'r' option to Dial a viable workaround in both scenarios.

Since we don't want two separate problems in a single issue, I've separated out the second into a new issue: ASTERISK-22201

* Please gather Asterisk logs (VERBOSE and DEBUG turned up to 5) including SIP debug for both issues and attach them to the respective issues in the tracker. This will help with documenting the exact behavior that you are describing and help any developer looking to reproduce the scenario for testing.
                
> 180 Ringing not forwarded out on inbound channel during parallel Dial  due to Dial waiting on provisional response from outbound channels
> -----------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-22082
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-22082
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Applications/app_dial
>    Affects Versions: 1.8.23.0
>         Environment: Debian 64-bit
>            Reporter: hristo
>            Severity: Minor
>
> I have identified two cases, in which parallel calls may result in no ringback tone being heard by the caller:
> 1. In some cases "180 Ringing" is not being forwarded to the calling channel, because Dial() is waiting for provisional response from outbound channels, which are in a state of either busy, congested or nochan.
> I believe the problem is in line 1331 in app_dial.c (1.8 branch):
> {code}
> if (ignore_cc || cc_frame_received || num_ringing == numlines) {
> {code}
> if I understand the line correctly, a comparison is made between the number of channels in the ringing state (num_ringing) and the total number of outbound channels (numlines). However, it doesn't take into account (a simple subtraction?) any channels, which never sent back any 18x response and are in a state of busy, congested or nochan (num.busy, num.congestion and num.nochan counters respectively). As a result in certain cases even though the rest of the outbound channels all have sent back "180 Ringing", the Dial app will not forward it to the caller. This exact problem is in fact described in the comments just above this line in the source code itself.
> I am experiencing this problem when calling two end devices in parallel and when one of them has DND set. In this case no ringback will be sent to the calling channel, because the Dial app will wait for the device in DND to send back 180 Ringing, but it gets instead "480 Do Not Disturb" (at least with a SNOM 760 I will get this message).
> [Edit by Rusty Newton - separated second issue out to ASTERISK-22201]
> I want to mention, that adding the 'r' is not an option in the cases above, because it will generate ringback immediately and unconditionally and not when/if the 180 Ringing is actually received from upstream (consider a call to a mobile).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.asterisk.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list