can somebody please shed some light on variable inheritance after SIP attended transfer?
We are using Yealink and Bria phones; in both cases attended transfers are performed using built-in phone buttons = SIP REFER method. Typical example:
A —> B
B initiates SIP attended transfer of the call to external party C
A → C
A = external caller in a queue
B = agent in a queue
C = external party, called via sip trunk
Observing the behavior, it seems that all the variables for channel A or B that were set in stage 1 are lost in stage 3 - with few exceptions (like info about master channel, ConnectedLine). I’ve used underscores, but doesnt help (example: __Var).
Is there a way / trick /to pass all the variables (from A or B) to C again when the calls are bridged? I would like to know that external call C is related to inbound call A.
We are using Local channels with queues, chan_sip, asterisk 18.21.
I think inheritance happens at the point of channel creation, at which point, for a REFER/Replaces sequence is when the enquiry call is made, so that the association is not known at that point.
However, when the REFER is actioned, I believe LINKEDID on the enquiry leg will be down dated to that from the original call, which, in common cases, will be the same as the UNIQUEID, which is a candidate key for the channel, when using IMPORT.