[AsteriskBrasil] callback

Marcio Aparecido Sitoni marciositoni em ruthjunqueira.org.br
Terça Junho 9 13:39:27 BRT 2009


Nao Eder,

Tirei de um tuto que ensina como fazer call back, mas nao consegui fazer.

vou postar abaixo.

CONFIGURAÇÃO DE CALLBACK

CallBack Externo

A idéia de utilizar o Call Back é: Ligar para um número, o sistema reconhecer de

quem é esse número, rejeitar a chamada e religar. Assim que a pessoa atender a ligação ela

pode discar para onde ela tem permissão.

Premissas:

Primeiro temos que ter um número de entrada no Asterisk, seja SIP, FXO ou E1

sendo a premissa básica ter a identificação do número chamador (bina). Em nosso

exemplo estaremos entendendo que a ligação seja recebida por um provedor SIP. Assim ele

deve estar devidamente configurado no sip.conf e funcionando (tanto entrada quanto

saída). Quando foi criado este provedor, foi inserido no sip.conf uma linha com a função

register => (lembra quando criamos a regra do Vono?) e no final da linha inserimos uma

barra (/) seguido da extensão que iria atender. Exemplo:

Register => login:senha em provedor.com:5060/entrada

Assim vamos fazer a referência com a extensão entrada. Provavelmente no teu

extensions.conf, na seção [default] deva/possa ter uma linha parecida com a linha abaixo

para que se possa atender a ligação:

exten => entrada,1,Dial(SIP/ramalinterno,60,rtT)

O que faremos é criar uma regra baseada na origem (bina) da ligação. Vamos

considerar que o número do seu celular com permissão para callback seja 99887766.

Assim ADICIONE as seguintes linhas:

exten => entrada/99887766,1,NoOp(Realizando CallBack )

exten => entrada/99887766,2,Wait(1)

exten => entrada/99887766,3,System(cp /etc/callback/chamada.call /var/spool/asterisk/outgoing/)

exten => entrada/99887766,4,Hangup()

No exemplo acima a prioridade 1 não faz nada além de mostrar na tela a

mensagem "realizando callback ";

A prioridade 2 aguarda 1 segundo

A prioridade 3 executa um comando no linux através da aplicação System. No

exemplo acima ele copia o arquivo chamada.call para um diretório específico do asterisk.

É aqui que ele realiza o callback. Este item é o principal e veremos na seqüência.

A prioridade 4 desliga/rejeita a ligação. Assim como pode ver, não houve

atendimento, portanto não houve tarifação da ligação recebida.

Note que não foi deletada a primeira extensão (exten=>entrada,1,Dial....) pois

esta serve para os outros números que ligarem para o número do provedor sip.

Configurando o callback

Primeiro temos que saber como realizamos a ligação para o seu celular. Estou

considerando que você vá utilizar o Vono para retornar, altere conforme a sua necessidade.

Para isso devemos criar um arquivo chamado chamada.call, no exemplo acima este arquivo

está na pasta /etc/callback.

O arquivo ficará da seguinte forma:

Channel: SIP/99887766 em vono

Context: callback

CallerID: 99887766 <99887766>

Extension: s

MaxRetries: 0

RetryTime: 2

WaitTime:10

Priority: 1

O arquivo acima (chamada.call), está dizendo que será feito uma ligação

(aplicação Dial) passando os parâmetros, ou seja, para SIP/99887766 em vono. Após isso o

sistema "jogará" esta ligação num contexto chamado "callback" na extensão "s" na

prioridade "1".

Uma vez existindo este arquivo, se copiarmos ele para o diretório

/var/spool/asterisk/outgoing, o Asterisk sempre está lendo este diretório e se encontrar o

arquivo ele tentará efetuar a chamada. Assim neste exemplo necessitamos de criar o

contexto [callback] no extensions.conf, Exemplo abaixo:

[callback]

exten => s,1,Answer()

exten => s,2,ResponseTimeout(60)

exten => s,3,WaitExten(60|m[(default)])

exten => _1XXX,1,Dial(SIP/${EXTEN},60,rtT)

Quando o asterisk fizer a chamada ele automaticamente aciona o contexto

definido no arquivo chamada.call, no nosso caso o contexto é [callback], extensão s,

prioridade 1.

A prioridade 1 atende o canal mesmo que a chamada de

saída ainda esteja sendo processada.

A prioridade 2 é setado um timeout, ou seja se o celular não atender em 60

segundos ele desliga o canal sip desta chamada.

A prioridade 3 fica aguardando algo ser digitado, durante 60 segundos e enquanto

isso fica-se ouvindo uma música de espera. Toda permissão para discar deve ser colocada

dentro deste contexto. No caso acima eu coloquei que o celular chamado somente pode

discar para ramais internos começando com 1XXX. Caso queira dar permissão de ligação

externa basta adicionar DENTRO DESTE CONTEXTO as extensões necessárias.

  ----- Original Message ----- 
  From: eder souza 
  To: asteriskbrasil em listas.asteriskbrasil.org 
  Sent: Tuesday, June 09, 2009 12:07 PM
  Subject: Re: [AsteriskBrasil] callback


        nunca testei nada parecido no meu extensions isso funciona com vc ?

        Eng Eder de Souza

        --- Em ter, 9/6/09, Marcio Aparecido Sitoni <marciositoni em ruthjunqueira.org.br> escreveu:


          De: Marcio Aparecido Sitoni <marciositoni em ruthjunqueira.org.br>
          Assunto: [AsteriskBrasil] callback
          Para: asteriskbrasil em listas.asteriskbrasil.org
          Data: Terça-feira, 9 de Junho de 2009, 10:58


          Callback

          exten => 5804/99999191,1,NoOp(Realizando CallBack)
          exten => 5804/99999191,2,Wait(1)

          Este procedimento esta correto?

          Vem a ligação do ddr para esse ramal ele identifica o celular e atende a ligação???


          Obrigado


          -----Anexo incorporado-----


          _______________________________________________
          Openmoko Freerunner, primeiro telefone open source, disponível no Brasil rodando o Android da Google.
          http://www.neodroid.com

          Compre uma camiseta da AsteriskBrasil.org!
          http://www.voipmania.com.br

          Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na rede Freenode.net: #asterisk-br
          _______________________________________________
          Lista de discussões AsteriskBrasil.org
          AsteriskBrasil em listas.asteriskbrasil.org
          http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil 


------------------------------------------------------------------------------
  Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 10 - Celebridades - Música - Esportes


------------------------------------------------------------------------------


  _______________________________________________
  Openmoko Freerunner, primeiro telefone open source, disponível no Brasil rodando o Android da Google.
  http://www.neodroid.com

  Compre uma camiseta da AsteriskBrasil.org!
  http://www.voipmania.com.br

  Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na rede Freenode.net: #asterisk-br
  _______________________________________________
  Lista de discussões AsteriskBrasil.org
  AsteriskBrasil em listas.asteriskbrasil.org
  http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20090609/55cf472a/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil