Telefonanlage anbinden

Aus sourceDESK Wiki
Version vom 10. Oktober 2018, 08:41 Uhr von Richard Reiber (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Ü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:

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;
	}
}