Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. Скрипты
    5. ioBroker скрипты
    6. Asterisk. Отправка SMS

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Asterisk. Отправка SMS

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      Pooh last edited by

      Прошу помощи в написании скрипта для отправки 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'а. Он его читает, выполняет указанные в файле команды и удаляет файл. Важно поместить в директорию астериска уже подготовленный файл.

      1 Reply Last reply Reply Quote 0
      • Bluefox
        Bluefox last edited by

        @Pooh:

        Прошу помощи в написании скрипта для отправки 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);
        
        
        1 Reply Last reply Reply Quote 0
        • P
          Pooh last edited by

          А как изменить атрибуты файла (сменить хозяина)? а то Asterisk не решается трогать чужие файлы…

          1 Reply Last reply Reply Quote 0
          • S
            spectrekr last edited by

            @Pooh:

            А как изменить атрибуты файла (сменить хозяина)? а то Asterisk не решается трогать чужие файлы… `

            var exec = require('child_process').exec;
                var child = exec ("chown asterisk /var/spool/asterisk/outgoing/TestSMS.call",
                    function (error){
                        if(error){
                            log(error);
                        }
                    });
            
            1 Reply Last reply Reply Quote 0
            • P
              Pooh last edited by

              Спасибо, всё получилось. Но это пока ioBroker от рута… Пляски с правами продолжаться чуть позже

              1 Reply Last reply Reply Quote 0
              • S
                spectrekr last edited by

                @Pooh:

                Спасибо, всё получилось. Но это пока ioBroker от рута… Пляски с правами продолжаться чуть позже `
                Ни кто не мешает в exec добавить sudo

                1 Reply Last reply Reply Quote 0
                • P
                  Pooh last edited by

                  Подскажите, как проверять папку на наличие нового файла и получать его содержимое? Это нужно для приема SMS. Принятые SMS складываются в папку в виде текстовых файлов.

                  1 Reply Last reply Reply Quote 0
                  • I
                    instalator last edited by

                    @Pooh:

                    Подскажите, как проверять папку на наличие нового файла и получать его содержимое? Это нужно для приема SMS. Принятые SMS складываются в папку в виде текстовых файлов. `
                    Я думаю примерно так https://nodejs.org/api/fs.html#fs_fs_wa … s_listener

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    557
                    Online

                    31.9k
                    Users

                    80.1k
                    Topics

                    1.3m
                    Posts

                    4
                    8
                    2469
                    Loading More Posts
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes
                    Reply
                    • Reply as topic
                    Log in to reply
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                    The ioBroker Community 2014-2023
                    logo