Ankündigung

Einklappen
Keine Ankündigung bisher.

Asterisk Befehle / Logfile überwachen ?

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

    [Netzwerk] Asterisk Befehle / Logfile überwachen ?

    Hi, mein Asterisk ist nun soweit, der Dienst läuft.
    Er nimmt auch Telefonate an.

    Da ich meine Haustüre über einen Dial-Plan öffnen möchte, folgende Frage:

    Mein Log zur Code-Abfrage sieht wie folgt aus:

    Code:
    
        -- Accepting a maximum of 8 digits.
    DTMF end '2' received on SIP/ext-sip-account-00000001, duration 100 ms
    DTMF end passthrough '2' on SIP/ext-sip-account-00000001
    DTMF end '8' received on SIP/ext-sip-account-00000001, duration 100 ms
    DTMF end passthrough '8' on SIP/ext-sip-account-00000001
    DTMF end '4' received on SIP/ext-sip-account-00000001, duration 100 ms
    DTMF end passthrough '4' on SIP/ext-sip-account-00000001
    DTMF end '0' received on SIP/ext-sip-account-00000001, duration 100 ms
    DTMF end passthrough '0' on SIP/ext-sip-account-00000001
    DTMF end '0' received on SIP/ext-sip-account-00000001, duration 100 ms
    DTMF end passthrough '0' on SIP/ext-sip-account-00000001
    DTMF end '2' received on SIP/ext-sip-account-00000001, duration 100 ms
    DTMF end passthrough '2' on SIP/ext-sip-account-00000001
    DTMF end '2' received on SIP/ext-sip-account-00000001, duration 100 ms
    DTMF end passthrough '2' on SIP/ext-sip-account-00000001
    DTMF end '2' received on SIP/ext-sip-account-00000001, duration 100 ms
    DTMF end passthrough '2' on SIP/ext-sip-account-00000001
        -- User entered '28400222'
        -- Executing [623@default:4] Read("SIP/ext-sip-account-00000001", "i,,8") in new stack
        -- Accepting a maximum of 8 digits.
        -- User disconnected

    Gerne würde ich das Logfile permanent überwachen,
    und sobald der Eintrag:
    -- User entered '28400222'

    gefunden wird einen Befehlt an eibd senden.

    Weiss jemand hierfür einen Lösung ?

    Vielen Dank

    #2
    Nee, falscher Weg.

    Code:
    context incoming {
       s => { 
              Answer();
              Authenticate(12345678);
              TrySystem(/usr/local/bin/tueroeffner);
              Hangup();
            }
    
        }
    }
    und in /usr/local/bin/tueroeffner dann eben groupswrite oder was auch immer du brauchst.

    Falls du keine separate Nummer für deinen Türöffner hast, kannst du es auch so lösen:

    Code:
    context incoming {
        s => {
              if ("${CALLERID(num)}" = "DeineHandyNummer") {
                  Answer();
                  Authenticate(12345678,,8);
                  TrySystem(/usr/local/bin/tueroeffner);
                  Hangup();
            } else {
                  Dial(SIP/haustelefon);
            }
        }
    }
    Um selbst zu Hause anzurufen müsste man dann im Handy die Rufnummer unterdrücken oder noch ein Menü bauen. "Drücken Sie die 1 um die Tür zu öffnen, oder die 2 um zu Hause anzurufen). Alternativ einfach anrufen lassen, wenn die PIN falsch eingegeben wurde.

    Edit Nachtrag: statt context incoming ist es bei dir default und statt "s" ist es "623".

    Gruß

    Andreas

    Kommentar


      #3
      Tür Öffnen hab ich über DTMF (während den SIP "Telefonats" mit der Haustür) gelöst. Siehe Doku in der Signatur.

      Kommentar


        #4
        super - danke bin zu einer Lösung gekommen !!

        Kommentar


          #5
          Zitat von bergdoktor Beitrag anzeigen
          Um selbst zu Hause anzurufen müsste man dann im Handy die Rufnummer unterdrücken oder noch ein Menü bauen. "Drücken Sie die 1 um die Tür zu öffnen, oder die 2 um zu Hause anzurufen).
          Andreas

          Hey kannst du mir zufällig noch sagen wie ich dieses menü herbekomme ?

          Kommentar


            #6
            So ganz grob ohne testen:

            context incoming { s => { if ("${CALLERID(num)}" = "DeineHandyNummer") { Answer();
            Wait(1);
            Background(ansage);
            } else {
            Dial(SIP/haustelefon); }

            1 => {
            Authenticate(12345678,,8); TrySystem(/usr/local/bin/tueroeffner); Hangup();
            }
            2 => { Dial(SIP/haustelefon); } }

            Auf einer eigenen MSN anzurufen finde ich aber bequemer. Einfach 2. Account bei Sipgate oder so anmelden.

            Gruß

            Andreas

            Kommentar

            Lädt...
            X