Ankündigung

Einklappen
Keine Ankündigung bisher.

KnowHow: Asterisk per HS steuern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    HS/FS KnowHow: Asterisk per HS steuern

    Hallo,
    zur Abwechslung mal keine Frage von mir - sondern ein bisschen Know How:
    Einige hier haben ja einen Asterisk-Server (VoIP / SIP Telefonanlage) und einen Gira HS.
    Mit ein bisschen Tricks kann man z.B. in Abhängigkeit vom An/Abwesenheitsstatus die Telefongespräche automatisch auf das Handy umleiten - oder abhängig vom Wach/Schlafen status das Telefon im Schlafzimmer aktivieren/deaktivieren.

    Ich verwende dazu auf meinem Linux-Server (kann der Asterisk Server sein, muss aber nicht) das udplisten-script von Makki: klick

    Auf dem Asterisk-Server ist in meinem Dialplan über eine Variable die SIP-Ziele für ankommende anrufe definiert
    HAUS=SIP/120w&SIP/121s&SIP/122

    Diese Variable wird im Dialplan dann für Dial verwendet.
    exten => s,n,Dial(${HAUS},45,t)

    jetzt kann man per netcat die Rufziele Steuern:
    :~# netcat <asterisk-ip> 5038 < anwesend.asterisk
    bzw.
    :~# netcat <asterisk-ip> 5038 < abwesend.asterisk

    Inhalt von anwesend.asterisk
    Code:
    ACTION: LOGIN
    USERNAME: username
    SECRET: password
    EVENTS: OFF
    
    ACTION: SetVar
    Variable: Haus
    Value: SIP/buero&SIP/wohnzimmer&SIP/schlafzimmer
    
    ACTION: Logoff
    Inhalt von abwesend.asterisk
    Code:
    ACTION: LOGIN
    USERNAME: username
    SECRET: password
    EVENTS: OFF
    
    ACTION: SetVar
    Variable: Haus
    Value: SIP/buero&SIP/wohnzimmer&SIP/schlafzimmer&SIP/017212345678@dusnet
    
    ACTION: Logoff
    Achtung: Die Leerzeile nach ACTION: Logoff ist wichtig & notwendig.

    die Sektion im udplisten.sh-script sieht dann so aus:
    Code:
            31)
                #Anwesend
                netcat asterisk.gehrig.lan 5038 < /opt/udplistener/anwesend.asterisk
                ;;
            32)
                #Abwesend
                netcat asterisk.gehrig.lan 5038 < /opt/udplistener/abwesend.asterisk
                ;;
    Für Fragen / Anregungen / Feedback bin ich dankbar

    Gruß
    Thorsten

    #2
    Hallo Thosten,

    schöne Lösung.

    Ich habe auch ein Asterisk, am laufen. Diese habe ich über eibd und netcast angebunden.

    Mein Snom nutze ich Touch und schalte Rolladen, Licht und den Squeezer Server.

    Was ich noch in den nächsten Wochen machen will, ist den Raumanwesenheitsstatus über den eibd. an die Asterisk weiterzuleiten, damit nur in dem Raum mit Anwesenheit ein Telefon klingelt!

    Spannend wäre auch eine direkte XML Einbindung des Snoms an den HS, allerdings ist die Snom Doku etwas problematisch!
    Gruß Hartwig

    Kommentar


      #3
      Hi,
      Zitat von hartwigm Beitrag anzeigen
      Ich habe auch ein Asterisk, am laufen. Diese habe ich über eibd und netcast angebunden.
      Was hast du realisiert? Signalisierst du vom Asterisk an KNX über eibd - oder auch umgekehrt?
      Über ein "mit xx-wählen passiert yy" hab ich auch schon nachgedacht. Am anfang dachte ich das ich darüber z.B. die Rollladensteuerung "manuell überschreibe" wenn notwendig... bisher habe ich das aber noch nicht gemacht (obwohl es kein Problem wäre) weil absolut kein Bedarf -bei mir- besteht

      Zitat von hartwigm Beitrag anzeigen
      Mein Snom nutze ich Touch und schalte Rolladen, Licht und den Squeezer Server.
      Wie? Vermutlich "einfach" so?
      Code:
      exten => xx,n,system(eibd ip:<server> groupswrite 1/2/3 1)
      Zitat von hartwigm Beitrag anzeigen
      Was ich noch in den nächsten Wochen machen will, ist den Raumanwesenheitsstatus über den eibd. an die Asterisk weiterzuleiten, damit nur in dem Raum mit Anwesenheit ein Telefon klingelt!
      Blöde Frage: wozu? Wenn Telefone in Räumen klingeln in denen keiner ist - ist´s doch egal? Und wenn der PM mal keine Präsenz erkennt klingelt dein telefon nicht?

      Und: was idt der Squeezer-Server?

      Spannend wäre auch eine direkte XML Einbindung des Snoms an den HS, allerdings ist die Snom Doku etwas problematisch!
      Das hab ich aufgegeben - zum einen haben die Ciscos 7960 keine vernünftige schnittelle - bzw. das Display taugt in meinen Augen auch nicht für eine "mini-visu" - zum anderen ist das halt kein Standard. Mein Grandstream im Wohnzimmer müsste ich wieder separat angehen...

      Dann lieber ein kleines Voice-Menü (z.B.Weckzeit stellen) oder überall die selben kurzwahlen für KNX-Funktionen

      Gruß
      Thorsten

      Kommentar


        #4
        ich sende vom der Asterisk an den HS

        z.B.

        exten => -$[1234],n,system(echo ${Anrufer:1} |netcat -w 10 -u <ip-Homeserver> 2010

        vom HS an die Asterisk mache ich derzeit über eib- knxlink

        Das schalte ich eine Gruppenadresse die im knxlink ein Script ausführt, das extern in die asteriskdb schreibt.

        Dann kann ich in der extensions.conf die Variable abfragen.

        Squeezerserver = WLAN-Musikplayer
        Gruß Hartwig

        Kommentar


          #5
          Hallo zusammen,

          ich überlege auch in unserem neuen Haus auf Asterisk zu setzen. Gibt es irgendwo eine übersichtliche Zusammenstellung wie man das sinnvoll angeht? Also welche Komponenten man braucht, wie es programmiert wird usw.? Man findet zwar eine Menge, mir kommt es aber recht unübersichtlich vor.

          Beste Grüße
          Nils

          Kommentar


            #6
            Hi
            ja - im IP-Phone-Forum gibt es einiges fest verlinkt.
            so pauschal würde ich sagen der asterisk benötigt eine ähnliche lernkurfe wie der HS
            Also - erstmal Haus bauen und KNX ans Fliegen bekommen - dann überall IP-Telefone (Netz hat man ja eh schon) und langsamm an den Asterisk ran wagen.
            Alternativ kann man natürlich erstmal einen "crash kurs" machen und einen vorkonfigurierten Asterisk nehmen - und dann an die eigenen wünsche anpassen...
            Falls interesse besteht könnte man ja auch mal einen Asterisk-Crash-Kurs machen - im nachgang zu einem KNX-Stammtisch...

            Gruß
            Thorsten

            Kommentar


              #7
              Hallo,

              ich würde Thosten zustimmen, das Ding läuft eigentlich recht schnell.
              Aber Du wirst wie beim HS immer wieder Dinge finden, die noch besser gehen oder erstaunt sein, was andere mit dem Ding machen können.

              Die Hardwareanforderung ist primitiv läuft im Prinzip auf jeder "alten" Hardware
              Ich möchte auch nächsten Jahr neu bauen, und plane dort das Telefon als Schalterkomponente für den KNX zu nutzen.

              Ich würde Dir empfehlen, auf einen alten Hobel einfach mal mit Hilfe des Asterisk Buches Schritt für Schritt eine Anlage aufzubauen.

              Die Komponenten die Du brauchst dürften eigentlich in jedem "gut sortierten" Haushalt rumliegen

              Asterisk 1.4 + 1.6
              Gruß Hartwig

              Kommentar


                #8
                Hallo Kollegen,

                da ich derzeit plane meine Mobotix als Gegensprechanlage zu nutzen ->

                https://knx-user-forum.de/gebaeudete...tml#post328471

                ...würde auch ich gerne einen Asterisk auf einen Rasperry PI aufsetzen.
                Die Mobotix (M22M-IT) ist mittlerweile SIP-Teilnehmer an meiner FB7390 und das Gegensprechen funktioniert sehr zufriedenstellend. Allerdings nur wenn ich die CAM händisch anrufe.
                Ein Bekannter mit ein wenig Linuxkenntnissen hat kurzerhand den Asterisk auf seinen Rasperry PI aufgesetzt. Ausgehende + Eingehende Gespräche laufen.
                Ich hatte heute das Vergnügen, mir einmal die Web-Oberfläche der Free-PBX anzuschauen, und muss sagen, da ist nicht viel einzustellen.

                Geplant ist meinen Klingeltaster auf einen Binäreingang zu legen, der HS3 wertet das aus und weisst den Asterisk an die CAM anzurufen (zwischen Telefonen und CAM) zu vermitteln.
                In der Weboberfläche der Asterisk, habe ich nichts gesehen, wo ich etwas derartiges einstellen könnte.
                Wie geht man da vor, geht das über Consolenbefehle, Skripte, ....????

                Mit dem Asterisk-Buch meint ihr das??->

                Asterisk 1.4 - 1.6
                ...oder doch ein richtiges Nachschlagewerk kaufen ???

                LG und Danke
                Daniel

                Kommentar


                  #9
                  also ich wähle mit meinem HS z.B. ABAN oder ABAUS und das ist zugleich die Nebenstelle die ich im Dialplan schalte. Funzt prima....
                  never fummel a running system...

                  Kommentar


                    #10
                    Als Hinweis: Da mir netcat zu unsicher war, habe ich die Kommunikation auf socat und entsprechende Zertifikate umgestellt, so dass die Daten jetzt ssl verschlüsselt sind.
                    Der Befehl von Thorsten sieht dann statt

                    Code:
                    netcat asterisk.gehrig.lan 5038 < /opt/udplistener/anwesend.asterisk
                    so aus

                    Code:
                    socat openssl:asterisk.intern:5039,verify=0 stdio < /opt/udplistener/anwesend.asterisk
                    In manager.conf muss folgendes eingestellt werden:

                    Code:
                    tlsenable=yes
                    tlsbindaddr=<IP Asterisk>:5039
                    tlscertfile=/etc/asterisk/asterisk.crt      ; path to the certificate.
                    tlsprivatekey=/etc/asterisk/asterisk.pem
                    Selbstsignierte Zertifikate reichen aus, und müssen im PEM format exportiert werden.

                    Mit php klappt auch die Anmeldung mit Challenge Response gut, dann können die Befehle direkt mit php an den Asterisk gesendet und die Files aXwesend.asterisk werden unötig.

                    -muecke

                    Kommentar

                    Lädt...
                    X