Podemos definir el DialPlan o Plan de Marcacion, como un grupo de reglas que le indican a la central PBX-IP que hacer o como manejar los numeros marcados por un usuario. El dialplan hace la funcion de una tabla de enrutamiento de llamadas, cada numero que se marca, lee la informacion del dialplan y despues se decide hacia donde se dirigen; estos numeros pueden ingresar o salir del sistema.

Por ejemplo, se marca un numero por un usuario, se puede manejar el numero con un patron de marcado, para añadir o quitar algo. Se utiliza tanto en la ruta de salida y de entrada. Basicamente, el numero es analizado primero en el dialplan, si cumple ciertas condiciones predefinidas, este numero puede ser enviado hacia afuera por medio de una troncal, enviado a una extension internamente o puede ejecutar ciertas funciones en la PBX-IP, todo dependera de lo que se haya definido en el plan de marcacion o DialPlan.

El Plan de Marcación, llamado Dialplan en Asterisk, podría considerarse la columna vertebral del sistema. Como caracteristica principal, podriamos decir que es algo parecido a un lenguaje de script, en el que funciones, aplicaciones y recursos se van intercalando para formar algo parecido a “procedimientos” y “programas” dentro de lo que pudiera considerarse.
Este paradigma de programación orientado a los canales de telefonía es exclusivo en el mundo y aporta todo el potencial y flexibilidad, que las PBX tradicionales no pueden ofrecer, o lo hacen mediante mecanismos de licenciamiento y estructuras en ocasiones demasiado complejas.

Algo tan sencillo como crear un calendario de disponibilidad, suele ser una función que las centrales más nuevas y sofisticadas del mercado solo consiguen aplicando estrategias que en la mayor parte de los casos quedan limitadas a una serie de plantillas que no cubren la totalidad de la posible intención que requiera el cliente. Por ejemplo cuando hablamos de horarios por departamentos, se considera un proceso clásico en Asterisk, que en cambio, en algunas PBX, puede convertirse en un mundo.

Conceptos Esenciales

Para empezar a desarrollar un posible Dialplan, vamos a ver algunos conceptos básicos en los que se fundamenta todo el potencial.
El Dialplan se fundamenta principalmente en un archivo, aunque se pueden incluir archivos auxiliares adicionales, llamado extensions.conf, dentro del directorio de configuraciones generales /etc/asterisk.

Hay algunas reglas que se deben de seguir para para la definición del plan de marcado:
X: representa un número entre 0 y 9
Z: representar un número entre 1 y 9
N: representar un número entre 2 a 9
. : Cuando hay un punto en el patron, lo que significa es que puede haber mas numeros despues del punto.
|: Esto significa que el numero antes del simbolo | se quitara.
[]: Si usted quiere elegir su número, por ejemplo, [1356] que significa un número entre 1, 3, 5 y 6. O [3-7] es un número de entre 3 y 7
Por ejemplo:
9 | X | es un modelo popular. Esto significa elegir los números comienzan con 9, tomar la 9 y enviar el resto a su destino.
ZX este modelo significa los números marcados que son de 2 dígitos, y su primer número está entre 1 y 9, y su segundo número entre 0 y 9.
NX. Esto significa número de 3 dígitos y más que su primer número es entre 2 a 9 y el resto puede ser cualquier cosa.
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.

Concepto de Marcación

Cuando hablamos de Plan de Marcación, hacemos referencia literalmente a esto: La Marcación en un teléfono, o dispositivo de cualquier tipo (no tiene que ser necesariamente los clásicos 10 números (del 0 al 9), sino también empezamos a incluir el concepto de carácter alfanumérico).

Una vez realizado el marcado, este, entraría como una “entrada” dentro de nuestro plan de marcación por el contexto que corresponda, en función de como hayamos definido nuestro el canal al que hace referencia nuestro dispositivo SIP, IAX, etc. Dentro de este contexto, la entrada (la marcación que hicimos), empieza a recorrer el script secuencialmente y a partir de ahí pueden surgir una serie de eventos asociados a esa entrada que en cualquier caso siempre suelen tener algo que ver con el mundo de la comunicación, aunque no necesariamente, ya que por ejemplo, podría darse un caso curioso de una aplicación concreta, como es la de al Marcar los números 1-1-1 en nuestro teléfono, y que se encendiera la luz de nuestro despacho.

Contextos

Los contextos son la forma de categorizar o englobar , una serie de procedimientos en función de la marcación a la que hacemos referencia desde el dispositivo que la hacemos. La sintaxis típica seria un nombre de contexto englobado entre corchetes, algo asi: [contexto].

Por ejemplo si nuestro dispositivo, que opera a traves del protocolo SIP, le indicamos que al realizar su Marcación, la envíe al contexto [general] dentro de nuestro Dialplan, definiremos que hace una posible marcación realizada en forma de extensión.

Hay que considerar que en caso que un dispositivo no tenga especificado un contexto en concreto, todas sus marcaciones se redirigiran directamente a un contexto genérico llamado [default]
< strong>Extensiones

Dentro de los contextos, se van definiendo las posibilidades concretas para un conjunto de marcaciones o como dijimos antes, extensiones.
Para definir una extensión se hace poniendo la palabra “exten =>” delante de la marcación a la que queremos hacer referencia (ejemplo exten => 111). Como comentabamos antes, hay que recordar que el concepto de marcación gracias a Asterisk no solo se limita a caracteres númericos, sino que se expande a los alfanumericos, por tanto la extensión, exten => doe también se podría considerar una extensión valida.

La sintaxis correcta sería: exten => ,,

Prioridades

Una Extensión, al ser de alguna forma como un lenguaje de script, puede tener varias funciones, o aplicaciones de forma secuencial. Al marcar la extensión 111, si la intención es que prepare la comida del horno, en primer lugar, podríamos requerir que programara la temperatura, en segundo lugar, que programara el tiempo de horneado, y en tercer lugar que lanzara la orden de calentado. Como queremos que este “algoritmo” siga un orden establecido, esto lo hacemos a través de las prioridades, que se conforman en orden secuencial numerico (el 1, el 2, el 3), aunque también podemos hacer una llamada recursiva a un contador interno para que vaya aumentando de forma “automática” (el 1, el 2, el n+1 (3), el n+1 (4) etc). La n viene de next, y es importante recalcar que la primera prioridad siempre ha de ser la número 1.

Gestión de Variables
Como en todo buen lenguaje de programación o en este caso, de script, es fundamental que exista un mecanismo para almacenar Variables. Las variables pueden almacenar múltiples tipos de información pero no tan extendido como en otros lenguajes. Principalmente se usan para simplificar el código o hacerlo más legible.

Existen cuatro tipos de variables:

• Variables de Canales
• Variables Globales
• Variables de Entorno
• Variables Compartidas

[rev_slider captions]
[rev_slider ServerVoip]
 


Variables de Entorno

Son un tipo de variables muy poco utilizadas por el sistema Asterisk ya que sirven para acceder a las variables de entorno de nuestro sistema *NIX. La sintaxis es muy sencilla: ${ENV()}. Por ejemplo la variable de entorno HOME, que indica la ruta al directorio principal del usuario que ejecuta el sistema en ese momento podria obtenerse (si por ejemplo quisiéramos escribir un fichero de audio especifico dentro de ese directorio a través de una combinación de aplicaciones en una extensión).
Variables Compartidas

De reciente incorporación, podrían considerarse un subconjunto de variables locales o de canal, ya que de alguna forma, tienen la misma naturaleza, pero sirven para ser compartidas específicamente por dos o mas canales. Realmente se introdujo para poder ofrecer esta funcionalidad especifica, de poder extender el uso de una variable de canal, a otros por necesidades muy concretas.

La definición de esta variable al igual que las de canal es a través de la aplicación set: Set(SHARED(CONTADOR,SIP/ext11)). Así “escribimos” la variable CONTADOR en el canal SIP/ext11, y este en su ejecución podría acceder a la misma muy parecido al resto de las variables: ${SHARED(CONTADOR,SIP/ext11}

Asociación de Patrones de Extensiones

Regularmente las extensiones han de definirse literalmente como deben ser marcadas para poder ser alcanzadas en el Plan de Marcación.
Pero excepcionalmente existe un mecanismo para hacer una Asociación, entre un marcado en concreto, y una extensión que define un patrón general, que puede englobar múltiples

combinaciones de extensiones.

Para poder crear un patrón, la sintaxis sería simplemente, poner un guión bajo delante de la extensión que va a contener el mismo (ejemplo: exten => _1X,…). En este caso del ejemplo estamos diciendo que todas las marcaciones de dos dígitos, que empiecen por 1, entrarán por este patrón, siempre y cuando no exista una extensión literal que se pueda asociar directamente y sea accesible desde el mismo contexto.

Tomado de: http://elastixtech.com/dialplan-o-plan-de-marcacion/

Telefonía VoIP con SoftSwitch

ServerVoIP te proporciona todas las herramientas necesarias para que crees y desarrolles tu negocio de comunicación por internet.

Pertenece al Selecto Grupo de Emprendedores que decidieron cambiar su vida invirtiendo en un Server con ServerVoIP.

empresario

SOLICITA TU SERVER AHORA ►

 

ServerVoip presenta el mejor server fisico dedicado para telefonia voip que incluye el software de telefonía ip «VoipSwitch» especial para voz sobre ip.

VoipSwitch es la plataforma ideal para que sin necesidad de conocimientos técnicos crees tu propia empresa de Telefonía IP VoIP y encuentres una forma de ganar DINERO en la red siendo carrier de telefonía sobre Ip (Voip).

Te brindamos todas las herramientas para que estés al nivel de las grandes empresas y negocios; puedas obsequiar llamadas gratis como estrategia de marketing en fidelización a tus clientes / free entre tus clientes; el servidor VoIP te permite utilizar múltiples proveedores como nosotros tenemos www.alosip.com. (carrier / routes) para un mismo destino, vender terminación (wholesale), clientes finales (retail), etc.

El software te proporciona todo lo que necesitas; sistema llave en mano: para crear tu empresa de telefonía IP (VoIP) bajo tu propio nombre o marca. Más información en marcaBlanca.servervoip.com

Para que CREES y DESARROLLES tu propia empresa de telefonia por internet, revisa más detalles en VoIPSwitch


¿Quieres Emprender por Internet?

«Ahora Trabajar desde la Comodidad de tu Casa y Ganar Dinero por Internet… Nunca Había Sido tan Fácil, Rápido y con RESULTADOS Impresionantes»

Descubre el NEGOCIO Perfecto y conviértete en un EMPRESARIO de Éxito creando y desarrollando tu Propia Empresa de Telefonía por Internet. Suscríbete y RECIBE FREE:

¡Sie7e Poderosas Razones Que Tiene el EMPRENDEDOR Exitoso para Crear su Propia Empresa de Telefonía por Internet VoIP!…

libro server voip

Bancos en Ecuador para Alquilar un VoIPSwitch Server

About Franklin Matango

Ing. Experto en VoipSwitch, Autor Best Seller Amazon "Tu Empresa de Telefonia" :-) Master en Marketing Online y Comercio Electronico, Master en Administracion de Empresas (MBA) mencion Negocios Internacionales. 593 62612554 www. ServerVoip.com