Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Русский
  3. ioBroker
  4. Скрипты
  5. ioBroker скрипты
  6. Скрипт для ip телефонии - Asterisk

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.3k

Скрипт для ip телефонии - Asterisk

Geplant Angeheftet Gesperrt Verschoben ioBroker скрипты
7 Beiträge 2 Kommentatoren 3.6k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • V Offline
    V Offline
    vtec
    schrieb am zuletzt editiert von
    #1

    Скрипт проговаривает имя звонящего. Если нет сопоставления номер = имя, то проговаривается номер телефона.

    В настройках Asteriska настроил, чтобы передавался номер звонящего в ioBroker созданной мной переменной incomingPhoneNumber.

    Телефоны выдуманные :)

    createState("incomingPhoneNumber");
    
    on({id:'incomingPhoneNumber', change:'any'}, function (obj) {
        var idSayIt = "sayit.0.tts.text";
        var date = new Date();
        var hour = date.getHours();
        var volume = 100;
        var incomingPhone = String(obj.newState.val);
    
        if(hour == 23) volume = 70;
    
        var  callerList = {
            '562629': 'Петя',
            '520291': 'Вася',
            '522011': 'Федя',
            '89050000022': 'Мой номер',
        };
        //Если такой номер есть в массиве
        var callerName = callerList[incomingPhone];
        var lengthPhone = incomingPhone.length;
    
        if(callerName){
            setState (idSayIt, volume+';Входящий вызов. '+callerName+'.');
        //Если нет, то формируем номер в более читаемый вид
        }else{
            if(lengthPhone == 6)
                incomingPhone = incomingPhone.substr(0,2)+'-'+ incomingPhone.substr(2,2)+'-'+ incomingPhone.substr(4,2);
            else if(lengthPhone == 11)
                incomingPhone = incomingPhone.substr(0,1)+'-'+ incomingPhone.substr(1,3)+'-'+ incomingPhone.substr(4,3)+'-'+incomingPhone.substr(7,4);
    
            setState (idSayIt, volume+';Входящий вызов. '+incomingPhone+'.');
        }
    });
    
    
    1 Antwort Letzte Antwort
    0
    • aurodionovA Offline
      aurodionovA Offline
      aurodionov
      schrieb am zuletzt editiert von
      #2

      Как asterisk отдаёт номера в iobroker? в диалплане?

      Пишу с пульта….

      1 Antwort Letzte Antwort
      0
      • V Offline
        V Offline
        vtec
        schrieb am zuletzt editiert von
        #3

        @aurodionov:

        Как asterisk отдаёт номера в iobroker? в диалплане? `

        В extensions.conf

        [DID_trunk_1]

        include=DID_trunk_1_default

        [DID_trunk_1_default]

        exten=_X.,1,system(curl "http://192.168.0.200:8087/set/javascrip … LERID(num)}")

        exten=_X.,2,Goto(default,100,1)

        1 Antwort Letzte Antwort
        0
        • aurodionovA Offline
          aurodionovA Offline
          aurodionov
          schrieb am zuletzt editiert von
          #4

          vtec, спасибо .

          Пишу с пульта….

          1 Antwort Letzte Antwort
          0
          • aurodionovA Offline
            aurodionovA Offline
            aurodionov
            schrieb am zuletzt editiert von
            #5

            vtec, извиняюсь за наглость, а как добавить вариант что номер не определился(скрыт)

            в логах выглядит так

            ! Start javascript script.js.incomingPhoneNumber
            ! Stop script script.js.incomingPhoneNumber
            ! saying: Входящий вызов с номера. null.
            ! saying: /opt/iobroker/node_modules/iobroker.sayit/Chord.mp3

            Пишу с пульта….

            1 Antwort Letzte Antwort
            0
            • V Offline
              V Offline
              vtec
              schrieb am zuletzt editiert von
              #6

              В список контактов добавил строку: 'null': 'номер не определён'.

              Вроде сработало.

              1 Antwort Letzte Antwort
              0
              • aurodionovA Offline
                aurodionovA Offline
                aurodionov
                schrieb am zuletzt editiert von
                #7

                @vtec:

                В список контактов добавил строку: 'null': 'номер не определён'.

                Вроде сработало. `
                Гениально, а я пытался отловить при помощи условий.

                Одна голова хорошо, а две ….....альтернатива...

                Пишу с пульта….

                1 Antwort Letzte Antwort
                0
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate

                287

                Online

                32.4k

                Benutzer

                81.4k

                Themen

                1.3m

                Beiträge
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Anmelden

                • Du hast noch kein Konto? Registrieren

                • Anmelden oder registrieren, um zu suchen
                • Erster Beitrag
                  Letzter Beitrag
                0
                • Home
                • Aktuell
                • Tags
                • Ungelesen 0
                • Kategorien
                • Unreplied
                • Beliebt
                • GitHub
                • Docu
                • Hilfe