Archivo de Etiquetas de 'openser'

HOWTO: Crear un paquete Deb de OpenSER

Agosto 20 2007 por saghul

Anteriormente hemos visto como compilar OpenSER, pero a veces son más manejables los paquetes Deb. Aunque en el repositorio unstable de Debian tenemos la última versión quizá queramos crear los paquetes nosotros mismos, creados y compilados en nuestra propia máquina.

Manos a la obra! Primero necesitamos descargar algunos paquetes para cumplir las dependencias:

#apt-get install debhelper dpatch libexpat1-dev libxml2-dev libpq-dev libradiusclient-ng-dev unixodbc-dev libxmlrpc-c3-dev pibperl-dev libsnmp9-dev fakeroot

Una vez tenemos las dependencias instaladas, entramos en el directorio donde tengamos las fuentes de OpenSER y ejecutamos:

#chmod +x packaging/debian/rules

Adicionalmente, podemos retocar el archivo rules para que no se compilen algunos módulos, pero no pasa nada porque se compilen todos, ya que se crean varios paquetes Deb, y podemos elegir cuales instalar.

Para comenzar con la creación de paquetes ejecutamos:

#make deb

Tras un rato compilando y creando paquetes, obtendremos lo siguiente:

openser-deb.jpg

Para instalar los paquetes solo tenemos que hacer:

#dpkg -i nombre-del-paquete.deb

Etiquetas: ,

HOWTO: Conexión de OpenSER con Asterisk

Agosto 17 2007 por saghul

OpenSER es un software excelente, pero no debemos olvidar que es un SIP Proxy, y por tanto, lo único que hace es manejar mensajes SIP. Asterisk, por el contrario, es una PBX y ofrece servicios a sus usuarios, como Voicemail, por ejemplo. Entonces… ¿porque no juntarlos?

Asterisk puede usarse como “proveedor de servicios” como PSTN Gateway o Voicemail Server de OpenSER. Para ello haremos lo siguiente:

Primero configuraremos Asterisk para que reciba las peticiones de OpenSER. Para ello editamos el fichero sip.conf y añadimos lo siguiente:


[openser]
type=friend
context=default
insecure=port,invite
host=localhost

De esta manera, le hemos indicado a Asterisk que acepte conexiones entrantes sin autenticación (el insecure) de la IP indicada en host (en este caso localhost).

NOTA: Si estáis haciendo pruebas con OpenSER y Asterisk en la misma máquina, modificad el puerto de escucha de SIP de Asterisk al 5070 por ejemplo, porque sino los dos estarían escuchando el mismo puerto.

A continuación, tenemos que indicar en la configuración de OpenSER cuando le vamos a mandar una llamada a Asterisk. Para ello editaremos la sección de nuestro fichero openser.cfg y en la sección donde manejamos los INVITE, tras la autenticación, añadimos lo siguiente:


if(uri=~"^sip:[69][0-9]{8}@.*”) {
xlog(”L_INFO”,”$Cbx— LLAMADA A FIJO O MOVIL —$Cxx\n”);
route(5);
}

Este bloque de código comprueba que el número marcado empiece por 6 o por 9 y que luego tenga otros 8 dígitos, es decir, si es un fijo o un móvil. En caso de que esta condición se cumpla, nos muestra un mensaje de log y nos envía a la ruta 5, donde haremos la conexión con Asterisk:


route[5]
{
xlog(”L_INFO”,”$Cbx—> Redirigiendo a Asterisk…$Cxx\n”);
rewritehostport(”10.68.42.134:5070″);
t_relay();
exit;
}

Como se puede observar, lo que se hace es mostrar un log, después, mediante la función rewritehostport, se reescribe la dirección de destino de la petición con el parámetro entre paréntesis (aquí indicaremos la IP y puerto de Asterisk). Tras hacer esto, hacemos un t_relay, para que enrute la petición.

Ahora que la petición ha sido enviada a Asterisk, le corresponde a este llevarla a buen puerto. :)

El ejemplo es muy básico pero ilustra la manera de conectar OpenSER con Asterisk para su uso como PSTN Gateway (por ejemplo) de una manera sencilla.

Etiquetas: , ,

OpenSER 1.2.2 released!

Agosto 16 2007 por saghul

Leyendo el blog de Jesus R. me entero de que esta misma tarde ha salido OpenSER 1.2.2. No trae ningún añadido, para eso tendremos que esperar a la 1.3.0, pero se han solucionado varios bugs.

No hay que preocuparse, porque el script de configuración es totalmente compatible. ;)

El ChangeLog lo tenéis aquí, y podéis descargarlo aquí.

openser.JPG

Etiquetas: ,

Configuración básica de OpenSER con usuarios en MySQL

Agosto 16 2007 por saghul

He creado un documento, con un ejemplo básico de configuración de OpenSER, en el que los usuarios se encuentran en una BD de MySQL, y pueden hacerse llamadas entre ellos. Para entenderlo hay que tener unos conocimientos mínimos de OpenSER, y recurrir a los links de interés.

El documento podéis descargarlo aquí. 

Espero que os sirva, y si tiene algún error, no dejéis de comentármelo! :)

Etiquetas: ,

Traslado de la lista de correo de OpenSER en Español

Agosto 16 2007 por saghul

La lista de OpenSER-ES, antes alojada en GoogleGroups, se ha trasladado a los servidores de openser.org. Ahora la encontraréis aquí: http://www.openser.org/cgi-bin/mailman/listinfo/users-es Ya estáis tardando en apuntaros!! ;)

PD: El archivo de la lista de GoogleGroups será mantenido. Actualizaré con los detalles al respecto.

Etiquetas: ,

Recursos para aprender SIP y OpenSER

Agosto 14 2007 por saghul

OpenSER requiere un especial esfuerzo en lo que a documentación se refiere, ya que implica un conocimiento bastante extenso del protocolo SIP. A continuación pongo una serie de links que me están ayudando en el aprendizaje:

El RFC 3261 (SIP - Session Initiation Protocol)
http://www.ietf.org/rfc/rfc3261.txt

Lista de correo de OpenSER en Español
http://groups.google.es/group/openser-es
NUEVA LISTA: http://www.openser.org/cgi-bin/mailman/listinfo/users-es 

Web principal de OpenSER
http://www.openser.org/

Wiki de OpenSER
http://openser.org/dokuwiki/doku.php

Repositorio de documentación de OpenSER
http://www.openser.org/mos/view/OpenSER-Documentation-Repository

Core CookBook para la versión 1.2.x
http://openser.org/dokuwiki/doku.php/core-cookbook:1.2.x

Pseudovariables en la versión 1.2.x
http://openser.org/dokuwiki/doku.php/pseudovariables:1.2.x

Listado de módulos de la versión 1.2.x
http://www.openser.org/docs/modules/1.2.x/

Listado de funciones de los módulos de la 1.2.x
http://openser.org/dokuwiki/doku.php/modules:1.2.x:index-functions

Entendiendo el funcionamiento de SIP mediante experimentos
http://switzernet.com/people/emin-gabrielyan/070410-SIP-transactions/#_Toc163992343

Caminos de la señalización SIP (Vía y Record-Route)
http://4z.com/people/emin-gabrielyan/public/070412-SIP-record-route/

Ejemplos de servicios SIP (con imágenes)
http://www.tech-invite.com/Ti-sip-services.html

Creando mensajes SIP de INVITE y CANCEL
http://www.switzernet.com/people/emin-gabrielyan/070403-sip-invite-cancel/

En voip-info hay de todo
http://www.voip-info.org/wiki/view/OpenSER

Creo que con esto ya hay para un ratito… :) Un consejo: leer, leer y leer! ;)

PD: Si me dejo algún link importante, dejad un comentario y completo la lista!

Etiquetas: ,

HOWTO: Compilar OpenSER con soporte para MySQL

Agosto 13 2007 por saghul

Al igual que con Asterisk, en OpenSER lo mejor es compilarselo uno mismo (no tiene porqué, pero a mi me gusta más :) ). En mi caso, quiero que los usuario estén almacenados en una BD de MySQL, así que habrá que habilitarlo. Manos a la obra:

Instalamos las dependencias necesarias:

#apt-get install build-essential mysql-server-5.0 libmysqlclient15-dev bison flex

Una vez tenemos todas las dependencias instaladas, descargamos y descomprimimos OpenSER:

#wget http://www.openser.org/pub/openser/1.2.1/src/openser-1.2.1-notls_src.tar.gz
#tar -zxvf http://www.openser.org/pub/openser/1.2.1/src/openser-1.2.1-notls_src.tar.gz
#cd openser-1.2.1-notls_src

Para habilitar el soporte de MySQL editamos el fichero Makefile y localizamos esta sección:

exclude_modules?= jabber cpl-c pa mysql postgres osp unixodbc \
avp_radius auth_radius group_radius uri_radius xmpp \
presence pua pua_mi pua_usrloc \
mi_xmlrpc perl snmpstats

y eliminamos “mysql”, dejándolo así:

exclude_modules?= jabber cpl-c pa postgres osp unixodbc \
avp_radius auth_radius group_radius uri_radius xmpp \
presence pua pua_mi pua_usrloc \
mi_xmlrpc perl snmpstats

Ahora solo nos queda compilar e instalar. Por defecto eso se hace relativo al directorio /usr/local/, pero yo prefiero que todo este relativo a /, para que la configuración este en /etc/openser.

#make prefix=/
#make prefix=/ include_modules="mysql" modules
#make prefix=/ install

Ya esta!! ya podemos arrancar OpenSER simplemengte ejecutando:

#openser

Etiquetas: ,

Retomando OpenSER

Agosto 9 2007 por saghul

Hace algún tiempo que comencé a probar OpenSER. Para los que no lo sepáis, OpenSER es un proxy SIP, y le da mil vueltas a Asterisk en lo que a SIP se refiere. Nos permite tener un control “absoluto” de la señalización de una llamada, pero el “problema” que tiene es que exige tener un gran conocimiento del protocolo SIP.

En su día tuve que dejarlo, ya que no tenía tiempo para todo, pero ahora estoy decidido a llegar hasta el final… creo que mis intenciones quedaron bastante claras al ver mi equipaje para las vacaciones ;)

Pues eso, que inauguro nueva categoría, OpenSER, donde iré comentando mis progresos y noticias que vayan surgiendo en el mundo de OpenSER.

openser.JPG

Etiquetas: ,




[x] Cerrar
E-mail