miércoles, 19 de agosto de 2009

FreeSWITCH, Configuración de extensiones

directory en FreeSWITCH

La carpeta directory contiene las extensiones SIP que se pueden registrar con FreeSWITCH, la configuración por default obliga a que las extensiones se autentiquen antes de aceptar su registro, posteriormente veremos como cambiar este comportamiento.

Cuando se instala en la carpeta directory se encuentra el archivo default.xml el cual define principalmente:

Mas información en:
http://wiki.freeswitch.org/wiki/Default_config
http://wiki.freeswitch.org/wiki/Config_directory.xml

domain: dominio o IP que identifica la extensión SIP de la forma numero_extension@domain_o_IP (ej: 1000@192.168.7.100).
group: definición de grupos de extensiones para hacer llamadas a un grupo
de tal forma que timbren todas las extensiones, la sintaxis para crealos es
la siguiente:

<group name="nombre_del_grupo">
<users>
<user id="numero_extension_1" type="pointer"/>
<user id="numero_extension_2" type="pointer"/>
<user id="numero_extension_n" type="pointer"/>
</users>
</group>

numero_extension_1 debe existir como un archivo XML en la carpeta directory

El tipo "pointer" permite que la misma definición de la extensión se pueda usar en multimples grupos sin ser necesario crear multiples
archivos XML con la información de la extensión.

  • Uno de las entradas mas importantes de default.xml es la inclusión de todos los archivos XML que se encuentran ubicados en
    directroy/default/*.xml, con lo cual las extensiones se deberían definir en esta carpeta.

Extensiones en FreeSWITCH

Las extensiones que se registran con FreeSWITCH se deben ubicar en la carpeta conf/directory/default, estan definidas en archivo XML, comunmente los archivos se nombran con el identificador de la extensión.

Por ejemplo para definir la extensíón 1000 creamos el archivo 1000.xml con el siguiente contenido:

<include>
<user id="1000">
<params>
<param name="password" value="1000"/>
<param name="vm-password" value="1000"/>
</params>
<variables>
<variable name="toll_allow" value="domestic,international,local"/>
<variable name="accountcode" value="1000"/>
<variable name="user_context" value="default"/>
<variable name="effective_caller_id_name" value="Extension 1000"/>
<variable name="effective_caller_id_number" value="1000"/>
<variable name="outbound_caller_id_name"
value="$${outbound_caller_name}"/>
<variable name="outbound_caller_id_number"
value="$${outbound_caller_id}"/>
<variable name="callgroup" value="techsupport"/>
</variables>
</user>
&</include>

Algunas de las no obvias definiciones son:

vm-password: clave para accesar el buzón de voz
toll_allow: tipo de llamadas permitidas para la extensión: domestic,international,local.

Esta definición tiene sentido en el plan de marcación ( http://www.mail-archive.com/freeswitch-users@lists.freeswitch.org/msg02616.html)

accountcode: código asignado a la extensión, es usado para fines de tarificación por ello debe ser único por extensión

user_context: contexto de la extensión, define a que contexto pertenece la extensión. Un contexto una form lógica para agrupar extensiones.

No hay comentarios:

Publicar un comentario