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 21
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 X-
exten => 1,1,Set(xhdr=${PJSIP_HEADER(read,X-*,1)})

Exemplo: Adiciona um cabeçalho X-Myheader com o valor de 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 chamado X-Myheader para newvalue; X-Myheader deve já existir ou a chamada falhará.
exten => 1,1,Set(PJSIP_HEADER(update,X-MyHeader)=newvalue)

Exemplo: Remove todos os cabeçalhos cujos nomes correspondam 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: Apenas remove os cabeçalhos 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 do cabeçalho name para um novo valor. O cabeçalho deve já 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 uma única '' 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.