Asterisk 1.6 -variablen - Hilfe benötigt!

thorsten.gehrig

Mitglied
Mitglied seit
14 Jun 2004
Beiträge
493
Punkte für Reaktionen
0
Punkte
16
Hallo,
ich habe gerade mal die aktuelle 1.6er Beta installiert. Folgender Codeschnipsel meiner extensions.conf funktioniert nicht:
exten => s,3,Set(counter=$[${counter}+1])

wie muss ich das in 1.6 aufbaumen damit die variable funktioniert?
bin für jede hilfe dankbar

Gruß
thorsten gehrig
 
möglich, dass das in der 1.6er deprecated ist, geht jetzt scheinbar nur noch über die "MATH" function:
Code:
...
exten = s,3,Set(counter=${MATH(${counter}+1,int)})
...
wobei du das ",int" weglassen könntest.

Code:
*CLI> core show function MATH
  -= Info about function 'MATH' =- 
 
[Syntax]
MATH(<number1><op><number 2>[,<type_of_result>])
 
[Synopsis]
Performs Mathematical Functions
 
[Description]
Perform calculation on number 1 to number 2. Valid ops are: 
    +,-,/,*,%,<,>,>=,<=,==
and behave as their C equivalents.
<type_of_result> - wanted type of result:
        f, float - float(default)
        i, int - integer,
        h, hex - hex,
        c, char - char
Example: Set(i=${MATH(123%16,int)}) - sets var i=11

grüße,
laureen
 
Hi
schonmal vielen dank. Werde ich heute abend oder morgen ausprobieren und berichten.
Gruß
Thorsten

Nachtrag: erster versuch - wird leider mit wie folgt beantwortet:
Code:
func_math.c:194 math: '' is not a valid number
 
Zuletzt bearbeitet:
Variable and funcion are keysensitive! Please write MATH
 
Variable and funcion are keysensitive! Please write MATH

Ist das wirklich so? Die Fehlermeldung bezieht sich ja schon auf die math-func

Code:
[B]func_math.c[/B]:194 math: '' is not a valid number

Von daher ist math ja schon aufgerufen! Der Fehler liegt eher in der Nicht-Initialisierung von counter. Setzte mal ein

Code:
ExecIf($[ ${LEN(${counter})} = 0 ]|Set|counter=0)

davor. Das sollte dann klappen...
 
Zuletzt bearbeitet:
Hi
@jobisoft: du hast recht - es lag nicht am case-sensitive.
aber die variable wurde trotzdem schon vorher initialisiert - daran sollte es eigentlich auch nicht gelegen haben...
Code:
;exten => s,1,Set(sipcount=${ENUMLOOKUP(+49${MACRO_EXTEN:2},sip,c)}|counter=0)
;exten => s,2,GotoIf($["${counter}"<"${sipcount}"]?3:6)
;exten => s,3,Set(counter=${MATH(${counter}+1,int)})
;exten => s,4,Dial(SIP/${ENUMLOOKUP(+49${MACRO_EXTEN:2},sip,${counter})})
;exten => s,5,GotoIf($["${counter}"<"${sipcount}"]?3:6)
;
;exten => s,6,Set(iaxcount=${ENUMLOOKUP(+49${MACRO_EXTEN:2},iax2,c)}|counter=0)
;exten => s,7,GotoIf($["${counter}"<"${iaxcount}"]?8:11)
;exten => s,8,Set(counter=${MATH(${counter}+1,int)})
;exten => s,9,Dial(IAX2/${ENUMLOOKUP(+49${MACRO_EXTEN:2},iax2,${counter})})
;exten => s,10,GotoIf($["${counter}"<"${iaxcount}"]?8:11)
;
;exten => s,11,NoOp("No valid entries in e164.arpa for ${EXTEN} - checking in e164.org")
;
; ...then also try e164.org, and look for SIP and IAX NAPTRs...
;
;exten => s,12,Set(sipcount=${ENUMLOOKUP(+49${MACRO_EXTEN:2},sip,c,e164.org)}|counter=0)
;exten => s,13,GotoIf($["${counter}"<"${sipcount}"]?14:17)
;exten => s,14,Set(counter=${MATH(${counter}+1,int)})
;exten => s,15,Dial(SIP/${ENUMLOOKUP(+49${MACRO_EXTEN:2},sip,${counter},e164.org)})
;exten => s,16,GotoIf($["${counter}"<"${sipcount}"]?14:17)
;
;exten => s,17,Set(iaxcount=${ENUMLOOKUP(+49${MACRO_EXTEN:2},iax2,c,e164.org)}|counter=0)
;exten => s,18,GotoIf($["${counter}"<"${iaxcount}"]?19:22)
;exten => s,19,Set(counter=${MATH(${counter}+1,int)})
;exten => s,20,Dial(IAX2/${ENUMLOOKUP(+49${MACRO_EXTEN:2},iax2,${counter},e164.org)})
;exten => s,21,GotoIf($["${counter}"<"${iaxcount}"]?19:22)
;
; ...then send out PRI.
;
;exten => s,22,NoOp("No valid entries in e164.org for ${EXTEN} - sending out via Zap")
;exten => s,23,Dial(Zap/g1/${EXTEN})
;exten => s,23,Dial(SIP/${MACRO_EXTEN:1}@dusnet,90,T)
Das ganze war in meiner ENUM-Section - was unter 1.4 sauber läuft.
Derzeit bin ich erstmal wider bei 1.4 - daher kann ich das z.Zt. nicht testen.

Ich vermute mal wenn man sich unter 1.6 mit ENUM nochmal auseinandersetzt gibt es da sauberere lösungen als unter 1.4?

Gruß
Thorsten
 
Zuletzt bearbeitet:
Kostenlos!

Statistik des Forums

Themen
248,886
Beiträge
2,304,055
Mitglieder
378,567
Neuestes Mitglied
toenizz