Funções do Dialplan do Asterisk 21
Comando:
PJSIP_RESPONSE_HEADER()
Sinopse:
Obtém cabeçalhos da resposta 200 de um canal PJSIP de saída.
Descrição:
PJSIP_RESPONSE_HEADER permite ler cabeçalhos SIP específicos da resposta 200 proveniente do canal PJSIP de saída. Exemplos: Definir 'somevar' com o valor do cabeçalho 'From': exten => 1,1,Set(somevar=${PJSIP_RESPONSE_HEADER(read,From)}); Definir 'via2' com o valor do segundo cabeçalho 'Via': exten => 1,1,Set(via2=${PJSIP_RESPONSE_HEADER(read,Via,2)}); Definir 'xhdr' com o valor do primeiro cabeçalho X-*: exten => 1,1,Set(xhdr=${PJSIP_RESPONSE_HEADER(read,X-*,1)}). Observação: Se você chamar PJSIP_RESPONSE_HEADER em um contexto normal de dialplan, estará operando no canal do originador (entrada), o que pode não ser o desejado. Para operar no canal do destinatário (saída), chame PJSIP_RESPONSE_HEADER em um manipulador pré-conexão. Exemplo de uso em manipulador pré-conexão: [handler] exten => readheader,1,NoOp(PJSIP_RESPONSE_HEADER(read,X-MyHeader)); [somecontext] exten => 1,1,Dial(PJSIP/${EXTEN},,U(handler^readheader^1)). Sintaxe: PJSIP_RESPONSE_HEADER(action,name[,number]), onde 'action' é 'read' (retorna número da instância do cabeçalho de resposta), 'name' é o nome do cabeçalho de resposta (pode-se adicionar '*' ao nome para iterar sobre todos os cabeçalhos que começam com o nome especificado), e 'number' indica qual cabeçalho ler quando há mais de um com o mesmo nome (padrão é '1', ou seja, o primeiro cabeçalho correspondente).
Sintaxe:
exten => 1,1,Set(somevar=${PJSIP_RESPONSE_HEADER(read,From)})
exten => 1,1,Set(via2=${PJSIP_RESPONSE_HEADER(read,Via,2)})
exten => 1,1,Set(xhdr=${PJSIP_RESPONSE_HEADER(read,X-*,1)})
[handler]
exten => readheader,1,NoOp(PJSIP_RESPONSE_HEADER(read,X-MyHeader))
[somecontext]
exten => 1,1,Dial(PJSIP/${EXTEN},,U(handler^readheader^1))
PJSIP_RESPONSE_HEADER(action,name[,number])
Veja Também:
Fonte: Asterisk Wiki