Boa Tarde Marcio,<br><br>Essa documentação é para a seguinte situação: Você liga para o seu Asterisk, ele verifica que é você e desliga a chamada. Após isso o Asterisk faz uma ligação para você e coloca num contexto para você discar para qualquer lugar definido nas regras.<br>
<br>Essa solução é útil quando a ligação do seu Celular para a Empresa é mais caro do que partindo da sua empresa para o seu celular. Exemplo: utilizei esse sistema na empresa pois ela tinha um plano do tipo "tarifa zero" para celulares do grupo. Do meu celular eu ligava para o Asterisk, ele identificava o meu número e desligava. Logo após o meu celular tocava recebendo uma ligação do Asterisk (callback). Após o atendimento no celular eu discava para o ramal da empresa ou para um telefone fixo e economizava no custo da ligação. <br>
<br>Sds,<br><br>Alessandro<br><br><br><br><br><div class="gmail_quote">2009/8/11 marcio <span dir="ltr"><<a href="mailto:marciositoni@ruthjunqueira.org.br">marciositoni@ruthjunqueira.org.br</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div bgcolor="#ffffff">
<div><font face="Arial" size="2">Tenho um tutorial de call back só que não consegui
imprementar aqui na empresa, será que o pessoal mais experiente da lista podia
dar uma olhada.</font></div>
<div><font face="Arial" size="2"></font> </div>
<div><font face="Arial" size="2">Caso positivo segue abaixo:</font></div>
<div><font face="Arial" size="2"></font> </div>
<div><font face="Arial" size="2"><b><font face="Times New Roman" size="4">
<p align="left">CONFIGURAÇÃO DE CALLBACK</p></font><font face="Garamond,Bold" size="4">
<p align="left">CallBack Externo</p></font></b></font><font face="Garamond">
<p align="left">A idéia de utilizar o Call Back é: Ligar para um número, o sistema
reconhecer de</p>
<p align="left">quem é esse número, rejeitar a chamada e religar. Assim que a
pessoa atender a ligação ela</p>
<p align="left">pode discar para onde ela tem permissão.</p></font><b><font face="Garamond,Bold" size="4">
<p align="left">Premissas:</p></font></b><font face="Garamond">
<p align="left">Primeiro temos que ter um número de entrada no Asterisk, seja SIP,
FXO ou E1</p>
<p align="left">sendo a premissa básica ter a identificação do número chamador
(bina). Em nosso</p>
<p align="left">exemplo estaremos entendendo que a ligação seja recebida por um
provedor SIP. Assim ele</p>
<p align="left">deve estar devidamente configurado no sip.conf e funcionando
(tanto entrada quanto</p>
<p align="left">saída). Quando foi criado este provedor, foi inserido no sip.conf
uma linha com a função</p>
<p align="left">register => (lembra quando criamos a regra do Vono?) e no final
da linha inserimos uma</p>
<p align="left">barra (/) seguido da extensão que iria atender. Exemplo:</p>
<p align="left">Register => <a href="http://login:senha@provedor.com:5060/entrada" target="_blank">login:senha@provedor.com:5060/entrada</a></p>
<p align="left">Assim vamos fazer a referência com a extensão entrada.
Provavelmente no teu</p>
<p align="left">extensions.conf, na seção [default] deva/possa ter uma linha
parecida com a linha abaixo</p>
<p align="left">para que se possa atender a ligação:</p>
<p align="left">exten => entrada,1,Dial(SIP/ramalinterno,60,rtT)</p>
<p align="left">O que faremos é criar uma regra baseada na origem (bina) da
ligação. Vamos</p>
<p align="left">considerar que o número do seu celular com permissão para callback
seja 99887766.</p>
<p align="left">Assim ADICIONE as seguintes linhas:</p>
<p align="left">exten => entrada/99887766,1,NoOp(Realizando CallBack )</p>
<p align="left">exten => entrada/99887766,2,Wait(1)</p></font><font face="Garamond" size="2">
<p align="left">exten => entrada/99887766,3,System(cp
/etc/callback/chamada.call /var/spool/asterisk/outgoing/)</p></font><font face="Garamond">
<p align="left">exten => entrada/99887766,4,Hangup()</p>
<p align="left">No exemplo acima a prioridade 1 não faz nada além de mostrar na
tela a</p>
<p align="left">mensagem “realizando callback ”;</p>
<p align="left">A prioridade 2 aguarda 1 segundo</p>
<p align="left">A prioridade 3 executa um comando no linux através da aplicação
System. No</p>
<p align="left">exemplo acima ele copia o arquivo chamada.call para um diretório
específico do asterisk.</p>
<p align="left">É aqui que ele realiza o callback. Este item é o principal e
veremos na seqüência.</p>
<p align="left">A prioridade 4 desliga/rejeita a ligação. Assim como pode ver, não
houve</p>
<p align="left">atendimento, portanto não houve tarifação da ligação recebida.</p>
<p align="left">Note que não foi deletada a primeira extensão
(exten=>entrada,1,Dial....) pois</p>
<p align="left">esta serve para os outros números que ligarem para o número do
provedor sip.</p></font><b><font face="Garamond,Bold" size="4">
<p align="left">Configurando o callback</p></font></b><font face="Garamond">
<p align="left">Primeiro temos que saber como realizamos a ligação para o seu
celular. Estou</p>
<p align="left">considerando que você vá utilizar o Vono para retornar, altere
conforme a sua necessidade.</p>
<p align="left">Para isso devemos criar um arquivo chamado chamada.call, no
exemplo acima este arquivo</p>
<p align="left">está na pasta /etc/callback.</p>
<p align="left">O arquivo ficará da seguinte forma:</p>
<p align="left">Channel: SIP/99887766@vono</p>
<p align="left">Context: callback</p>
<p align="left">CallerID: 99887766 <99887766></p>
<p align="left">Extension: s</p>
<p align="left">MaxRetries: 0</p>
<p align="left">RetryTime: 2</p>
<p align="left">WaitTime:10</p>
<p align="left">Priority: 1</p>
<p align="left">O arquivo acima (chamada.call), está dizendo que será feito uma
ligação</p>
<p align="left">(aplicação Dial) passando os parâmetros, ou seja, para
SIP/99887766@vono. Após isso o</p>
<p align="left">sistema “jogará” esta ligação num contexto chamado “callback” na
extensão “s” na</p>
<p align="left">prioridade “1”.</p>
<p align="left">Uma vez existindo este arquivo, se copiarmos ele para o
diretório</p>
<p align="left">/var/spool/asterisk/outgoing, o Asterisk sempre está lendo este
diretório e se encontrar o</p>
<p align="left">arquivo ele tentará efetuar a chamada. Assim neste exemplo
necessitamos de criar o</p>
<p align="left">contexto [callback] no extensions.conf, Exemplo abaixo:</p>
<p align="left">[callback]</p>
<p align="left">exten => s,1,Answer()</p>
<p align="left">exten => s,2,ResponseTimeout(60)</p>
<p align="left">exten => s,3,WaitExten(60|m[(default)])</p>
<p align="left">exten => _1XXX,1,Dial(SIP/${EXTEN},60,rtT)</p>
<p align="left">Quando o asterisk fizer a chamada ele automaticamente aciona o
contexto</p>
<p align="left">definido no arquivo chamada.call, no nosso caso o contexto é
[callback], extensão s,</p>
<p align="left">prioridade 1.</p>
<p align="left">A prioridade 1 atende o canal mesmo que a chamada de</p>
<p align="left">saída ainda esteja sendo processada.</p>
<p align="left">A prioridade 2 é setado um timeout, ou seja se o celular não
atender em 60</p>
<p align="left">segundos ele desliga o canal sip desta chamada.</p>
<p align="left">A prioridade 3 fica aguardando algo ser digitado, durante 60
segundos e enquanto</p>
<p align="left">isso fica-se ouvindo uma música de espera. Toda permissão para
discar deve ser colocada</p>
<p align="left">dentro deste contexto. No caso acima eu coloquei que o celular
chamado somente pode</p>
<p align="left">discar para ramais internos começando com 1XXX. Caso queira dar
permissão de ligação</p>
<p>externa basta adicionar DENTRO DESTE CONTEXTO as extensões
necessárias.</p></font></div></div>
<br><br>
_______________________________________________<br>
Participe do IV Encontro VoIPCenter, 16 a 18 de setembro - São Paulo.<br>
VoIP, Asterisk e Convergência de Redes.<br>
<a href="http://www.encontrovoipcenter.com.br" target="_blank">http://www.encontrovoipcenter.com.br</a><br>
<br>
Compre uma camiseta da AsteriskBrasil.org!<br>
<a href="http://www.voipmania.com.br" target="_blank">http://www.voipmania.com.br</a><br>
<br>
Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na rede Freenode.net: #asterisk-br<br>
_______________________________________________<br>
Lista de discussões AsteriskBrasil.org<br>
<a href="mailto:AsteriskBrasil@listas.asteriskbrasil.org">AsteriskBrasil@listas.asteriskbrasil.org</a><br>
<a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a><br></blockquote></div><br>