Hallo,
ich möchte eine Lösung programmieren, die einen Anrufer abfängt, wenn ein SIP-Anschluss besetzt ist. Der Ansatz ist dieser: Wenn ein SIP-Gerät abgehend telefoniert oder angerufen wird, wird eine "busy"-Variable hochgezählt. Diese habe ich busy1234 genannt, wo 1234 dynamisch je nach Rufnummer zugewiesen wird (damit auch pro Anschluß der Status abgefragt werden kann). Die Kommandos ChanIsAvail und DIALSTATUS haben nichts gebracht, daher diese Lösung.
Um das zu erreichen, möchte ich eben eine dynamische, globale Variable hochzählen. Leider hat das so nicht funktioniert:
exten => s,n,SetGlobalVar(busy${ARG1}=$[ ${busy${ARG1}}+1])
(Anmerking: ARG1 ist die variable Extension, die die Variable dann busy1234 benennt.)
Asteriskt beschwert sich, da das "+" nicht erwartet wurde. Die Variable war vor dem Wählen leer, also nicht definiert.
Am Ende vom Dialplan, wenn der Zähler nach dem Hangup wieder runtergesetzt wird, klappt es:
exten => s,n,SetGlobalVar(busy${ARG1}=$[${busy${ARG1}}-1])
Ich habe mir die Variable danach per noop ausgeben lassen und es wurde -1 abgezogen. Warum klappt das mit Plus nicht?
Chris
ich möchte eine Lösung programmieren, die einen Anrufer abfängt, wenn ein SIP-Anschluss besetzt ist. Der Ansatz ist dieser: Wenn ein SIP-Gerät abgehend telefoniert oder angerufen wird, wird eine "busy"-Variable hochgezählt. Diese habe ich busy1234 genannt, wo 1234 dynamisch je nach Rufnummer zugewiesen wird (damit auch pro Anschluß der Status abgefragt werden kann). Die Kommandos ChanIsAvail und DIALSTATUS haben nichts gebracht, daher diese Lösung.
Um das zu erreichen, möchte ich eben eine dynamische, globale Variable hochzählen. Leider hat das so nicht funktioniert:
exten => s,n,SetGlobalVar(busy${ARG1}=$[ ${busy${ARG1}}+1])
(Anmerking: ARG1 ist die variable Extension, die die Variable dann busy1234 benennt.)
Asteriskt beschwert sich, da das "+" nicht erwartet wurde. Die Variable war vor dem Wählen leer, also nicht definiert.
Am Ende vom Dialplan, wenn der Zähler nach dem Hangup wieder runtergesetzt wird, klappt es:
exten => s,n,SetGlobalVar(busy${ARG1}=$[${busy${ARG1}}-1])
Ich habe mir die Variable danach per noop ausgeben lassen und es wurde -1 abgezogen. Warum klappt das mit Plus nicht?
Chris