php script zum erstellen von verbindungen

another-way

Neuer User
Mitglied seit
4 Sep 2004
Beiträge
63
Punkte für Reaktionen
0
Punkte
0
bei sipgate kann man ja via webseite eine verbindung aufbauen.
hat evtl einer ein script in php womit man das slebst realisieren kann??
 
Bisher nur mit wget bzw. links. Das Problem dabei ist, dass man sich vor einem Zugriff auf das Webinterface authentifizieren und entsprechend eine Session-ID mit uebertragen muss. Davon abgesehen ist fuer gescriptete Zugriffe auf das Webinterface der Server von Sipgate oftmals zu langsam (weil zu ausgelastet, was dann schonmal zu Wartezeiten von 10 Sekunden fuehren kann).
 
sorry falsch ausgedrückt, ich möchte das mein asterisk die calls ausführt, geht wohl mit den call files... aber das kann man ja keinem user zuordnen wegen evtl abrechnung oder gesprächsauflistung odeR?
 
Hallo,

damit ich das richtig verstehe: Du möchtest z. B. auf deiner Homepage einen Link anlegen. Jetzt surft irgendwer im Internet auf deine HP und drückt auf den Link. Dann klingelt bei dir das Telefon. Wenn du abhebst, wird von Asterisk ein Gespräch zwischen dir und dem Linkdrücker vermittelt. Ist das so korrekt?

Das ließe sich vielleicht auch ganz ohne VoIP-Provider realisieren. Würde mich auch mal interessieren. Hat hier jemand sowas vielleicht schon laufen?

Benno
 
is das so kompliziert? hmm....

ok ich beschreib das ganz einfach mal....
firmennetzwerk, ein mitarbeiter öffnet online unsere telefonliste, möchtarbeiter b anrufen, klickt auf ihn drauf und sein telefon klingelt und es wird auch gleich ne verbindung zu mitarbeiter b hergestellt

mit dem klick auf den mitarbeiter müsste ja lediglich eine call datei erstellt werden mit der extension von mitarbeiter b
 
ja genau das sagte ich doch ;)
ich glaub ich hab ne lösung über die call files... allerdings erfasst man ja damit nicht den user der die funktion ausführt, würd ich auch gern in ner studenten wg einsetzen und da wäre das ganz gut wnen man die user erfassen könnte, wann werwieviel gefont hat und was das kostet.....
 
ich erstelle derzeit eine datei die in /var/spool/asterisk/outgoing geschrieben wird und ne verbindung zu ner nummer herstellt und wnen die vebrindung hergestellt wird wird ne extension ausgeführt und eventuell ne verbindung zu nem anderen teilnehmer hergestellt
 
Gibt es auch eine Möglichkeit eine bestimmte extension in einem bestimmten Kontext durch ein Call-File (oder was ähnliches) starten zu lassen.

Der Grund ist folgender: Bei einem Ereigniss möchte ich das programmierte LCR nutzen um den * mich auf den Handy anzurufen zu lassen. Und ich möchte eigentlich gleichen Context verwenden, als ob ich von einen internen *-Telefon aus das Handy angerufen hätte. Also über den Kontext und nicht Channel im callfile.
 
Ist ganz einfach:

Channel: Local/1234@context/n

Dabei ist 1234 die Extension die ich im Kontext context starten will!
 
Soll das dann so laufen, dass jemand auf der Homepage seine Telefonnummer eingibt und diese dann an den * übermittelt wird?

Wenn ja, was ist, wenn jemand eine fremde Nummer eingibt? Nur so zum spaß?
 
es soll ja nicht für jeden auf ner homepage zugänglich sein.....
also ich meinte das via firmenintranet.... bzw mit login, oder um kunden per mausklick anzurufen....
es soll ja nciht für jedermann zur verfügung stehen.

mit dem callfile klappert eigentlich ganz gut
 
Hier der PHP Coder für Dial via Web Site

Geht über socket aufrufe

Klar die daten die im Socket aufruf stehen sollen wurden in diesem falle per formular eingegeben
dieser code ist mit benutzung der conf files!

1.) PHP Code auf der Web Seite

<?php


/*include("/var/www/CTI/asterisk.inc");*/

if (!empty($_POST['call']))
{
echo "<p class=\"style1\">";
echo "<input name=\"imageField\" type=\"image\" src=\"hangup.png\" width=\"170\" height=\"38\" border=\"0\">";
echo "</p>";






$Dial_Number = $_POST['call'];
echo $Dial_Number;
echo "<br>Channel: CAPI/@2259820:" .$Dial_Number;

$socket = fsockopen("127.0.0.1","5038", $errno, $errstr, $timeout);
fputs($socket, "Action: Login\r\n");
fputs($socket, "UserName: test\r\n");
fputs($socket, "Secret: test\r\n\r\n");

//if (login() == 1) {

fputs($socket, "Action: originate\r\n");
fputs($socket, "Exten: 437215\r\n");
fputs($socket, "Context: from-internal\r\n");
fputs($socket, "Channel: CAPI/@2259820:" . $Dial_Number . "\r\n");
fputs($socket, "Priority: 1\r\n");
fputs($socket, "Callerid: 0800000000\r\n\r\n");
$wrets=fgets($socket,128);
//}
}
else {
echo "<p class=\"style1\">";
echo "<input name=\"imageField\" type=\"image\" src=\"call.png\" width=\"170\" height=\"38\" border=\"0\">";
echo "<p>";
// echo "<INPUT TYPE="submit" NAME="ok" VALUE="login" class="smalltext" onclick="checkflag=this.name">";
echo "</p>";


}

if (!empty($_POST['call']))
{}



?>


2.) asterisk.inc

function login {

$socket = fsockopen("222.0.0.1","5038", $errno, $errstr, $timeout);

fputs($socket, "Action: Login\r\n");
fputs($socket, "UserName: test\r\n");
fputs($socket, "Secret: test\r\n\r\n");

return 1;
}
 
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.