NEWS
Asterisk. Отправка SMS
-
Прошу помощи в написании скрипта для отправки SMS через Asterisk
на PHP работающий скрипт выглядел так:
$calltmp = "/var/spool/asterisk/tmp/TestSMS.call"; $calldir = "/var/spool/asterisk/outgoing/TestSMS.call"; $callfile = fopen ($calltmp, "w"); fwrite ($callfile,"Channel: LOCAL/SendSMS@SendSMS\n"); fwrite ($callfile,"Application: DongleSendSMS\n"); fwrite ($callfile,"Data: GSM-001,+7919*******,'ALARM (*******)'\n"); fclose($callfile); copy ($calltmp,$calldir);
Логика: создать файл в темпе, установить атрибуты (владелец - Asterisk), заполнить его, перенести в директорию Asterisk'а. Он его читает, выполняет указанные в файле команды и удаляет файл. Важно поместить в директорию астериска уже подготовленный файл.
-
Прошу помощи в написании скрипта для отправки SMS через Asterisk
на PHP работающий скрипт выглядел так:
$calltmp = "/var/spool/asterisk/tmp/TestSMS.call"; $calldir = "/var/spool/asterisk/outgoing/TestSMS.call"; $callfile = fopen ($calltmp, "w"); fwrite ($callfile,"Channel: LOCAL/SendSMS@SendSMS\n"); fwrite ($callfile,"Application: DongleSendSMS\n"); fwrite ($callfile,"Data: GSM-001,+7919*******,'ALARM (*******)'\n"); fclose($callfile); copy ($calltmp,$calldir);
Логика: создать файл в темпе, установить атрибуты (владелец - Asterisk), заполнить его, перенести в директорию Asterisk'а. Он его читает, выполняет указанные в файле команды и удаляет файл. Важно поместить в директорию астериска уже подготовленный файл. `
var fs = require('fs'); var text = "Channel: LOCAL/SendSMS@SendSMS\n"; text += "Application: DongleSendSMS\n"; text += "Data: GSM-001,+7919*******,'ALARM (*******)'\n" fs.writeFileSync("/var/spool/asterisk/outgoing/TestSMS.call", text);
-
А как изменить атрибуты файла (сменить хозяина)? а то Asterisk не решается трогать чужие файлы…
-
А как изменить атрибуты файла (сменить хозяина)? а то Asterisk не решается трогать чужие файлы… `
var exec = require('child_process').exec; var child = exec ("chown asterisk /var/spool/asterisk/outgoing/TestSMS.call", function (error){ if(error){ log(error); } });
-
Спасибо, всё получилось. Но это пока ioBroker от рута… Пляски с правами продолжаться чуть позже
-
Спасибо, всё получилось. Но это пока ioBroker от рута… Пляски с правами продолжаться чуть позже `
Ни кто не мешает в exec добавить sudo -
Подскажите, как проверять папку на наличие нового файла и получать его содержимое? Это нужно для приема SMS. Принятые SMS складываются в папку в виде текстовых файлов.
-
Подскажите, как проверять папку на наличие нового файла и получать его содержимое? Это нужно для приема SMS. Принятые SMS складываются в папку в виде текстовых файлов. `
Я думаю примерно так https://nodejs.org/api/fs.html#fs_fs_wa … s_listener