Потребовалось отправлять длинные 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,238 раз
Обновлен: Aug 04 '16
Asterisk+Gsm-gateway=подмена callerid?
Отправка НЕ Flash SMS (OpenVox)
Блокировка оператором сим карты в gsm шлюзе
Использование extensions_custom.conf
header from unknown@myipaddress как изменить?
Elastix подключение GSM шлюза.
Неслышимость абонента (или сброс звонка)
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 )редактировать