Funções do Dialplan do Asterisk 21
Comando:
CHANNEL()
Sinopse:
Obtém/define várias informações sobre o canal.
Descrição:
Obtém ou define diversas informações sobre o canal. Itens adicionais podem estar disponíveis a partir do driver do canal; consulte sua documentação para obter detalhes. Qualquer item solicitado que não estiver disponível no canal atual retornará uma string vazia.
Exemplos:
; Exemplos de itens padrão do CHANNEL;
; Enfileira uma sub-rotina de tratamento de desligamento existente na localização do dialplan default,s,1 no canal atual
same => n,Set(CHANNEL(hangup_handler_push)=default,s,1)
; Define a zona de tom atual para a Alemanha (de)
same => n,Set(CHANNEL(tonezone)=de)
; Define o número máximo permitido de tentativas de encaminhamento
same => n,Set(CHANNEL(max_forwards)=10)
; Se este canal for ejetado de sua próxima ponte, e se o canal não estiver desligado, comece a executar o dialplan na localização default,after-bridge,1
same => n,Set(CHANNEL(after_bridge_goto)=default,after-bridge,1)
; Registra o estado atual do canal
same => n,Log(NOTICE, This channel is: ${CHANNEL(state)})
CALLINGPRES - Apresentação do Caller ID para chamadas de entrada (canais PRI)
CALLINGANI2 - Caller ANI2 (canais PRI)
CALLINGTON - Tipo de Número do Chamador (canais PRI)
CALLINGTNS - Seletor de Rede de Trânsito (canais PRI)
EXTEN - Extensão atual
CONTEXT - Contexto atual
PRIORITY - Prioridade atual
CHANNEL - Nome do canal atual
UNIQUEID - Identificador único da chamada atual
HANGUPCAUSE - Causa de desligamento do Asterisk (entrada/saída)
Technology: PJSIP
; Exemplos específicos do PJSIP CHANNEL;
; Registra o Call-ID atual
same => n,Log(NOTICE, ${CHANNEL(pjsip,call-id)})
; Registra o endereço de destino do fluxo de áudio
same => n,Log(NOTICE, ${CHANNEL(rtp,dest)})
; Armazena o tempo de ida e volta associado a um fluxo de vídeo no campo CDR video-rtt
same => n,Set(CDR(video-rtt)=${CHANNEL(rtcp,rtt,video)})
CHANNEL(item)
item - Itens padrão (fornecidos por todas as tecnologias de canal) são:
amaflags - R/W as flags de Contabilização Automática de Mensagens (AMA) no canal. Quando lido de um canal, o valor inteiro será sempre retornado. Ao gravar em um canal, o formato de string ou o valor inteiro são aceitos.
1 - OMIT
2 - BILLING
3 - DOCUMENTATION
accountcode - R/W o código da conta do canal.
audioreadformat - R/O formato que está sendo lido atualmente.
audionativeformat - R/O formato usado nativamente para áudio.
audionativeformat - R/O formato que está sendo escrito atualmente.
dtfm_features - R/W os recursos de ponte DTMF do canal. Pode incluir um ou mais de 'T' 'K' 'H' 'W' e 'X' de maneira semelhante às opções no aplicativo 'Dial'. Ao definir, a string de recursos deve ser toda em maiúsculas.
callgroup - R/W grupos de atendimento de chamadas numéricos dos quais este canal é membro.
pickupgroup - R/W grupos de atendimento de chamadas numéricos que este canal pode atender.
namedcallgroup - R/W grupos de atendimento de chamadas nomeados dos quais este canal é membro.
namedpickupgroup - R/W grupos de atendimento de chamadas nomeados que este canal pode atender.
channeltype - R/O tecnologia usada para o canal.
checkhangup - R/O Se o canal está desligando (1/0)
digitdetect - R/W Habilita ou desabilita a detecção DTMF em drivers de canal que o suportam. Se definido em um canal DAHDI, isso desabilitará apenas a detecção DTMF, não a detecção de discagem por pulsos. Para desabilitar a discagem por pulsos, use a opção 'dialmode'. Em canais DAHDI, isso desabilitará o DSP se não for necessário para mais nada. Isso impedirá a detecção DTMF, independentemente da configuração 'dialmode'.
faxdetect - R/W Habilita ou desabilita a detecção de fax em drivers de canal que o suportam.
after_bridge_goto - R/W a string goto analisável indicando onde o canal deve retornar no PBX após sair da próxima ponte que ele se junta na condição de que ele não desligue. A string goto analisável usa a mesma sintaxe do aplicativo 'Goto'.
hangup_handler_pop - W/O Substitua o manipulador de desligamento adicionado mais recentemente por um novo manipulador de desligamento no canal, se fornecido. A string atribuída é passada para o aplicativo Gosub quando o canal é desligado. Quaisquer contexto e extensão omitidos opcionalmente são fornecidos pelo canal que empurra o manipulador antes que ele seja empurrado.
hangup_handler_push - W/O Empurre um manipulador de desligamento para a pilha de manipuladores de desligamento do canal. A string atribuída é passada para o aplicativo Gosub quando o canal é desligado. Quaisquer contexto e extensão omitidos opcionalmente são fornecidos pelo canal que empurra o manipulador antes que ele seja empurrado.
hangup_handler_wipe - W/O Limpe toda a pilha de manipuladores de desligamento e substitua por um novo manipulador de desligamento no canal, se fornecido. A string atribuída é passada para o aplicativo Gosub quando o canal é desligado. Quaisquer contexto e extensão omitidos opcionalmente são fornecidos pelo canal que empurra o manipulador antes que ele seja empurrado.
onhold - R/O Se o canal está em espera ou não. (1/0)
language - R/W idioma para sons reproduzidos.
musicclass - R/W classe (de musiconhold.conf) para música de espera.
name - O nome do canal
parkinglot - R/W estacionamento para estacionamento.
relaxdtmf - W/O Habilita ou desabilita a detecção DTMF relaxada para drivers de canal que o suportam, substituindo qualquer configuração definida anteriormente pelo driver do canal.
rxgain - R/W define o nível de rxgain em drivers de canal que o suportam.
secure_bridge_signaling - Se os canais conectados a este canal exigem sinalização segura (1/0)
secure_bridge_media - Se os canais conectados a este canal exigem mídia segura (1/0)
state - R/O estado do canal
tdd - R/W Habilita ou desabilita o modo TDD em drivers de canal que o suportam. Ao ler esta opção, 1 indica o modo TDD habilitado, 0 indica o modo TDD desabilitado e 'mate' indica o modo TDD mate.
tonezone - R/W zona para indicações reproduzidas
transfercapability - R/W Capacidade de Transferência ISDN, uma de:
SPEECH
DIGITAL
RESTRICTED_DIGITAL
3K1AUDIO
DIGITAL_W_TONES
VIDEO
txgain - R/W define o nível de txgain em drivers de canal que o suportam.
videonativeformat - R/O formato usado nativamente para vídeo
hangupsource - R/W retorna o canal responsável pelo desligamento.
appname - R/O retorna o nome interno do aplicativo.
appdata - R/O retorna os dados do aplicativo, se disponíveis.
exten - R/O retorna a extensão para um canal de saída.
context - R/O retorna o contexto para um canal de saída.
lastexten - R/O retorna a última extensão exclusiva para um canal de saída.
lastcontext - R/O retorna o último contexto exclusivo para um canal de saída.
channame - R/O retorna o nome do canal para um canal de saída.
uniqueid - R/O retorna o identificador exclusivo do canal.
linkedid - R/O retorna o linkedid se disponível, caso contrário, retorna o uniqueid.
tenantid - R/W O tenantid do canal.
max_forwards - R/W O número máximo de encaminhamentos permitidos.
callid - R/O Tag de log do identificador de chamada associada ao canal, por exemplo, '[C-00000000]'.
Technology: DAHDI
dahdi_channel - R/O Canal DAHDI relacionado a este canal.
dahdi_span - R/O Span DAHDI relacionado a este canal.
dahdi_group - R/O Grupo lógico DAHDI relacionado a este canal.
dahdi_type - R/O Tipo de canal DAHDI, um de:
analog
mfc/r2
pri
pseudo
ss7
keypad_digits - R/O Dígitos do teclado PRI que vieram com a mensagem SETUP.
reversecharge - R/O Indicação de Carga Reversa PRI, uma de:
-1 - None
1 - Reverse Charging Requested
no_media_path - R/O PRI Se o canal não tiver um canal B. O canal está em espera ou é uma chamada de espera.
buffers - W/O Altere a política de buffer do canal (apenas para a chamada atual) Esta opção recebe dois argumentos: Número de buffers, Política de buffer sendo uma de: 'full' 'immediate' 'half'
echocan_mode - W/O Altere a configuração do cancelador de eco ativo no canal (se houver), apenas para a chamada atual. Os valores possíveis são: 'on' Modo normal (o cancelador de eco é realmente reinicializado) 'off' Desativado 'fax' Modo FAX/dados (NLP desativado, se possível, caso contrário, completamente desativado) 'voice' Modo de voz (retorna do modo FAX, revertendo as alterações que foram feitas)
dialmode - R/W Modo de discagem por pulsos e tons do canal. Desabilitar a discagem por tons usando esta opção não desabilitará automaticamente o DSP usado para a detecção DTMF. Para fazer isso, também defina a opção 'digitdetect'. Se a detecção de dígitos for desabilitada, o DTMF não será detectado, independentemente da configuração 'dialmode'. A configuração 'digitdetect' não tem impacto na detecção de discagem por pulsos. Se definido, substitui a configuração em 'chan_dahdi.conf' para esse canal. A configuração 'dialmode' se aplica ao canal DAHDI como um todo, mas é redefinida para cada chamada, portanto, as modificações feitas usando a função 'CHANNEL' se aplicam temporariamente por chamada. A configuração 'digitdetect' se aplica a todo o canal DAHDI, portanto, quaisquer alterações feitas a esta configuração afetarão todas as chamadas simultaneamente no mesmo canal DAHDI. 'digitdetect' é redefinido assim que todas as chamadas na linha forem liberadas.
both
pulse
dtmf
tone
none
waitfordialtone - W/O Duração em ms para esperar pelo tom de discagem na chamada atual. Esta configuração substituirá temporariamente a configuração 'waitfordialtone' em 'chan_dahdi.conf' (normalmente se essa configuração estiver desabilitada). Você deve chamar isso em um manipulador de pré-discagem ao fazer uma chamada em um tronco analógico (por exemplo, interface sinalizada FXS). Isso permite, por exemplo, poder entrar em um tronco em uso, se discado especificamente, mas permite ignorar o tronco ao rotear chamadas se o tom de discagem não estiver presente em um canal. Esta configuração se aplicará apenas à chamada atual (próxima) feita no canal DAHDI e não persistirá para chamadas futuras. Observe que, devido à forma como o chan_dahdi implementa a detecção de tom de discagem, os dígitos DTMF em um canal em uso serão temporariamente transmitidos para quaisquer outros canais que tentem usar o canal para uma chamada. No entanto, a transmissão de voz não vazará.
Technology: IAX
osptoken - R/O Obtenha o osptoken do peer.
peerip - R/O Obtenha o endereço IP do peer.
peername - R/O Obtenha o nome de usuário do peer.
secure_signaling - R/O Obtenha se o canal IAX é seguro.
secure_media - R/O Obtenha se o canal IAX é seguro.
Technology: OOH323
faxdetect - R/W Detecção de fax Retorna 0 ou 1 Escreva sim ou não
t38support - R/W t38support Retorna 0 ou 1 Escreva sim ou não
h323id_url - R/O Retorna a URL do chamador
caller_h323id - R/O Retorna o h323id do chamador
caller_dialeddigits - R/O Retorna os dígitos discados do chamador
caller_email - R/O Retorna o e-mail do chamador
callee_email - R/O Retorna o e-mail do destinatário
callee_dialeddigits - R/O Retorna os dígitos discados do destinatário
caller_url - R/O Retorna a URL do chamador
max_forwards - R/W Obtenha ou defina o número máximo de encaminhamentos para este canal. Este número descreve o número de vezes que uma chamada pode ser encaminhada por este canal antes que a chamada falhe. "Encaminhamentos" neste caso se refere a redirecionamentos por telefones, bem como chamadas para canais locais. Observe que isso não tem relação com o cabeçalho Max-Forwards do SIP.
Technology: PJSIP
rtp - R/O Recuperar informações relacionadas à mídia.
type - Quando rtp for especificado, o parâmetro 'type' deve ser fornecido. Ele especifica qual parâmetro RTP para ler.
src - Recuperar o endereço local para RTP.
dest - Recuperar o endereço remoto para RTP.
direct - Se a mídia direta estiver habilitada, este endereço é o endereço remoto usado para RTP.
secure - Se o fluxo de mídia estiver criptografado.
0 - O fluxo de mídia não está criptografado.
1 - O fluxo de mídia está criptografado.
hold - Se o fluxo de mídia estiver atualmente restrito devido a uma chamada em espera.
0 - O fluxo de mídia não está em espera.
1 - O fluxo de mídia está em espera.
media_type - Quando rtp for especificado, o parâmetro 'media_type' pode ser fornecido. Ele especifica qual fluxo de mídia o parâmetro RTP escolhido deve ser recuperado.
audio - Recuperar informações do fluxo de mídia de áudio. Note Se não especificado, 'audio' é usado por padrão.
video - Recuperar informações do fluxo de mídia de vídeo.
rtcp - R/O Recuperar estatísticas RTCP.
statistic - Quando rtcp for especificado, o parâmetro 'statistic' deve ser fornecido. Ele especifica qual parâmetro de estatística RTCP para ler.
all - Recuperar um resumo de todas as estatísticas RTCP. Os seguintes itens de dados são retornados em uma lista delimitada por ponto e vírgula:
ssrc - Nosso identificador de Fonte de Sincronização
themssrc - Seu identificador de Fonte de Sincronização
lp - Nossa contagem de pacotes perdidos
rxjitter - Jitter do pacote recebido
rxcount - Contagem de pacotes recebidos
txjitter - Jitter do pacote transmitido
txcount - Contagem de pacotes transmitidos
rlp - Contagem de pacotes perdidos remotos
rtt - Tempo de ida e volta
txmes - Pontuação de Experiência de Mídia Transmitida
rxmes - Pontuação de Experiência de Mídia Recebida
all_jitter - Recuperar um resumo de todas as estatísticas de Jitter RTCP. Os seguintes itens de dados são retornados em uma lista delimitada por ponto e vírgula:
minrxjitter - Nosso jitter mínimo
maxrxjitter - Nosso jitter máximo
avgrxjitter - Nosso jitter médio
stdevrxjitter - Desvio padrão do nosso jitter
reported_minjitter - Seu jitter mínimo
reported_maxjitter - Seu jitter máximo
reported_avgjitter - Seu jitter médio
reported_stdevjitter - Desvio padrão do seu jitter
all_loss - Recuperar um resumo de todas as estatísticas de perda de pacotes RTCP. Os seguintes itens de dados são retornados em uma lista delimitada por ponto e vírgula:
minrxlost - Nossos pacotes perdidos mínimos
maxrxlost - Nossos pacotes perdidos máximos
avgrxlost - Nossos pacotes perdidos médios
stdevrxlost - Desvio padrão dos nossos pacotes perdidos
reported_minlost - Seus pacotes perdidos mínimos
reported_maxlost - Seus pacotes perdidos máximos
reported_avglost - Seus pacotes perdidos médios
reported_stdevlost - Desvio padrão dos seus pacotes perdidos
all_rtt - Recuperar um resumo de todas as informações de tempo de ida e volta RTCP. Os seguintes itens de dados são retornados em uma lista delimitada por ponto e vírgula:
minrtt - Tempo de ida e volta mínimo
maxrtt - Tempo de ida e volta máximo
avgrtt - Tempo de ida e volta médio
stdevrtt - Desvio padrão do tempo de ida e volta
all_mes - Recuperar um resumo de todas as informações de Pontuação de Experiência de Mídia RTCP. Os seguintes itens de dados são retornados em uma lista delimitada por ponto e vírgula:
minmes - MES mínimo com base em nós analisando os pacotes recebidos.
maxmes - MES máximo com base em nós analisando os pacotes recebidos.
avgmes - MES médio com base em nós analisando os pacotes recebidos.
stdevmes - Desvio padrão do MES com base em nós analisando os pacotes recebidos.
reported_minmes - MES mínimo com base nos dados que obtemos nos Relatórios de Remetente e Receptor enviados pela extremidade remota
reported_maxmes - MES máximo com base nos dados que obtemos nos Relatórios de Remetente e Receptor enviados pela extremidade remota
reported_avgmes - MES médio com base nos dados que obtemos nos Relatórios de Remetente e Receptor enviados pela extremidade remota
reported_stdevmes - Desvio padrão do MES com base nos dados que obtemos nos Relatórios de Remetente e Receptor enviados pela extremidade remota
txcount - Contagem de pacotes transmitidos
rxcount - Contagem de pacotes recebidos
txjitter - Jitter do pacote transmitido
rxjitter - Jitter do pacote recebido
remote_maxjitter - Seu jitter máximo
remote_minjitter - Seu jitter mínimo
remote_normdevjitter - Seu jitter médio
remote_stdevjitter - Desvio padrão do seu jitter
local_maxjitter - Nosso jitter máximo
local_minjitter - Nosso jitter mínimo
local_normdevjitter - Nosso jitter médio
local_stdevjitter - Desvio padrão do nosso jitter
txploss - Perda de pacotes transmitidos
rxploss - Perda de pacotes recebidos
remote_maxrxploss - Seus pacotes perdidos máximos
remote_minrxploss - Seus pacotes perdidos mínimos
remote_normdevrxploss - Seus pacotes perdidos médios
remote_stdevrxploss - Desvio padrão dos seus pacotes perdidos
local_maxrxploss - Nossos pacotes perdidos máximos
local_minrxploss - Nossos pacotes perdidos mínimos
local_normdevrxploss - Nossos pacotes perdidos médios
local_stdevrxploss - Desvio padrão dos nossos pacotes perdidos
rtt - Tempo de ida e volta
maxrtt - Tempo de ida e volta máximo
minrtt - Tempo de ida e volta mínimo
normdevrtt - Tempo de ida e volta médio
stdevrtt - Desvio padrão do tempo de ida e volta
local_ssrc - Nosso identificador de Fonte de Sincronização
remote_ssrc - Seu identificador de Fonte de Sincronização
txmes - MES atual com base em nós analisando rtt, jitter e perda no fluxo RTP real recebido da extremidade remota. IE Este é o MES para o áudio de entrada.
rxmes - MES atual com base em rtt e nos valores de jitter e perda nos Relatórios de Remetente e Receptor RTCP que recebemos da extremidade remota. IE Este é o MES para o áudio de saída.
remote_maxmes - MES máximo com base nos dados que obtemos nos Relatórios de Remetente e Receptor enviados pela extremidade remota
remote_minmes - MES mínimo com base nos dados que obtemos nos Relatórios de Remetente e Receptor enviados pela extremidade remota
remote_normdevmes - MES médio com base nos dados que obtemos nos Relatórios de Remetente e Receptor enviados pela extremidade remota
remote_stdevmes - Desvio padrão do MES com base nos dados que obtemos nos Relatórios de Remetente e Receptor enviados pela extremidade remota
local_maxmes - MES máximo com base em nós analisando o fluxo RTP recebido
local_minmes - MES mínimo com base em nós analisando o fluxo RTP recebido
local_normdevmes - MES médio com base em nós analisando o fluxo RTP recebido
local_stdevmes - Desvio padrão do MES com base em nós analisando o fluxo RTP recebido
media_type - Quando rtcp for especificado, o parâmetro 'media_type' pode ser fornecido. Ele especifica qual fluxo de mídia o parâmetro RTCP escolhido deve ser recuperado.
audio - Recuperar informações do fluxo de mídia de áudio. Note Se não especificado, 'audio' é usado por padrão.
video - Recuperar informações do fluxo de mídia de vídeo.
endpoint - R/O O nome do endpoint associado a este canal. Use a função PJSIP_ENDPOINT para obter mais informações relacionadas ao endpoint.
contact - R/O O nome do contato associado a este canal. Use a função PJSIP_CONTACT para obter mais informações relacionadas ao contato. Observe que isso pode não estar presente e, se estiver, estará disponível apenas em pernas de saída.
aor - R/O O nome do AOR associado a este canal. Use a função PJSIP_AOR para obter mais informações relacionadas ao AOR. Observe que isso pode não estar presente e, se estiver, estará disponível apenas em pernas de saída.
Sintaxe:
; Push a hangup handler subroutine existing at dialplan
; location default,s,1 onto the current channel
same => n,Set(CHANNEL(hangup_handler_push)=default,s,1)
; Set the current tonezone to Germany (de)
same => n,Set(CHANNEL(tonezone)=de)
; Set the allowed maximum number of forwarding attempts
same => n,Set(CHANNEL(max_forwards)=10)
; If this channel is ejected from its next bridge, and if
; the channel is not hung up, begin executing dialplan at
; location default,after-bridge,1
same => n,Set(CHANNEL(after_bridge_goto)=default,after-bridge,1)
; Log the current state of the channel
same => n,Log(NOTICE, This channel is: ${CHANNEL(state)})
; Log the current Call-ID
same => n,Log(NOTICE, ${CHANNEL(pjsip,call-id)})
; Log the destination address of the audio stream
same => n,Log(NOTICE, ${CHANNEL(rtp,dest)})
; Store the round-trip time associated with a
; video stream in the CDR field video-rtt
same => n,Set(CDR(video-rtt)=${CHANNEL(rtcp,rtt,video)})
CHANNEL(item)
Fonte: Asterisk Wiki