Funções do Dialplan do Asterisk 22
Comando:
PJSIP_RESPONSE_HEADER()
Sinopse:
Obtém cabeçalhos da resposta 200 de um canal PJSIP de saída.
Descrição:A função PJSIP_RESPONSE_HEADER permite ler cabeçalhos SIP específicos da resposta 200 proveniente do canal PJSIP de saída.
Exemplos:
- Exemplo 1: Define 'somevar' com o valor do cabeçalho 'From':
exten => 1,1,Set(somevar=${PJSIP_RESPONSE_HEADER(read,From)}) - Exemplo 2: Define 'via2' com o valor do segundo cabeçalho 'Via':
exten => 1,1,Set(via2=${PJSIP_RESPONSE_HEADER(read,Via,2)}) - Exemplo 3: Define '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 do 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 de pré-conexão (pre-connect handler).
Exemplo de uso em manipulador de 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])
- action: read - Retorna o número de instância do cabeçalho de resposta.
- name: O nome do cabeçalho de resposta. Um * pode ser adicionado ao nome para iterar sobre todos os cabeçalhos de resposta que começam com name.
- number: Se houver mais de um cabeçalho com o mesmo nome, este parâmetro especifica qual cabeçalho ler. Se não for especificado, assume o valor 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