[asterisk-dev] Detecting B-leg channels

Nikša Baldun it at voxdiversa.hr
Tue Aug 24 14:15:28 CDT 2021


Yes, I suspected as much. I've seen that app_dial keeps a list of 
outbound channels, but doesn't store it anywhere. So that's a dead end, 
pretty much.

On 24. 08. 2021. 20:45, George Joseph wrote:
>
>
> On Tue, Aug 24, 2021 at 12:20 PM Nikša Baldun <it at voxdiversa.hr 
> <mailto:it at voxdiversa.hr>> wrote:
>
>     I have checked it, and that led me to bridge.c. Perhaps I wasn't
>     clear enough. These are the channels involved in attended transfer:
>
>     (transferee) <> (transferer1) (transferer2) <> (transfer target)
>
>     Transferee and transfer target are not readily available in
>     res_pjsip_refer.c, but I can get them in bridge.c, as long as both
>     calls are bridged. But transfer target may be in ringing state,
>     and in that case there is no bridge whose members I can check.
>     Also, there could be multiple ringing channels. So in that case, I
>     need a way to get all ringing channels which belong to
>     transferrer2 channel. I was wondering if there is an existing
>     method for that, or do I have to devise my own.
>
>     The only idea which comes to mind is to iterate over all channels
>     in the system and compare their LinkedId to transferer2 UniqueId.
>
> Please don't do that. :)
>
> So, Alice (transferee) is on an existing call (channel transferer1), 
> she transfers to Bob (transfer target), Asterisk sets up channel 
> transferer2 to call Bob and Bob is ringing but hasn't answered yet.  
> Right?   Optionally, Alice transfers to a "ring group" which causes 
> Asterisk to create multiple outbound channels, correct?    The only 
> place I can think of that knows about this is app_dial.
>
>     On 24. 08. 2021. 19:38, George Joseph wrote:
>>
>>
>>     On Tue, Aug 24, 2021 at 11:22 AM Nikša Baldun <it at voxdiversa.hr
>>     <mailto:it at voxdiversa.hr>> wrote:
>>
>>         Hello,
>>
>>         I am using chan_pjsip.
>>
>>     Check res_pjsip_refer.c  you may be able to intercept both
>>     channels there.
>>
>>         On 24. 08. 2021. 18:55, George Joseph wrote:
>>>
>>>
>>>         On Mon, Aug 23, 2021 at 4:29 AM Nikša Baldun
>>>         <it at voxdiversa.hr <mailto:it at voxdiversa.hr>> wrote:
>>>
>>>             Hello,
>>>
>>>             I am trying to modify bridge.c (function
>>>             ast_bridge_transfer_attended)
>>>             in order to send channels involved in SIP attended
>>>             transfer to the
>>>             dialplan. If both transferee and transfer target are
>>>             bridged, that is
>>>             relatively easy. However, if transfer target is ringing,
>>>             I don't know
>>>             how to find B-leg channels (there could be multiple, I
>>>             suppose). So the
>>>             question is, having a reference to A-leg channel, how to
>>>             obtain a list
>>>             of B-leg channels?
>>>
>>>             Best regards,
>>>
>>>
>>>         Which channel driver are you using?
>>>
>>>
>>>             -- 
>>>             _____________________________________________________________________
>>>             -- Bandwidth and Colocation Provided by
>>>             http://www.api-digital.com <http://www.api-digital.com> --
>>>
>>>             asterisk-dev mailing list
>>>             To UNSUBSCRIBE or update options visit:
>>>             http://lists.digium.com/mailman/listinfo/asterisk-dev
>>>             <http://lists.digium.com/mailman/listinfo/asterisk-dev>
>>>
>>>
>>         -- 
>>         _____________________________________________________________________
>>         -- Bandwidth and Colocation Provided by
>>         http://www.api-digital.com <http://www.api-digital.com> --
>>
>>         asterisk-dev mailing list
>>         To UNSUBSCRIBE or update options visit:
>>         http://lists.digium.com/mailman/listinfo/asterisk-dev
>>         <http://lists.digium.com/mailman/listinfo/asterisk-dev>
>>
>>
>     -- 
>     _____________________________________________________________________
>     -- Bandwidth and Colocation Provided by http://www.api-digital.com
>     <http://www.api-digital.com> --
>
>     asterisk-dev mailing list
>     To UNSUBSCRIBE or update options visit:
>     http://lists.digium.com/mailman/listinfo/asterisk-dev
>     <http://lists.digium.com/mailman/listinfo/asterisk-dev>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20210824/2347a665/attachment-0001.html>


More information about the asterisk-dev mailing list