<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Boa contribuição Danilo.. Nunca precisei usar, mas caso precise,
agora ja conheço a solução.<br>
<br>
Em 06/03/2013 17:35, Danilo Almeida escreveu:
<blockquote
cite="mid:061301ce1aaa$2c768390$85638ab0$@almeida@g1telecom.com.br"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<meta name="Generator" content="Microsoft Word 12 (filtered
medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]-->
<style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Webdings;
        panose-1:5 3 1 2 1 5 9 6 7 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EstiloDeEmail17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="2050" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal">Olá galera,<o:p></o:p></p>
<p class="MsoNormal">Hoje precisei criar um callback na empresa
que trabalho, esse callback funciona da seguinte maneira:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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.<o:p></o:p></p>
<p class="MsoNormal">Isso foi necessário, pois nossos celulares
só fazem ligação para região 43...<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Então criei uma tutorial Básico para quem
necessitar.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Callback para ligações externas<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">primeiro, criaremos a regra de entrada,
nesse caso estou simulando uma ligação entrando por um <o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">determinado DDR de um link E1, mais pode
ser ligações de entrada de qualquer tipo (FXO, SIP, <o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Analógico, etc) bastando apenas ser
alterado para cada situação.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">[entrada]<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">exten => _3200,1,NoOp(Realizando
CallBack )<o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">exten =>
_3200,2,Wait(1)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">exten =>
_3200,3,Macro(callback,)<o:p></o:p></span></p>
<p class="MsoNormal">exten => _3200,4,Hangup()<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">linha 1 - mostra na tela a descrição dentro
dos parenteses "()"<o:p></o:p></p>
<p class="MsoNormal">linha 2 - espera um segundo antes de
continuar<o:p></o:p></p>
<p class="MsoNormal">linha 3 - vai para macro callback que
veremos a seguir.<o:p></o:p></p>
<p class="MsoNormal">linha 4 - derruba a ligação após colher as
primeiras informações.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">agora, criaremos uma macro callback onde
criaremos o arquivo .call que fará o retorno da ligação para o
número que ligou.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US">[macro-callback]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">exten =>
s,1,set(CALLBACK-FILE=/var/spool/asterisk/outgoing/${MACRO_EXTEN}-${CALLERID(num)}.call)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">exten =>
s,n,system(echo Channel: SIP/0${CALLERID(num)}@g1entrada
> ${CALLBACK-FILE})<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">exten =>
s,n,system(echo Context: saida-callback >>
${CALLBACK-FILE})<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">exten =>
s,n,system(echo Extension: 1000 >> ${CALLBACK-FILE})<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">exten =>
s,n,system(echo Callerid: ${CALLERID(num)} >>
${CALLBACK-FILE})<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">exten =>
s,n,system(echo MaxRetries: 2 >> ${CALLBACK-FILE})<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">exten =>
s,n,system(echo RetryTime: 30 >> ${CALLBACK-FILE})<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">exten =>
s,n,system(echo WaitTime: 30 >> ${CALLBACK-FILE})<o:p></o:p></span></p>
<p class="MsoNormal">exten => s,n,MacroExit<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">linha 1 - seto uma variável com o diretório
/var/spool/asterisk/outgoing/ + o nome do arquivo que será
criado automaticamente. <o:p></o:p></p>
<p class="MsoNormal">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).<o:p></o:p></p>
<p class="MsoNormal">linha 2 - canal que sairá a ligação, no meu
caso estou enviando pela operadora da empresa em que trabalho.<o:p></o:p></p>
<p class="MsoNormal">linha 3 - contexto que será direcionado
para que a pessoa possa digitar o numero desejado.<o:p></o:p></p>
<p class="MsoNormal">linha 4 - extensão que será entregue esta
ligação dentro do contexto anterior.<o:p></o:p></p>
<p class="MsoNormal">linha 5 - callerid da chamada<o:p></o:p></p>
<p class="MsoNormal">linha 6 - Numero maximo de vezes que o
asterisk irá tentar chamar o originador antes de considerar
que a chamada falhou.<o:p></o:p></p>
<p class="MsoNormal">Este parâmetro não considera a primeira
tentativa, portanto se definido como 0, o asterisk tentará
chamar apenas uma vez.<o:p></o:p></p>
<p class="MsoNormal">linha 7 - Seguntos entre as tentativas de
chamar o originador. O padrão é 300 segundos.<o:p></o:p></p>
<p class="MsoNormal">linha 8 - Numero de segundos que o asterisk
irá chamar o originador a cada tentativa. O padrão é 45.<o:p></o:p></p>
<p class="MsoNormal">linha 9 - sai da Macro.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US">[saida-callback]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">exten =>
1000,1,Answer()<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">exten =>
1000,2,PlayBack(beep)<o:p></o:p></span></p>
<p class="MsoNormal">exten => 1000,n,Read(NUMERO)<o:p></o:p></p>
<p class="MsoNormal">exten =>
1000,n,Dial(SIP/${NUMERO}@g1telecom,40,tg)<o:p></o:p></p>
<p class="MsoNormal">exten => 1000,n,Macro(hangupcall,)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">linha 1 - atende a chamada<o:p></o:p></p>
<p class="MsoNormal">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.<o:p></o:p></p>
<p class="MsoNormal">linha 3 - lê os digitos e salva na variável
NUMERO<o:p></o:p></p>
<p class="MsoNormal">linha 4 - dá um dial para o numero
capturado.<o:p></o:p></p>
<p class="MsoNormal">linha 5 - dá um hangup ao término da
ligação.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">acho que é isso pessoal, desculpem qualquer
coisa, mais esse é um dos meus primeiros tutoriais e fiz
correndo, qualquer erro me perdoem..rsrs.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">abraços.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b><span
style="font-family:"Tahoma","sans-serif";color:#000066">att<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span
style="font-family:"Tahoma","sans-serif";color:#000066"><o:p> </o:p></span></b></p>
<p class="MsoNormal"><b><span
style="font-family:"Tahoma","sans-serif";color:#000066">Danilo
Ricardo de Almeida</span></b><b><span
style="font-size:12.0pt;font-family:"Tahoma","sans-serif";color:#000066"><o:p></o:p></span></b></p>
<p class="MsoNormal"><i><span
style="font-size:7.0pt;color:#000066">Engenharia e
Desenvolvimento / Engineering and Development<o:p></o:p></span></i></p>
<p class="MsoNormal"><b><span
style="font-size:8.0pt;color:#000066"><o:p> </o:p></span></b></p>
<p class="MsoNormal"><b><span
style="font-family:"Tahoma","sans-serif";color:#000066">GRUPO
G1 TELECOMUNICAÇÕES LTDA.<o:p></o:p></span></b></p>
<p class="MsoNormal" style="text-align:justify"><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
<v:stroke joinstyle="miter" />
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0" />
<v:f eqn="sum @0 1 0" />
<v:f eqn="sum 0 0 @1" />
<v:f eqn="prod @2 1 2" />
<v:f eqn="prod @3 21600 pixelWidth" />
<v:f eqn="prod @3 21600 pixelHeight" />
<v:f eqn="sum @0 0 1" />
<v:f eqn="prod @6 1 2" />
<v:f eqn="prod @7 21600 pixelWidth" />
<v:f eqn="sum @8 21600 0" />
<v:f eqn="prod @7 21600 pixelHeight" />
<v:f eqn="sum @10 21600 0" />
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect" />
<o:lock v:ext="edit" aspectratio="t" />
</v:shapetype><v:shape id="Imagem_x0020_2" o:spid="_x0000_s1026" type="#_x0000_t75" alt="logo.gif" style='position:absolute;left:0;text-align:left;margin-left:1.2pt;margin-top:9.8pt;width:74.5pt;height:72.75pt;z-index:1;visibility:visible;mso-wrap-style:square;mso-wrap-distance-left:9pt;mso-wrap-distance-top:0;mso-wrap-distance-right:9pt;mso-wrap-distance-bottom:0;mso-position-horizontal:absolute;mso-position-horizontal-relative:text;mso-position-vertical:absolute;mso-position-vertical-relative:text'>
<v:imagedata src="mailbox:///C:/Users/guilherme/AppData/Roaming/Thunderbird/Profiles/ysmxgzc7.default/Mail/pop.guilherme.eti-1.br/Inbox?number=106453561&header=quotebody&part=1.1.2&filename=image001.gif" o:title="logo" />
<w:wrap type="square"/>
</v:shape><![endif]--><!--[if !vml]--><img
src="cid:part1.04050500.02060400@guilherme.eti.br"
alt="logo.gif" v:shapes="Imagem_x0020_2" align="left"
height="97" hspace="12" width="99"><!--[endif]--><b><span
style="font-size:8.0pt;color:#000066"><o:p></o:p></span></b></p>
<p class="MsoNormal" style="text-align:justify"><span
style="font-size:8.0pt;color:#000066">Rua: Ponta Grossa,
n°587 – Jardim Dom Bosco<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align:justify"><span
style="font-size:8.0pt;color:#000066">CEP: 86060-450 -
Londrina - PR<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align:justify"><span
style="font-size:7.5pt;font-family:Wingdings;color:#000066">(</span><span
style="font-size:8.0pt;color:#000066">Fone/Fax: +55 43
3028-1120 / +55 43 3028-1120<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align:justify"><span
style="font-size:7.5pt;font-family:Wingdings;color:#000066">y</span><span
style="font-size:8.0pt;color:#000066">EMAIL: </span><u><span
style="font-size:8.0pt;color:#0707C9" lang="EN-US"><a
moz-do-not-send="true"
href="mailto:danilo.almeida@g1telecom.com.br"><span
style="color:#0707C9" lang="PT-BR">danilo.almeida@g1telecom.com.br</span></a></span></u><span
style="font-size:8.0pt;color:#000066"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align:justify"><span
style="font-size:7.5pt;font-family:Wingdings;color:#000066">y</span><span
style="font-size:8.0pt;color:#000066" lang="EN-US">MSN: </span><u><span
style="font-size:8.0pt;color:#0707C9" lang="EN-US"><a
moz-do-not-send="true"
href="mailto:danilo.almeida@g1telecom.com.br"><span
style="color:#0707C9">danilo.almeida@g1telecom.com.br</span></a></span></u><b><span
style="font-size:8.0pt;color:#0707C9" lang="EN-US"><o:p></o:p></span></b></p>
<p class="MsoNormal" style="text-align:justify"><span
style="font-size:7.5pt;font-family:Wingdings;color:#000066">y</span><span
style="font-size:8.0pt;color:#000066">Suporte: </span><span
style="font-size:8.0pt;color:#0707C9"><a
moz-do-not-send="true"
href="mailto:suporte@g1telecom.com.br"><span
style="color:#0707C9">suporte@g1telecom.com.br</span></a><u><o:p></o:p></u></span></p>
<p class="MsoNormal" style="text-align:justify"><span
style="font-family:Wingdings;color:#000066">:</span><span
style="font-size:8.0pt;color:#000066">Site: </span><span
style="color:#0000CC"><a moz-do-not-send="true"
href="http://www.g1telecom.com.br/"><span
style="font-size:8.0pt;color:#0000CC">www.g1telecom.com.br</span></a></span><u><span
style="font-size:8.0pt;color:#0000CC"><o:p></o:p></span></u></p>
<p class="MsoNormal"><b><span
style="font-size:24.0pt;font-family:Webdings;color:green"><o:p> </o:p></span></b></p>
<p class="MsoNormal"><b><span
style="font-size:24.0pt;font-family:Webdings;color:green">P</span></b><span
style="font-size:10.0pt;color:#1F497D"> </span><b><span
style="font-size:7.5pt;color:green">“VOCÊ PRECISA MESMO
IMPRIMIR?”</span></b><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
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 <a class="moz-txt-link-abbreviated" href="http://www.Khomp.com">www.Khomp.com</a>.
_______________________________________________
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 <a class="moz-txt-link-abbreviated" href="http://www.digivoice.com.br">www.digivoice.com.br</a>
_______________________________________________
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 <a class="moz-txt-link-abbreviated" href="http://www.aligera.com.br">www.aligera.com.br</a>.
_______________________________________________
Para remover seu email desta lista, basta enviar um email em branco para <a class="moz-txt-link-abbreviated" href="mailto:asteriskbrasil-unsubscribe@listas.asteriskbrasil.org">asteriskbrasil-unsubscribe@listas.asteriskbrasil.org</a></pre>
</blockquote>
<br>
</body>
</html>