[AsteriskBrasil] CALLBACK asterisk

Guilherme Rezende asterisk em guilherme.eti.br
Quinta Março 7 08:29:07 BRT 2013


Boa contribuição Danilo..  Nunca precisei usar, mas caso precise, agora 
ja conheço a solução.

Em 06/03/2013 17:35, Danilo Almeida escreveu:
>
> Olá galera,
>
> Hoje precisei criar um callback na empresa que trabalho, esse callback 
> funciona da seguinte maneira:
>
> Ligo na empresa do meu celular(ou de qualquer número que bine) de 
> qualquer região, o servidor pega o meu número, desliga a chamada e me 
> retorna, após isso, digito o numero que desejo fazer a ligação e ele 
> disca e completa para mim.
>
> Isso foi necessário, pois nossos celulares só fazem ligação para 
> região 43...
>
> Então criei uma tutorial Básico para quem necessitar.
>
> Callback para ligações externas
>
> primeiro, criaremos a regra de entrada, nesse caso estou simulando uma 
> ligação entrando por um
>
> determinado DDR de um link E1, mais pode ser ligações de entrada de 
> qualquer tipo (FXO, SIP,
>
> Analógico, etc) bastando apenas ser alterado para cada situação.
>
> [entrada]
>
> exten => _3200,1,NoOp(Realizando CallBack )
>
> exten => _3200,2,Wait(1)
>
> exten => _3200,3,Macro(callback,)
>
> exten => _3200,4,Hangup()
>
> linha 1 - mostra na tela a descrição dentro dos parenteses "()"
>
> linha 2 - espera um segundo antes de continuar
>
> linha 3 - vai para macro callback que veremos a seguir.
>
> linha 4 - derruba a ligação após colher as primeiras informações.
>
> agora, criaremos uma macro callback onde criaremos o arquivo .call que 
> fará o retorno da ligação para o número que ligou.
>
> [macro-callback]
>
> exten => 
> s,1,set(CALLBACK-FILE=/var/spool/asterisk/outgoing/${MACRO_EXTEN}-${CALLERID(num)}.call)
>
> exten => s,n,system(echo Channel: SIP/0${CALLERID(num)}@g1entrada > 
> ${CALLBACK-FILE})
>
> exten => s,n,system(echo Context: saida-callback >> ${CALLBACK-FILE})
>
> exten => s,n,system(echo Extension: 1000 >> ${CALLBACK-FILE})
>
> exten => s,n,system(echo Callerid: ${CALLERID(num)} >> ${CALLBACK-FILE})
>
> exten => s,n,system(echo MaxRetries: 2 >> ${CALLBACK-FILE})
>
> exten => s,n,system(echo RetryTime: 30 >> ${CALLBACK-FILE})
>
> exten => s,n,system(echo WaitTime: 30 >> ${CALLBACK-FILE})
>
> exten => s,n,MacroExit
>
> linha 1 - seto uma variável com o diretório 
> /var/spool/asterisk/outgoing/ + o nome do arquivo que será criado 
> automaticamente.
>
> linhas n - no restante das linhas, escrevo dentro do arquivo as opções 
> necessárias para rodar um arquivo .call (vejam mais informações de 
> arquivos .call para entenderem melhor caso tenham dúvidas).
>
> linha 2 - canal que sairá a ligação, no meu caso estou enviando pela 
> operadora da empresa em que trabalho.
>
> linha 3 - contexto que será direcionado para que a pessoa possa 
> digitar o numero desejado.
>
> linha 4 - extensão que será entregue esta ligação dentro do contexto 
> anterior.
>
> linha 5 - callerid da chamada
>
> linha 6 - Numero maximo de vezes que o asterisk irá  tentar chamar o 
> originador antes de considerar que a chamada falhou.
>
> Este parâmetro não considera a primeira tentativa, portanto se 
> definido como 0, o asterisk tentará chamar apenas uma vez.
>
> linha 7 - Seguntos entre as tentativas de chamar o originador. O 
> padrão é 300 segundos.
>
> linha 8 - Numero de segundos que o asterisk irá chamar o originador a 
> cada tentativa. O padrão é 45.
>
> linha 9 - sai da Macro.
>
> após sair da macro, o asterisk dará o hangup conforme linha 4 do 
> contexto entrada, após isso, o arquivo .call criado já será executado 
> chamando o número que havia ligado anteriormente, quando houver o 
> atendimento dessa chamada, jogará para o contexto descrito no arquivo 
> .call que criamos (saida-callback).
>
> o contexto saida-callback dará um bip e aguardará um numero ser 
> digitado. Nesse caso dará um Bip, mais pode-se personalizar com uma 
> gravação da maneira que desejar.
>
> [saida-callback]
>
> exten => 1000,1,Answer()
>
> exten => 1000,2,PlayBack(beep)
>
> exten => 1000,n,Read(NUMERO)
>
> exten => 1000,n,Dial(SIP/${NUMERO}@g1telecom,40,tg)
>
> exten => 1000,n,Macro(hangupcall,)
>
> linha 1 - atende a chamada
>
> linha 2 - dá um bip após o atendimento da chamada, aqui pode-se 
> colocar uma mensagem para o usuário ouvir tipo: digite o numero que 
> deseja, ou coisa do tipo.
>
> linha 3 - lê os digitos e salva na variável NUMERO
>
> linha 4 - dá um dial para o numero capturado.
>
> linha 5 - dá um hangup ao término da ligação.
>
> acho que é isso pessoal, desculpem qualquer coisa, mais esse é um dos 
> meus primeiros tutoriais e fiz correndo, qualquer erro me perdoem..rsrs.
>
> abraços.
>
> *att*
>
> **
>
> *Danilo Ricardo de Almeida***
>
> /Engenharia e Desenvolvimento / Engineering and Development/
>
> **
>
> *GRUPO G1 TELECOMUNICAÇÕES LTDA.*
>
> logo.gif**
>
> Rua: Ponta Grossa, n°587 -- Jardim Dom Bosco
>
> CEP: 86060-450 - Londrina - PR
>
> (Fone/Fax: +55 43 3028-1120 / +55 43 3028-1120
>
> yEMAIL: _danilo.almeida em g1telecom.com.br 
> <mailto:danilo.almeida em g1telecom.com.br>_
>
> yMSN: _danilo.almeida em g1telecom.com.br 
> <mailto:danilo.almeida em g1telecom.com.br>_**
>
> ySuporte: suporte em g1telecom.com.br <mailto:suporte em g1telecom.com.br>__
>
> :Site: www.g1telecom.com.br <http://www.g1telecom.com.br/>__
>
> **
>
> *P**"VOCÊ PRECISA MESMO IMPRIMIR?"*
>
>
>
> _______________________________________________
> KHOMP: completa linha de placas externas FXO, FXS, GSM e E1;
> Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7;
> Intercomunicadores para acesso remoto via rede IP. Conheça em www.Khomp.com.
> _______________________________________________
> DIGIVOICE  Fabricante de Placas de Voz e Channel Bank
> 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM
> Centro Treinamento - Curso de PABX IP -  Asterisk  - Site  www.digivoice.com.br
> _______________________________________________
> ALIGERA -- Fabricante nacional de Gateways SIP-E1 para R2, ISDN e SS7.
> Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express.
> Channel Bank -- Appliance Asterisk - Acesse www.aligera.com.br.
> _______________________________________________
> Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscribe em listas.asteriskbrasil.org

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20130307/26af5802/attachment-0001.htm 
-------------- Próxima Parte ----------
Um anexo não texto foi limpo...
Nome  : não disponível
Tipo  : image/png
Tam   : 8231 bytes
Descr.: não disponível
Url   : http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20130307/26af5802/attachment-0001.png 


Mais detalhes sobre a lista de discussão AsteriskBrasil