Funções do plano de discagem do Asterisk 12
Comando:
PJSIP_HEADER()
Sinopse:
Obtém, adiciona, atualiza ou remove o cabeçalho SIP especificado de uma sessão PJSIP.
Descrição:
Exemplos:;; Defina 'somevar' como o valor do cabeçalho 'From'.exten => 1,1, Set (somevar = $ {PJSIP_HEADER (read, From)}) ;; Defina 'via2' como o valor do segundo cabeçalho 'Via' .exten => 1,1, Set (via2 = $ {PJSIP_HEADER (leia, Via, 2)}) ;; Adicione um cabeçalho 'X-Myheader' com o valor de 'myvalue'.exten => 1,1, Set (PJSIP_HEADER (adicione, X-MyHeader) = myvalue) ;; Adicione um cabeçalho 'X-Myheader' com um valor vazio.exten => 1,1, Set (PJSIP_HEADER (adicione, X-MyHeader) =) ;; Atualize o valor do cabeçalho chamado 'X-Myheader' para 'newvalue' .; 'X-Myheader' já deve existir ou a chamada falhará.exten => 1,1, Set (PJSIP_HEADER (atualização, X-MyHeader) = newvalue) ;; Remova todos os cabeçalhos cujos nomes correspondam exatamente a 'X-MyHeader'.exten => 1,1, Set (PJSIP_HEADER (remove, X-MyHeader) =) ;; Remova todos os cabeçalhos que começam com 'X-My' .exten => 1,1, Set (PJSIP_HEADER (remove, X-My *) =) ;; Remova todos os cabeçalhos adicionados anteriormente.exten => 1,1, Set (PJSIP_HEADER (remove, *) =);
Nota
Ícone
A ação de remoção pode ser chamada lendo ou gravando PJSIP_HEADER.
;
; Exibir o número de cabeçalhos removidos
exten => 1,1, Verbose (Removido $ {PJSIP_HEADER (remover, X-MyHeader)} cabeçalhos)
;
; Defina uma variável para o número de cabeçalhos removidos
exten => 1,1, Set (count = $ {PJSIP_HEADER (remover, X-MyHeader)})
;
; Apenas remova-os ignorando qualquer contagem
exten => 1,1, Set (= $ {PJSIP_HEADER (remover, X-MyHeader)})
exten => 1,1, Set (PJSIP_HEADER (remover, X-MyHeader) =)
;
Nota
Ícone
Se você ligar para PJSIP_HEADER em um contexto de plano de discagem normal, estará operando no canal (de entrada) do chamador, que pode não ser o que você deseja. Para operar no canal (enviado) do receptor, chame PJSIP_HEADER em um manipulador de pré-discagem.
Exemplo:
;
[manipulador]
exten => addheader, 1, conjunto (PJSIP_HEADER (add, X-MyHeader) = myvalue)
exten => addheader, 2, conjunto (PJSIP_HEADER (add, X-MyHeader2) = myvalue2)
;
[somecontext]
exten => 1,1, Dial (PJSIP / $ {EXTEN} ,, b (manipulador ^ addheader ^ 1))
;
Sintaxe:
PJSIP_HEADER(action,name[,number])
Argumentos:
read - Retorna o número da instância do nome do cabeçalho.
add - Adiciona um novo nome de cabeçalho a esta sessão.
update - Atualiza o número da instância do nome do cabeçalho para um novo valor. O cabeçalho já deve existir.
remove - Remove todas as instâncias de cabeçalhos adicionados anteriormente cujos nomes correspondem ao nome. Um {} pode ser anexado ao nome para remover todos os cabeçalhos * iniciados com o nome. O nome 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 um cabeçalho com o mesmo nome, isso especificará qual cabeçalho será lido ou atualizado. Se não especificado, o padrão é 1, o que significa o primeiro cabeçalho correspondente. Não é válido para adicionar ou remover.
Fonte: Asterisk Wiki