Eingehende ISDN Anrufe abweisen

FabianWolter

Neuer User
Mitglied seit
1 Jan 2006
Beiträge
35
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe ein AGI-Script, welches einen Callback initiiert. Dieses wird bei einem Anruf aufgerufen. Ist das Script abgearbeitet, soll der Anrufer zur Bestätigung abgewiesen werden, so dass er ein Besetzt o.Ä. hört.

Dies soll natürlich geschehen, ohne dass der Asterisk abnimmt, sonst könnte man ja einfach Playtones() verwenden.

Folgendes Konstrukt lässt beim Anrufer leider weiterhin den Ringtone ertönen:

Code:
exten => s,1,AGI(callback.sh)
exten => s,2,Busy()

Code:
  == ISDN1: Incoming call '01626xxxxxx' -> '5248yyyy'
    -- Executing GotoIf("CAPI/ISDN1/5248yyyy-0", "0?callback-withoutcallid|s|1:callback-withcallid|s|1") in new stack
    -- Goto (callback-withcallid,s,1)
    -- Executing AGI("CAPI/ISDN1/5248yyyy-0", "callback.sh") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/callback.sh
    -- AGI Script callback.sh completed, returning 0
    -- Executing Busy("CAPI/ISDN1/5248yyyy-0", "") in new stack
  == Spawn extension (callback-withcallid, s, 2) exited non-zero on 'CAPI/ISDN1/5248yyyy-0'
  == ISDN1: CAPI Hangingup

Hat dazu jemand eine Idee?

Ich verwende chan_capi-cm 0.6.2

Gruß Fabian
 
einfach Hangup() verwenden? Und ggf. noch ein kurzes Playback von "danke.gsm" oder sowas?
 
Das funktioniert leider auch nicht und führt zu der selben Ausgabe wie bei Congestion (Nur eben mit Hangup)

Gruß Fabian
 
ich habe noch ein Ringing

Code:
exten => s,1,Wait(1)
exten => s,n,Ringing
exten => s,n,AGI(callback.php)
exten => s,n,SetVar(PRI_CAUSE=1)
exten => s,n,Hangup
 
Funktioniert leider auch nicht:

Code:
   -- Executing Wait("CAPI/ISDN1/5248xxxx-2", "1") in new stack
    -- Executing Ringing("CAPI/ISDN1/5248xx-2", "") in new stack
    -- Executing AGI("CAPI/ISDN1/5248xxxx-2", "callback.sh") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/callback.sh
    -- AGI Script callback.sh completed, returning 0
    -- Executing SetVar("CAPI/ISDN1/5248xxxx-2", "PRI_CAUSE=1") in new stack
    -- Executing Hangup("CAPI/ISDN1/5248xxxx-2", "") in new stack
  == Spawn extension (callback-withcallid, s, 5) exited non-zero on 'CAPI/ISDN1/5248xxxx-2'
  == ISDN1: CAPI Hangingup

Der Anrufer hört weiterhin den Ringtone.

Gruß Fabian
 
Normalerweise sollte schon
SetVar(PRI_CAUSE=1)
Hangup
reichen.

Klingelt vielleicht noch ein weiteres ISDN Telefon / Programm wenn man diese MSN anruft?
Dann funktioniert das nämlich nicht.
 
cibi schrieb:
Klingelt vielleicht noch ein weiteres ISDN Telefon / Programm wenn man diese MSN anruft?
Dann funktioniert das nämlich nicht.

Das war der Fall. Es hing noch eine TK-Anlage parallel zum Asterisk am S0-Bus, welche ebenfalls auf der Nummer gehorcht hat.

Nach dem Abklemmen der Anlage und folgendem Dialplan:

Code:
exten => s,1,Ringing()
exten => s,2,Wait(5)
exten => s,3,AGI(callback.sh)
exten => s,4,Set(PRI_CAUSE=1)
exten => s,5,Hangup()

Ertönt beim Anrufer 5 Sek lang der Ringtone und dann nach kommt eine Ansage von Vodafone: "Die gewählte Nummer ist nicht vergeben" und T-Com meint "Kein Anschluss unter dieser Nummer".

Das finde ich irgendwie lustig, dass man so eine Ansage provozieren kann ;-)

Mit PRI_CAUSE=21 wird der Anruf abgwiesen. Das klappt super.

Gruß Fabian
 
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.