Rose debug info
---------------

Elastix обработка USSD и SMS и отправка на почту

Добавляем Dilaplan:

[from-gsm]
exten => sms,1,Verbose(Incoming SMS from ${CALLERID(num)} ${SMS})
exten => sms,n,System(/usr/bin/php /etc/asterisk/sms.php ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} — ${DATACARD} — ${CALLERID(num)}: ${SMS_BASE64})
exten => sms,n,Hangup()

exten => ussd,1,Verbose(Incoming USSD: ${USSD})
exten => ussd,n,System(/usr/bin/php /etc/asterisk/ussd.php ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} — ${DATACARD}: ${USSD_BASE64})
exten => ussd,n,Hangup()

exten => s,1,Set(CALLERID(all)=${CALLERID(num)})
exten => s,n,Set(CALLERID(num)=8${CALLERID(num):2})
exten => s,n,goto(from-trunk,${DONGLEIMEI},1)

И два скрипта в систему

sms.php:

<?php

$sms=base64_decode($argv[6]);
//var_dump($argv);
$smsok=$argv[1].» «.$argv[2].» «.$argv[5].» «.$sms;
$smsok = str_replace(’«’, ’’, $smsok);
$smsok = str_replace(„’“, „„, $smsok);
$smsok = preg_replace („/[^а-яА-Я0-9a-zA-z\s\(\)\[\]\-\:\*\.\,\%\$\@\+\-\{\}\?\>\<\#\^\;\=\_\№]/u“,““,$smsok);
$cmd=»echo $smsok | mail -s ’Incoming SMS from $argv[5]’ admin@mail.ru«;
exec($cmd);
$cmd=»echo $smsok >> /var/log/asterisk/sms.txt«;
exec($cmd);
?>

и ussd.php:

<?php
$sms=base64_decode($argv[5]);
var_dump($argv);
$smsok=$argv[1].» «.$argv[2].» «.$sms;
$smsok = str_replace(’«’, ’’, $smsok);
$smsok = str_replace(„’“, „„, $smsok);
$smsok = preg_replace („/[^а-яА-Я0-9a-zA-z\s\(\)\[\]\-\:\*\.\,\%\$\@\+\-\{\}\?\>\<\#\^\;\=\_\№]/u“,““,$smsok);
$cmd=»echo $smsok | mail -s ’Incoming USSD’ admin@mail.ru«;
exec($cmd);
$cmd=»echo $smsok >> /var/log/asterisk/ussd.txt«;
exec($cmd);
?>

Добавляем автопроверку баланса и отправку на почту каждый день в 22-00:

crontab -e

00 22 * * * /usr/sbin/asterisk -rx «dongle ussd dongle0 *105#»

Поделиться
Отправить
 159   2021   asterisk