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

Fallback mit mehreren SIP Providern ?

Dieses Thema im Forum "Asterisk Rufnummernplan" wurde erstellt von adoII, 7 Feb. 2006.

  1. adoII

    adoII Neuer User

    Registriert seit:
    7 Feb. 2006
    Beiträge:
    58
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,

    ich hab in etwa folgende Situation:

    An einer Telefonanlage mit 10 Telefonen haengt ein Asterisk .
    Es gibt z.B. 3 Sip Accounts, von denen jeder nur 1mal zur gleichen Zeit genutzt werden kann.
    Es koennen bis zu 10 Leute gleichzeitig teleefonieren, dafuer hat die Asterisk noch mISDN-Trunks.

    Nun bin ich auf der Suche nach nem generischen Macro/extension, mit der ich zunaechst alle verfuegbaren SIP-Provider abfrage und den ersten freien nehme.

    Falls das nicht klappt soll der Ruf zum Schluss ueber mISDN rausgehen.

    Am liebsten waere mir was voellig frei konfigurierbares so wie etwa
    [globals]
    SIPPROV1=1111@sipprov1
    SIPPROV2=2222@sipprov2
    SIPPROV3=3333@sipprov3
    SIPPROV4=1111@sipprov1 (zwei accounts bei 1 sip-provider)
    NUMSIPPROV=3

    (spannend: es koennte gar dazu kommen das es 2 accounts beim gleichen sip-provider geben koennte)

    [macro-voipout-mit-fallback]
    (hat jemand nen Ansatz fuer den Code ? Kann/sollte man evtl. was mit ael2 und schleifen machen ?)
    ......

    Ich hab insbesondere den Eindruck, das ChanIsAvail nicht so sauber funktioniert und einen Kanal als frei angibt, selbst wenn aktuel ein Call darauf statfindet und obwohl der Parameter s angegeben wurde.

    Mein erster Code der erstmal nur mit 1 SIpprovider kann sieht so aus, ich hab die infos im wesentlichen hier im Forum gefunden:

    [macro-voipout-fallback]
    exten => s,1,NoOp(SIP/${ARG1}@sipgate-out AND mISDN/g:to-dtag)
    exten => s,2,ChanIsAvail(SIP/2223333@sipgate-out&mISDN/:to-dtag,s)
    exten => s,3,NoOp(verfuegbarer Kanal: ${AVAILCHAN} = ${AVAILORIGCHAN} = ${AVAILS
    TATUS} )
    exten => s,4,Cut(NEWCHAN=AVAILCHAN,/,1)
    exten => s,5,NoOp(verfuegbarer Kanal: ${NEWCHAN})
    exten => s,6,GotoIf($["${NEWCHAN}" = "SIP"]?8:7)
    exten => s,7,GotoIf($["${NEWCHAN}" = "mISDN"]?15:14)
    exten => s,8,NoOp(Outgoing call via SIPGATE)
    exten => s,9,SetCallerID(SIPGATE-ID)
    exten => s,10,SetLanguage(de)
    exten => s,11,Dial(SIP/${ARG1}@sipgate-out,60,r)
    exten => s,12,Congestion
    exten => s,13,Busy
    exten => s,14,Hangup
    exten => s,15,Goto(dtagout,${ARG1},1)

    [dtagout]
    exten => _X.,1,Dial(mISDN/g:to-dtag/${EXTEN})
    exten => _X.,2,Hangup()


    Bin fuer jeden Hinweis dankbar und poste hier auch, was dabei rausgekommen ist.
     
  2. airsider

    airsider Neuer User

    Registriert seit:
    26 Jan. 2006
    Beiträge:
    26
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Student
    du könntest probieren nach dem wählen den dialstatus abzufragen und wenn chanunavail auf den nächsten provider zu springen
    stand hier auch schon mal irgendwo im forum
     
  3. mausk

    mausk Neuer User

    Registriert seit:
    9 Dez. 2005
    Beiträge:
    88
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
  4. luci05

    luci05 Neuer User

    Registriert seit:
    13 Juni 2005
    Beiträge:
    5
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi, setze doch deinen nächsten Provider mit Prio + 101 dran!

    exten => _0X.,1,Dial(SIP/${EXTEN:1}@sipsnip,60,TtwW)
    exten => _0X.,102,Dial(SIP/${EXTEN:1}@sipgate,60,TtwW)
    exten => _0X.,203,Dial(Zap/g2/${EXTEN:1},60,TtwW)
    exten => _0X.,204,Hangup


    Luci
     
  5. merlion

    merlion Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    202
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    gute idee habe aber nun folgendes:

    __ast_pbx_run: Timeout, but no rule 't' in context '10042111'
     
  6. kombjuder

    kombjuder IPPF-Promi

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    3,086
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Weil am Rhein