Extensions.conf, el archivo para crear el dialplan

enero 27, 2009

El dialplan esta contenido en el archivo extensions.conf que a su vez se ubica en el directorio /etc/asterisk, este archivo es una especie de script donde viene detallado la configuracion de nuestras extensiones.

Extensions.conf
Como se expreso anteriormente, este archivo permite tener la configuracion de las extensines y para empezar detallaremos en que consiste y como esta conformado este archivo.
Extensions.conf esta compuesto de tres partes funda,mentales que son [general] y [globals]

Contexto [general]
El contexto [general] configura unas pocas opciones generales como son:
static: Indica si se ha de hacer caso a un comando «save dialplan» desde la consola. Por defecto es «yes». Funciona en conjunto con «writeprotect»
writeprotect: Si writeprotect=no y static=yes se permite ejecutar un comando «save dialplan» desde la consola. El valor por defecto es » no» .
autofallthrough: Si está activado y una extensión se queda sin cosas que hacer termina la llamada con BUSY, CONGESTION o HANGUP Si no está activada se queda esperando otra extensión. Nunca debería suceder que una extensión se quede sin cosas que hacer como explicaremos posteriormente.
clearglobalvars: Si está activado se liberan las variables globales cuando se recargan las extensiones o se reinicia Asterisk.
priorityjumping: Si tiene valor ‘yes’, la aplicación soporta ‘jumping’ o salto a diferentes prioridades. En desuso
En general estas opciones no son muy importantes y se pueden dejar tal y como aparecen por defecto.

Contexto [globals]
En este contexto se definen las variables globales que se van a poder utilizar en el resto de los contextos. Por ejemplo
CONSOLE=Console/dsp: indica que cuando hagamos referencia a la variable CONSOLE estamos llamando a /Console/dsp
Las variables suelen ponerse siempre en mayusculas para diferenciarlas posteriormente.
Las variables suelen ponerse siempre en mayusculas para diferenciarlas posteriormente.
contexts, extensions, y variables

Context
El contexto evita que las extensiones entren en una confusion, ya que por medio de este le podemos dar y asignar ciertas caracteristicas, despues mas adelante del manual, se explicara con un ejemplo sencillo.
El nombre del contexto debe ir entre corchetes de este tipo [nombre_contexto], cada contexto tiene una lista de comandos y las diversos usuarios sip o iax pueden pertenecer a estos contextos. Un dialplan puede contar con diversos contextos en la configuración.

Extensions

Las extensiones poseen la siguiente sintaxis:

exten => EXTENSION, PRIORIDAD, COMANDO(ARGUMENTOS)

Existen numerosos comandos o funciones en el dialplan y se especificaran mas en detalle en el punto “Principales funciones o comandos del dialplan”.

Existen 3 tipos de extensiones que son:
constant extension
wildcard extension,
special extension


Funciones del dialplan

enero 27, 2009

El dialplan maneja una serie de funciones que son la base de la configuracion de asterisk, a continuacion estan explicadas de una manera general, esta lista fue tomada de:

http://voip.megawan.com.ar/doku.phpasterisk_funciones_del_dialplan

Funciones generales

Administración de llamadas

Identificación del que llama

ADSI

Manejo de la base de datos

Ver base de datos de asterisk para más información.

Integración de Aplicaciones

Control de flujo y tiempos

Manipulación de variables y strings

Sonidos: Playback

Ver los archivos de sonidos del asterisk para más información.

Sonidos: Grabación y Monitoreo

Funciones SIP

Funciones ZAP

Ver canales ZAP de Asterisk, zapata.conf para más información.

Voicemail y Conferencias

Ver voicemail.conf para más información.

Colas de espera y administración de Agentes

Alarma de Monitoreo

Radio Amateur

  • Función Rpt: soporte para conectar Radio aficionados y repetidores comerciales de 2 vias

Funciones externas (no estan en el CVS)

Aplicaciones Bristuff y zaphfc

Funciones para los canales Sirrix


Archivo sip.conf

enero 26, 2009

El archivo sip.conf ubicado en el directorio /etc/asterisk, nos permite realizar la configuracion de las cuentas que emplean este tipo de protocolo. Este archivo maneja una serie de etiquetas que se deben saber y conocer perfectamente para poder realizar una exitosa configuracion, ademas es importante terner en claro que tipo de implementacion se desea.

Gracias a este excelente blog, tomare prestada la explicacion de cada uno de los items de este archivo, a continuacion la describo:

[general] ; etiqueta que introduce la parte general de la configuración
allowguest=no; No permitir acceso a extensiones SIP sin contraseña
allowsubscribe=yes; esto permite a las extensiones controlar el estado de las demás
bindport=5060; el puerto utilizado para conectar las extensiones SIP al servidor asterisk (protocolo UDP)
bindaddr=0.0.0.0 : la dirección IP para conectarse al servidor Asterisk (en este caso cualquier dirección de la computadora donde está asterisk)
tcpenable=yes; desde la versión 1.6 es posible configurar el servidor para que permita también conexiones TCP;

tcpbindaddr=0.0.0.0:5059; dirección y puerto para las conexiones SIP con protocolo TCP
callevents=yes; Cuando hay eventos (llamadas, etc.) estos vienen notificados al Asterisk Manager (útil para programas externos tipo FOP)
context=phones; el contexto de base que todas las extensiones utilizaran si no viene especificado diversamente
domain=mi dominio; el dominio local para el servidor asterisk. En mi caso son dos.
domain=direccion ip; este es el que uso para conexiones via VPN
notifyringing=yes; notifica si la extensión está timbrando a las demás extensiones (ya veremos como funciona)
notifyhold=yes; notifica si la extensión está en espera
disallow=all; deshabilitar todos los codecs (audio y video) 
allow=ulaw; habilita el codec ulaw de base para todas las extensiones
allow=alaw; igual que arriba para el codec alaw
useragent= softphone a emplear (X-Lite, ekiga, zoiper) ; la centralita se presentará con este nombre. A veces algunos proveedores no permiten conectarse a ellos si reconoces que    detrás de la conexión está un servidor Asterisk. En este modo nos presentamos como si fuéramos el softphone X-Lite
realm=sip.mi dominio.com; si definimos esta opción podremos crear las contraseñas cifradas con el protocolo MD5
t38pt_udptl=yes; permite el uso del protocolo T38 (fax sobre IP) pero solo para conexiones directas
videosupport=yes; Para utilizar conexiones video
srvlookup=yes; permite una gestion optimizada de los DNS (creo). Es muy aconsejado activarlo
limitonpeers = yes; usado para optimizar el control del estado de las extensiones.


Que es el dialplan

diciembre 16, 2008

El dialplan es casi la piedra angular de asterisk, ya que me permite configurar detalladamente las extensiones de los usuarios.

El dialplan hace la funcion de una tabla de enrutado, cada numero que se marca, lee la informacion del dialplan y despues se decide que se hace con esta. El dialplan se organiniza por:

Contextos, extensiones y prioridades.

Contexto es la seccion donde agrupo las extensiones, cada dispositivo SIP, IAX2 o entrada zap van alli configuradas.

Las extensiones se configuran de la siguiente manera:

exten => extension, prioridad, aplicacion

Las extensiones pueden ser un numero o un nombre, como internamente se maneje.

La prioridad como su nombre lo indica me dice cual es el nivel de importancia que le damos a cierta tarea de esa extension, me indican el orden de las acciones a seguir en cada contexto.

La aplicacion es una funcion que permite realizar una tarea especifica.

A continuacion relacionare un ejemplo.

exten => 100,  1, Dial(SIP/softphone)

De buenas a primeras es imposible entender que es esta linea, pero les aclaro que corresponde a la extension 100, con un nivel de prioridad 1 y que ejecutara la funcion Dial() con un protocolo SIP que corresponde a algun softphone.

A medida que vayamos avanzando en el tema, se ira desmenusando mas y mas el dialplan ya que es inmenso.

Por lo pronto es importante tener claro algunas de las funciones del dialplan y los niveles que se encuentran aqui. Para comenzar es importante saber el funcionamiento de las funciones:

Dial() y answer()

(para empezar)

En este link esta mejor detallado la configuracion basica del dialplan.

Como el proposito de esta entrada es solo explicar en que consiste el dialplan no entraremos en detalle de la configuracion de alguna extension, en otras entradas se hara este ejercicio detallandolo lo mejor que se pueda, y como se implementara esta configuracion en PICA.