<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Este é um script em perl que chama o webservice para checar os
numeros portados.<br>
<br>
#!/usr/bin/perl<br>
<br>
use DBI;<br>
use Asterisk::AGI;<br>
use Switch;<br>
use SOAP::Lite;<br>
<br>
$AGI = new Asterisk::AGI;<br>
%input = $AGI->ReadParse();<br>
<br>
$tn = $AGI->get_variable('DESTINO');<br>
<br>
<br>
if(length($tn) == "12"){<br>
$ddd = substr($tn, 2, 2);<br>
}elsif(length($tn) == "10"){<br>
$ddd = substr($tn, 0, 2);<br>
<br>
}<br>
<br>
<br>
$soap = SOAP::Lite<br>
-> uri(<a class="moz-txt-link-rfc2396E" href="http://mlm">"http://mlm"</a>)<br>
->
proxy(<a class="moz-txt-link-rfc2396E" href="http://meu/web/service/consulta_portabilidade.cfc?wsdl">"http://meu/web/service/consulta_portabilidade.cfc?wsdl"</a>);<br>
<br>
$usuario = 'MEU_USUAARIO';<br>
$senha = 'MINHA_SENHA';<br>
$querytype = 'RN1';<br>
<br>
<b>$xml = '<?xml version="1.0" encoding="UTF-8"?><br>
<MessageContent
xmlns="urn:brazil:lnp:1.0"
xmlns:xsi=<a class="moz-txt-link-rfc2396E" href="http://www.w3.org/2001/XMLSchema-instance">"http://www.w3.org/2001/XMLSchema-instance"</a>><br>
<yquery><br>
<querytype
xsi:type="xsd:string">' . $querytype . '</querytype><br>
<tn
xsi:type="xsd:string">' . $tn . '</tn><br>
<usuario
xsi:type="xsd:string">' . $usuario . '</usuario><br>
<senha
xsi:type="xsd:string">'. $senha . '</senha><br>
</yquery><br>
</MessageContent>';<br>
<br>
</b><br>
<br>
my $body = SOAP::Data->name("arg0")->value("$xml");<br>
<br>
$status = $soap->Process($body);<br>
<br>
$operadora = $status->result;<br>
<br>
$AGI->exec("NoOp", "OPERADORA: $operadora DDD $ddd");<br>
<br>
switch($operadora){<br>
case "55341" {<br>
$AGI->exec("NoOp", "CASE 55341 TIM");<br>
$AGI->set_variable("TIM","1");<br>
}<br>
case "55321" {<br>
$AGI->exec("NoOp", "CASE 55321 CLARO - OTHER");<br>
$AGI->set_variable("OTHER","1");<br>
}<br>
case "55320" {<br>
$AGI->exec("NoOp","CASE 55320 VIVO");<br>
$AGI->set_variable("VIVO","1");<br>
<br>
} else {<br>
<br>
$AGI->exec("NoOp", "CASE $operadora - OTHER");<br>
$AGI->set_variable("OTHER","1");<br>
<br>
}<br>
}<br>
<br>
<br>
<br>
<br>
Para maiores informações procure sobre asterisk+agi+perl ou
asterisk+agi+php<br>
<br>
<br>
<br>
No meu asterisk eu chamo da seguinte forma.<br>
<br>
exten => _55XX[6-9]XXXXXXX,1,NoOp(SAIDA PARA CELULAR ${EXTEN})<br>
exten => _55XX[6-9]XXXXXXX,n,Set(TIM="0")<br>
exten => _55XX[6-9]XXXXXXX,n,Set(VIVO="0")<br>
exten => _55XX[6-9]XXXXXXX,n,Set(OTHER="0")<br>
<b>exten => _55XX[6-9]XXXXXXX,n,Set(DESTINO=${EXTEN:2})</b><br>
exten => _55XX[6-9]XXXXXXX,n,Authenticate(/etc/asterisk/senhas,a)<br>
<b>exten => _55XX[6-9]XXXXXXX,n,Agi(verifica-operadora.agi)</b><br>
exten =>
_55XX[6-9]XXXXXXX,n,Macro(records,${CALLERID(num)},${DESTINO})<br>
exten => _55XX[6-9]XXXXXXX,n,NoOp(TIM = ${TIM} - VIVO = ${VIVO} -
OTHER = ${OTHER})<br>
exten => _55XX[6-9]XXXXXXX,n,GotoIf($[${TIM} =
1]?disca-tim,${EXTEN},1)<br>
exten => _55XX[6-9]XXXXXXX,n,GotoIf($[${VIVO} =
1]?disca-vivo,${EXTEN},1)<br>
exten => _55XX[6-9]XXXXXXX,n,GotoIf($[${OTHER} =
1]?disca-vivo,${EXTEN},1)<br>
exten => _55XX[6-9]XXXXXXX,n,NoOp(Nao foi possivel determinar o
numero)<br>
exten => _55XX[6-9]XXXXXXX,n,Hangup()<br>
<br>
<br>
<br>
Em 10-10-2012 17:16, Alessandro Luís Daudt escreveu:
<blockquote
cite="mid:CAPC5ejba2gndd_MZJLFLSiHKO4jBH_6UDq8O5gnW9k-i4A6hRQ@mail.gmail.com"
type="cite">Amigo, tu tem como me escrever um exemplo de codigo
que faça isso para q eu possa me basear?
<div><br>
</div>
<div>sou iniciante nessa parte de usar o agi no asterisk....<br>
<br>
<div class="gmail_quote">Em 10 de outubro de 2012 17:13, Mike
Tesliuk <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:mike@tesliuk.com" target="_blank">mike@tesliuk.com</a>></span>
escreveu:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> Faça um AGI, você
consegue fazer o post usando perl, php ou sei la oque, e
inclusive tratar os resultados se for necessário.<br>
<br>
Em 10-10-2012 17:06, Alessandro Luís Daudt escreveu:
<blockquote type="cite">
<div>
<div class="h5">Boa tarde!
<div><br>
</div>
<div>Alguem sabe me dizer se eu consigo fazer com
que o asterisk chame um webservice e faça um post
nele?<br clear="all">
<div><br>
</div>
-- <br>
<br>
Atenciosamente,<br>
Alessandro Luis Daudt<br>
</div>
<br>
<fieldset></fieldset>
<br>
</div>
</div>
<pre>_______________________________________________
KHOMP Inovação: External Board Series
Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH.
Tenha a External Series Experience na sua aplicação. Visite <a moz-do-not-send="true" href="http://www.khomp.com" target="_blank">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 moz-do-not-send="true" href="http://www.digivoice.com.br" target="_blank">www.digivoice.com.br</a>
________
YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado.
email: <a moz-do-not-send="true" href="mailto:yealink@commlogik.com.br" target="_blank">yealink@commlogik.com.br</a> | <a moz-do-not-send="true" href="http://www.commlogik.com.br" target="_blank">www.commlogik.com.br</a> | <a moz-do-not-send="true" href="tel:%2811%29%205503-1011" value="+551155031011" target="_blank">(11) 5503-1011</a>
______________________________________________
Para remover seu email desta lista, basta enviar um email em branco para <a moz-do-not-send="true" href="mailto:asteriskbrasil-unsubscribe@listas.asteriskbrasil.org" target="_blank">asteriskbrasil-unsubscribe@listas.asteriskbrasil.org</a></pre>
</blockquote>
<br>
</div>
<br>
_______________________________________________<br>
KHOMP Inovação: External Board Series<br>
Módulos de 1/2 rack e 1U para todas as interfaces e soluções
Asterisk e FreeSWITCH.<br>
Tenha a External Series Experience na sua aplicação. Visite
<a moz-do-not-send="true" href="http://www.khomp.com"
target="_blank">www.khomp.com</a><br>
_______________________________________________<br>
DIGIVOICE Fabricante de Placas de Voz e Channel Bank<br>
20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM<br>
Centro Treinamento - Curso de PABX IP - Asterisk - Site <a
moz-do-not-send="true" href="http://www.digivoice.com.br"
target="_blank">www.digivoice.com.br</a><br>
________<br>
YEALINK: Telefones IP e VídeoPhones IP com o melhor
custo/benefício do mercado.<br>
email: <a moz-do-not-send="true"
href="mailto:yealink@commlogik.com.br">yealink@commlogik.com.br</a>
| <a moz-do-not-send="true"
href="http://www.commlogik.com.br" target="_blank">www.commlogik.com.br</a>
| <a moz-do-not-send="true" href="tel:%2811%29%205503-1011"
value="+551155031011">(11) 5503-1011</a><br>
______________________________________________<br>
Para remover seu email desta lista, basta enviar um email em
branco para <a moz-do-not-send="true"
href="mailto:asteriskbrasil-unsubscribe@listas.asteriskbrasil.org">asteriskbrasil-unsubscribe@listas.asteriskbrasil.org</a><br>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<br>
Atenciosamente,<br>
Alessandro Luis Daudt<br>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
KHOMP Inovação: External Board Series
Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH.
Tenha a External Series Experience na sua aplicação. Visite <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>
________
YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado.
email: <a class="moz-txt-link-abbreviated" href="mailto:yealink@commlogik.com.br">yealink@commlogik.com.br</a> | <a class="moz-txt-link-abbreviated" href="http://www.commlogik.com.br">www.commlogik.com.br</a> | (11) 5503-1011
______________________________________________
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>