[erledigt] Wieso wird die Variable falsch gesetzt?

johnyt11

Neuer User
Mitglied seit
27 Aug 2004
Beiträge
120
Punkte für Reaktionen
0
Punkte
16
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/[email protected]|60|tT)") in new stack
    -- Called [email protected]

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
 

TinTin

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

Gruß,
Tin
 

johnyt11

Neuer User
Mitglied seit
27 Aug 2004
Beiträge
120
Punkte für Reaktionen
0
Punkte
16
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
 

Zurzeit aktive Besucher

3CX

Statistik des Forums

Themen
237,537
Beiträge
2,095,462
Mitglieder
359,827
Neuestes Mitglied
antenna

Erhalten Sie 3CX für 1 Jahr kostenlos!

Gehostet, in Ihrer privaten Cloud oder on-Premise! Ganz ohne Haken. Geben Sie Ihren Namen und Ihre E-Mail an und los geht´s:

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.
oder via