{"id":113,"date":"2011-05-03T22:49:50","date_gmt":"2011-05-04T01:49:50","guid":{"rendered":"http:\/\/blog.digavoip.com.br\/2011\/05\/03\/callback-asterisk\/"},"modified":"2011-05-03T22:49:50","modified_gmt":"2011-05-04T01:49:50","slug":"callback-asterisk","status":"publish","type":"post","link":"https:\/\/blog.abratel.com.br\/?p=113","title":{"rendered":"CallBack asterisk"},"content":{"rendered":"<p>1-\tRecebimento da chamada, (no meu caso eu so permito callback dos n\u00fameros cadastrados e descarto o resto.)<br \/>\n[khomp-01-03]<\/p>\n<p>;;;Atende Celular Vivo 9153XXXX<\/p>\n<p>     exten => s,1,Set(ip_banco=127.0.0.1)<br \/>\n     exten => s,n,Set(usuario=asteriskuser)<br \/>\n     exten => s,n,Set(senha=senha)<br \/>\n     exten => s,n,Set(banco=asteriskcdrdb)<br \/>\n     exten => s,n,NoOp(${CALLERID(name)})<br \/>\n     exten => s,n,Set(consulta= select\\ callback\\, x.telefone\\  from\\ agenda a\\, agendaux x\\ where\\ a.codigo =\\ x.codage\\ and\\ a.callback=\\ 1\\ and\\ x.telefone like \\&#8217;%\\${CALLERID(num):2}\\&#8217;\\)<br \/>\n     exten => s,n(consulta),MYSQL(Connect connid ${ip_banco} ${usuario} ${senha} ${banco})<br \/>\n     exten => s,n,MYSQL(Query resultid ${connid} ${consulta})<br \/>\n     exten => s,n,MYSQL(Fetch fetchid ${resultid} callback\\ nrtelefone)<\/p>\n<p>     exten => s,n,NoOp(Status da busca ${callback})<br \/>\n     exten => s,n,GotoIf($[&#8220;${callback}&#8221; = &#8220;1&#8221;]?40:51)<\/p>\n<p>     exten => s,40,NoOp(Realizando callback para ${CALLERID(num)})<br \/>\n     exten => s,41,system(cp \/etc\/callback\/callback.call \/etc\/callback\/callback.tmp.call)<br \/>\n     exten => s,42,agi(identifica.php|${nrtelefone})<br \/>\n     exten => s,43,system(echo &#8216;Channel: khomp\/G${retorno}\/${nrtelefone:2}&#8217; >> \/etc\/callback\/callback.tmp.call) ******  aqui voc\u00ea coloco o tronco de sa\u00edda)<br \/>\n     exten => s,44,system(echo &#8216;CallerID: ${nrtelefone:2} &#8220;<\"${nrtelefone}\">&#8220;&#8216; >> \/etc\/callback\/callback.tmp.call) ****** idetificacao  do telefone destino<br \/>\n     exten => s,45,system(echo &#8216;Extension: ${nrtelefone}&#8217; >> \/etc\/callback\/callback.tmp.call)  ***** telefone destino<br \/>\n     exten => s,46,system(mv \/etc\/callback\/callback.tmp.call \/etc\/asterisk\/${nrtelefone}.call)    ***** move o arquivo para pasta callback<br \/>\n     exten => s,47,System(bash \/etc\/asterisk\/callback.sh ${nrtelefone})  ***** muda data de cria\u00e7\u00e3o e move para pasta outgoing do asterisk<br \/>\n     exten => s,48,MYSQL(Clear ${resultid})<br \/>\n     exten => s,49,MYSQL(Disconnect ${connid})<br \/>\n     exten => s,50,Hangup()<\/p>\n<p>     exten => s,51,NoOp(Desligando chamada)   ***** sen\u00e3o esta cadastrado rejeita.<br \/>\n     exten => s,52,MYSQL(Clear ${resultid})<br \/>\n     exten => s,53,MYSQL(Disconnect ${connid})<br \/>\n     ;exten => s,n,Dial(IAX2\/SAP2-TRUNK\/8000,90,Tt)<br \/>\n     exten => s,n,Hangup()<\/p>\n<p>2-\tContext Callback<\/p>\n<p>[callback]<br \/>\n  exten => s,1,Answer<br \/>\n  exten => s,n,BackGround(OpCallBack)    ***** URA<br \/>\n  exten => s,n,hangup()<\/p>\n<p>  exten => 1,1,Dial(destino 1)<br \/>\n  exten => 2,1,Dial(destino 2)<br \/>\n  exten => 3,1,Dial(destino 3)<br \/>\n  exten => 4,1,Dial(destino 4)<br \/>\n  exten => 5,1,Dial(destino 5)<br \/>\n  exten => 6,1,Dial(destino 6)<br \/>\n  exten => *,1,DISA(no-password|diretoria)    * para efetuar liga\u00e7\u00f5es utilizando callback<\/p>\n<p>3 \u2013 Arquivo .call utilizado no extensions.<\/p>\n<p>Context: callback<br \/>\nMaxRetries: 2<br \/>\nRetryTime:15<br \/>\nWaitTime:20<br \/>\nPriority: 1<br \/>\nAccount: Callback<\/p>\n<p>4 \u2013 Arquivo callback.sh (serve para atrasar em alguns segundos a chamada do callback, sen\u00e3o o asterisk retorna antes da pessoa desligar.<\/p>\n<p>#!\/bin\/sh<br \/>\nDESTINO=$1<\/p>\n<p># Altera a Data do arquivo para faze a liga\u00e7\u00e3o depois de 10s.<br \/>\nNOW=`date +%s`<br \/>\nlet &#8220;NOW=$NOW+10&#8221;<br \/>\nTOUCH_TMSP=`date -d &#8220;1970-01-01 $NOW sec GMT&#8221; +%Y%m%d%H%M.%S`<br \/>\ntouch -t $TOUCH_TMSP \/etc\/asterisk\/&#8221;$DESTINO&#8221;.call<\/p>\n<p>mv \/etc\/asterisk\/&#8221;$DESTINO&#8221;.call \/var\/spool\/asterisk\/outgoing\/<br \/>\nchmod 777 \/var\/spool\/asterisk\/outgoing\/&#8221;$DESTINO&#8221;.call<\/p>\n<p>#Fim do Script<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1- Recebimento da chamada, (no meu caso eu so permito callback dos n\u00fameros cadastrados e descarto o resto.) [khomp-01-03] ;;;Atende Celular Vivo 9153XXXX exten => s,1,Set(ip_banco=127.0.0.1) exten => s,n,Set(usuario=asteriskuser) exten => s,n,Set(senha=senha) exten => s,n,Set(banco=asteriskcdrdb) exten => s,n,NoOp(${CALLERID(name)}) exten => s,n,Set(consulta= select\\ callback\\, x.telefone\\ from\\&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=\/wp\/v2\/posts\/113"}],"collection":[{"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=113"}],"version-history":[{"count":0,"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=\/wp\/v2\/posts\/113\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=113"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=113"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}