Click2Dial mit ChanSkype

n8isch

Mitglied
Mitglied seit
22 Mrz 2005
Beiträge
275
Punkte für Reaktionen
0
Punkte
0
Hallo,

da es mit chanskype immer etwas lästig ist rauszuwählen und ich die Funktion in einer Webseite auf einen link zu klicken und zu telefonieren nicht unpraktisch finde, habe ich versucht das mit meiner Konfiguration nachzubauen. Der ein oder andere mag vielleicht interessante Denkanstöße finden und vielleicht ein paar Verbesserungsvorschläge haben.

Wir brauchen:

Windows auf dem Client
Linux auf dem Server

ISDN mit Zap
Skype mit Chanskype

Callfile mit php

Apache

skype.php:
Code:
<?php
while (list($key, $val) = @each($HTTP_POST_VARS))
{$GLOBALS[$key]=$val;}
while (list($key2, $val2) = @each($HTTP_GET_VARS))
{$GLOBALS[$key2]=$val2;}


$skype_id_fixed=explode(":", $skype_id);
$skype_id_fixed=explode("?", $skype_id_fixed[1]);
$channel_b=$skype_id_fixed[0];



$channel_a="11";



if ($channel_a != '' && $channel_b != '')
{

$handle = fopen ("1.call", "w");
$filename = '1.call';


$somecontent = "Channel: Zap/1/".$channel_a."\nMaxRetries: 1\nRetryTime: 60\nWaitTime: 30\nContext: callSkype\nExtension: ".$channel_b."\n";


if (is_writable($filename)) {

   
   if (!$handle = fopen($filename, "a")) {
         print "Kann die Datei $filename nicht öffnen";
         exit;
   }

   
   if (!fwrite($handle, $somecontent)) {
       print "Kann in die Datei $filename nicht schreiben";
       exit;
   }

   

   fclose($handle);

} else {
   print "Die Datei $filename ist nicht schreibbar";
}


if (!copy($filename, 'outgoing/'.$filename)) {
   print ("failed to copy $file...<br>\n");
}



}


?>


die Datei wird auf dem Webserver ausgeführt und macht nichts anderes als ein callfile in den asterisk Spooler zu schreiben (Pfade bitte anpassen). Die Variable skype_id wird beim klick auf den Skype-link über die URL übergeben.

Damit überhaupt etwas passiert müssen wir erst einmal das Protokoll registrieren. (Achtung, falls ein Skype auf dem Client installiert ist, wird es danach kein Click2dial mehr ausführen können.)

wir bauen uns also eine Datei:

skype.reg mit dem Inhalt
Code:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\skype]
@="URL:skype Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\skype\shell]

[HKEY_CLASSES_ROOT\skype\shell\open]

[HKEY_CLASSES_ROOT\skype\shell\open\command]
@="iexplore.exe http://Hier/Der/Pfad/zur/Datei/skype.php?skype_id=%1"

und führen sie mit Doppelklick aus. Das Protokoll ist nun registriert.

nun fehlt uns nur noch der passende Kontext in der extensions.conf.

Code:
exten => _[a-z].,1,Dial(Skype/any/${EXTEN})

ein beherztes "extensions reload"

Wenn alles geklappt hat dann klingelt nun beim klick auf einen skype-link das Telefon und man wird mit dem gewünschten Kontakt verbunden.

Ich hoffe das kann jemand gebrauchen :)

Viel Spaß
n8|
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.

IPPF im Überblick

Neueste Beiträge