Diferencia entre revisiones de «Telefonía IP con Asterisks federados»

De Guifi.net - Wiki Hispano

(Introducción)
 
(No se muestran 15 ediciones intermedias realizadas por un usuario)
Línea 1: Línea 1:
 
=Introducción=
 
=Introducción=
  
El despliegue de una infraestructura de telefonía con centralitas VOIP en [http://guifi.net guifi.net] es un proyecto complejo, ya que implica definir una política común de trabajo para todos los sistemas heterogéneos ya desplegados por la red y poner de acuerdo a todo el mundo en una arquitectura de montaje y en un plan de numeración. Este proyecto proporciona una solución simple, clara, funcional e integrada con la actual arquitectura de [http://guifi.net guifi.net].
+
El despliegue de una infraestructura de telefonía con centralitas VOIP en [http://guifi.net guifi.net] es un proyecto complejo, ya que implica definir una política común de trabajo para todos los sistemas heterogéneos ya desplegados por la red y poner de acuerdo a todo el mundo en una arquitectura de montaje y en un plan de numeración. Este proyecto que pasamos a definir proporciona una solución simple, clara, funcional e integrada con la actual arquitectura de [http://guifi.net guifi.net].
  
  
Línea 33: Línea 33:
  
 
=Perfiles de usuarios de la infraestrucutra de VOIP=
 
=Perfiles de usuarios de la infraestrucutra de VOIP=
Definimos tres tipos de usuarios que intervienen en este montaje. Pasemos a detallarlos.
+
Definimos tres tipos de usuarios que intervienen en esta infraestructura, en función del tipo de usuario deberemos acceder a una documentación u otra.
  
 
==Usuario de voz==
 
==Usuario de voz==
Es un usuario de la red guifi.net que quiere conectarse a la infraestructura VOIP desplegada.
+
Es un usuario de la red guifi.net que quiere conectarse a la infraestructura de VOIP federada, es decir, obtener una extensión telefónica con la cual poder llamar a cualquier otra extensión dentro de la red. Básicamente, deberá registrar su teléfono VOIP en su nodo, y obtener así una extensión de una de las centralitas ya montadas en su provincia. Existe una página con información detallada de todos estos pasos:
===Gestión web de su extensión===
+
Necesitará registrar una nueva extensión telefónica en la web de guifi.net de su nodo. De manera sencilla obtendrá una extensión en la centralita telefónica más cercana (o en la centralita telefónica que él quiera) y los datos de configuración necesarios para establecer la conexión. Básicamente los datos necesarios son:
+
  
* IP de la centralita.
+
* [[Asterisks federados: Usuario de voz]]
* Usuario (coincide con la extensión).
+
* Contraseña
+
  
Desde esa misma gestión podrá aceptar/denegar la publicación de su extensión telefónica en unas páginas blancas y escribir su nombre completo para identificarse en el CallerID.
+
==Administrador Asterisk==
 +
Si eres un usuario que quieres ofrecer un servidor asterisk que dé servicio de telefonía IP federada a tu zona guifi.net, deberás seguir unos pasos específicos para realizar el montaje: por un lado registrar tu centralita como nuevo servicio en la web de guifi.net, y una vez aprobado el enlace con el enrutador SIP por parte de los administradores, montar y configurar Asterisk, ya sea por tu cuenta o con los scripts que podrás encontrar para facilitar esta tarea. Aquí está la documentación completa de este proceso:
  
===Configuración y utilización de su extensión===
+
* [[Asterisks federados: Administrador Asterisk]]
Podrá utilizar un softphone o un simple adaptador telefónico que deberá configurar con los datos previamente obtenidos para acceder a toda la red de telefonía ya habilitada.
+
  
Existirán manuales de configuración para los diferentes tipos de dispositivos que nos permitirán conectar nuestra extensión a la centralita: softphones varios, PAP2, teléfonos SIP nativos, etc. (Detallar todas las posibilidades lo máximo posible).
+
==Administrador Kamailio==
 +
La central SIP encargada de enrutar llamadas para interconectar las diferentes centralitas interconectadas a ella, está basada en el software [http://www.kamailio.org/w/ Kamailio].  
  
==Administrador asterisk==
+
Esta central estará administrada por un grupo reducido (que no cerrado) de personas, que serán las encargadas de aprobar los diferentes enlaces entre las centralitas, y de configurar/administrar/solucionar problemas que vayan apareciendo en la centralita Kamailio.
===Gestión web del alta de la centralita===
+
Para aquellos usuarios que quieran montar un servidor asterisk que dé servicio de telefonía a una zona guifi.net, deberán dar de alta el servidor PABX Asterisk en la web de guifi.net. Para ello tendrán disponible un nuevo servicio "Servidor Asterisk en la infraestructura sip.guifi.net" en la web, donde podrán registrar la creación del servidor, con una serie de consideraciones a tener en cuenta.
+
  
* Si no existe ninguna centralita en su zona, se dará de alta su centralita, asignándole un prefijo telefónico (dependiente del código postal de la zona) y tendrá acceso a una página privada de configuración donde podrá consultar el usuario/contraseña de trunking contra el servidor Kamailio.
+
Tenemos un servidor dedicado a este cometido, dentro de la propia red de guifi.net. Este servidor es crítico ya que ante una caida del servicio Kamailio se pierden temporalmente los enlaces entre centralitas. Es por eso que estamos investigando la posibilidad de escalar ante una gran demanda, y de poner el servido en alta disponibilidad.
 
+
* Si ya existe un servidor en la zona, se le avisará al usuario, recomendándole que utilice el servidor ya disponible en su zona. Si aún así está decidido a montar el nuevo servidor en la zona, podrá hacerlo (hasta un máximo de 5 servidores por zona).
+
 
+
* Si se ha superado el máximo de 5 servidores por zona, y aún así considera que es necesario un nuevo servidor, deberá ponerse en contacto con los administradores de Kamailio comentándoles la situación.
+
 
+
La motivación de poner restricciones para la creación indiscriminada de servidores es que en el modelo propuesto no es conveniente que existan un número elevado de servidores PABX infrautilizados conectados a Kamailio, por lo que es conveniente intentar que las centralitas crezcan con la densidad de usuarios recomendada.
+
 
+
* [[Como dar de alta una centralita Asterisk PABX en la infraestructura sip.guifi.net]]
+
 
+
===Instalación y configuración de la centralita===
+
Se les proporcionará unos scripts de instalación y configuración de Asterisk, de manera que a partir de un servidor basado en Linux podrá tener corriendo su centralita Asterisk de manera sencilla gracias a estas utilidades.
+
* Script de descarga, compilación e instalación de Asterisk. Ya tiene una primera versión en desarrollo aquí: [https://github.com/tombatossals/voz https://github.com/tombatossals/voz].
+
* Script de descargar de github de las plantillas de configuración genericas.
+
 
+
El administrador de la centralita únicamente deberá modificar los archivos de configuración correspondientes para establecer el trunking con Kamailio, y definir su prefijo telefónico.
+
 
+
La centralita actualizará las extensiones (usuarios/contraseñas) que se vayan creando los usuarios (en función de la gente que se va registrando a su centralita por la web de guifi.net como hemos comentado antes) mediante un cron que descargará la configuración vía web de guifi.net.
+
 
+
==Administrador Kamailio==
+
La central SIP que enrutará llamadas para interconectar centralitas está basada en el software [http://www.kamailio.org/w/ Kamailio]. El sistema propone un modelo centralizado, pero soporta escalabilidad y alta disponibilidad.
+
  
Toda la configuración del servidor se publicará en una página web de información o en el propio repositorio github de donde descargamos el resto de utilidades.
+
Toda la documentación referente a la puesta en marcha/configuración de este servicio está documentada aquí:
  
=Cómo conectar a Asterisk=
+
* [[Asterisks federados: Kamailio]]
Como usuario final disponemos de varias opciones hardware/software para empezar a utilizar la nueva extensión telefónica.
+
  
* [[Como conectar a Asterisk]]
+
=Software utilizado en la infraestructura=
  
 +
* [http://www.kamailio.org/ Kamailio SIP Server].
 +
* [http://www.asterisk.org/ Centralita telefónica Asterisk].
 +
* [https://github.com/tombatossals/voz Scripts de instalación y configuración de la centralita]
 +
* [http://php.net PHP Scripting Language]
 +
* [http://mysql.com Mysql Database Server]
 +
* [http://nginx.com Nginx Web Server]
  
 
=Documentación=
 
=Documentación=
  
* Presentación Piloto VoIP: http://www.slideshare.net/alexbogus/piloto-voip-en-guifinet
+
* [http://www.slideshare.net/alexbogus/piloto-voip-en-guifinet Presentación Piloto VoIP]
* PAD para la coordinación de pruebas en el piloto: http://pad.marsupi.org/voipguifi
+
* [http://pad.marsupi.org/voipguifi PAD para la coordinación de pruebas en el piloto]
 +
* [http://assix.org/wiki/VOIP Documentación del proyecto durante el desarrollo]
  
 
=Referencias=
 
=Referencias=

Última revisión de 21:07 22 jul 2011

Introducción

El despliegue de una infraestructura de telefonía con centralitas VOIP en guifi.net es un proyecto complejo, ya que implica definir una política común de trabajo para todos los sistemas heterogéneos ya desplegados por la red y poner de acuerdo a todo el mundo en una arquitectura de montaje y en un plan de numeración. Este proyecto que pasamos a definir proporciona una solución simple, clara, funcional e integrada con la actual arquitectura de guifi.net.


Archivo:Voip.jpg

El montaje plantea una infraestructura basada en un modelo centralizado, donde un SIP Router (kamailio) establece los enlaces con todas las centralitas Asterisk de la red, y es el encargado de encaminar las llamadas de una centralita a otra en función del prefijo de numeración previamente designado. Todo el proyecto está basado en código open-source y en otros proyectos de software libre, por lo que podemos hablar de un proyecto libre sin ningún tipo de dependencia de software privativo, lo que lo hace replicable en otros entornos/paises.

La gestión de las extensiones/centralitas/enlaces principales se realiza de manera totalmente integrada con la web de guifi.net, y replica de manera automatizada toda esa información a nivel de sistemas, como posteriormente se explica en este documento.

Plan de numeración

El plan de numeración, definido para intercomunicar las diferentes centralitas asterisk, utiliza la siguiente sintaxis:

70XXYYZZZ

Detalle:

  • 70: numeración válida en la PSTN para VoIP
  • XX: código postal (ej: 46 Valencia, 12 Castellón, etc.)
  • YY: código incremental de centralitas de la zona 46 (01,02,....99)
  • ZZZ: extensiones locales a la centralita.

Por ejemplo, un usuario ubicado en una centralita de Vila-real tendría un número de teléfono similar a éste:

701202004

  • 70: Prefijo VOIP
  • 12: CP de Castellón
  • 02: segunda centralita añadida dentro de la provincia de Castellón.
  • 003: cuarto usuario local a la centralita 02 anterior (00 sería el primero, 01 sería el segundo, etc.).


Perfiles de usuarios de la infraestrucutra de VOIP

Definimos tres tipos de usuarios que intervienen en esta infraestructura, en función del tipo de usuario deberemos acceder a una documentación u otra.

Usuario de voz

Es un usuario de la red guifi.net que quiere conectarse a la infraestructura de VOIP federada, es decir, obtener una extensión telefónica con la cual poder llamar a cualquier otra extensión dentro de la red. Básicamente, deberá registrar su teléfono VOIP en su nodo, y obtener así una extensión de una de las centralitas ya montadas en su provincia. Existe una página con información detallada de todos estos pasos:

Administrador Asterisk

Si eres un usuario que quieres ofrecer un servidor asterisk que dé servicio de telefonía IP federada a tu zona guifi.net, deberás seguir unos pasos específicos para realizar el montaje: por un lado registrar tu centralita como nuevo servicio en la web de guifi.net, y una vez aprobado el enlace con el enrutador SIP por parte de los administradores, montar y configurar Asterisk, ya sea por tu cuenta o con los scripts que podrás encontrar para facilitar esta tarea. Aquí está la documentación completa de este proceso:

Administrador Kamailio

La central SIP encargada de enrutar llamadas para interconectar las diferentes centralitas interconectadas a ella, está basada en el software Kamailio.

Esta central estará administrada por un grupo reducido (que no cerrado) de personas, que serán las encargadas de aprobar los diferentes enlaces entre las centralitas, y de configurar/administrar/solucionar problemas que vayan apareciendo en la centralita Kamailio.

Tenemos un servidor dedicado a este cometido, dentro de la propia red de guifi.net. Este servidor es crítico ya que ante una caida del servicio Kamailio se pierden temporalmente los enlaces entre centralitas. Es por eso que estamos investigando la posibilidad de escalar ante una gran demanda, y de poner el servido en alta disponibilidad.

Toda la documentación referente a la puesta en marcha/configuración de este servicio está documentada aquí:

Software utilizado en la infraestructura

Documentación

Referencias

Herramientas personales