[asterisk-users] Understand SIP REFER
Klaus Darilion
klaus.mailinglists at pernau.at
Thu Feb 19 07:32:47 CST 2009
Johansson Olle E schrieb:
> 19 feb 2009 kl. 00.08 skrev Klaus Darilion:
>
>> Hi!
>>
>> I have some problems understanding the concept of REFER in Asterisk
>> 1.4.23.
>>
>> I have the following scenario:
>>
>> Incoming SIP call (incoming leg) from a SIP trunk into Asterisk
>> (handled
>> in context fromTrunk), forwarded to the SIP Client (outgoing leg).
>>
>> Now, the SIP Client sends a REFER request (unattended transfer) to
>> another extension. This terminates the outgoing leg and the incoming
>> leg
>> continues dialplan processing in the context of the SIP client
>> (fromSipClient).
>>
>> Processing in the client's context is IMO fine, but the problem is
>> that
>> the channel is the incoming channel from the trunk. So the
>> fromSipClient
>> is processed by the trunk channel. This in my case does not work as it
>> expects to have certain variables set (setvar in sip.conf) - but these
>> variables are not present as the new extension is executed by the
>> trunk's channel.
>>
>> I it possible to execute the second call setup completely in the SIP
>> clients settings (e.g. loading the clients setvar options)?
>
> I would suggest you do some processing in the TRANSFER_CONTEXT
> and load the variables you need. The SIPPEER dialplan function
> might be useful.
This is what I am trying to do. But for that I need the SIP username
which performed the transfer. Is this somewhere available in a variable?
The TRANSFER_CONTEXT is a workaround which should help me. On of the the
strange things is that if a phone sends a REFER request, the REFER is
handled different if the original call was an incoming or outgoing call
- shouldn't this be the same?
regards
klaus
More information about the asterisk-users
mailing list