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

Goto macht nicht was es soll

Dieses Thema im Forum "Asterisk Rufnummernplan" wurde erstellt von kombjuder, 19 Juni 2005.

  1. kombjuder

    kombjuder IPPF-Promi

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

    ich versuche gerade eine rufnummernabhängige Liste für den zu benutzenden Provider zu erstellen.
    Ich habe das so aufgebaut:

    Code:
    ;ist das bekannte voip-Nummer? Dann Wahlregel aus Datenbank
    exten => _XXXX.,1,NoOp(Wir checken die Datenbank vor dem waehlen)
    exten => _XXXX.,2,DBGet(voipdial=VOIP/${EXTEN})
    
    exten => _XXXX.,3,Dial(SIP/${VOIPDIAL},60,Ttr)
    exten => _XXXX.,4,HangUp
    
    exten => _XXXX.,103,Goto(Provider,${EXTEN},1)
    exten => _XXXX.,104,Hangup
    
    [Provider]
    exten => _00XX.,1,Goto(voipjet|${EXTEN}|1)
    exten => _0041.,2,Goto(4132511xxxx|${EXTEN}|1)
    exten => _0[2-9].,3,Goto(5555xxx,${EXTEN},1)
    exten => _010X.,4,Hangup
    exten => _019X.,5,Hangup
    exten => _01[2-8]X,6,Goto(isdn1,${EXTEN},1)
    exten => 11X,7,Goto(Notruf,${EXTEN},1)
    exten => 12XX,8,Goto(Benutzer,${EXTEN},1)
    exten => 999,9,Goto(Benutzer,${EXTEN},1)
    exten => _[1-9]XXX.,10,Goto(isdn1,${EXTEN,1)
     
    
    Asterisk sagt bei einer Wahl:

    Channel 'SIP/1234-842b'' sent into invalid extension '07612123xxx' in context 'Provider', but no invalid handler

    Wo ist hier der Denkfehler begraben?
     
  2. Jonny

    Jonny Neuer User

    Registriert seit:
    30 Dez. 2004
    Beiträge:
    189
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich vermute mal es läuft so:

    Dial(SIP/${VOIPDIAL},60,Ttr) meldet besetzt... + 101 = 103
    Dann folgt Goto(Provider, 07612123, 1) aber in [Provider] gibt es keine
    Extensions mit Prio 1 für diese Nummer. Der nimmt nur Nummern die mit zwei Nullen beginnen.

    Ich weiß ja nicht was Du damit genau erreichen willst. Aber so geht es nicht. ;-)
     
  3. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    @kombjuder

    Du mußt in Deinem Kontext [Provider] bei jeder Extension die Du definierst, immer wieder mit Prio 1 anfangen. Letztendlich bedeutet das in Deinem Beispiel, daß in jeder Zeile die Prio 1 stehen muß.
     
  4. kombjuder

    kombjuder IPPF-Promi

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    3,086
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Weil am Rhein
    Nein, nicht bei besetzt, sondern wenn die Datenbankanfrage negativ verlief, also in der Datenbank keine Regel für Diaol over ip hinterlegt ist.
    Nein, ursprünglich wurde 07612123xxx gewählt, die Rufnummer ist nicht in der Datenbank hinterlegt, desshalb nach Zeile 103.
    Von hieraus wird nach [Provider] gesprungen.

    In [Provider] soll die Auswahl des zu verwendenden Providers erfolgen, also

    wenn _00XX. dann voipjet, Wahlregeln siehe dort
    wenn _0041. dann Provider Schweiz, Wahlregel siehe dort
    wenn 11x dann ISDN, Wahlregeln siehe dort
    ...

    Hast du mir denn einen Vorschlag wie das geht?
    Prio 1-4 sind ok und funktionieren (dank Betateilchen)
     
  5. kombjuder

    kombjuder IPPF-Promi

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    3,086
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Weil am Rhein
    Das ging ja eben auch nicht. Ich hatte zuerst im Kontext [Provider] alles mit Prio 1 aber das lief auch nicht.
    Ich vermute mal, dass die unterschiedliche Rufnummernlänge das Problem ist. Ich muß auf wenigstens 4 Stellen auswerten, habe aber 3-stellige Rufnummer (Notruf zum Beispiel)
     
  6. TinTin

    TinTin Aktives Mitglied

    Registriert seit:
    6 Mai 2004
    Beiträge:
    1,864
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Bin grad unterwegs und kann es nicht nachschauen, aber irgendwie ist mir so als hätte ich schon mal ein ähnliches Problem gehabt und es so gelöst:

    exten => _XXXX.,103,Goto(Provider,BYEXTENSION,1)