Debería funcionar ya que la función GLOBAL hace precisamente eso (leer o
escribir el valor de la variable global que le pasas como parámetro).
Ahora, ¿realmente quieres cambiar una variable global en función de una
cabecera SIP? ¿y si llegan 3 INVITE's a la vez cada uno con un valor en dicha
cabecera? ¿te das cuenta de que el valor que añades en "SIPAddHeader" sería
el último recibido y no necesariamente el del INVITE recibido en cada canal?
No lo hagas con globales, es un error. Usa variables locales (sin GLOBAL ni
nada).
--
Iñaki Baz Castillo
<ib...@xtratelecom.es>
Vamos a ver: Imagina que te llegan 3 INVITE a la vez, uno de ellos
con "X-Priority = high" y los otros "low".
Resulta que se ha ejecutado en 3 threads diferentes la primera prioridad
del dialplan:
Set(GLOBAL(DICOMPRI)=${SIP_HEADER(X-Priority)})
y que el último en procesarse es "low".
Acto seguido se ejecuta para los 3 INVITE's (3 threads) la siguiente
prioridad:
SIPAddHeader(X-Priority: ${SIP_HEADER(X-Priority)})
Entonces en los 3 casos el INVITE saldrá con "X-Priority = low". No puedo
imaginar que éste sea el comportamiento que deseas.
> El caso es que no me modifica el valor de la variable global. ¿Puede
> tener que ver con algun parametro de configuración? Gracias!:D
La verdad es que nunca he probado a cambiar el valor de una variable global,
entiendo que debería funcionar a tenor de la documentación, pero ni idea.