Eingehende Anrufe abfangen / eingehende Nummern auslesen aus der Asterisk

blasdinat

Neuer User
Mitglied seit
7 Aug 2007
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Ich habe vor ein PHP-Script zu schreiben,
mit welchem ich eingehende Anrufe abfangen kann.
Im Grunde will ich sie nicht abfangen,
sondern nur die eingehende Nummer aus der Asterisk auslesen,
so das ich aus einer Datenbank,
passend zu dieser Nummer die restlichen Daten auslesen lassen kann.

Hat jemand eine Ahnung, wie ich die eingehende Nummer aus der Asterisk auslesen kann? :confused:
Gibt es einen Befehl für die Asterisk, in der die eingehenden Nummern wiedergegeben werden? :noidea:
 
Ich denke mal, dafuer ist * etwas overkill.
Such mal nach isdnlog und i4l, das geht mit den meisten passiven isdn-karten, selbst mit den uralten isa-Teilen.
 
Das Problem ist, ich bastel das ganze für einen Online-Shop,
d.h. es handelt sich hier nicht um einzelne,
sondern um massenhaft eintreffender Anrufe.
Ich ein Script schreibe, mit dem es möglich ist,
nach der Annahme des Gespräches,
entweder aus den Snom-Telefonen oder aus der Asterisk die eingehende Nummer auslesen zu lassen,
so das meine Kollegen gleich die restlichen Kundeninformationen aus der Datenbank bekommen.
 
Also nicht i4l & Co.
Generell kannst du die csv logs dazu nutzen aber du kannst auch den asterisk direkt mittels odbc an deine DB anbinden.
voip-info.org ist dein Freund.
 
Wie meinste den dass mit den csv logs?
 
Numsi meinte sicher die CDR logs ;) Das sind die Daten der Gesprächsaufzeichnung, die Asterisk automatisch führt.

Diese Daten helfen aber nicht wirklich weiter da die CDR Records erst nach dem Gesprächsende zur Verfügung stehen.

Das was du willst, ist aber doch ganz simpel - dazu brauchst Du gar keinen großen Aufwand betreiben.

Ich würde einfach mit dem Befehl system() die callerid in ein Textfile schreiben, das Du mit Deinem PHP Skript einfach auslesen und zeilenweise weiterverarbeiten kannst.

Dokumentation zu system() findest Du - wie bereits erwähnt - auf www.voip-info.org

Aber vielleicht solltest Du Dir erstmal generell ein bißchen mehr Grundlagenwissen über Asterisk aneignen :gruebel:
 
schreib doch jeden Anruf in eine eigene Datei und verwende das Verzeichnis als eine Art "Spool" - dein PHP skript liest dort so lange, bis keine Dateien mehr vorhanden sind, und jede abgearbeitete Datei wird von Deinem php gelöscht.
 
Hallo,

auch wenn dieser Beitag schon ein Weile zurück liegt, ist es für mich höchst interessant, wie die Lösung letztendlich zustande gekommen ist. Mich wird in naher Zukunft eine ähnliche Problemstellung erwarten:

Anrufer sollen geloggt und fortlaufend Informationen gesammelt werden. Sobald ein eingehender Anrufer zur entsprechenden Endstelle durchgestellt worden ist, soll auf dem dort vorhandenen PC oder Endgerät, Informationen zu dem Anrufer aus der Datenbank geladen werden.

Gibt es bereits Lösungen oder Ansätze?

Gracias
Philippe
 
Die gewünschte Funktionalität stellt das Manager-Interface des Asterisk bereit.
 
Ah ok danke für den Tipp. Demnach muß eine solche Funktionalität erst erstellt werden? Der Grund meiner Anfrage war, dass dieses Problemstellung in mehreren Kontexten interessant sein könnte und somit vllt. bereits Ansätze realisiert sind.

Danke für die schnelle Antwort!
 
Hallo Jepse,

das ist eigentlich keine so große Sache.
Mit einem Asterisk kann man einfach ein externes Script starten und Variablen übergeben.

Lg
Christian
 
Das wäre ja zum Beispiel mit einer fertigen Asterisk-Distribution möglich: Elastix hat zwei CRMs mit an Bord (SugarCRM und vTigerCRM). Dort ist die Funktionalität schon integriert, dass man sowohl aus dem CRM heraus telefonieren kann, wie auch angezeigt wird welcher der Kontakte gerade anruft. Den dazugehörigen Datensatz anzeigen zu lassen, ist wohl nur noch ein Klacks. Wenn das überhaupt praktikabel ist. Hatte mir auch schon mal sowas zurecht gelegt, es dann aber wieder verworfen; man stelle sich vor: ein Mitarbeiter bearbeitet gerade einen Kunden-Datensatz, ein anderer Kunde ruft an und schwupps wird die Arbeit unterbrochen und die DB-Maske des Anrufers wird angezeigt. Evtl. sollte sowas in einem neuen Fenster passieren …
 
ich mache das beispielsweise einfach so:

exten => s,1,system(./isdnlog.php "${CALLERID(num)}")

isdnlog.php verarbeitet die daten dann weiter (telefonbuchabfrage, eintrag in datenbank, nachricht über mail und net send (smb) etc)

Je nach plazierung im kontext stehen die daten vor gesprächsannahme zur verfügung.
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,719
Beiträge
2,256,467
Mitglieder
374,742
Neuestes Mitglied
Semperfideles
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.