Я не проверял это, но в соответствии с документами , вы можете написать обработчик пост-ответа в виде макроса (используя M()
) или GoSub (используя U()
):
[outbound-twilio]
exten => _X.,1,Dial(SIP/${EXTEN}@twilio-trunk,,M(post-answer))
[macro-post-answer]
exten => s,1,Verbose("Answer header shows ${SIP_HEADER(X-Twilio-CallSid)}")
same => s,n,Return()
Я не уверен, будет ли это по-другому, поскольку транзакция INVITE может отслеживать только первоначальный запрос, но не ответ, даже когда мы выполняем его с другого канала.Вы также можете захотеть переключиться на chan_pjsip
, который имеет PJSIP_HEADER
:
PJSIP_HEADER позволяет вам читать определенные заголовки SIP из входящего канала PJSIP, а такжезапись (добавление, обновление, удаление) заголовков на исходящем канале.Единственным исключением является то, что вы можете читать заголовки, которые вы уже добавили на исходящем канале
Возможно, это реализовано не так, как функция chan_sip
SIP_HEADER
?
Также,больше документов по макросам из книги.