[asterisk-users] PJSIP add header on forwarded call
Administrator TOOTAI
admin at tootai.net
Tue Nov 27 06:31:07 CST 2018
Le 27/11/2018 à 13:18, Joshua C. Colp a écrit :
> On Tue, Nov 27, 2018, at 8:13 AM, Administrator TOOTAI wrote:
>> Le 27/11/2018 à 12:13, Joshua C. Colp a écrit :
>>> On Tue, Nov 27, 2018, at 5:49 AM, Administrator TOOTAI wrote:[...]
>>>>
>>>> [TOOTAiAudio]
>>>> ;
>>>> ; Call our gateway
>>>>
>>>> exten = s,1,Set(PJSIP_HEADER(add,X-TOOTAiAudio-CALLED)=${ARG1})
>>>> same = n,Dial(PJSIP/${ARG1}@TOOTAiAudio,,T)
>>>> same = n,Return
>>>>
>>>> exten = h,1,NoOp()
>>>> same = n,NoOp(Hangup Cause: ${HANGUPCAUSE})
>>>> same = n,NoOp(Dial status : ${DIALSTATUS})
>>>> same = n,NoOp(X-TOOTAiAudio=${PJSIP_HEADER(read,X-TOOTAiAudio-CALLED)})
>>>> same = n,Return
>> [...]
>>>>
>>>> Why can't be PJSIP extra headers setted in this case ?
>>>
>>> As documented on the wiki[1] the PJSIP_HEADER dialplan function has to be executed on the PJSIP channel itself, not the calling channel. You need to use a pre-dial handler and invoke it there.
>>>
>>> [1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Function_PJSIP_HEADER
>>>
>>
>> Thanks Joshua, that worked. As you see above I want to have the value of
>> headers when call is ended. Problem is that on h extension the channel
>> already gone.
>>
>> Is there a solution to archieve this ?
>
> Is there a reason you can't use a normal dialplan variable instead?
That's what I do at this time. I thought I could bypass this by
retriving the output of headers
Otherwise I don't believe PJSIP_HEADER will retrieve such information
regardless, it's for querying headers on an incoming INVITE.
>
Ok, thanks for your help.
--
Daniel
More information about the asterisk-users
mailing list