Was können wir verbessern?

Dokumentation

(Bearbeiten)

Voice over IP

Benötigt: IP-Symcon >= 5.2

Das VoIP Modul kann Telefonverbindungen aufbauen/entgegennehmen, DTMF Signale verarbeiten, Verbindungsgebundene Daten buffern und Sounds abspielen.

Folgende Geräte werden von IP-Symcon unterstützt:

Unterstützte Geräte

Vorraussetzungen

Es wird ein aktives Portal zur Telefonie benötigt. Dies kann eine Fritzbox oder ein Dienst wie Sipgate sein.

Einbindung in IP-Symcon

Zur Einbindung kann via Objekt hinzufügen im Objektbaum ein "VoIP" Gerät hinzugefügt werden.
In der Instanzkonfiguration müssen Domain und Benutzername zum Telefonservice angegeben werden. Falls benötigt müssen noch AuthID und Passwort eingetragen werden.

Wenn der Rechner mehrere Netzwerkkarten oder -interfaces hat (z.B. auch virtuelle Adapter wie VPN, Docker, Hyper-V) kann es erforderlich sein die IP-Adresse über die die VoIP Verbindung aufgebaut wird zu definieren. Dazu gibt es den passenden Spezialschalter "VoIPInterface"

Konfiguration

Um zu verwalten was bei einer aktiven Verbindung passieren soll, muss ein Abarbeitungsskript hinzugefügt werden.

Abarbeitungsskript

Das Abarbeitungsskript bestimmt das Verhalten bei jeder eingehenden Verbindung. Dazu sind auch die Systemvariablen wichtig.

Beispiele

Skript für eingehende Anrufe (Abarbeitungsskript)

if($_IPS['SENDER'] == "VoIP") {
    // Wir wollen nur eingehende Anrufe verarbeiten
    // $_IPS["INSTANCE"] ist ab IP-Symcon 5.4 verfügbar
    if(VoIP_GetConnection($_IPS["INSTANCE"], $_IPS["CONNECTION"])["Direction"] == 1 /* Ausgehend */) {
        return;
    }
 
    switch($_IPS["EVENT"]) {
        case "Incoming":
            IPS_LogMessage("VoIP", "Ein eingehender Anruf");
            break;
 
        case "Connect":
            IPS_LogMessage("VoIP", "Es wurde eine Verbindung aufgebaut");
            break;
 
        case "Disconnect":
            IPS_LogMessage("VoIP", "Es wurde eine Verbindung beendet");
            break;
 
        case "DTMF":
            IPS_LogMessage("VoIP", "Es wurde ein DTMF Signal empfangen");
 
            switch($_IPS["DATA"]) {
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                    IPS_LogMessage("VoIP", "Es wurde eine der Tasten 1 bis 6 gedrückt");
                    break;
 
                case '#':
                    IPS_LogMessage("VoIP", "Es wurde die Taste # gedrückt");
                    break;
 
                default:
                    IPS_LogMessage("VoIP", "Es wurde die Taste ". $_IPS["DATA"] ." gedrückt");
                    break;
            }
            break;
 
        case "PlayFinish":
            IPS_LogMessage("VoIP", "Es wurde eine Sounddatei abgespielt");
            break;
 
        default:
            IPS_LogMessage("VoIP", "Ein unbekanntes Event wurde ausgelöst");
            break;
    }
}

Skript für ausgehende Anrufe mit TTS-Module "AWS Polly" aus dem Module Store

if($_IPS['SENDER'] == "Execute") {
    $id = VoIP_Connect(12345, "0451305005xx");
 
    //Maximal 10 Sekunden warten, dass einer abnimmt
    for($i = 0; $i < 10; $i++) {
        IPS_Sleep(1000);
        $c = VoIP_GetConnection(12345, $id);
        if($c['Connected']) {
            // VoIP_Playwave() unterstützt ausschließlich WAV im Format: 16 Bit, 8000 Hz, Mono.
            VoIP_PlayWave(12345, $id, TTSAWSPOLLY_GenerateFile(23456, "IP-Symcon wünscht einen wunderbaren Tag"));
            return;
        }
    }
 
    //Auflegen, falls keiner abnimmt
    VoIP_Disconnect(12345, $id);
}

Beispieleinrichtung in der FritzBox

Mithilfe der FritzBox kann das VoIP-Modul genutzt werden. Hierzu ist eine seperate freie Telefonnummer in der FritzBox empfohlen und folgende Schritte sind zu beachten.

Gegebenfalls muss unter "Telefonie" -> "Eigene Rufnummer" -> "Neue Rufnummer" eine neue Rufnummer eingerichtet werden

Als erster Schritt muss in der FritzBox unter "Telefonie" -> "Telefoniegeräte" ein neues Telefoniegerät hinzugefügt werden.
Dieses muss als neues "Telefon" hinzugefügt werden.

Telefoniegerät hinzufügen

Da IP-Symcon als IP-Telefon fungiert, muss dieses und anschließend eine seperate Telefonnummer ausgewählt werden. Es sollte ein sprechender Name für das Telefoniegerät gewählt werden.

Telefontyp auswählen

Anschließend müssen ein Benutzername und Passwort festegelegt werden, diese werden später in das VoIP in IP-Symcon eingetragen.

Logindaten für das VoIP Modul

Das einzurichtende Telefoniegerät muss bestätigt und dessen Einrichtung im Anschluss abgeschlossen werden.

Bestätigung

Mit OK abschließen

Nun kann das Telefoniegerät in IP-Symcon innerhalb des VoIP Modul übernommen werden.
Wenn alles geklappt hat wird der Status "Registrierung war erfolgreich" angezeigt.

VoIP Modul konfigurieren

Mit eingerichtetem Abarbeitungsskript kann ein Testanruf getätigt werden. In den Meldungen sollten folgende Nachrichten beim Drücken von Zifferntasten auf dem Telefon ersichtlich werden.

Beispiel für Meldungen

Zum Warenkorb
Haben Sie noch Fragen?