Khomp KGSM Exemplos de planos de discagem e implementações

;Cenário 1
Uma placa Khomp no sistema. Ligação entra por SIP e sai por Khomp, ocultando o
número de origem.
[contexto_sip]
exten=> s,1,Dial(khomp/b0/99891390/orig=restricted)

;Cenário 2
Uma placa KGSM-40SPX no sistema. Ligação entra através do SIP e sai pela KGSM,
utilizando alocação cíclica.
[contexto_sip]
exten=> s,1,Dial(khomp/*b0/${EXTEN})

;Cenário 3
Uma placa KGSM-40SPX PCI Express. Ligação sainte onde será selecionado através
da Aplicação KSelectSIMCard o SIMCard em que deseja-se efetuar a ligação.

Após o KSelectSimCard deve ser utilizada a aplicação Wait() antes do Dial para
aguardar o reset no canal da Placa KGSM .

Segue exemplo de Dialplan :

Selecionar o SimCard para placa 2, canal 1, chip 0.
[simcard]

exten => s,1,KSelectSimCard(2,1,0)
exten => s,n,Wait(40)

Cenário 4

Informação de atendimento através da leitura da variável KCallAnswerInfo onde
utiliza-se uma Placa KGSM-SPX .
[contexto-sip]

exten => _X.,1,Dial(Khomp/b0/${EXTEN}/answer_info)
exten => _X.,n,NoOp(${KCallAnswerInfo})

Cenário 5

Exemplos de call forward pra não receber ligacões de entrada. Quando você só
deseja enviar e receber SMS, e não receber nenhuma ligação.
CLI>khomp send command 28 AT+CCFC=0,3,”555″
Obs:
555 é o número da caixa postal, muda para cada operadora.
Tem que desativar com a operadora o recurso de caixa postal deste chip, daí
realmente não vai chegar chamada para este chip.
Só precisa enviar o comando uma vez. Ele precisa ser executado sempre que
trocar o chip da placa.
Tem que desabilitar o “Ajuste auomático de Call Forwarding” por placa (para
isso acesse k3lconfig -> Configuração da placa -> Configuração do GSM ->
Ativar reconfiguração automática do Call Forwarding -> Desativar esta opção).

Envio de SMS
;Cenário 1
;SMS chega para placa KGSM canal 0 e o SMS é tratado por um determinado
script.
[khomp-sms-00-00]
exten => s,1,System(/usr/bin/sms-file.sh ${KSmsFrom} ${KSmsDate})

;Cenário 2
;SMS chega para o canal 4 da placa KGSM. São mostradas informações sobre a
mensagem e após a mesma é tratada por um determinado script.
[khomp-sms-00-03]
exten => s,1,NoOp(Mensagem SMS recebida!)
exten => s,n,NoOp(Chegou mensagem do número ${KSmsFrom} em ${KSmsDate})
exten => s,n,NoOp(Texto da mensagem: ${KSmsBody})
exten => s,n,System(/etc/khomp/sms-file.sh ${KSmsFrom} ${KSmsBody})

;Cenário 3
;Envio de mensagem SMS através do application KSendSMS utilizando a placa 0
canal 2.
[Contexto-entrada]
exten => s,1,KSendSMS(b0c2|99891390|Envio de SMS.)

;Cenário 4
;SMS chega na placa 0 canal 0, e é redirecionada para o celular de um
funcionário da empresa através da mesma placa, canal 1.
[khomp-sms-00-00]
exten => s,1,KSendSMS(b0c1|numero_do_celular|${KSmsBody})
Exemplo de script para gravar os SMS recebidos em arquivo
Arquivo sms-file.sh
#!/bin/sh
VAR1=”$1″; shift
VAR2=”$@”
FILENAME=”/tmp/sms-received.txt”
echo “————————————” >> ${FILENAME}
echo “SMS RECEIVED ON: `date`” >> ${FILENAME}
echo “from = ${VAR1}” >> ${FILENAME}
echo “body = ${VAR2}” >> ${FILENAME}
echo “” >> ${FILENAME}
echo “” >> ${FILENAME}

Exemplo de script para envio de SMS
Arquivo sms-email.sh
#!/bin/sh
SMS_FROM=”$1″; shift
SMS_DATE=”$1″; shift
SMS_SIZE=”$1″; shift
SMS_BODY=”$@”
generate_mail ()
{
echo “From: \”TESTE DE ENVIO\”
echo “Content-Type: text/plain; charset=ISO-8859-1; format=flowed”
echo “Content-Transfer-Encoding: 8bit”
echo “To: meu@mail.com.br”
echo “Subject: [TESTE DE ENVIO] Mensagem de ‘${SMS_FROM}’.”
echo
echo
echo “Uma mensagem SMS de ‘${SMS_FROM}’ foi recebida em ‘${SMS_DATE}’.”
echo
echo “Segue o texto:”
echo
echo “${SMS_BODY}”
echo
echo “–”
echo “Teste de Envio”
}
run_mail ()
{
sendmail -t -i -f naoresponda@meumail.com.br
}
generate_mail | run_mail

Exemplo de teste para answer_infoextension.conf:
[default]
exten => 5000,1,NoOp(Default Context)
exten => 5000,n,Wait(20)
exten => 5000,n,NoOp(KCallAnswerInfo: ${KCallAnswerInfo})
exten => 5000,n,Dial(SIP/1000)

Arquivo de Call File, onde, XXX é o número a chamar:
Channel: khomp/b0c0/XXX/answer_info
MaxRetries: 2
RetryTime: 2
WaitTime: 30
Context: default
Extension: 5000
Priority: 1

Importante:
O arquivo call file deve ser copiado para /var/spool/asterisk/outgoing, pois
após a ligação o arquivo é apagado pelo asterisk.
A ligação deve ser atendida pelo XXX, caso contrário o context/extension
(default/5000) não será executado.

Exemplo para ignorar mensagens de broadcast enviadas pela operadora
[khomp-sms-00-00]
exten => s,1,ExecIf($[${KSmsType}=broadcast]?Hangup)
exten => s,1,System(/usr/bin/tratar-SMS.sh ${KSmsFrom} ${KSmsDate})
Seleção de SIMCards para a Placa KGSM-USB
[contexto-sip]
;;Chamadas saintes para destinos que utilizam Operadora ABC:
exten => _08[6789]X.,1,Dial(khomp/b0/${EXTEN:1}/orig=restricted)
exten => _08[6789]X.,n,Hangup()
;;Chamadas saintes para destinos que utilizam Operadora DEF:
exten => _09[1234]X.,1,KSelectSimCard(0,0,1)
exten => _09[1234]X.,n,Wait(50)
exten => _09[1234]X.,n,Dial(khomp/b0/${EXTEN:1}/orig=restricted)
exten => _09[1234]X.,n,Hangup()
;;Chamadas saintes para destinos que utilizam Operadora GHI:
exten => _09[6789]X.,1,KSelectSimCard(0,0,2)
exten => _09[6789]X.,n,Wait(50)
exten => _09[6789]X.,n,Dial(khomp/b0/${EXTEN:1}/orig=restricted)
exten => _09[6789]X.,n,Hangup()
;;Chamadas saintes para destinos que utilizam Operadora ABC:
exten => _084X.,1,KSelectSimCard(0,0,3)
exten => _084X.,n,Wait(50)
exten => _084X.,n,Dial(khomp/b0/${EXTEN:1}/orig=restricted)
exten => _084X.,n,Hangup()

Deixe um comentário