- Mitglied seit
- 22 Sep 2009
- Beiträge
- 30
- Punkte für Reaktionen
- 0
- Punkte
- 0
Hallo liebes Forum,
ich habe hier länger gewühlt und leider keine Lösung für mein Problem gefunden, wie man mit PHP auf Apache unter Linux zwei Telefonate zusammenschaltet. Auch online hab ich nur wenig gefunden und mich mühsam im IRC und in der Doku durchgewühlt. Als ehrlicher Open Source Nutzer bin ich nun natürlich dazu verpflichtet mein errungenes Wissen und meinen geschriebenen Code Preis zu geben. Meinen kompletten Artikel (mein Asterisk läuft übrigens auf Raspberry Pi) findet Ihr auf meinem Blog: Click to Call mit PHP.
Der PHP Quellcode für Click to Call ist im Prinzip ein Einzeiler, wenn man das ganze Drumherum weg denkt.
Dazu habe ich mir auch eine kleine jQuery Mobile Web-App geschrieben, die selbstverständlich auch unter Apache Lizenz veröffentlicht ist:
https://code.google.com/p/click-to-call-webapp/
Viele Grüße, Jan
ich habe hier länger gewühlt und leider keine Lösung für mein Problem gefunden, wie man mit PHP auf Apache unter Linux zwei Telefonate zusammenschaltet. Auch online hab ich nur wenig gefunden und mich mühsam im IRC und in der Doku durchgewühlt. Als ehrlicher Open Source Nutzer bin ich nun natürlich dazu verpflichtet mein errungenes Wissen und meinen geschriebenen Code Preis zu geben. Meinen kompletten Artikel (mein Asterisk läuft übrigens auf Raspberry Pi) findet Ihr auf meinem Blog: Click to Call mit PHP.
Der PHP Quellcode für Click to Call ist im Prinzip ein Einzeiler, wenn man das ganze Drumherum weg denkt.
PHP:
/* JSON API for calling */
$passwd = "Mein Passwort";
// default standard result
$result = array("status" => "no-request", "num1" => "", "num2" => "");
if(array_key_exists("num1",$_GET) == true
&& array_key_exists("num2",$_GET) == true
&& array_key_exists("key",$_GET) == true){
// secret key is a hash of the number and the passwd
$secretKey = md5($_GET["num1"].$_GET["num2"].$passwd);
if($_GET["key"]==$secretKey){
$num1 = $_GET["num1"];
$num2 = $_GET["num2"];
/* check if both numbers start with a +*/
if(substr($num1,0,1)=="+" && substr($num2,0,1)=="+"){
$num1 = substr($num1,1);
$num2 = substr($num2,1);
if(is_numeric($num1)==true && is_numeric($num2)){
shell_exec("sudo asterisk -rx "originate Local/000"
.$num1."@outgoing "."extension 000".$num2."@outgoing"");
$result = array("status" => "call-initiated",
"num1" => $num1, "num2" => $num2);
}else{
$result["status"] = "number-invalid";
}
}else{
$result["status"] = "number-invalid";
}
}else{
$result["status"] = "auth-failure";
}
}
// output the result
header("Content-type: application/json");
echo(json_encode($result));
Dazu habe ich mir auch eine kleine jQuery Mobile Web-App geschrieben, die selbstverständlich auch unter Apache Lizenz veröffentlicht ist:
https://code.google.com/p/click-to-call-webapp/
![click-to-call-webapp_250.png](http://img4.kammerath.net/img/click-to-call-webapp_250.png)
Viele Grüße, Jan