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

[erledigt] Wieso wird die Variable falsch gesetzt?

Dieses Thema im Forum "Asterisk Rufnummernplan" wurde erstellt von johnyt11, 18 Nov. 2004.

  1. johnyt11

    johnyt11 Neuer User

    Registriert seit:
    27 Aug. 2004
    Beiträge:
    120
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Irgendwie hab ich ein Problem mit den Variablen im Dialplan.
    Ich habe ein paar Varablen für meine Provider defieniert ,
    die dann abhängig von der rufnummer beim wählen eingesetzt werden.

    mit

    callprov =>2


    setzte ich den Provider 2, also NikotelAccount1

    jetzt werden die Nummern überprüft und wenn sich nichts ändert, wird der Prvider in der Call Zeile richtig eingesetzt.

    mit diesem Befehl wird gewählt:
    exten => _X.,1,Dial(SIP/${vac${callprov}}${EXTEN:1}@${aac${callprov}},60,tT))


    In der CLI kommt folgende Meldung und der Teilnehmer wird angerufen:

    Code:
    -- Executing Goto("Zap/2-1", "providerwahl|05731234567|1") in new stack
        -- Goto (providerwahl,05741602790,1)
        -- Executing Dial("Zap/2-1", "SIP/491231234567@NikotelAccount1|60|tT)") in new stack
        -- Called 495741602790@NikotelAccount1
    
    wenn allerdings jetzt die Anwahl mit
    0150..... anfängt, wird die Variable durch diese Zeile geändert.

    exten => _015.,1,SetVar(callprov=1)


    Dann kommt aber folgende Meldung in der CLI-Konsole:

    Code:
     -- Executing Goto("Zap/2-1", "providerwahl|0151123456789|1") in new stack
        -- Goto (providerwahl,0151123456789,1)
        -- Executing SetVar("Zap/2-1", "callprov=1") in new stack
        -- Executing Congestion("Zap/2-1", "") in new stack
    
    Ich hab doch nur die Variable callprov=1 anstatt callprov=2 abgeändert...
    Was mach ich hier falsch?? :roll:


    Hier noch der auszug aus der extensions.conf

    Code:
    [globals]
    IAXINFO=guest
    
    ;;; Einstellungen & Kurzwahlen & andere Variablen ;;;
    ;; VoIP Provider der zur Zeit für augehende Gespräche genutzt werden soll
    
    ;;;; Provider ;;;;;
    aac1 => 1und1Account1
    aac2 => NikotelAccount1
    aac3 => NikotelAccount2
    aac4 => sipgate1
    
    ;;; Vorwahl für Deutschland der Provider ;;
    vac1 => 49
    vac2 => 49
    vac3 => 49  
    vac4 => 0
    
    ;; Standardtprovider
    callprov =>2
    
    ;
    ;
    ;
    
    [providerwahl]
    ;Handyprovider
    ;exten => _015.,1,SetVar(callprov=1)
    exten => _016.,1,SetVar(callprov=2)
    exten => _017.,1,SetVar(callprov=2)
    
    ;Sonderrufnummern (0180, 0800, 0700)
    exten => _018.,1,SetVar(callprov=4)
    exten => _0700.,1,SetVar(callprov=4)
    exten => _0800.,1,SetVar(callprov=2)
    
    include = outgoing
    
    [outgoing]
    exten => _X.,1,Dial(SIP/${vac${callprov}}${EXTEN:1}@${aac${callprov}},60,tT))
    exten => _X.,2,Congestion
    exten => _X.,3,Busy
    exten => _X.,4,Hangup
    
     
  2. TinTin

    TinTin Aktives Mitglied

    Registriert seit:
    6 Mai 2004
    Beiträge:
    1,864
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hmm, versuch's mal mit SetGlobalVar anstatt SetVar, ist ja eine globale Variable.

    Gruß,
    Tin
     
  3. johnyt11

    johnyt11 Neuer User

    Registriert seit:
    27 Aug. 2004
    Beiträge:
    120
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich habs.

    Das mit "SetGlobalVar" hat nicht geklappt. Damit kamm das gleiche.
    ausserdem stellt "SetGlobalVar" die Variable dauerhaft um.

    Ich hab gemerkt das gar nicht gewählt wird.

    also "include = outgoing" weg.

    exten => _015.,1,SetVar(callprov=3)
    exten => _015.,2,Goto(outgoing|${EXTEN}|1)
    .
    .
    usw.

    so klappts.

    Auszug der extensions.conf
    Code:
    [providerwahl]
    ;Handyprovider
    exten => _015.,1,SetVar(callprov=3)
    exten => _015.,2,Goto(outgoing|${EXTEN}|1)
    
    exten => _016.,1,SetVar(callprov=2)
    exten => _016.,2,Goto(outgoing|${EXTEN}|1)
    
    exten => _017.,1,SetVar(callprov=2)
    exten => _017.,2,Goto(outgoing|${EXTEN}|1)
    
    ;Sonderrufnummern (0180, 0800, 0700)
    exten => _018.,1,SetVar(callprov=4)
    exten => _018.,2,Goto(outgoing|${EXTEN}|1)
    
    exten => _0700.,1,SetVar(callprov=4)
    exten => _0700.,2,Goto(outgoing|${EXTEN}|1)
    
    exten => _0800.,1,SetVar(callprov=2)
    exten => _0800.,2,Goto(outgoing|${EXTEN}|1)
    
    exten => _X.,1,Goto(outgoing|${EXTEN}|1)
    
    [outgoing]
    exten => _X.,1,Dial(SIP/${vac${callprov}}${EXTEN:1}@${aac${callprov}},60,tT))
    exten => _X.,2,Congestion
    exten => _X.,3,Busy
    exten => _X.,4,Hangup