Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Asterisk Hangup Calls

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Asterisk Hangup Calls

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

      Hallo,

      der Asterisk Adapter ist echt genial. Funktioniert sofort mit der Fritzbox nach Anleitung und mit generierten config files. Danke an den/die Entwickler

      Meine Anwendung ist einfach: Wenn jemand an der Tür klingelt, klingelt auch das Telefon und sagt "Es klingelt an der Tür...". Sehr praktisch wenn man mit dem DECT Phone von der Fritzbox im Garten sitzt und die Hausklingel nicht hören würde.

      Falls die Haustür aufgeht (Sensor dran) sollte aber der asterisk-Adapter den Call auflegen auch wenn am Telefon keiner abgenommen hat. Das Telefon zeigt ja schon die Call-ID an und es ist klar, dass die Tür anruft.

      Leider hat der Asterisk Adapter nur einen Call Button, aber keinen Hangup Button.
      Gibt's irgend eine gute Methode ausser brutal auf Systemebene den Prozess zu killen und restarten?

      Besten dank!
      Stefan

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

        man kann natürlich als root
        sudo asterisk -r -U asterisk -x "hangup request all"
        an den asterisk server schicken.
        Aber node-red aus dem ich das steuere macht ja keine shell executes als root.

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

          Hallo,
          habe grade selbst eine Lösung gefunden und schreibe es nur, falls jemand das gleiche Problem hat.

          1. kleines C programm schreiben:
          #include <stdio.h>
          #include <stdlib.h>
          #include <sys/types.h>
          #include <unistd.h>
          
          int main()
          {
              setuid( 0 );   // you can set it at run time also
              system( "asterisk  -r -U asterisk -x \"hangup request all\"" );
              return 0;
           }
          
          
          
          1. Compilieren und dann das Binary mit Sticky-Bit zum Root-Executable machen
          cc asteriskhangup.c 
          mv a.out asteriskhangup
          sudo chown root:root asteriskhangup
          sudo chmod a+xs asteriskhangup
          

          Wenn das binary jetzt aufgerufen wird, wird der enthaltene Befehl immer als root ausgeführt. Das wird also auch als root ausgeführt, wenn es beispielsweise aus dem iobroker ausgeführt wird. Man kann es also auch in einen normalen Exec-Node in Node-Red einbauen. Leider funktioniert der Trick nicht mit scripts.

          Damit kann man alle laufenden Gespräche einfach killen, falls der Grund für das Gespräch entfallen ist.

          Es ist natürlich eine Workaround und ein Hangup-Button neben dem call-Button im adapter wäre natürlich viel eleganter.

          Viel Spaß.

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

          Support us

          ioBroker
          Community Adapters
          Donate
          FAQ Cloud / IOT
          HowTo: Node.js-Update
          HowTo: Backup/Restore
          Downloads
          BLOG

          834
          Online

          32.0k
          Users

          80.5k
          Topics

          1.3m
          Posts

          asterisk
          1
          3
          358
          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