Telefonanlage anbinden: Unterschied zwischen den Versionen

Aus sourceDESK Wiki
Wechseln zu: Navigation, Suche
(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.

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