На днях столкнулся с одной неприятной вещью - Астериск,получая СМС и сохраняя его содержимое в файл,обрезал строки,если строка содержала символ @. Например в СМС присылали адрес почты test@mail.com, во входящей СМС в логах Астериска и в файл писалось только test.Все что шло вместе с @ тупо обрезалось.

Очень долго искал решение в интернете,но как оказалось,его там нет. Совсем. Как будь то у меня одного такая проблема.

И тогда я начал изучать проблему.И наконец смастерил костыль,позволяющий исправить проблему.

1)Смс принимается по такому вот екстеншену в Астериск:

[Mani-incoming]
exten => sms,1,Verbose(Incoming SMS from ${CALLERID(num)} ${SMS})
exten => sms,n,System(/usr/bin/php /usr/local/bin/smsconv-mani.php ${SMS_BASE64} ${CALLERID(num)})
exten => sms,n,Hangup()

То есть тут текст СМСки в Base64 и номер отправителя передаются РНР скрипту,который уже и обрабатывает данные и кладет все в нужный файл.

2)Вот сам РНР скрипт:

More »

%d такие блоггеры, как: