Telefonanlage anbinden: Unterschied zwischen den Versionen
Aus sourceDESK Wiki
(Die Seite wurde neu angelegt: „== Grundaufbau == ... == Methoden == ...“) |
|||
Zeile 1: | Zeile 1: | ||
+ | Über die [[Telefonanlagen-Anbindung]] können Administratoren Anrufe direkt aus sourceDESK starten. Sie können Ihre eigene Telefonanlage mit einem eigenen Modul anbinden. | ||
+ | |||
== Grundaufbau == | == Grundaufbau == | ||
− | ... | + | Ein Telefonanlagen-Modul bekommt ein eigenes Verzeichnis unter ''modules/telephone''. In diesem Verzeichnis muss sich eine PHP-Datei mit dem gleichen Namen wie das Verzeichnis und der Endung ''.php'' befinden. In dieser PHP-Datei wird eine Klasse definiert, die von der Klasse ''TelephoneModule'' erbt. |
+ | |||
+ | == Attribute == | ||
+ | Die Klasse benötigt das Attribut ''$name'', das den Anzeigenamen für das Modul angibt. Das Attribut darf höchstens ''protected'' sein. | ||
== Methoden == | == Methoden == | ||
− | ... | + | Folgende Methoden können definiert werden: |
+ | |||
+ | * ''call($number, $info)'' bekommt die anzurufende Nummer und den [[Telefonanlagen-Anbindung|Konfigurations-String aus dem Administrator-Profil]] und soll den Anruf dann eigenständig durchführen. | ||
+ | |||
+ | == Beispiel-Code == | ||
+ | <source lang="php"> | ||
+ | <?php | ||
+ | |||
+ | class PlacetelCallthrough extends TelephoneModule { | ||
+ | protected $name = "Placetel"; | ||
+ | |||
+ | public function call($number, $info) { | ||
+ | $ex = explode("|", $info); | ||
+ | |||
+ | $data = Array( | ||
+ | "api_key" => $ex[0], | ||
+ | "sipuid" => $ex[1], | ||
+ | "target" => $number, | ||
+ | ); | ||
+ | |||
+ | $ch = curl_init("https://api.placetel.de/api/initiateCall.json"); | ||
+ | curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); | ||
+ | curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); | ||
+ | curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); | ||
+ | curl_setopt($ch, CURLOPT_POST, true); | ||
+ | curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); | ||
+ | $res = json_decode(curl_exec($ch)); | ||
+ | curl_close($ch); | ||
+ | |||
+ | return $res->result == 1; | ||
+ | } | ||
+ | } | ||
+ | </source> |
Aktuelle Version vom 10. Oktober 2018, 08:41 Uhr
Über die Telefonanlagen-Anbindung können Administratoren Anrufe direkt aus sourceDESK starten. Sie können Ihre eigene Telefonanlage mit einem eigenen Modul anbinden.
Inhaltsverzeichnis
Grundaufbau
Ein Telefonanlagen-Modul bekommt ein eigenes Verzeichnis unter modules/telephone. In diesem Verzeichnis muss sich eine PHP-Datei mit dem gleichen Namen wie das Verzeichnis und der Endung .php befinden. In dieser PHP-Datei wird eine Klasse definiert, die von der Klasse TelephoneModule erbt.
Attribute
Die Klasse benötigt das Attribut $name, das den Anzeigenamen für das Modul angibt. Das Attribut darf höchstens protected sein.
Methoden
Folgende Methoden können definiert werden:
- call($number, $info) bekommt die anzurufende Nummer und den Konfigurations-String aus dem Administrator-Profil und soll den Anruf dann eigenständig durchführen.
Beispiel-Code
<?php class PlacetelCallthrough extends TelephoneModule { protected $name = "Placetel"; public function call($number, $info) { $ex = explode("|", $info); $data = Array( "api_key" => $ex[0], "sipuid" => $ex[1], "target" => $number, ); $ch = curl_init("https://api.placetel.de/api/initiateCall.json"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); $res = json_decode(curl_exec($ch)); curl_close($ch); return $res->result == 1; } }