Über die [[Telefonanlagen-Anbindung]] können Administratoren Anrufe direkt aus sourceDESK starten. Sie können Ihre eigene Telefonanlage mit einem eigenen Modul anbinden.
== 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 [[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>