Phpagi

tommiboy

Neuer User
Mitglied seit
14 Feb 2007
Beiträge
68
Punkte für Reaktionen
0
Punkte
0
Gibt es mit PHPAGI einen Möglichkeit, einen Anruf innerhalb eines PHPSCRIPTS
weiter zu vermitteln?
Es soll sich um einen externen Anruf handeln, welcher dann geprüft wird und dann innerhalb des Scripts an eine interne Nummer der TK-Anlage weitergereicht wird....
 
mmh, ich hab mich wohl n bsin schlecht ausgedrückt, zur Erklärung:
Mein Asterisk ist bei MSN auf * gestellt, alle anrufe werden empfangen.
Nun startet nach einem Menü mein PHP script, wo auf ne MySQL Datenbank zugegriffen wird. Die Anrufer haben bestimmte Merkmale/Eigenschaften (stehen in der DB)
und wenn ein Anrufer ein bestimmtes Merkmal bzw. Eigenschaft hat soll er vom PHP-Script aus an ein Telefon (ISDN, intern) durchgestellt werden, ist das möglich?
 
@tommiboy

Benutze doch mal das Asterisk-Addons-Paket.
Dort lassen sich MySQL-Befehle direkt in den
Dialplan einbinden:

Code:
exten => s,2,MYSQL(Connect connid localhost asterisk mypass credit)
exten => s,3,MYSQL(Query resultid ${connid} SELECT username,credit FROM credit WHERE callerid=${CALLERIDNUM})
exten => s,4,MYSQL(Fetch fetchid ${resultid} datavar1 datavar2)
exten => s,5,GotoIf(${fetchid}?6:8)
exten => s,6,Festival("User ${datavar1} currently has credit balance of ${datavar2} dollars.")
exten => s,7,Goto(s,4)
exten => s,8,MYSQL(Clear ${resultid})
exten => s,9,MYSQL(Disconnect ${connid})

Gruß
britzelfix
 
Dann wird mir aber der Dialplan zu unübersichtlich, das macht eine nachbearbeitung zum späteren Zeitpunkt zeitaufwändig...
find ich...
Es muss doch eine möglichkeit geben...
 
@tommiboy

Offensichtlich weißt Du nicht, daß man im Dialplan Macros
erstellen kann. Dann kann von unübersichtlich keine Rede mehr sein.

Wenn Du's unbedingt mit PhpAgi machen willst,
dann gäbe es noch die Möglichkeit über's Manager-Interface,
aber das ist zu aufwendig und ich traue es Dir auch nicht zu.

Gruß
britzelfix
 
Zusammengeführte Beiträge

okay, wie kann ich denn die Nutzereingaben des Anrufers entgegennehmen?
Also sein Kennwort und so?

Ich hab ne möglichkeit gefunden wie es klappen könnte:
mit "set_context" ist es möglich, den Context in der extensions.conf zu wechseln
das PHP Script wird dann abgebrochen und in den Context gewechselt
 
Zuletzt bearbeitet von einem Moderator:
@tommiboy

wie kann ich denn die Nutzereingaben des Anrufers entgegennehmen?
Also sein Kennwort und so?

mit DISA

Ich hab ne möglichkeit gefunden wie es klappen könnte:

Dann poste doch mal die Komplettlösung hier in's Forum.
Würde mich auch interessieren.

Gruß
britzelfix
 
hier meine Capi-conf:
[default]
include => capi-in

[capi-in]
;begrüßung
exten => s,1,set(TIMEOUT(response(=10))
exten => s,n,Answer
exten => s,2,Wait(3)
exten => s,3,AGI(start.php)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[test]
;exten => 1,1,Answer
exten => s,n,Wait(3)
exten => s,n,Dial(CAPI/contr1/15:61,10)
exten => s,n,System()
exten => s,n,Hangup();

Wenn ein ISDN Anruf am * ankommt startet ein php script,
erfüllt der Anrufer eine bestimmte Bedingung, wird
der php code ausgeführt:
$agi->set_context("test")

Nun spring * in diesen Kontext und leitet den Anrufer von der nummer 15 auf die oben angegebene Nummer (hier die 61)...
und es klingelt...
 
Weiß jemand wie ich mit PHPAGI schaffe, das die Textansage beim drücken einer Taste abgebrochen wird? Sone Art 'Background' funktion....
 
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.