Você está na página 1de 18

Cmo configurar Asterisk 1.4 para utilizar Ekiga y Linphone como clientes SIP.

Autor: Joel Barrios Dueas Correo electrnico: darkshram en gmail punto com Sitio de Red: http://www.alcancelibre.org/ Jabber ID: darkshram@jabber.org

Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

1999-2007 Joel Barrios Dueas. Usted es libre de copiar, distribuir y comunicar pblicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicacin, a travs de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra, o genera una obra derivada, slo puede distribuir la obra generada bajo una licencia idntica a sta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los trminos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legtimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La informacin contenida en este documento y los derivados de ste se proporcionan tal cual son y los autores no asumirn responsabilidad alguna si el usuario o lector hace mal uso de stos.

Introduccin.
Acerca de Ekiga.
Ekiga es una aplicacin para VoIP (Voice over IP o Voz sobre IP) y vdeo-conferencia, distribuido bajo los trminos de la licencia GNU/GPL. Incluye soporte para los protocolos SIP (Session Initiation Protocol o Protocolo de Inicializacin de Sesiones) y H.323. El proyecto fue iniciado por Damien Sandras con el nombre GnomeMeeting, como parte de los requisitos para graduarse de la Universidad Catlica de Louvain, en la ciudad de Bruselas, Blgica. El nombre del proyecto fue cambiado por Ekiga el 18 de enero de 2006, con el fin de evitar se le asociara como equivalente de Microsoft NetMeeting. Actualmente es mantenido por una comunidad de desarrolladores, con Sandras como lder. URL: http://www.ekiga.org/

Acerca de Asterisk.

Asterisk es una implementacin de cdigo abierto para central telefnica ( PBX, Private Branch eXchange o Private Business eXchange). Cuenta con un doble licenciamiento, GNU/GPL y licencia propietaria. Esta ltima es con el objeto de poder incluir soporte para el protocolo G.729, el cual est sujeto a las limitaciones de una patente, aunque el codificador correspondiente funciona indistintamente con una u otra versin. Asterisk est diseado para servir como PBX. Como cualquier PBX, se puede conectar un nmero determinado de telfonos para hacer llamadas entre s, e incluso conectar a un proveedor de VoIP o bien a una , tanto bsicos como primarios. La versin libre de Asterisk incluye todas las funcionalidades de las ms costosas alternativas de cdigo cerrado, como son correo de voz, llamada en conferencia, respuesta interactiva de voz (a travs de mens del telfono) y distribucin automtica de llamadas. URL: http://www.asterisk.org/

Acerca de Linphone.
Linphone es un cliente SIP para VoIP creado por Simon Morlat. Est hecho en GTK2, es pequeo, ligero y muy estable e incluye adems linphonec, una poderosa versin para terminales en modo texto. La versin de AL Desktop incluye soporte para voz y mensajes instantneos, pero el cdigo incluye tambin soporte para vdeo. Caractersticas: Cumple con los estndares SIP (Session Initiation Protocol o Protocolo de Inicializacin de Sesiones). Puede registrarse en servidores Asterisk. Soporte para subscripcin de VoIP hacia RTC (Red Telefnica Conmutada, tambin conocida como PSTN o Public Switched Telephone network). Es decir, telefona red telefnica bsica. Es equipamiento lgico libre. Es muy estable en GNU/Linux, y probablemente tambin en los diversos sabores de Unix. Hay versin estable para Windows, pero con algunas funciones an sin portar. Funciona bien con las siguientes implementaciones, probadas por el autor de Linphone: eStara softphone, Telfonos Pingtel, Hotsip, Vocal (Vivida), Siproxd y Partysip

URL: http://www.linphone.org/

Acerca del protocolo SIP.


SIP (Session Initiation Protocol o Protocolo de Inicializacin de Sesiones) es un protocolo propuesto como estndar por la IETF (Internet Engineering Task Force o Fuerza de Trabajo en Ingeniera de Internet), descrito en el RFC 3261, para la iniciacin, modificacin y finalizacin de sesiones interactivas de usuario, en las cuales intervienen elementos de medios electrnicos, como pueden ser vdeo, voz y mensajera instantnea. Es uno de los varios protocolos de sealizacin para la tecnologa de Voz sobre IP (VoIP o Voice over IP), y forma parte de la arquitectura IMS (IP Multimedia Subsystem o Subsistema multimedios por IP). URL: http://tools.ietf.org/html/rfc3261

Equipamiento lgico necesario.


Considerando que se va a instalar el cliente (Ekiga) en un sistema distinto al del servidor que sustentar a Asterisk, las instalaciones de equipamiento lgico correspondientes proceden de la siguiente forma.

Instalacin de servidor Asterisk.


Para poder llevar al cabo los procedimientos descritos en este y otros documentos relacionados, usted necesitar tener instalado al menos lo siguiente, lo cual no est incluido en la instalacin estndar de CentOS 4, Red Hat Enterprise Linux 4 o White Box Enterprise Linux 4 (disponible a travs de los depsitos de equipamiento lgico de Alcance libre). asterisk-1.4.1 asterisk-addons-1.4.0 asterisk-sounds-es gsm-1.0.12 libidn-0.6.9 libpri-1.4.0 spandsp-0.0.3-7_pre28 speex-1.2 zaptel-1.4.0

Instalacin a travs de yum.

Si dispone de un servidor con CentOS 4, Red Hat Enterprise Linux 4 o White Box Enterprise Linux 4, puede utilizar el el depsito yum de Alcance Libre para servidores en produccin:

[alcance-libre] name=Alcance Libre para Enterprise Linux 4 baseurl=http://www.alcancelibre.org/al/el/4/ gpgkey=http://www.alcancelibre.org/al/AL-RPM-KEY

La instalacin solo requiere utilizar lo siguiente:

yum -y install asterisk asterisk-addons asterisk-soundses zaptel kernel-module-zaptel


Al terminar, solo bastar iniciar el servicio asterisk, puesto que de forma predeterminada arrancar solo la siguiente vez que reinicie el sistema.

service asterisk start

Instalacin de cliente Ekiga.


Instalacin a travs de yum.
Si dispone de un escritorio con AL Desktop en CentOS 4 Red Hat Enterprise Linux 4 o White Box Enterprise Linux 4, puede utilizar el depsito yum de AL Desktop:

[AL-Desktop] name=Enterprise Linux $releasever - $basearch - AL Desktop mirrorlist=http://www.alcancelibre.org/al/el4/al-desktop gpgkey=http://www.alcancelibre.org/al/AL-RPM-KEY

La instalacin requiere utilizar lo siguiente:

yum -y install ekiga

Instalacin de clientes Linphone y Linphonec.


Instalacin a travs de yum.
Si dispone de un escritorio con AL Desktop en CentOS 4 Red Hat Enterprise Linux 4 o White Box Enterprise Linux 4, puede utilizar el depsito yum de AL Desktop:

[AL-Desktop] name=Enterprise Linux $releasever - $basearch - AL Desktop mirrorlist=http://www.alcancelibre.org/al/el4/al-desktop gpgkey=http://www.alcancelibre.org/al/AL-RPM-KEY

La instalacin requiere utilizar lo siguiente:

yum -y install linphone

Procedimientos.
Configuracin de servidor Asterisk.
Fichero /etc/asterisk/manager.conf.
Si se considera necesario, se puede configurar el acceso remoto hacia el gestor de Asterisk. Se requiere definir un usuario, las correspondiente clave de acceso y los privilegios necesarios, a fin de poder permitir utilizar diversas herramientas para la administracin y/o supervisin remota(s). En el siguiente ejemplo para el contenido del fichero /etc/asterisk/manager.conf, se activa acceso remoto a travs del puerto 5038, se define admin como usuario, secreto como clave de acceso y se otorgan todos privilegios.

[general]

displaysystemname = yes enabled = yes ;webenabled = yes port = 5038 ;httptimeout = 60 ; De modo predefinido, el gestor de Asterisk escuchar peticiones ; por cualquier interfaz activa en el sistema, pero puede ; definirse, por ejmeplo, que solo se permitan conexiones desde ; la direccin IP de red privada (RFC 1918). bindaddr = 0.0.0.0 ;displayconnects = yes ;timestampevents = yes

[admin] secret = secreto deny=0.0.0.0/0.0.0.0 permit=192.168.12.0/255.255.255.128 writetimeout = 100 read = system,call,log,verbose,command,agent,user,config write = system,call,log,verbose,command,agent,user,config

Fichero /etc/asterisk/sip.conf.
El siguiente ejemplo corresponde a la configuracin de tres cuentas SIP (101, 102 y 103). El contenido se agrega, o bien modifica opciones, al fichero /etc/asterisk/sip.conf.

[general] context=default srvlookup=yes videosupport=yes ; Asterisk puede tambin gestionar las conferencias de vdeo disallow=all allow=alaw preferencia allow=ilbc allow=gsm allow=h261 ; El paquete asterisk-sounds-es de alcance libre instala los ficheros de audio ; al espaol. Por tanto, se puede definir ste como idioma pata los mensajes. language=es ; Realizar registro en ekiga.net con un usuario y clave de acceso vlidos y ; encaminar las llamadas hacia la extensin 101 register => usuario:clave-de-acceso@ekiga.net/101 ; Desactivar todos los codificadores ; Permitir codificadores en orden de

; Hacer acceder a Asterisk hacia una cuenta en ekiga.net

para permitir ; realizar llamadas [ekiga] type=friend username=usuario secret=clave-de-acceso host=ekiga.net canreinvite=no qualify=300 ; Si se utiliza asterisk 1.4.x: insecure=port,invite ; Si se utiliza asterisk 1.2.x: ; insecure=very

; Extensin 101 [101] type=friend secret=secreto1 qualify=yes de 2000 mS. nat=no host=dynamic ; No hay NAT. ; Dispositivo se registrar con servidor. ; El par correspondiente est no ms all

canreinvite=no ; Asterisk tratar de redireccionar de

forma predeterminada. context=home ; Contexto predefinido (ver

extensions.conf) ;port=5061 ; Descomentar si Ekiga o Linphone y

Asterisk estn en el mismo sistema.

; Extensin 102 [102] type=friend secret=secreto2 qualify=yes nat=no host=dynamic canreinvite=no context=home ;port=5061

; Extensin 103 [103] type=friend secret=secreto3 qualify=yes nat=no

host=dynamic canreinvite=no context=home ;port=5061

Fichero /etc/asterisk/voicemail.conf.
A fin de habilitar el acceso al correo de voz para cada extensin, y al mismo tiempo especificar una cuenta de correo electrnico hacia la cual se enviar un mensaje de correo electrnico con el mensaje de voz como adjunto, solo es necesario verificar que las siguientes opciones estn habilitadas. En el ejemplo, se configuran las cuentas para las extensiones 101, 102 y 103.

[general] ; Escoger el formato del correo de voz. Recomendado usar WAV, por razones de ; compatibilidad. format=wav ; ; Si se dispone de espacio suficiente en la cuenta de correo, la siguiente ; opcin especifica que se adjunte el mensaje de voz a un mensaje de correo ; electrnico, de modo que se pueda escuchar al dar clic desde el cliente. ; attach=yes ;

[default] ; Cada buzn de voz se lista en el siguiente formato: ; buzn => clave de acceso,Nombre de persona,correo electrnico,correo ; electrnico de servicio de localizador. Ejemplos: 101 => secreto1,Nombre,alguien@algo.algo,numero@micelular.algo 102 => secreto2,Nombre,otro@algo.algo 103 => secreto3,Nombre,alguien-mas@algo.algo

Fichero /etc/asterisk/extensions.conf.
El siguiente ejemplo corresponde a la configuracin de tres extensiones (101, 102 y 103). El contenido se agrega al fichero /etc/asterisk/extensions.conf.

; Macro que habilita el uso de correo de voz, de modo que no har falta

; repetir complejas configuraciones en cada cuenta. [macro-correovoz] exten => s,1,Dial(${ARG1},20) exten => s,2,Goto(s-$DIALSTATUS},1) exten => s-NOANSWER,1,Voicemail(u$ {MACRO_EXTEN}) exten => s-NOANSWER,2,Hangup() exten => s-BUSY,1,Voicemail(b${MACRO_EXTEN}) exten => s-BUSY,2,Hangup() exten => _s-.,1,Goto(s-NOANSWER,1) [home] ; Extensin 101 exten => 101,1,Macro(correovoz,SIP/101)

; Extensin 102 exten => 102,1,Macro(correovoz,SIP/102) ; Extensin 103 exten => 103,1,Macro(correovoz,SIP/103) ; Lo siguiente permite acceder al correo de voz desde Ekiga, simplemente ; marcando el nmero 8 exten => 8,1,VoiceMailMain(s${CALLERIDNUM}) exten => 8,2,Hangup ; Prueba exten => exten => exten => exten => exten => de Eco 600,1,Answer() 600,2,Playback(demo-echotest) 600,3,Echo() 600,4,Playback(demo-echodone) 600,5,Hangup()

; Lo siguiente permite realizar llamadas hacia cuentas de Ekiga.net ; solo antecediendo un nmero 9 antes de la cuenta. Es decir: ; Si antes se tena que marcar sip:alguien@ekika.net, ahora se har ; como sip:9alguien@ekiga.net exten => _9.,1,Dial(SIP/ekiga/$ {EXTEN:1},20,r))

Al terminar, solo bastar reiniciar el servicio asterisk para que surtan efecto los cambios.

service asterisk restart

Tambin puede ingresar a la interfaz de lnea de mandatos ( CLI o Command Line Interface), desde el servidor que sustenta a Asterisk, utilizando el mandato asterisk -r, y ejecutando desde sta el mandato reload. Al terminar, ingrese el mandato exit para salir de la interfaz de lnea de mandatos.

Configuracin de cliente Ekiga.


Ekiga, adems de ajustar los niveles de audio del sistema para permitir el funcionamiento del micrfono (captura), requiere y desactivar cualquier mtodo de NAT que est especificado (por lo general, STUN).

En la versin 2.0.7, si activa la casilla de cancelacin de eco, Ekiga no enviar el DTMF y no ser posible autenticar en el buzn de voz. Deje la casilla sin activar.

Al terminar y aplicar los cambios, se debe acceder al men de la aplicacin Editar Cuentas y aadir una nueva cuenta tipo SIP, especificando un nombre para identificar la cuenta, la IP del servidor Asterisk, el usuario a utilizar y la correspondiente clave de acceso.

Al terminar, solo se necesitar hacer clic en la casilla para activar la cuenta y registrarse en el servidor.

Configuracin de cliente Linphone y Linphonec.


Solo es necesario aadir la cuenta desde la pestaa SIP de la ventana de preferencias. Un pequeo error en el despliegue de texto en la versin 1.6.0 hace que no se muestren las cuentas que se dan de alta, pero de hecho debern estar ah.

Pestaa SIP de la ventana de preferencias. Se hace clic en el botn Add proxy/registar, accin que abrir una ventana para ingresar los datos necesarios.

Ventana de registro de cuenta. Si se prefiere, a fin de verificar datos y hacer otros ajustes, puede editarse el fichero ~/linphonerc y modificar, con cualquier editor de texto, la configuracin de las cuentas, ejemplificada a continuacin:

[sip] sip_port=5060

guess_hostname=0 contact=sip:101@192.168.1.253 inc_timeout=15 use_info=0 use_ipv6=0 default_proxy=0

[proxy_0] reg_proxy=SIP:192.168.1.253 reg_expires=900 reg_sendregister=1 publish=1

[auth_info_0] username=101 userid=101 passwd=secreto1 realm="asterisk"

La configuracin hecha es utilizada tanto por el cliente grfico, linphone, como el cliente para terminal de texto, linphonec. Particularmente es muy interesante las aplicaciones prcticas linphonec, el cual se puede utilizar en sistemas sin entorno grfico. Puede dejarse iniciando automticamente en algn guin con la opcin

-a para contestar llamadas automticamente y utilizarlo como la imaginacin lo determine. Es ideal para ser utilizado en terminal telefnica en clientes ligeros o equipos obsoletos.

Comprobaciones.
Para si uno marca 600, deber contestar el servidor Asterisk con un mensaje de prueba de eco. Si se conectan los clientes al servidor Asterisk, podrn comunicarse entre si marcando solo el nmero de extensin, o bien como sip:extension@servidor. Ejemplo: sip:103@192.168.10.1. Marcando el nmero 8 desde Ekiga, se podr acceder al correo de voz. Si necesita depurar la configuracin, puede hacerlo ingresando a la interfaz de lnea de mandatos utilizando el mandato asterisk -r, aadiendo de una a cinco letras v para indicar el nivel de depuracin. Ejemplo:

asterisk -vvvr

Lo anterior mostrar mensajes de depuracin de nivel 3. Al terminar, ingrese el mandato exit para salir de la interfaz de lnea de mandatos.

Modificaciones necesarias en el muro cortafuegos en el servidor Asterisk.


Si se utiliza un cortafuegos con polticas estrictas, como por ejemplo Shorewall, es necesario abrir el puerto 5060 por UDP para comunicaciones a travs de protocolo SIP, y opcionalmente los puertos 4569,5036, 10000:20000 y 2727 por UDP, de forma correspondiente para los protocolos IAX2, IAX, RTP y MGCP, en el caso dado que se quiera acceder hacia stos con clientes que incluyan dicho soporte. Si se va a utilizar herramientas para administracin y/o supervisin remota(s), el puerto del gestor de Asterisk corresponde al 5038 por TCP. Las reglas para el fichero /etc/shorewall/rules de Shorewall, como cortafuegos de una sola zona (net), correspondera a algo similar a lo siguiente:

#ACTION SOURCE DEST # ACCEPT net fw

PROTO

DEST PORT

SOURCE PORT(S)1

udp

5060

ACCEPT net

fw

tcp

5038

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Las reglas para el fichero /etc/shorewall/rules de Shorewall, como cortafuegos de dos zonas (net y loc), considerando que se desea permitir acceso tanto desde redes pblicas como privadas, pero el acceso al gestor de Asterisk solo desde la red local, correspondera a algo similar a lo siguiente:

#ACTION SOURCE DEST # ACCEPT net ACCEPT loc ACCEPT loc fw fw fw

PROTO

DEST PORT

SOURCE PORT(S)1

udp udp tcp

5060 5060 5038

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Bibliografa.
http://wiki.ekiga.org/index.php/Ekiga_as_an_Asterisk_client http://wiki.ekiga.org/index.php/Asterisk_and_Voicemail http://wiki.ekiga.org/index.php/Connecting_Asterisk_to_ekiga.net http://en.wikipedia.org/wiki/Asterisk_%28PBX%29 http://en.wikipedia.org/wiki/Ekiga http://es.wikipedia.org/wiki/Session_Initiation_Protocol http://tools.ietf.org/html/rfc3261

Ms documentos del mismo autor (Joel Barrios) en este enlace.

Você também pode gostar