[asterisk-dev] Detecting B-leg channels

Nikša Baldun it at voxdiversa.hr
Tue Aug 24 13:20:29 CDT 2021


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.

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>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20210824/bc9e502f/attachment-0001.html>


More information about the asterisk-dev mailing list