logomarca lojamundi
Contatos
61 99137 5620

11 2666 4242
21 2169 8855
31 4042 1799
Outros Telefones
logomarca lojamundi
botão minha contabotão entrarbotão cadastro
botão servicosbotão blogbotão contato
Manuais

Funções do Dialplan do Asterisk 18
Comando:

PJSIP_HEADER()


Descrição:
A função PJSIP_HEADER permite ler cabeçalhos SIP específicos do canal PJSIP de entrada, bem como escrever (adicionar, atualizar, remover) cabeçalhos no canal de saída. Uma exceção é que você pode ler cabeçalhos que já foram adicionados no canal de saída. Exemplos: Exemplo: Define a variável somevar com o valor do cabeçalho From:
exten => 1,1,Set(somevar=${PJSIP_HEADER(read,From)})
Exemplo: Define via2 com o valor do 2º cabeçalho Via:
exten => 1,1,Set(via2=${PJSIP_HEADER(read,Via,2)})
Exemplo: Define xhdr com o valor do 1º cabeçalho que começa com X-:
exten => 1,1,Set(xhdr=${PJSIP_HEADER(read,X-*,1)})
Exemplo: Adiciona um cabeçalho X-Myheader com o valor myvalue:
exten => 1,1,Set(PJSIP_HEADER(add,X-MyHeader)=myvalue)
Exemplo: Adiciona um cabeçalho X-Myheader com um valor vazio:
exten => 1,1,Set(PJSIP_HEADER(add,X-MyHeader)=)
Exemplo: Atualiza o valor do cabeçalho X-Myheader para newvalue; X-Myheader deve existir ou a chamada falhará:
exten => 1,1,Set(PJSIP_HEADER(update,X-MyHeader)=newvalue)
Exemplo: Remove todos os cabeçalhos cujo nome corresponda exatamente a X-MyHeader:
exten => 1,1,Set(PJSIP_HEADER(remove,X-MyHeader)=)
Exemplo: Remove todos os cabeçalhos que começam com X-My:
exten => 1,1,Set(PJSIP_HEADER(remove,X-My*)=)
Exemplo: Remove todos os cabeçalhos adicionados anteriormente:
exten => 1,1,Set(PJSIP_HEADER(remove,*)=)

Observação: A ação 'remove' pode ser chamada lendo ou escrevendo PJSIP_HEADER. Exemplo: Exibe o número de cabeçalhos removidos:
exten => 1,1,Verbose( Removed ${PJSIP_HEADER(remove,X-MyHeader)} headers)
Exemplo: Define uma variável com o número de cabeçalhos removidos:
exten => 1,1,Set(count=${PJSIP_HEADER(remove,X-MyHeader)})
Exemplo: Remove-os ignorando qualquer contagem:
exten => 1,1,Set(=${PJSIP_HEADER(remove,X-MyHeader)})
exten => 1,1,Set(PJSIP_HEADER(remove,X-MyHeader)=)

Observação: Se você chamar PJSIP_HEADER em um contexto de discagem normal, estará operando no canal do chamador (entrada), o que pode não ser o que você deseja. Para operar no canal do chamado (saída), chame PJSIP_HEADER em um manipulador de pré-discagem. Exemplo: Define cabeçalhos no canal do chamado:
[handler]
exten => addheader,1,Set(PJSIP_HEADER(add,X-MyHeader)=myvalue)
exten => addheader,2,Set(PJSIP_HEADER(add,X-MyHeader2)=myvalue2)
[somecontext]
exten => 1,1,Dial(PJSIP/${EXTEN},,b(handler^addheader^1))
PJSIP_HEADER(action,name[,number])
  • action - read: Retorna o número da instância do cabeçalho name. Um '' pode ser anexado a name para iterar sobre todos os cabeçalhos *começando com name. add: Adiciona um novo nome de cabeçalho a esta sessão. update: Atualiza o número da instância de name para um novo valor. O cabeçalho deve existir. remove: Remove todas as instâncias de cabeçalhos adicionados anteriormente cujos nomes correspondam a name. Um '' pode ser anexado a name para remover todos os cabeçalhos *começando com name. name pode ser definido como um único '' para limpar *todos os cabeçalhos adicionados anteriormente. Em todos os casos, o número de cabeçalhos realmente removidos é retornado.
  • name - O nome do cabeçalho.
  • number - Se houver mais de 1 cabeçalho com o mesmo nome, isso especifica qual cabeçalho ler ou atualizar. Se não for especificado, o padrão é '1', significando o primeiro cabeçalho correspondente. Não é válido para 'add' ou 'remove'.
Sintaxe:
exten => 1,1,Set(somevar=${PJSIP_HEADER(read,From)})
exten => 1,1,Set(via2=${PJSIP_HEADER(read,Via,2)})
exten => 1,1,Set(xhdr=${PJSIP_HEADER(read,X-*,1)})
exten => 1,1,Set(PJSIP_HEADER(add,X-MyHeader)=myvalue)
exten => 1,1,Set(PJSIP_HEADER(add,X-MyHeader)=)
; 'X-Myheader' must already exist or the call will fail.
exten => 1,1,Set(PJSIP_HEADER(update,X-MyHeader)=newvalue)
exten => 1,1,Set(PJSIP_HEADER(remove,X-MyHeader)=)
exten => 1,1,Set(PJSIP_HEADER(remove,X-My*)=)
exten => 1,1,Set(PJSIP_HEADER(remove,*)=)
exten => 1,1,Verbose( Removed ${PJSIP_HEADER(remove,X-MyHeader)} headers)
exten => 1,1,Set(count=${PJSIP_HEADER(remove,X-MyHeader)})
exten => 1,1,Set(=${PJSIP_HEADER(remove,X-MyHeader)})
exten => 1,1,Set(PJSIP_HEADER(remove,X-MyHeader)=)
[handler]
exten => addheader,1,Set(PJSIP_HEADER(add,X-MyHeader)=myvalue)
exten => addheader,2,Set(PJSIP_HEADER(add,X-MyHeader2)=myvalue2)
[somecontext]
exten => 1,1,Dial(PJSIP/${EXTEN},,b(handler^addheader^1))
PJSIP_HEADER(action,name[,number])
Fonte: Asterisk Wiki
Divisor Triangular
POR QUE A LOJAMUNDI É CONFIÁVEL?
selo de verificação reclame aqui da lojamundiselo google site seguroselo reclame aqui com link de acessoselo https seguroselo let's encrypt

ENTRE EM CONTATO COM A LOJAMUNDI.

Assine nossa Newsletter! É gratuito!

Cadastre seu nome e email para receber novidades e materiais gratuitos da Lojamundi.