Потребовалось отправлять длинные sms (более 70 русских букв), через GSM Шлюз OpenVox VoxStack VS-GW1202-8G. Немного переписали php скрипт. Вот собственно делюсь. Скрипту необходимо передать собственно сам текст, ip адрес платы шлюза, номер порта на плате шлюза, номер телефона кому посылаем sms. Так много параметров вынесено так как мы подсчитываем количество sms отправленных через каждый порт в базе mysql дабы не превысить месячный пакет.
#!/usr/bin/php -q
<?php
echo "SMS send";
$text ="$argv[1]";
$text = mb_convert_encoding($text, "utf-8", mb_detect_encoding($text)); #if text in russian
include("/var/lib/asterisk/agi-bin/phpagi-asmanager.php");
$agi=new AGI_AsteriskManager;
function word_chunk($str, $len = 70, $end = "\n") {
$pattern = '~.{1,' . $len . '}~u';
$str = preg_replace($pattern, '$0' . $end, $str);
return rtrim($str, $end);
}
$array = explode('-=||=-',word_chunk($text, 67, '-=||=-'));
print_r($array[0]);
$vst_host="$argv[2]"; #YOUR VOXSTACK GSM GATEWAY IP ADDRESS
$vst_user="admin"; #Corresponding to your GSM gateway API settings
$vst_pwd="admin"; #Corresponding to your GSM gateway API settings
$vst_port="5038"; #Corresponding to your GSM gateway API settings
$agi_status=$agi->connect($vst_host.":".$vst_port,$vst_user,$vst_pwd);
if(!$agi_status)
{
$msg="Failed to connected Asterisk,exit..";
exit(0);
}
$type="gsm";
$method="send sync";
$sync="csms";
$span="$argv[3]"; #YOUR SIMcard for sending sms
$destination="$argv[4]"; #YOUR DESTINATION NUMBER
$timeout="10";
$total=count($array);
foreach ($array as $index => $chunk) {
$i=$index+1;
$agi->Command("$type $method $sync $span $destination \"$chunk\" 00 $total $i $timeout");
}
exit(0);
?>
Для работы скрипта необходимо ещё положить в доступное стандартный скрипт phpagi-asmanager.php
Задан: 2016-08-04 16:48:28 +0400
Просмотрен: 1,121 раз
Обновлен: Aug 04 '16
Блокировка оператором сим карты в gsm шлюзе
Использование extensions_custom.conf
Отправка НЕ Flash SMS (OpenVox)
Asterisk+Gsm-gateway=подмена callerid?
Отправка sms через Neogate [закрыт]
OpenVox A400P проблема перевода вызова
Не работают входящие звонки E1550
Asterisk и Skylink Base "Набранный вами номер не существует" [Закрыт]
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
обычно скрипты выкладывают на гитхаб, оттуда удобно склонировать, к себе скопировать и т.д., форматирование ваше поправить
пользуюсь похожей темой https://github.com/antirek/openvox-sms
obamo ( 2016-08-05 12:32:39 +0400 )редактировать