Hi,

I raised an issue [ https://issues.asterisk.org/jira/browse/ASTERISK-27071 ] 
where music on hold keeps playing on the held channel after an attended 
transfer on asterisk 13
It affects calls coming in though a trunk from an alcatel pbx, but after 
digging though the code it seems likely that it might affect any trunk in 
general which requests an attended transfer via replaces

The invite/replaces arrives at chan_sip.c -> handle_invite_replaces which does 
its thing to do the transfer, but nowhere (it seems) is the moh stopped on the 
waiting channel (unlike in asterisk 11 pre-bridge changes where all channels 
are explicitely stopped).

So, after the transfer is done and we get the bridge concerned I added (in the 
if(bridge){...} block near the end):
                struct ast_bridge_channel *other;
                AST_LIST_TRAVERSE(&bridge->channels, other, entry) {
                               ast_moh_stop(other->chan); /*attended trf done, 
so stop all moh*/
                }

Which works.

So, is this a good way to go? Ie, is this the correct place to stop moh, and/or 
should I be queuing up an AST_CONTROL_UNHOLD frame instead on the channels?

Thanks for any advice!

Jason


-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to