[AsteriskBrasil] Mail to SMS
Asterisk Addict Guy
asteriskaddict em gmail.com
Quinta Setembro 3 08:16:28 BRT 2009
Pois é, eu estou usando o agi debug. Mas tem alguma coisa que ainda não
consegui entender. Pelo que eu vi, quando ocorre algum erro, o AGI
parece não executar, ou pelo menos não executa na totalidade.
É a primeira vez que estou fazendo alguma coisa com o AGI. Conheço um
pouco de PHP tb.
Pesquisei bastante para poder fazer isto (Google) e o "melhor" resultado
que tenho até agora é qu econsigo enviar o mail com sucesso. Mas não
consigo passar o SMS para dentro da rotina AGI e mandar por mail.
Na console tenho este resultado:
Verbosity is at least 3
-- Executing [sms em from-gsm01:1] Verbose("chan_mobile", "Incoming SMS
from +55519xxxxxx Teste do sos
") in new stack
Incoming SMS from +55519xxxxxx Teste do sos
-- Executing [sms em from-gsm01:2] AGI("chan_mobile",
"sendmail.php|+55519xxxxxx|Teste do sos
") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/sendmail.php
AGI Tx >> agi_request: sendmail.php
AGI Tx >> agi_channel: chan_mobile
AGI Tx >> agi_language: pt
AGI Tx >> agi_type: Sebi
AGI Tx >> agi_uniqueid: 1251976221.44
AGI Tx >> agi_callerid: unknown
AGI Tx >> agi_calleridname: unknown
AGI Tx >> agi_callingpres: 0
AGI Tx >> agi_callingani2: 0
AGI Tx >> agi_callington: 0
AGI Tx >> agi_callingtns: 0
AGI Tx >> agi_dnid: unknown
AGI Tx >> agi_rdnis: unknown
AGI Tx >> agi_context: from-gsm01
AGI Tx >> agi_extension: sms
AGI Tx >> agi_priority: 2
AGI Tx >> agi_enhanced: 0.0
AGI Tx >> agi_accountcode:
AGI Tx >> *CLI>
-- AGI Script sendmail.php completed, returning 0
-- Executing [sms em from-gsm01:3] Hangup("chan_mobile", "") in new stack
== Spawn extension (from-gsm01, sms, 3) exited non-zero on 'chan_mobile'
No meu dialplan tenho isto:
exten => sms,1,Verbose(Incoming SMS from ${SMSSRC} ${SMSTXT})
exten => sms,n,AGI(sendmail.php,${SMSSRC},${SMSTXT})
exten => sms,n,Hangup
No meu sendmail.php :
#!/usr/bin/php -q
<?php
// Get AGI vars from *
$agivars = array();
while (!feof(STDIN)) {
$agivar = trim(fgets(STDIN));
if ($agivar === '') {
break;
}
$agivar = explode(':', $agivar);
$agivars[$agivar[0]] = trim($agivar[1]);
}
extract($agivars);
// Variable Declarations
$agi_uniqueid;
$agi_callerid;
$agi_calleridname;
$agi_extension;
$agi_uniqueid;
$UNIQUEID = $agi_uniqueid;
$from = "mail em domain.com";
$to ="mail em domain.com ";
$subject="SMS from " ;
$headers = "From: $from";
$message ="Mensagem recebida: ";
mail($to,$subject,$message,$headers);
?>
Esta versão em cima, faz o envio do mail com sucesso.
Tentei fazer uma alteração usando o que disseste dos argumentos.
#!/usr/bin/php -q
<?php
// Get AGI vars from *
$agivars = array();
while (!feof(STDIN)) {
$agivar = trim(fgets(STDIN));
if ($agivar === '') {
break;
}
$agivar = explode(':', $agivar);
$agivars[$agivar[0]] = trim($agivar[1]);
}
extract($agivars);
// Variable Declarations
$agi_uniqueid;
$agi_callerid;
$agi_calleridname;
$agi_extension;
$agi_uniqueid;
$UNIQUEID = $agi_uniqueid;
$from = "mail em domain.com";
$to ="mail em domain.com ";
$subject="SMS from " . argv[1];
$headers = "From: $from";
$message ="Mensagem recebida: " . argv[2];
mail($to,$subject,$message,$headers);
?>
Se faço isto, ele nem manda o mail.
Valeu pela ajuda.
Kim Delevati wrote:
> Bom, agi é mais minha área.
>
> Não entendi ali, quando você chama a função debug, você passa 1 como
> paramêtro, depois seta em 3?
> Você está startando o Asterisk com quanto de verbose?
> Como você está passando os parametros SMSSRC e SMSTXT para o Agi, não
> precisa do get variable. Ficam em argv[1] e argv[2]
>
> $smssrc=argv[1];
> $smstxt=argv[2];
>
> Ah, uma dica, quando for rodar algum script no agi, coloque o comando
> agi debug no console antes.
>
> 2009/9/2 Asterisk Addict Guy <asteriskaddict em gmail.com
> <mailto:asteriskaddict em gmail.com>>
>
> Estou tentando montar algo com AGI + PHP.
>
> no meu extensions tenho isto:
>
>
> exten => sms,1,Verbose(Incoming SMS from ${SMSSRC} ${SMSTXT})
> exten => sms,n,AGI(sendmail2.agi|${SMSSRC}|${SMSTXT})
> exten => sms,n,Hangup
>
> Depois no meu AGI PHP:
>
> #!/usr/bin/php -q
> <?php
> function debug($string, $level=3) {
> global $AGI;
> $AGI->verbose($string, $level);
> }
> //
> //
> require_once "phpagi.php";
> $cidnum = ""; // Caller ID Number for this call
> $cidname = ""; // Caller ID Name for this call
> $AGI = new AGI();
> $smssrc=GET VARIABLE SMSSRC;
> $smstxt=GET VARIABLE SMSTXT;
> $message="Here I'm" . $smssrc;
> debug($message, 1);
>
> ?>
>
> Estou tentando fazer isto somente para testar, mas não chega a
> executar a linha de debug.
>
>
>
>
>
> Kim Delevati wrote:
>> Seria ainda mais simples por um site, não?
>>
>> Daí poderia ser por AMI ou um criando arquivos .call.
>>
>> 2009/9/2 Asterisk Addict Guy <asteriskaddict em gmail.com
>> <mailto:asteriskaddict em gmail.com>>
>>
>> Kim,
>>
>> Realmente o ideal é por mail. Do ponto de vista do usuário,
>> este é um conceito muito simples para "disparar" o SMS.
>>
>> Kim Delevati wrote:
>>> Hmm... tem que ser por email? Provavelmente tem jeitos mais
>>> fáceis de fazer o Asterisk mandar essa mensagem remotamente.
>>>
>>> 2009/9/1 Asterisk Addict Guy <asteriskaddict em gmail.com
>>> <mailto:asteriskaddict em gmail.com>>
>>>
>>> Pessoal,
>>>
>>> Estou tentando implementar uma funcionalidade que seria,
>>> enviar um mail para uma conta tipo sms9XXX em gmail.com
>>> <mailto:sms9XXX em gmail.com>, no servidor do Asterisk ter
>>> algo que faça um pooling de tempos em tempos, tendo
>>> algum novo mail, ele pega e envia via SMS a partir do
>>> Asterisk usando o chan_mobile.
>>>
>>> Eu já tenho o chan_mobile funcionando para enviar SMS,
>>> conheço alguma coisa de PHP mas não sou especialista no
>>> resto.
>>>
>>> Alguém já pensou ou tem isto implementado?
>>>
>>> Também o contrário, se eu receber um SMS para o número
>>> do celular que tenho no chan_mobile, fazer o parse e
>>> enviar por mail.
>>>
>>> Poderiam dar algumas dicas?
>>>
>>> Para receber o SMS tenho isto:
>>>
>>> [incoming-mobile]
>>> exten => sms,1,Verbose(Incoming SMS from ${SMSSRC}
>>> ${SMSTXT})
>>> exten => sms,n,Hangup()
>>>
>>> Para enviar o SMS uso isto:
>>>
>>> exten => 99,1,MobileSendSMS(ramal, 91xxxxxx,Hello World)
>>>
>>>
>>> Valeu!
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Participe do IV Encontro VoIPCenter, 16 a 18 de setembro
>>> - São Paulo.
>>> VoIP, Asterisk e Convergência de Redes.
>>> http://www.encontrovoipcenter.com.br
>>>
>>> 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
>>> <mailto:AsteriskBrasil em listas.asteriskbrasil.org>
>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>
>>>
>>> ------------------------------------------------------------------------
>>> _______________________________________________ Participe do
>>> IV Encontro VoIPCenter, 16 a 18 de setembro - São Paulo.
>>> VoIP, Asterisk e Convergência de Redes.
>>> http://www.encontrovoipcenter.com.br 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
>>> <mailto:AsteriskBrasil em listas.asteriskbrasil.org>
>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>
>>
>> _______________________________________________
>> Participe do IV Encontro VoIPCenter, 16 a 18 de setembro -
>> São Paulo.
>> VoIP, Asterisk e Convergência de Redes.
>> http://www.encontrovoipcenter.com.br
>>
>> 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
>> <mailto:AsteriskBrasil em listas.asteriskbrasil.org>
>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>
>>
>> ------------------------------------------------------------------------
>> _______________________________________________ Participe do IV
>> Encontro VoIPCenter, 16 a 18 de setembro - São Paulo. VoIP,
>> Asterisk e Convergência de Redes.
>> http://www.encontrovoipcenter.com.br 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
>> <mailto:AsteriskBrasil em listas.asteriskbrasil.org>
>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>
>
> _______________________________________________
> Participe do IV Encontro VoIPCenter, 16 a 18 de setembro - São Paulo.
> VoIP, Asterisk e Convergência de Redes.
> http://www.encontrovoipcenter.com.br
>
> 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
> <mailto:AsteriskBrasil em listas.asteriskbrasil.org>
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>
>
> ------------------------------------------------------------------------
>
>
> _______________________________________________
> Participe do IV Encontro VoIPCenter, 16 a 18 de setembro - São Paulo.
> VoIP, Asterisk e Convergência de Redes.
> http://www.encontrovoipcenter.com.br
>
> 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/20090903/3964abdd/attachment-0001.htm
Mais detalhes sobre a lista de discussão AsteriskBrasil