ioBroker Forum


Nutzungsbedingungen |Datenschutzrichtlinie
Cloud |Dokumentation
Aktuelle Zeit: 24.02.2018, 09:03

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Asterisk. Отправка SMS
BeitragVerfasst: 12.06.2017, 14:52 
Offline
professional

Registriert: 11.05.2017, 05:15
Beiträge: 122
Wohnort: Самара
Hat sich bedankt: 28 Mal
Danksagung erhalten: 2 Mal
Прошу помощи в написании скрипта для отправки SMS через Asterisk
на PHP работающий скрипт выглядел так:
Code:
$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'а. Он его читает, выполняет указанные в файле команды и удаляет файл. Важно поместить в директорию астериска уже подготовленный файл.

_________________
DE: Rabatte auf einkäufe im Internet; RU: Скидки на покупки в интернете; EN: Discounts for purchases on the Internet
Делаем BITCOIN
NODEJS: 6.11.0
IOBROKER: 1.7.6


Nach oben
   
 Betreff des Beitrags: Re: Asterisk. Отправка SMS
BeitragVerfasst: 12.06.2017, 19:58 
Offline
Site Admin
Benutzeravatar

Registriert: 13.07.2014, 14:42
Beiträge: 7712
Hat sich bedankt: 290 Mal
Danksagung erhalten: 829 Mal
Pooh hat geschrieben:
Прошу помощи в написании скрипта для отправки SMS через Asterisk
на PHP работающий скрипт выглядел так:
Code:
$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'а. Он его читает, выполняет указанные в файле команды и удаляет файл. Важно поместить в директорию астериска уже подготовленный файл.



Code:
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);



Nach oben
   
 Betreff des Beitrags: Re: Asterisk. Отправка SMS
BeitragVerfasst: 13.06.2017, 10:30 
Offline
professional

Registriert: 11.05.2017, 05:15
Beiträge: 122
Wohnort: Самара
Hat sich bedankt: 28 Mal
Danksagung erhalten: 2 Mal
А как изменить атрибуты файла (сменить хозяина)? а то Asterisk не решается трогать чужие файлы...

_________________
DE: Rabatte auf einkäufe im Internet; RU: Скидки на покупки в интернете; EN: Discounts for purchases on the Internet
Делаем BITCOIN
NODEJS: 6.11.0
IOBROKER: 1.7.6


Nach oben
   
 Betreff des Beitrags: Re: Asterisk. Отправка SMS
BeitragVerfasst: 13.06.2017, 13:46 
Offline
professional

Registriert: 26.12.2014, 09:40
Beiträge: 252
Hat sich bedankt: 2 Mal
Danksagung erhalten: 14 Mal
Pooh hat geschrieben:
А как изменить атрибуты файла (сменить хозяина)? а то Asterisk не решается трогать чужие файлы...

Code:
var exec = require('child_process').exec;
    var child = exec ("chown asterisk /var/spool/asterisk/outgoing/TestSMS.call",
        function (error){
            if(error){
                log(error);
            }
        });


Nach oben
   
 Betreff des Beitrags: Re: Asterisk. Отправка SMS
BeitragVerfasst: 13.06.2017, 16:55 
Offline
professional

Registriert: 11.05.2017, 05:15
Beiträge: 122
Wohnort: Самара
Hat sich bedankt: 28 Mal
Danksagung erhalten: 2 Mal
Спасибо, всё получилось. Но это пока ioBroker от рута... Пляски с правами продолжаться чуть позже

_________________
DE: Rabatte auf einkäufe im Internet; RU: Скидки на покупки в интернете; EN: Discounts for purchases on the Internet
Делаем BITCOIN
NODEJS: 6.11.0
IOBROKER: 1.7.6


Nach oben
   
BeitragVerfasst: 13.06.2017, 17:29 
Offline
professional

Registriert: 26.12.2014, 09:40
Beiträge: 252
Hat sich bedankt: 2 Mal
Danksagung erhalten: 14 Mal
Pooh hat geschrieben:
Спасибо, всё получилось. Но это пока ioBroker от рута... Пляски с правами продолжаться чуть позже

Ни кто не мешает в exec добавить sudo


Nach oben
   
 Betreff des Beitrags: Re: Asterisk. Отправка SMS
BeitragVerfasst: 22.12.2017, 06:58 
Offline
professional

Registriert: 11.05.2017, 05:15
Beiträge: 122
Wohnort: Самара
Hat sich bedankt: 28 Mal
Danksagung erhalten: 2 Mal
Подскажите, как проверять папку на наличие нового файла и получать его содержимое? Это нужно для приема SMS. Принятые SMS складываются в папку в виде текстовых файлов.

_________________
DE: Rabatte auf einkäufe im Internet; RU: Скидки на покупки в интернете; EN: Discounts for purchases on the Internet
Делаем BITCOIN
NODEJS: 6.11.0
IOBROKER: 1.7.6


Nach oben
   
 Betreff des Beitrags: Re: Asterisk. Отправка SMS
BeitragVerfasst: 28.12.2017, 15:56 
Offline
guru
Benutzeravatar

Registriert: 09.11.2014, 16:50
Beiträge: 1238
Wohnort: Барнаул
Hat sich bedankt: 15 Mal
Danksagung erhalten: 41 Mal
Pooh hat geschrieben:
Подскажите, как проверять папку на наличие нового файла и получать его содержимое? Это нужно для приема SMS. Принятые SMS складываются в папку в виде текстовых файлов.

Я думаю примерно так https://nodejs.org/api/fs.html#fs_fs_wa ... s_listener

_________________
Высокий уровень Децибел вреден для здоровья!
Мой блог


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 8 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu Forum:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de