[asterisk-dev] Attn Olle: closed bug #9239 - "xfersound"

Johansson Olle E oej at edvina.net
Thu Jan 31 10:36:46 CST 2008

31 jan 2008 kl. 15.43 skrev Steve Davies:

> On Jan 31, 2008 10:39 AM, Johansson Olle E <oej at edvina.net> wrote:
>> Late answer, found in my mail queue. Obviously did not get sent on  
>> the
>> airport...
>> /O
>> 23 jan 2008 kl. 21.03 skrev Nic Bellamy:
>>> Hi Olle,
>>> you closed off the above bug yesterday, or thereabouts, with a
>>> comment:
>>> "No answer from reporter, and it's doable in dialplan."
>>> The "No answer from reporter" part is easy enough to understand
>>> (yes, it
>>> had been a while), but you have commented a couple of times during  
>>> the
>>> life of the bug that it's doable in the dialplan.
>>> I can't for the life of me think how to do it in the dialplan, so if
>>> it
>>> can be done, please please please enlighten me.
>>> The basic idea is to have a notification beep play when an attended
>>> transfer is completed - ie.:
>>> 1. A rings B, B answers. A wants to talk to C
>>> 2. B rings C, C answers. C says "go ahead"
>>> 3. B completes attended transfer
>>> 4. B->C bridge gets replaced with A->C bridge - but C would like a
>>> "beep!" when this happens. Currently, unless there's a significant
>>> change in background noise, it's very hard for C to tell when B->C
>>> changes to A->C
>> For  blind transfers:
>> Catch the new call in the TRANSFER_CONTEXT, play a beep and
>> go ahead.
>> Attended transfers are harder, you're right. There's obviously no
>> dialplan execution at time of transfer. I am a bit afraid of  
>> duplicating
>> too much code of the PBX transfer in res_features into chan_sip and
>> building my own PBX in the SIP channel, so I am very hesitant for
>> this type of patches...
>> I guess I will have to revisit this bug. Thanks for the correction
>> and the reminder.
>> /O :-)
> I would personally love to see this implemented as a parameter to
> Dial(), perhaps a B(macro) parameter which works a bit like M(macro),
> except that is is executed whenever any sort of call bridge is
> completed, rather than when the call is answered. The macro would be
> called with a couple of system variables set to indicate channels
> involved, and the type of transfer taking place.
> One complication - There might be 2 call legs with either the same or
> different B() parameters specified... This would need resolving!
> This feature would allow more than just a Beep to be played, it would
> allow call-recording settings to be re-evaluated for the newly bridged
> call, MoH settings to be changed, CDR updates, and all sorts of other
> useless behaviour that keeps end-user happy :)
> Of course, ideally M() and B() behaviour would also be available to
> app_queue originated calls.

That's a cool idea which also takes it out of the SIP scope :-)
We just need to make sure that chan_sip and other channels
activate this in the same way as the new features non-module does.


More information about the asterisk-dev mailing list