[asterisk-bugs] [JIRA] (ASTERISK-27673) Attended SIP Transfer via func local_attended_transfer does not call TRANSFER_CONTEXT

Peter Katzmann (JIRA) noreply at issues.asterisk.org
Tue Feb 13 06:46:13 CST 2018


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

Peter Katzmann commented on ASTERISK-27673:
-------------------------------------------

Still not get into this.
Why can we play attended_transfer_complete sound for sip refer if we don't have the knowledge of a completed transfer ? 
So we have this sequence in local_attended_transfer
<code> 
       /* Transfer succeeded! */
        const char *xfersound = pbx_builtin_getvar_helper(target.chan1, "ATTENDED_TRANSFER_COMPLETE_SOUND");

                /* target.chan1 was locked in get_sip_pvt_byid_locked, do not unlock target.chan1 before this */
                ast_cel_report_event(target.chan1, AST_CEL_ATTENDEDTRANSFER, NULL, transferer_linkedid, target.chan2);

                /* Tell transferer that we're done. */
                transmit_notify_with_sipfrag(transferer, seqno, "200 OK", TRUE);

</code>

So for me it looks like we are still in control of the flow and it should be possible to trigger the dialplan.

> Attended SIP Transfer via func local_attended_transfer does not call TRANSFER_CONTEXT
> -------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-27673
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-27673
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Channels/chan_sip/Transfers
>    Affects Versions: 11.25.3, 13.17.2
>         Environment: ubuntu lts 14.x, 16.x
>            Reporter: Peter Katzmann
>            Severity: Minor
>
> During tests of transfer scenarios we figured out that under some circumstances the defined TRANSFER_CONTEXT is not called. We nailed it down to Attended Transfers via SIP REFER inside a single pbx.
> Further debugging showed that inside chan_sip.c the handle_request_refer asterisk calls  local_attended_transfer. 
> If these function succeeded asterisk returns (13.x series) or jumps to cleanup (11.x series) without calling any ast_async_goto for the TRANSFER_CONTEXT variable.



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



More information about the asterisk-bugs mailing list