Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sumrio
Guia Rpido........................................................................................................................................................1
Compilando o driver e iniciando os servios..........................................................................................1
Utilizando o channel da Khomp.............................................................................................................2
Consideraes iniciais........................................................................................................................................4
Disposio dos arquivos.........................................................................................................................4
Mdulos Asterisk....................................................................................................................................4
Configurao......................................................................................................................................................6
Configurao da API K3L......................................................................................................................6
Configurao do channel........................................................................................................................6
Utilizao do application Dial..............................................................................................................10
Variveis...............................................................................................................................................13
Configurao do Asterisk.....................................................................................................................17
Comandos de console.......................................................................................................................................21
Recursos adicionais..........................................................................................................................................23
Aplicaes (applications) e canais........................................................................................................23
Interface de gerenciamento (AMI)........................................................................................................27
Interface gateway (AGI).......................................................................................................................29
Utilizao de patches adicionais.....................................................................................................................31
Cdigos e significados......................................................................................................................................32
Estados de canais..................................................................................................................................32
Estados de ligao.................................................................................................................................32
17-03-2009
Guia Rpido
Depois de instalar a placa no sistema, e executar o programa de instalao pela primeira vez, os drivers e
servios da Khomp sero automaticamente acrescentados na inicializao do sistema, e carregados.
Se o sistema possuir pelo menos uma placa de tronco E1 e/ou uma placa FXO, uma tela de configurao
bsica dever ser apresentada ao final do processo, questionando parmetros de sinalizao (placas E1) ou
realizando o ajuste de cadncias (placas FXO).
Caso estas etapas tenham sido executadas com sucesso, prossiga para o item Utilizando o channel da
Khomp.
Entretanto, durante a instalao do channel da Khomp, podem ocorrer as seguintes mensagens:
K3L: WARNING: Unable to find a module for [...]
ou
install:
install:
install:
install:
install:
install:
******
**
**
**
**
Neste caso, ser necessrio compilar os drivers manualmente para o seu sistema. Prossiga para o item abaixo
para maiores informaes.
Isto executar um assistente de configurao, que ir perguntar a sinalizao utilizada no sistema, bem como
outros parmetros de utilizao das placas.
Caso seja necessrio configurar outros parmetros adicionais, pode-se utilizar o seguinte comando:
17-03-2009
Guia Rpido
Este configurador, por sua vez, mostra todas as opes possveis de configurao da placa. Os parmetros que
no forem configurados assumem os valores padro automaticamente, e so compatveis com a maior parte
dos sistemas. Maiores detalhes sobre este programa podem ser obtidos na seo de nmero '2'.
IMPORTANTE: Para o Asterisk iniciar, preciso que a placa da khomp esteja configurada e todos
mdulos estejam rodando (conforme mostrado acima). Caso a placa no esteja configurada, o
Asterisk no iniciar.
Se voc deseja rodar o sistema sem a placa da Khomp, preciso configurar o asterisk para ele no
carregar o mdulo da Khomp. Para isso, abra o arquivo "/etc/asterik/modules.conf", e adicione a
linha:
noload => chan_khomp.so
Por fim, para carregar o servidor de processos, basta executar o seguinte comando:
# kserver start
Aps realizar estes procedimentos, o channel j estar operacional, e o Asterisk j pode ser carregado.
17-03-2009
Guia Rpido
O estado dos canais individuais, por sua vez, pode ser aferido com o comando:
asterisk-pbx*CLI> khomp channels show
Para mais detalhes sobre os comandos do channel da khomp digite no console do Asterisk:
asterisk-pbx*CLI> help khomp
IMPORTANTE: Para fazer completo uso da sua placa Khomp, ser preciso configurar suas regras de
discagem, seja atravs do arquivo extension.conf ou de um aplicativo externo, definindo regras
especficas para realizar ao receber ligaes.
Ao decorrer deste documento, podem ser encontradas informaes sobre o formato dos contextos de
entrada (responsveis por receber as ligaes) e sobre as opes disponveis no application Dial
(responsvel por realizar ligaes) que podem ser utilizadas com o channel da Khomp, alm de outras
funcionalidades especiais providas pelo mesmo.
17-03-2009
Guia Rpido
Consideraes iniciais
Disposio dos arquivos
Os diretrios criados/modificados nesta instalao so:
/usr/sbin/
/usr/lib/
/usr/lib/asterisk/modules/
/usr/doc/khomp/
/var/log/khomp1.6/
/etc/khomp/
/etc/asterisk/
--------
Conforme mencionado anteriormente, o programa kpload serve para carregar o mdulo kpci9030.ko (driver
das placas) no kernel. Para que a carga seja feita na inicializao do sistema basta criar um link para
/usr/sbin/kpload, no diretrio de inicializao do sistema, seguindo as normas da distribuio. O mesmo pode
ser feito com o servidor de processos da Khomp, /usr/sbin/kserver, o que iniciar automaticamente este
servio tambm.
No Debian, por exemplo, este diretrio seria /etc/rcS.d/, e o comando para executar estas aes seria:
# ln -s /usr/sbin/kpload /etc/rcS.d/S19kpload
# ln -s /usr/sbin/kserver /etc/rcS.d/S20kserver
Mdulos Asterisk
Em alguns casos, quando a instalao do Asterisk feita por algum gerenciador de pacotes, o mdulo da
Zaptel pode ser carregado por padro mesmo no havendo necessidade. Caso no seja utilizado o mdulo
zaptel, sugere-se que seja removido este mdulo. Abaixo alguns passos para verificar se o mdulo est
carregado e como remov-lo:
Para saber se o mdulo da Zaptel est carregado:
# lsmod | grep ztdummy
Caso o comando acima retorne algum valor, significa que o mdulo est carregado. Para remov-lo,
execute:
# rmmod zaptel
necessrio certificar que esse mdulo no seja novamente carregado. No Debian isso pode ser feito
removendo o pacote zaptel:
# apt-get remove zaptel
17-03-2009
Consideraes iniciais
OBS: interessante notar que existe a possibilidade de utilizar os mdulos da Zaptel com as placas da
Khomp, mas para isso necessrio inicializar *primeiramente* o mdulo da khomp, para ento depois
carregar o zaptel.
Utilizando ztdummy
No sistema Asterisk, existem algumas aplicaes como o Meetme e o prprio protocolo IAX, que quando
compilado com suporte aos drivers Zaptel, requerem uma fonte de clock para fornecer temporizao.
Normalmente a fonte de clock do Asterisk vm das placas que utilizam o driver da Zaptel.
Se o sistema no possui uma placa que utiliza este mdulo, ento o driver ztdummy usado pelo Asterisk em
substituio ao driver Zaptel para gerao de clock. J o ztdummy faz uso de um temporizador interno do
kernel ou at mesmo o driver RTC da mquina, o que pode ocasionar em perda de algumas temporizaes.
Devido a testes feitos em laboratrio, constatou-se que a utilizao do mdulo ztdummy pode ocasionar
problemas de ligaes sem udio e isto est relacionado ao driver de dispositivo RTC do Linux. A Khomp
tentando melhorar as solues Asterisk que rodam sem placas Zaptel est disponibilizando um patch que vem
a corrigir esse problema.
Este patch faz basicamente a alterao de alguns pedaos de cdigo no mdulo ztdummy. Este cdigo
desabilita o uso do dispositivo RTC e por este motivo pode haver uma reduo de performance do Asterisk,
sendo que essa possvel diminuio do desempenho est relacionada entre outros fatos com a configurao de
kHz do kernel.
Para fazer do download do patch, acesse a sesso de downloads do site da Khomp.
17-03-2009
Consideraes iniciais
Configurao
Configurar o channel da Khomp para Asterisk uma tarefa que consiste de trs etapas:
Configurao do channel
As configurao padro do sistema costumam atender maior parte das necessidades. De qualquer forma, a
configurao do channel da Khomp pode ser modificada alterando-se as opes disponveis no arquivo de
configurao '/etc/asterisk/khomp.conf', selecionando as configuraes existentes no mesmo de acordo com a
necessidade.
A lista de opes a seguinte:
Seo "channels", que define configuraes gerais:
echo-canceller (antigo "echocanceller"): Ativa ("yes") ou desativa ("no") o cancelamento de
eco automtico do channel;
auto-gain-control: Ativa ("yes") ou desativa ("no") a ativao do controle automtico de
ganho (AGC) pelo channel;
17-03-2009
Configurao
17-03-2009
Configurao
17-03-2009
Configurao
Seo "groups", que define os grupos para serem usados na alocao de canal:
Neste caso, as opes so usadas para definir nomes para strings de alocao de canais. O
formato segue o padro <nome grupo> = <string alocao>, onde as strings de alocao de
canais so as mesmas utilizadas no application Dial, e nome do grupo um nome arbitrrio
escolhido pelo usurio.
Por exemplo, para definir o grupo pstn como os canais 0 e 5 da placa 0, deveria-se
utilizar a linha:
pstn = b0c0 + b0c5
Este grupo, por sua vez, poderia ser usado no application Dial como
Dial(Khomp/Gpstn/...).
Pode-se tambm associar um determinado contexto de entrada a um grupo de canais,
bastando especificar um nome de contexto aps a string de alocao, separado por ':' da
mesma.
Por exemplo, para definir o mesmo grupo pstn acima como os canais 0 at 20 da
placa 0, com contexto de entrada from-pstn, poderia-se utilizar a linha:
pstn = b0c0-20:from-pstn
Este grupo, por sua vez, poderia ser usado no application Dial como
Dial(Khomp/Gpstn/...), e todas as ligaes vindas destes canais seriam tratadas no
contexto from-pstn.
Seo "fxs-options", que permitite definir configuraes especficas por ramal FXS:
Neste caso, as configuraes so nmeros de ramais (baseado nos definidos na seo
[fxs-branches]), e as opes e seus valores. As opes disponveis so:
pickupgroup;
callgroup;
context;
17-03-2009
Configurao
Nos cinco primeiros exemplos, temos trs campos sendo especificados; no quarto, quatros campos so
utilizados; e por fim, nos trs ltimos exemplos, apenas dois so utilizados. importante notar que os valores
separados por vrgula (,) so opes do application Dial, no do channel da Khomp.
Sobre os campos utilizados, segue a descrio:
1 campo, 'Khomp': identifica o tipo do channel em questo;
2 campo, 'B2L0', 'S0411', 'Gpstn', etc: representa a Poltica de Alocao de Canais;
3 campo, '32625644' e '99991234': so os nmeros de destino, para onde ser efetuada a ligao;
4 campo, 'category=4:orig=4855553232': opes adicionais no-obrigatrias, detalhadas mais
frente.
17-03-2009
10
Configurao
17-03-2009
11
Configurao
Esta extenso est disponvel tanto no application Dial quanto na especificao de grupos, e pode ser utilizada
para agrupar qualquer string de alocao vlida outra. O processamento das strings de alocao se d da
direita para a esquerda - exceto quanto utilizando a alocao cclica, onde todos os canais especificados so
verificados simultaneamente.
Opes disponves
orig: Define o nmero de origem a ser utilizado na chamada, sem alterar a varivel
${CALLERID(num)}. Ou seja, a opo orig serve apenas para repassar um nmero de origem
diferente do ${CALLERID(num)}. Caso o Asterisk j tenha ajustado a varivel
${CALLERID(num)}, o que o comportamento padro, o channel utiliza este valor automaticamente
como referncia do nmero de origem, sem ser necessrio repassar nenhuma opo adicional.
Nas placas KGSM, se ajustado para restricted, omite o nmero de origem. Exemplo:
17-03-2009
12
Configurao
category: Quando ajustado para um valor numrico, define a categoria do nmero de A. Disponvel
apenas em sinalizao R2/MFC;
uui: Quando ajustado para um nmero e uma string de texto, separados por cerquilha ("#"), envia uma
mensagem "UserToUser" para a outra ponta, antes de realizar a chamada, utilizando o descritor como
o nmero e a mensagem como o texto. Disponvel apenas em sinalizao RDSI (ISDN);
ring_cadence: Quando ajustado para um identificador, utiliza cadncia definida com este nome na
seo "cadences" do arquivo de configurao do channel da Khomp para chamar o canal desejado.
Disponvel apenas em sinalizao FXS;
ring: Quando ajustado para dois nmeros, separados por ponto ("."), define as cadncias de chamada
de um ramal FXS para estes valores, sendo o primeiro relativo ao tempo de chamando, e o segundo,
ao tempo de silncio;
ring_ext: Quando ajustado para dois nmeros, separados por ponto ("."), define as cadncias de
chamada extendidas (a serem executadas depois da cadncia principal) de um ramal FXS para estes
valores, sendo o primeiro relativo ao tempo de chamando, e o segundo, ao tempo de silncio;
usr_xfer: Quando ajustado para uma seqncia de dgitos DTMF, define estes como dgitos a serem
utilizados para iniciar uma transferncia entre PABXes (utilizando sinalizaes de usurio);
drop_on: Quando ajustado para "message_box", "human_answer", "answering_machine",
"carrier_message", "unknown" ou uma lista destes (separados por mais ("+") ou ponto (".")), faz com
que a chamada seja derrubada ao detectar tons de caixa de caixa postal, atendimento humano,
secretria eletrnica, mensagens da operadora, ou algum atendimento desconhecido respectivamente. Disponvel em sinalizaes digitais (links E1 e placas KGSM). Adicionalmente, a
informao de atendimento reportada para o usurio na varivel KCallAnswerInfo (mas necessrio
aplicar um patch no Asterisk para que esta pode ser acessada);
answer_info: Opo booleana (no necessita de valor). Quando especificada, reporta informaes de
atendimento para o usurio atravs da varivel KCallAnswerInfo (mas necessrio aplicar um patch
no Asterisk para que esta pode ser acessada);
pre: Quando ajustado para uma seqncia de dgitos DTMF, utiliza estes para pre-alocar um canal de
sada em um PABX analgico, discando o nmero de B desejado a seguir. Somente disponvel para
sinalizao analgica (FXO);
pre_answer: Opo booleana (no necessita de valor). Quando especificada, "antende" o canal antes
de a ligao ser completada permitindo, por exemplo, que DTMFs possam ser enviados; til para
utilizar em um DISA.
Variveis
Lista de variveis
A lista de variveis disponveis no channel 2.3, junto com sua descrio, a seguinte:
KDropCollectCall: Presente desde o channel 2.2. Quando definida antes do atendimento (ao receber
uma chamada), ativa ("yes") ou desativa ("no", padro) o derrubamento de chamadas cobrar
baseado na sinalizao recebida da central pblica; atravs do duplo atendimento; ou atravs do
reconhecimento por udio de uma chamada cobrar. Pode ser definido de maneira global.
17-03-2009
13
Configurao
Descrio detalhada
Abaixo, segue uma explanao sobre como utilizar as variveis do channel do Khomp disponveis no dialplan,
tanto para comunicar quanto para receber informaes:
KDropCollectCall
Quando ativada, faz com que o channel da Khomp gere um comando que derruba chamadas a cobrar ou
atravs de duplo atendimento (disponvel para sinalizao 'R2 Digital'), ou atravs da informao disponvel
no protocolo RDSI e R2/MFC, ou ento atravs da deteco do udio de chamada a cobrar (disponvel para
qualquer sinalizao digital por link E1, e para sinalizao GSM). til para derrubar chamadas a cobrar para
determinados ramais. Deve ser ajustado preferencialmente antes de utilizar o application "Dial" no dialplan, e
pode ser ajustado globalmente.
17-03-2009
14
Configurao
KR2SendCondition
Ao receber uma chamada, pode ser definida antes do envio de ringback pelo Asterisk (ou seja, antes do
Asterisk executar as aplicaes Answer, Ringing, ou Dial). Quando utilizada em sinalizao R2/MFC, esta
varivel ajusta a condio de B para o valor numrico desejado.
Exemplo:
;; Condio "NUMBER CHANGED", avisa ao chamador que o nmero de B mudou.
;;
exten => _X.,1,KR2SendCondition(3) 
KR2GotCategory
Ao receber uma chamada, ajustada pelo channel com a categoria recebida do nmero que originou a
chamada. ajustada na sinalizao R2/MFC, e pode ser consultada em qualquer local do dialplan.
Exemplo:
exten => _X.,1,NoOp(${KR2GotCategory})
KR2GotCondition
Varivel ajustada pelo channel, e disponvel aps o retorno de uma chamada realizada pelo Asterisk. Contm
a condio de B recebida ao realizar a chamada, e necessita de um patch no Asterisk para funcionar
corretamente. Disponvel apenas para sinalizao R2/MFC.
Exemplo:
exten => _X.,1,NoOp(${KR2GotCondition})
17-03-2009
15
Configurao
KUserInfoData
Varivel ajustada pelo channel no contexto de entrada, a partir de informaes recebidas pela rede RDSI
atravs da funcionalidade User-to-User Information. Contm os dados propriamente ditos, que foram
recebidos, em forma de uma 'string' de texto.
Maiores informaes sobre este recurso, consultar a especificao ITU-T Q931.
Exemplo (trabalhando com os dados recebidos):
exten => _X.,1,Verbose( ${KUserInfoData} )
importante salientar que as variveis so sensveis capitalizao das letras (case sensitive).
KCallAnswerInfo
Varivel ajustada pelo channel quando utilizando um patch adicional no Asterisk, que est disponvel junto
com a distribuio source do channel. ajustada em ligaes de sada, representando o tipo de atendimento
realizado pela outra ponta. Pode conter os seguintes valores:
(*) Este tipo de atendimento detectado por sinais em determinadas freqncias que so enviados antes da
17-03-2009
16
Configurao
Configurao do Asterisk
Ao receber ligaes no channel da Khomp, estas so encaminhadas para contextos especficos, que possuem
um certo formato pr-definido, e que pode ser alterado atravs do arquivo de configuraes khomp.conf
disponvel no diretrio de configurao do asterisk /etc/asterisk (para maiores detalhes, consultar a seo de
opes de configurao).
importante salientar que os contextos relacionados placa da Khomp so sensveis capitalizao das letras
(case sensitive).
Abaixo, encontram-se alguns aspectos de como configurar os contextos das chamadas de entrada pela placa da
khomp no Asterisk. Ser mostrado configurao de contextos para placas SPX de E1, FXO, FXS e GSM.
Neste caso, DD o nmero dispositivo (com dois dgitos), e LL o nmero do link (tambm com dois
dgitos). Entretanto, possvel configurar no khomp.conf, a opo context-digital com outros formatos.
Pode-se utilizar tambm CCC, que o nmero do canal na placa (com trs dgitos), e SSSS, que representa o
nmero serial da placa. Exemplos de configurao no arquivo khomp.conf
; nmero seqencial da placa e do link (ex: khomp-01-00)
context-digital=khomp-DD-LL
; nmero serial da placa e seqencial do link (ex: khomp-3049-00)
context-digital=khomp-SSSS-LL
; nmero seqencial da placa e do canal (ex: khomp-00-001)
context-digital=khomp-DD-CCC
Abaixo alguns exemplos de como os contextos devem ser escritos no dial plan:
; Este contexto presente no extensions.conf ir manipular chamadas
; de entrada no link 0 (primeiro link) da placa 0.
;
[khomp-00-00]
17-03-2009
17
Configurao
entrante
entrante
entrante
entrante
no
no
no
no
link
link
link
link
0
1
1
0
da
da
da
da
placa
placa
placa
placa
0
0
3
4
=>
=>
=>
=>
[khomp-00-00]
[khomp-00-01]
[khomp-03-01]
[khomp-04-00]
O dialplan acima define o recebimento de chamadas na placa 0 e no link 0, redirecionando o nmero 1234
para o link 1 da placa 0, pro ramal/telefone 2345, e redirecionando qualquer nmero de quatro dgitos
comeado com '23' (23xy) para telefones SIP de quatro dgitos comeados com '11' (11xy).
Tambm h mais uma extenso definida, onde as ligaes recebidas no link 1 da placa 0 para o nmero 1111,
so redirecionadas para o link 0 da placa 0, para o telefone/ramal 2345.
Nestes casos, DD o nmero dispositivo (com dois dgitos), e CC o nmero do canal da placa. Pode-se
utilizar tambm SSSS, que representa o nmero serial da placa.
17-03-2009
18
Configurao
Onde DD o nmero dispositivo (com dois dgitos), e CC o nmero do canal (tambm com dois dgitos).
Por exemplo:
[khomp-sms-00-01]
exten => s,1,System(/usr/bin/tratar-SMS.sh ${KSmsFrom} ${KSmsBody})
Contextos em transferncias
O Asterisk responsvel por iniciar transferncias, agrupar os dgitos discados e realizar todos os outros
passos da lgica de uma transferncia de chamada. Entretanto, cada canal alocado no Asterisk (seja para uma
ligao sante ou entrante) permite especificar somente 1 contexto de transferncia. Isto implica que somente
um contexto (alm do default) pode ser usado durante uma transferncia de chamada.
Neste caso, o contexto escolhido pelo channel driver segue a seguinte regra para o canal que realizar a
transferncia:
17-03-2009
19
Configurao
17-03-2009
20
Configurao
Comandos de console
Lista de comandos disponveis no console do Asterisk para o channel da Khomp:
khomp channels disconnect: Desconecta um ou vrios canais atualmente conectados. Este comando
envia uma mensagem diretamente para o canal fsico da placa em questo, requisitando a desconexo.
Use com cautela;
khomp channels show: Mostra o estado dos canais da Khomp, podendo lista tambm o estado de
canais de uma placa especfica apenas;
khomp channels statistics: Mostra as estatsticas de ligaes dos canais, ou as estatsticas de um
canal especfico;
khomp channels unblock: Desbloqueia canais bloqueados para entrada ou para sada. Somente
disponvel em sinalizao digital via link E1;
khomp links errors: Mostra estado dos contadores de erro de todos os canais, ou de uma placa/link
somente;
khomp links reset: Envia um comando de reset para um determinado link E1 de uma determinada
placa;
khomp links show: Mostra estados dos links E1 disponveis.
khomp log console: Ajusta opes de logs no console.
khomp log disk: Ajusta opes de log em disco.
khomp log console e khomp log disk dispem de opes auxiliares no, que inverte a escolha
de mensagens, e just, que generaliza a escolha. Exemplos:
khomp log disk just commands events (Habilita somente o registro de comandos e
eventos da API em disco).
khomp log disk no commands (Desabilita o registro em disco de comandos
enviados API).
khomp log disk warnings (Habilita tambm o registro em disco dos avisos do
channel).
Mais informaes sobre as opes de log nos comando "help khomp log disk" ou "help
khomp log console".
khomp log rotate: Rotaciona arquivos de log do channel.
khomp log status: Mostra mensagens de log atualmente sendo escritas em disco e mostradas no
console.
khomp log trace isdn: Ativa a depurao da sinalizao RDSI (ISDN).
khomp log trace k3l: Ativa a depurao de baixo nvel da API K3L.
khomp log trace r2: Ativa a depurao de baixo nvel da sinalizao R2/MFC.
khomp record: Ativa gravao de udio atravs do channel.
khomp revision: Mostra nmero da verso e reviso do channel.
khomp send command: Envia comando da API K3L diretamente para a placa. Apenas para
depurao de problemas, pode compromenter a estabilidade do sistema se utilizado de maneira
incorreta.
khomp send raw command: Envia um comando diretamente para o DSP da placa. Apenas para
depurao de problemas, pode compromenter a estabilidade do sistema se utilizado de maneira
incorreta.
khomp set: Ajusta opes diversas do channel da Khomp, explicadas em maior detalhe no descrio
de uso do comando ("help khomp set").
khomp sms: Envia uma mensagem SMS utilizando canais da placa KGSM para um determinado
nmero.
17-03-2009
21
Comandos de console
17-03-2009
22
Comandos de console
Recursos adicionais
Este captulo trata de recursos adicionais do channel, relacionados funcionalidades especiais presentes em
algumas sinalizaes.
Aplicao "KUserTransfer"
Realiza o processo de transferncia do canal atual para o ramal nmero' utilizando a o protocolo de
sinalizao QSig (Single Step Call Transfer).
A sintaxe segue:
KUserTransfer(nmero)
Exemplo:
exten => 1234,1,KUserTransfer(2345)
Aplicao "KRecord"
Aplicao para gravar udio atravs das placas da Khomp. Esta aplicao foi criada para utilizar o recurso de
gravao presente nas placas da Khomp, que pode realizar a mistura do udio em hardware e envi-lo
diretamente para o disco. A gravao feita apenas em formato A-Law, com cabealhos WAV.
A sintaxe da aplicao a seguinte:
KRecord([arquivo[|opes[|opes-mixmonitor]]])
17-03-2009
23
Recursos adicionais
Aplicao "KSendSMS"
Esta aplicao tem a funo de enviar mensagens SMS atravs das placas KGSM da Khomp, utilizando os
mdulos e SIM cards presentes na placa para tal. A sintaxe da aplicao a seguinte:
KSendSMS(recurso|destino|mensagem)
Envia "Mensagem de teste." para telefone "99887766" utilizando o primeiro modem livre da placa
"0":
exten => [...],n,KSendSMS(b0|99887766|Mensagem de teste.)
17-03-2009
24
Recursos adicionais
Aplicao "KEchoCanceller"
Esta aplicao tem a funo de habilitar ou desabilitar o cancelador de eco do canal. A sintaxe da aplicao
a seguinte:
KEchoCanceller(on|off)
Onde:
on, habilita o cancelador de eco no canal atual;
off, desabilita o cancelador de eco no canal atual;
Exemplo de uso desta aplicao:
exten => [...],n,KEchoCanceller(off)
Aplicao "KAutoGainControl"
Esta aplicao tem a funo de habilitar ou desabilitar o controle automtico de ganho no canal. A sintaxe da
aplicao a seguinte:
KAutoGainControl(on|off)
Onde:
on, habilita o controle automtico de ganho no canal atual;
off, desabilita o controle automtico de ganho no canal atual;
Exemplo de uso desta aplicao:
exten => [...],n,KAutoGainControl(on)
17-03-2009
25
Recursos adicionais
Aplicao "KDTMFSuppression"
Esta aplicao tem a funo de habilitar ou desabilitar a supresso de DTMF do canal. A sintaxe da aplicao
a seguinte:
KDTMFSuppression(on|off)
Onde:
on, habilita a supresso de DTMF no canal atual;
off, desabilita a supresso de DTMF no canal atual;
importante notar que, quado desabilitada a supresso de DTMF, os DTMFs sero passados inband e no
sero mais reportados ao Asterisk. Dessa forma o Asterisk no reconhecer os DTMFs, o que pode ocasionar
em mau funcionamento de aplicaes como por exemplo, URAs.
Exemplo de uso desta aplicao:
exten => [...],n,KDTMFSuppression(off)
Aplicao "KSetVolume"
Esta aplicao tem a funo de ajustar o volume de entrade e sada de canais da Khomp, sendo a sua sintaxe a
seguinte:
KSetVolume(<volume>)
KSetVolume(<output-volume>|<input-volume>)
Aplicao "KAdjustForFax"
Esta aplicao tem a funo de ajustar um canal da Khomp para o recebimento de sinal de FAX/modem,
otimizando o canal de comunicao para o trfego de dados. Sintaxe:
KAdjustForFax()
17-03-2009
26
Recursos adicionais
Canal "Khomp_SMS"
Este canal de comunicao utilizado para receber mensagens SMS e criar ligaes entrantes no Asterisk para
cada mensagem recebida. Este canal no possui qualquer tipo de tratamento ou processamento de udio, e
chamado com cinco variveis ajustadas:
KSmsFrom, contendo o nmero de origem de quem enviou a mensagem;
KSmsDate, que define a data/hora do recebimento da mensagem;
KSmsSize, representando o tamanho da mensagem (em bytes);
KSmsMode, contendo a codificao utilizada para transmitir a mensagem;
KSmsBody, que a mensagem em si.
O processamento do dialplan do Asterisk pode ser utilizado para guardar esta mensagem em um banco de
dados, executar alguma aplicao, entre outros. Entretanto, a nica ao aceita por este channel
desligamento (hangup) - ou seja, esta ligao entrante no pode ser considerada uma ligao comum.
Canal "Khomp_PR"
Este canal de comunicao utilizado para receber ligaes em placas de gravao passiva (KPR-300 e
KPR-300S), criando ligaes entrantes no Asterisk para cada chamada recebida. Este canal permite apenas o
recebimento de udio capturado do link, no permitindo tanto o envio de mensagens de udio quanto o de
sinalizaes de controle.
O processamento do dialplan do Asterisk pode ser utilizado para gravar dados sobre esta ligao em um banco
de dados, executar alguma aplicao especial e/ou algum application de gravao (como o Monitor, o
MixMonitor, ou o KRecord), entre outros. Entretanto, a nica ao aceita por este channel desligamento
(hangup) - ou seja, esta ligao entrante no pode ser considerada uma ligao comum.
Lista de comandos
Os comandos AMI permitem ao channel realizar funes auxiliares e/ou de ligaes atravs de um programa
externo. Os comandos disponibilizados so os seguintes:
17-03-2009
27
Recursos adicionais
Lista de eventos
Os eventos de AMI permitem ao channel comunicar eventos de ligaes a um programa/aplicao externo que
realiza o gerenciamento e/ou controle das ligaes presentes no sistema. Os eventos disponibilizados so os
seguintes:
Alarm
Reporta notificao de alarme em canal. Contm as seguintes informaes:
Channel: nome do canal (em formato 'Khomp/BxCy') onde ocorreu o alarme;
Alarm: nome do alarme ocorrido no link (consultar captulo "Cdigos e significados").
AlarmClear
Reporta notificao de fim de alarme em canal. Contm as seguintes informaes:
Channel: nome do canal (em formato 'Khomp/BxCy') onde o alarme cessou.
AnswerInfo
Reporta deteco de atendimento no canal. Contm as seguintes informaes:
Channel: nome do canal (em formato 'Khomp/BxCy') onde ocorreu o alarme;
Info: nome do tipo de atendimento detectado (para maiores informaes, consulte a descrio
detalhada da varivel "KCallAnswerInfo").
AntennaLevel
Reporta alteraes no nvel de sinal da antena GSM; dsponvel apenas em placas KGSM. Contm as
seguintes informaes:
Channel: nome do canal (em formato 'Khomp/BxCy') representando o modem;
Signal: porcentagem do sinal, de 0 a 99 (inclusive).
17-03-2009
28
Recursos adicionais
BranchOnHook
Reporta que ramal est no gancho; disponvel apenas em placas KFXS. Contm as seguintes informaes:
Channel: nome do canal (em formato 'Khomp/BxCy') que est no gancho.
CollectCall
Reporta deteco de chamada a cobrar. Contm as seguintes informaes:
Channel: nome do canal (em formato 'Khomp/BxCy') onde ocorreu o alarme.
NewSMS
Reporta que h uma nova mensagem SMS na placa; dsponvel apenas em placas KGSM. Contm as
seguintes informaes:
Channel: nome do canal (em formato 'Khomp/BxCy') onde a mensagem foi recebida;
From: nmero de telefone de onde a mensagem foi enviada ( fornecido pela operadora, e pode
conter informao textual tambm);
Date: data e hora do envio da mensagem SMS pela origem;
Size: tamanho da mensagem (em bytes);
Mode: codificao utilizada no envio da mensagem;
Message: corpo da mensagem enviada.
OBS: Este evento s enviado caso exista um contexto de recebimento de ligaes SMS ajustado no dialplan;
caso contrrio, as mensagem SMS so mantidas no SIM card, evitando assim a perda destas mensagens.
17-03-2009
29
Recursos adicionais
Caso o nmero de destino seja inexistente. Para maiores detalhes, favor consultar o captulo seguinte,
"Cdigos e significados".
17-03-2009
30
Recursos adicionais
17-03-2009
31
Cdigos e significados
Este captulo apresenta os cdigos utilizados no channel da Khomp, e seus significados:
Estados de canais
Refletem o estado do canal relativo placa. No caso de links E1, o estado pode ter uma ou mais das seguintes
opes:
kecsFree: o canal est livre;
kecsBusy: o canal no est livre (ou ocupado, ou em falha);
kecsOutgoing: o canal possui uma ligao de sada;
kecsIncoming: o canal possui uma ligao de entrada;
kecsLocked: o canal est bloqueado;
kecsOutgoingLock: o canal est bloqueado para chamadas saintes;
kecsLocalFail: o canal possui uma falha local (nesta ponta);
kecsIncomingLock: o canal est bloqueado para chamadas entrantes;
kecsRemoteLock: h um bloqueio remoto (na outra ponta) neste canal.
No caso de um canal FXS, o estado definido por um destes valores:
kfxsOnHook: o telefone conectado neste canal est no gancho ou desconectado;
kfxsOffHook: o telefone conectado neste canal est fora do gancho;
kfxsRinging: o canal est sendo chamado;
kfxsFail: o canal est em falha devido a problemas de comunicao entre a central e a placa.
No caso de um canal GSM, o estado tambm definido por um dos valores a seguir:
kgsmIdle: o canal est livre e disponvel para realizar chamadas;
kgsmCallInProgress: o canal est ocupado em uma ligao;
kgsmSMSInProgress: o canal est ocupado enviando/recebendo mensagens SMS;
kgsmModemError: ocorreu um erro na comunicao com o modem do canal;
kgsmSIMCardError: o SIM card no est presente ou no foi inserido/detectado corretamente;
kgsmNetworkError: ocorreu um erro ao comunicar-se com a rede;
kgsmNotReady: o modem est sendo inicializado no canal.
E no caso de um canal FXO, os estados sero os seguintes:
kfcsDisabled: o canal est desabilitado;
kfcsEnabled: o canal est habilitado.
Estados de ligao
Define o estado de cada canal relativo ao software, que pode ser:
17-03-2009
32
Cdigos e significados
17-03-2009
33
Cdigos e significados