Wenn CAPI-B-Kanäle belegt, dann per SIP rausrufen

JN3piogZ

Neuer User
Mitglied seit
22 Dez 2006
Beiträge
48
Punkte für Reaktionen
0
Punkte
0
Hi!

Ich habe eine ISDN-Flatrate. Ich möchte nun, dass ausgehende Gespräche zunächst auf den ISDN-Kanälen (per CAPI) versucht werden und nur falls die ISDN Kanäle beide voll sind, soll ein ausgehender Ruf per SIP erfolgen. Wie kann ich das realisieren?

T.
 
Such mal hier im Forum nach Groupcount oder Dialstatus, mit beiden Varianten kann man das lösen.
 
Such mal hier im Forum nach Groupcount oder Dialstatus, mit beiden Varianten kann man das lösen.

Erst mal danke für den Tipp.

Leider geht es nicht ganz so einfach, wie es in den Beispielen geschildert wurde. Bei mir ist die Besonderheit, dass neben Asterisk auch noch capi4hylafax läuft und eben hylafax einen oder sogar beide B-Kanäle der CAPI belegen kann, wenn gerade gefaxt wird. Das scheint Asterisk nicht mitzubekommen. Denn wenn ich von meinem Telefon aus über das Amt meine Faxnummer wähle (ein B-Kanal über Asterisk raus zur Vermittlung, der andere wieder rein und wird dann von Hylafax angenommen) dann scheint Asterisk nur mitbekommen zu haben, dass ein B-Kanal belegt ist. Beim Versuch über das CAPI Interface rauszuwählen bekomme ich dann den Dialstatus "CONGESTION" statt wie erwartet "CHANUNAVAIL". Ich habe mir jetzt geholfen, indem ich beides abfange, aber ich fürchte das ist eine unsaubere Lösung, die noch andere Nachteile mit sich zieht, oder?

Code:
[nach_extern_erlaubt]
exten => _XXXX.,1,Macro(dialout,${EXTEN})

[macro-dialout]
; Ausgehende Gespraeche: MSN setzen, zuerst die CAPI Leitungen probieren
; erst wenn die besetzt sind (congestion oder chanunavail)SIP probieren
exten => s,1(waehl),Dial(CAPI/g1/${ARG1})
exten => s,n,NoOp( Dial Status: ${DIALSTATUS})
exten => s,n,Goto(${DIALSTATUS})
exten => s,n(NOANSWER),Hangup
exten => s,n(CONGESTION),NoOp(Congestion, calling ${ARG1} via SIP)
exten => s,n(CONGESTION),Dial(SIP/${ARG1}@sip-out,60,T)
exten => s,n(CONGESTION),Hangup()
exten => s,n(CANCEL),Hangup
exten => s,n(BUSY),Busy
exten => s,n(CHANUNAVAIL),NoOp(Chan Unavail erreicht, calling ${ARG1})
exten => s,n(CHANUNAVAIL),SetCallerId(${CALLERIDNUM})
exten => s,n(CHANUNAVAIL),Dial(SIP/${ARG1},,T)
 

Neueste Beiträge

Statistik des Forums

Themen
244,872
Beiträge
2,219,916
Mitglieder
371,594
Neuestes Mitglied
AA-Idealbau
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.