[asterisk-bugs] [JIRA] Issue Comment Edited: (ASTERISK-20124) chan_sip retransmit timeout causes a AST_CAUSE_PROTOCOL_ERROR, translates to 603 Declined

Jonathan Rose (JIRA) noreply at issues.asterisk.org
Thu Aug 23 11:59:07 CDT 2012


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

Jonathan Rose edited comment on ASTERISK-20124 at 8/23/12 11:58 AM:
--------------------------------------------------------------------

Based on how you are describing the problem, I think this is the appropriate response. Please confirm that this patch changes the behavior to match your expectations.

      was (Author: jrose):
    Based on how you are describing the problem, I think this is the appropriate response. Please confirm that this changes the behavior to match your expectations.
  
> chan_sip retransmit timeout causes a AST_CAUSE_PROTOCOL_ERROR, translates to 603 Declined
> -----------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-20124
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-20124
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Channels/chan_sip/General
>    Affects Versions: 1.8.14.0
>            Reporter: Walter Doekes
>         Attachments: asterisk-20124_patch.diff
>
>
> When chan_sip.c does a {{ast_queue_hangup_with_cause(channel, AST_CAUSE_PROTOCOL_ERROR);}} the cause code AST_CAUSE_PROTOCOL_ERROR gets translated to "603 Declined" because AST_CAUSE_PROTOCOL_ERROR is not found in {{cause2sip}}.
> {{ast_queue_hangup_with_cause(channel, AST_CAUSE_PROTOCOL_ERROR);}} is called from {{__sip_autodestruct()}}, {{handle_request_bye()}} on rare occasions, and (relevant in my case) from the {{retrans_pkt()}} retransmit handler on timeout.
> For the timeout, I'd expect a 408 or something. Especially when I pass the ${HANGUPCAUSE} to an A-leg.
> The translation to 603 happens here:
> {noformat}
>                                 if (p->hangupcause && (res = hangup_cause2sip(p->hangupcause)))
>                                         transmit_response_reliable(p, res, &p->initreq);
>                                 else
>                                         transmit_response_reliable(p, "603 Declined", &p->initreq);
> {noformat}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list