28
ago
2008

Instalar y configurar OpenSIPS 1.4.3

  • Sigue a Vensign en Twitter
  • Digg Esto!
  • Compartelo en Facebook
  • Compartelo en Buzz
Visto 11.506 veces | 54 Comentarios | Imprimir Imprimir
Actualización: Se actualizó este tutorial a la versión 1.4.3 que resuelve varios problemas de seguridad y algunos de rendimiento para más información lee aquí En esta oportunidad vamos a ver como instalar y configurar OpenSIPS 1.4 (anteriormente OpenSER que se dividió en dos ramas una de ellas OpenSIPS) y como hacer que los usuarios se autentiquen contra una base de datos en MySQL. OpenSIPS es un servidor SIP, y sirve como elemento principal de cualquier solución VoIP basada en SIP. Tiene una maquina de enrutamiento muy flexible y robusta totalmente configurable, tiene capacidad de unificar servicios de voz, video, mensajería instantánea y presencia, es modular y gracias a su alto desempeño soporta soluciones empresariales y carrier-class. En este caso vamos a ver como instalarlo sobre Debian Etch 4.0 y hacer que los usuarios se registren contra una base de datos en MySQL 5. Vamos a comenzar

Instalando OpenSIPS

Voy a suponer que tienes un servidor Debian Etch 4.0 instalado sólo con la configuración mínima y dedicado para el OpenSIPs (también si quieres probar puedes utilizar una máquina virtual). Lo primero que vamos a hacer es comprobar que nuestro sistema esté actualizado e instalar los paquetes necesarios para compilar e instalar OpenSIPS. Recuerda realizar todos los comandos como root a menos que se indique lo contrario:
apt-get update && apt-get upgrade
apt-get install build-essential openssl bison flex
Con esto ya tenemos un sistema base para realizar la instalación del OpenSIPS, en este caso la base de datos va a estar en el mismo servidor del OpenSIPS por lo que procedemos a instalarla:
apt-get install mysql-server libmysqlclient15off libmysqlclient-dev
Y una vez instalada configuramos su clave de acceso de root:
mysqladmin -u root password nuevopassword
Cambia donde dice nuevopassword por la clave que quieras. Ahora vamos a descargar la última versión de OpenSIPS (que para el momento de este tutorial es la 1.4):
cd /usr/src
wget http://opensips.org/pub/opensips/latest/src/opensips-1.4.3-tls_src.tar.gz

tar xvzf opensips-1.4.3-tls_src.tar.gz

cd opensips-1.4.3-tls

Compilar OPENSIPS

Para compilar OpenSIPS con todos los módulos disponibles ejecutamos:
make all include_modules="db_mysql" modules

make install include_modules="db_mysql" modules
Ahora copiamos los archivos de default e init para que pueda iniciar el OpenSIPS cada vez que inicie el servidor:
cp /usr/src/opensips-1.4.3-tls/packaging/debian-etch/opensips.default /etc/default/opensips
cp /usr/src/opensips-1.4.3-tls/packaging/debian-etch/opensips.init /etc/init.d/opensips
Modificamos los archivos:
vim /etc/default/opensips
Y cambiamos las siguientes líneas:
RUN_OPENSIPS=yes
# User to run as
USER=opensips
# Group to run as
GROUP=opensips
# Amount of memory to allocate for the running OpenSIPS server (in Mb)
MEMORY=128
La cantidad  de memoria destinada para OpenSIPS por defecto viene en 64 Mb, dependiendo de las capacidades y necesidades de tu servidor puedes variar este parámetro. Luego modificamos el otro archivo
vim /etc/init.d/opensips
Y cambiamos la línea que dice DAEMON=/usr/sbin/opensips por:
DAEMON=/usr/local/sbin/opensips
Y le asignamos permisos de ejecución al archivo:
chmod +x /etc/init.d/opensips
Nos falta crear un usuario llamado opensips y un directorio:
adduser opensips
Le colocas la clave que prefieras.
mkdir /var/run/opensips
Listo ya tenemos instalado el OpenSIPS pasemos a la configuración.

Configurando OpenSIPS

Tenemos que primero modificar el archivo opensipsctl que se encuentra en:
vim /usr/local/etc/opensips/opensipsctlrc
Y modificamos las siguientes líneas:
SIP_DOMAIN=localhost
DBENGINE=MYSQL
DBHOST=localhost
DBNAME=opensips
DBRWUSER=opensips
DBRWPW="opensipsrw"
DBROUSER=opensipsro
DBROPW=opensipsro
DBROOTUSER="root"
USERCOL="username"
INSTALL_EXTRA_TABLES=ask
INSTALL_PRESENCE_TABLES=ask
INSTALL_SERWEB_TABLES=ask
CTLENGINE="FIFO"
OSIPS_FIFO="/tmp/opensips_fifo"
Ahora creamos las base de datos necesarias ejecutando:
opensipsdbctl create
Nos va a pedir la clave de root de mysql que creamos al principio, luego te preguntará si quieres crear las bases de datos extras a lo que puedes responder que si. En este momento tenemos una configuración básica de OpenSIPS ahora vamos a proceder a agregarle el soporte para la base de datos.

Configurando Soporte para MySQL

Para esto tenemos que modificar el archivo de configuración de OpenSIPS:
vim /usr/local/etc/opensips/opensips.cfg
Y modificamos las siguientes líneas quitándoles los comentarios:
loadmodule "db_mysql.so"
loadmodule "auth.so"
loadmodule "auth_db.so"
#modparam("usrloc", "db_mode",   0); ESTA LÍNEA LA COMENTAREMOS
modparam("usrloc", "db_mode",   2)
modparam("usrloc", "db_url", "mysql://opensips:opensipsrw@localhost/opensips")
# ----- auth_db params -----
/* uncomment the following lines if you want to enable the DB based    authentication */
modparam("auth_db", "calculate_ha1", yes)
modparam("auth_db", "password_column", "password")
modparam("auth_db", "db_url", "mysql://opensips:opensipsrw@localhost/opensips")
Ahora procedemos ha agregar usuarios en nuestra base de datos:
opensipsctl add nombre_usuario clave_acceso
Cambiando los parámetros por los usuarios que queremos crear por ejemplo un usuario que se llame 1000 podría ser
opensipsctl add 1000 1000
Y te dirá que ha agregado el usuario. Para remover un usuario ejecutamos
opensipsctl rm nombreusuario
Y para cambiar la clave
opensipsctl passwd nombreusuario nueva_clave
Vamos ahora a probar el servidor

Iniciando OpenSIPS

Después de la configuración que realizamos OpenSIPS iniciará cada vez que se reinicie el servidor, hay dos formas de controlar OpenSIPS: 1. /etc/init.d/opensips start | stop 2. opensipsctl start | stop Cuando se utiliza una de las dos opciones no se puede utilizar la otra, es decir, no puedes iniciar con opensipsctl start y detener con /etc/init.d/opensips stop. La primera opción es como se inicia normalmente OpenSIPS cuando está en producción. La segunda opción se utiliza más cuando estamos probando nuestro servidor y estamos modificando el archivo de conifuración y queremos tener más detalles del servidor (en otro tutorial explicaremos más a fondo el uso de opensipsctl). Vamos a probar nuestro servidor:
opensipsctl start
Debería aparecerte un mensaje como este:
INFO: Starting OpenSIPS :
INFO: started (pid: 17119)
Para comprobar que efectivamente está corriendo el OpenSIPS podemos ejecutar:
ps aux | grep opensips
Y deberíamos ver varios procesos corriendo OpenSIPS.

Configurando X-lite

Para probar el servidor podemos utilizar dos softphone como por ejemplo X-lite que es uno de los más populares y además es gratis. Descargalo instalalo y en la configuración debes colocar la IP del servidor OpenSIPS, el nombre de usuario y la clave que creamos anteriormente. Los teléfonos se registrarán contra el servidor OpenSIPS y podrás realizar llamadas entre ellos. Este tutorial está basado en el siguiente Instalación de Openser 1.3.2 de Tribulinux realizada por May Eso es todo por ahora vamos a estar publicando más tutoriales de OpenSIPS pronto. Cualquier duda, consulta o sugerencia no duden en dejar su comentario. Saludos Olivers Si quieres recibir notificaciones de cuando se publican nuevos artículos y tutoriales en Vensign por favor subscribete a nuestro boletín RSS.

Otros artículos que te pueden interesar

  1. Instalar y Configurar un Servidor DNS con BIND9 en Debian Etch con Chroot En esta oportunidad veremos como instalar y configurar un servidor...
  2. Como cambiar y recuperar la clave en un servidor MySQL En este mini tutorial les voy a explicar como pueden...
  3. Como redireccionar el trafico a una nueva IP con IPtables Muchas veces nos pasa que cuando migramos un servidor o...
  4. Instalar un Servidor LAMP en Ubuntu/Debian Un servidor LAMP se refiere a la mezcla de Linux+Apache+Mysql+PHP...
  5. Como instalar un Servidor DHCP en Ubuntu   Un servidor DHCP asigna dinámicamente direcciones IP a las...

Creative Commons License
Este trabajo está licenciado bajo Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 Unported License

Comparte este Artículo!

  • Sigue a Vensign en Twitter
  • Digg Esto!
  • Compartelo en Facebook
  • Compartelo en Buzz

Subscribe without commenting

54 Comentarios

  1. Reuel que bueno que lograste poner a funcionar OpenSIPS

    Saludos
    Olivers

  2. Hola Olivers yo lo pude poner a andar en Debian en una prueba, pero necesito hacerlo funcionar en Centos me podrias ayudar?. cuando termino de configurar todo me sale el eror que no existe el PID FILE

  3. Saludos,

    Hola, me gustaria saber si sabes como hacer que OpenSer lea los usuarios desde sip.conf de asterisk.

    Espero tu respuesta,

    gracias en adelanto

  4. Quise decir opensip, soy nuevo en esto y necesito hacer una intrgracion entre asterisk y openseip, agradezco la ayuda,

    saludos

Deja tu comentario, duda o sugerencia

Agrega tu comentario, o trackback desde tu sitio web. Tambien puedes Registrarte o ingresar en Vensign para obtener mucho más (volveras a esta página luego de registrarte)

Puedes utilizar el siguiente código HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Este blog soporta Gravatares. Para obtener tu avatar, por favor registrate en Gravatar.

44 queries. 0,459 seconds.