.titleBar { margin-bottom: 5px!important; }

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

Dieses Thema im Forum "Asterisk Rufnummernplan" wurde erstellt von JN3piogZ, 17 Jan. 2007.

  1. JN3piogZ

    JN3piogZ Neuer User

    Registriert seit:
    22 Dez. 2006
    Beiträge:
    48
    Zustimmungen:
    0
    Punkte für Erfolge:
    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.
     
  2. madiehl

    madiehl Mitglied

    Registriert seit:
    15 Feb. 2005
    Beiträge:
    438
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Such mal hier im Forum nach Groupcount oder Dialstatus, mit beiden Varianten kann man das lösen.
     
  3. JN3piogZ

    JN3piogZ Neuer User

    Registriert seit:
    22 Dez. 2006
    Beiträge:
    48
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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)
    
     
  4. hotroot

    hotroot Neuer User

    Registriert seit:
    4 Okt. 2005
    Beiträge:
    149
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Rheinfelden