Funciones

De Asterisk Wiki
Ir a la navegación Ir a la búsqueda
Format.png Formatear
Esta página necesita ser editada para cumplir los requisitos del wiki.
Puedes revisar todas las páginas sin suficiente formato en este enlace.
Alert.png To Do
Esta página necesita ser completada.
Puedes revisar todas las páginas por completar en este enlace.


Las funciones, son un tipo de módulos de Asterisk que sirven exclusivamente para aportar una mejoría de algún tipo a las aplicaciones principales. En si no son imprescindibles, pero es fundamental utilizarlas para alcanzar un perfeccionamiento general del sistema.

Logo Asterisk

Sintaxis

Las funciones utilizan exactamente la misma sintaxis que las variables, de hecho exactamente la misma sintaxis que las variables compartidas (SHARED).

  • Para asignar un valor sería utilizando la Aplicación Set: Set(TIMEOUT(absolute)=1000)
  • Para ver el valor que tiene la función, simplemente ${TIMEOUT(absolute)}

A priori pueden parecer funciones, pero tienen una estructura "funcional" y de procesamiento en su interior lo suficientemente compleja, dado que son modulos. Puede verse su metodo de operación desde la interfaz CLI utilizando el siguiente comando

CLI> core show function <nombre>


Ejemplo:

CLI> core show function TIMEOUT
-= Info about function 'TIMEOUT' =-
[Synopsis]
Gets or sets timeouts on the channel. Timeout values are in seconds.


Podemos ver todas las funciones disponibles si las buscamos como módulos dado que realmente son ficheros del tipo "func_timeout.so" dentro de /usr/lib/asterisk/modules/

CLI> module show like func


Funciones Principales

Existen muchas funciones, pero las más comunes son las siguientes

TIMEOUT

Dentro del apartado Introducción Dialplan existe unos tipos de extensiones especiales llamadas "t" y "T" que se activan, cuando el valor fijado para esta función llega a 0. Existen distintos valores para asignar a la funcion TIMEOUT.

  • TIMEOUT(absolute): afecta a la extensión "T" (timeout absoluto), se especifica en segundos, y cuando la cuenta llega a 0 se ejecuta esta extensión forzosamente en el contexto que nos encontremos.
  • TIMEOUT(response): afecta al tiempo de "respuesta" del usuario, marcando teclas, cuando es solicitado a hacerlo. En caso que el tiempo cumpla, exactamente igual que absolute, pero se dirigiria a la extensión "t" (timeout relativo)
  • TIMEOUT(digit): tiempo total disponible para marcar cada dígito antes que se considere una secuencia completa de digitos, y se haga la asociación dentro del dialplan. En caso que eventualmente cumpla este tiempo, y no hayamos pulsado la extensión deseada, es posible que la marcación hasta ese momento no sea asociable a ninguna extensión, asi que, al igual que al pulsar cualquier combinación inexistente, nos redirigiría a la extensión "i" (invalida).

Subitutlo 2.1.1

Info del Subtitulo 2.1.1 [1]

Referencias

  1. 10000 Horas, Manuel Camargo (2010)

Véase también

Enlaces Externos