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 <i...@voxdiversa.hr <mailto:i...@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 <i...@voxdiversa.hr
    <mailto:i...@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 --

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

Reply via email to