Funciones avanzadas
Funciones avanzadas es una ampliación de la sección de Funciones en el que encontrará componentes de utilidad para programar comportamientos más complejos de respuesta a las llamadas recibidads. En general los componentes se gestionan de igual forma los de la sección de Funciones. La principal diferencia con el resto de funciones radica en el uso que las funciones avanzadas realizan de variables de llamada y expresiones, similar a la programación de aplicaciones.
Conceptos generales. Variables y expresiones.
Variables
Las variables de llamada son la base que le permite diseñar sistemas más complejos e interactivos de centralita y comunicar ésta con aplicaciones web externas. Como en la programación de aplicaciones informáticas las variables guardan valores y en algunos casos permiten su modificación. En cualquier punto de la centralita donde quiera utilizar una variable debe escribirla entre llaves, por ejemplo {NUM}.
En el panel de control puede utilizar dos tipos de funciones: globales o del sistema y locales o de usuario. Las variables globales le permiten acceder a caracternísticas de las llamadas y no pueden ser modificadas; entre ellas se ecuentran:
- {CALLTAGS}: esta variable contiene todas las etiquetas que hayamos establecido sobre la llamada, principalmente por el componente Etiqueta (LINK).
- {CALLERID(name)}: es el nombre de la persona que llama, si es que hemos indicado un nombre para la extensión. En caso de llamadas externas es el número que se muestra en el teléfono.
- {CALLERID(num)}: es el número que llama. En el caso de una extensión el número de la misma y en el caso de llamadas externas el número de telefóno.
Las variables de llamada permiten a la persona que llama interactuar con diversos componentes. Por ejemplo, usted puede capturar una serie de pulsaciones del teclado telefónico (Obtener dígitos) y hacer que la llamada sea desviada en función del valor de dichas pulsaciones (Si expresión) o realizar operaciones sobre el valor de dichas pulsaciones (Asignar) o leer el valor (Texto leido) o realizar una llamada a una aplicación web con el valor obtenido (Llamar a URL).
Expresiones
En algunos componentes está permitido el uso de expresiones. Una expresión puede ser un número, un texto, una variable o una combinación de varios de estos elementos mediante la utilización de operadores. Ej. {mivariable} + 3. Entre los diferentes elementos de una operación y los operadores ha de dejarse un espacio, salvo en el caso de la concatenación, como veremos más adelante. Los operadores pueden diferenciarse, por el resultado en boleanos, matemáticos y de cadenas.
Operadores boleanos
- Expr1 | Expr2. La barra vertical representa un "o lógico". La operación devolverá verdadero si una de las expresiones o ambas son ciertas.
- Expr1 & Expr2. Se trata de un "y lógico". La operación sólo devolverá verdadero cuando ambas expresiones sean verdaderas.
- Expr1 (=, > , >=, <, <=, !=) Expr2. Estos operadores realizan una comparación de enteros si ambas expresiones son enteras o una comparación de cadenas en caso contrario.
Operadores matemáticos
-
Expr1 (+, -, *, /, %) Expr2. Estos operadores devuelven, respectivamente, la suma, la resta, la multiplicación, la división o el resto de la división entre 2 expresiones enteras.
Concatenación de cadenas
- Para realizar la concatenación de dos expresiones considerándolas como cadenas basta con que las coloque juntas. Ej. 0001{variablenombre} nos devolverá 0001 concatenado al contenido de la variable {variablenombre}.
Funciones
Las funciones directamente relacionadas con el uso de variables y expresiones de las que dispone en el panel de control en su sección de Funciones avanzadas son las siguientes:
Obtener dígitos
Captura en la variable indicada los dígitos marcados por el usuario. Para completar la recogida de dígitos el usuario ha de marcar obligatoriamente #. Como en otras funciones es conveniente añadir delante un componente como Reproducir que informe al interlocutor de que se expera que introduzca un número y después marque #. Indique en el campo Variable el nombre de la variable en la que desea guardar el número tecleado y en Esperar (segs.) el tiempo en segundos que desea que tenga la persona que llama para introducirlos. Una vez pulsada # la espera terminará automáticamente, así que puede indicar un valor alto.
Asignar variable
Este componente le permite asignar a una variable el resultado de una expresión. Indique en Variable la variable en la que quiere obtener el resultado de la expresión y en Expresión la expresión a evaluar.
Si expresión
Si expresión permite desviar el flujo de la llamada en función de si una expresión se cumple o no. Por lo tanto el resultado de la expresión que indique debe ser verdadero o falso. Las expresiones van evaluándose de la primera a la última y en caso de cumplirse una de ellas la llamada será desviada por el conector situado a la derecha de la expresión. Como en otros componentes con múltiples opciones puede añadir una nueva expresión pulsando sobre el signo "+" y eliminar una pulsando el signo "-". Si ninguna función se cumple la llamada continuará por el conector situado en la parte inferior.



