[asterisk-bugs] [JIRA] (ASTERISK-27071) chan_sip: MOH keeps playing on attended transfer to alcatel
Jason Tomlinson (JIRA)
noreply at issues.asterisk.org
Thu Jul 27 10:00:57 CDT 2017
[ https://issues.asterisk.org/jira/browse/ASTERISK-27071?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=237856#comment-237856 ]
Jason Tomlinson edited comment on ASTERISK-27071 at 7/27/17 9:59 AM:
---------------------------------------------------------------------
I've been poking around the code to see if I could notice anything.
I dont think it actually has anything to do with alcatel, just the fact that all call legs are from a trunk (I will retest with two asterisk boxes to verify)
We arrive at chan_sip / handle_invite_replaces and it seems nowhere is the music stopped for this channel (compared to asterisk 11 where all channels involved in a transfer are explicitely stopped)
In this function, I added
struct ast_bridge_channel *other;
AST_LIST_TRAVERSE(&bridge->channels, other, entry) {
ast_moh_stop(other->chan); /*attended transfer done, so stop all moh*/
}
after sending the fake 100 and getting the bridge (so in the "if(bridge)..." block) and this seems to work OK.
Is this a safe thing to do here?
Or should it be an ast_control_unhold frame queued up?
(I assume that it should be chan_sip responsable for unholding channels, so in handle_invite_replaces in this case....)
Thanks
was (Author: jason):
I've been poking around the code to see if I could notice anything.
I dont think it actually has anything to do with alcatel, just the fact that all call legs are from a trunk (I will retest with two asterisk boxes to verify)
We arrive at chan_sip / handle_invite_replaces and it seems nowhere is the music stopped for this channel (compared to asterisk 11 where all channels involved in a transfer are explicitely stopped)
In this function, I added
struct ast_bridge_channel *other;
AST_LIST_TRAVERSE(&bridge->channels, other, entry) {
ast_moh_stop(other->chan);//attended transfer done, so stop all moh
}
after sending the fake 100 and getting the bridge (so in the "if(bridge){...}" block) and this seems to work OK.
Is this a safe thing to do here?
Or should it be an ast_control_unhold frame queued up?
(I assume that it should be chan_sip responsable for unholding channels, so in handle_invite_replaces in this case....)
Thanks
> chan_sip: MOH keeps playing on attended transfer to alcatel
> -----------------------------------------------------------
>
> Key: ASTERISK-27071
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-27071
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Channels/chan_sip/General
> Affects Versions: 13.13.0, 13.13.1, 13.15.0, 13.16.0
> Environment: Centos 7
> Alcatel OXE
> Reporter: Jason Tomlinson
> Assignee: Unassigned
> Attachments: alcatel_trf_problem.txt, full_sip_trace.txt, Trace transfert Alcatel.pcapng
>
>
> Since upgrading from asterisk 11 to asterisk 13 (I have tested up to the latest 13.16.0 release), we have a problem with attended transfers to an alcatel pbx in which the call being transferred still has music on hold even after the transfer has completed.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list