Wer hat aufgelegt?

bigroot

Neuer User
Mitglied seit
21 Mrz 2007
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
Hi Leute,

kann mir jemand helfen und zwar wie kann ich herrausfinden wer aufgelegt hat? Anrufer oder der Angerufene?

LG Stefan
 
Die Doku zum Dial-Command hilft ;)

Aber ernsthaft:

wenn Du das Dialcommand mit der option g aufrufst, also etwa
Code:
exten =>   _X.,1,Dial(Channel/${EXTEN},g)

wird laut Dokumentaion der folgende Dialplanbefehl ausgeführt, wenn der Angerufene den Call beendet:
g: When the called party hangs up, exit to execute more commands in the current context.
Soll heißen: Legt der Anrufer auf, bewirkt g nichts!

Damit kann man dann im Dialplan etwa folgendes machen:
Code:
exten => _X.,1,SetCDRUserField("Beendet durch Anrufer") 
exten => _X.,2,Dial(Channel/${EXTEN},g)
exten => _X.,3,SetCDRUserField("Beendet durch Angerufenen") 
exten => _X.,4,Congestion;

Und schon hat man die gewünschte Information im CDR.
 
Und wie ist das, wenn jemand von aussen anruft?
 
Das Prinzip ist das gleiche, der interne Teilnehmer (z.B. Extension 100) ist dann ja der Angerufene (für den mit g der nächste Befehl verarbeitet wird) und der externe Teilnehmer der Anrufer (für den g keine Wirkung hat).

Daher klappt der Dialplanschnipsel eben für beide Richtungen (abgehend und eingehend), egal ob der Angerufene extern ist (abgehend) oder intern (eingehend).
 
Kostenlos!

Statistik des Forums

Themen
247,210
Beiträge
2,263,848
Mitglieder
375,705
Neuestes Mitglied
fraserarturas