Está en la página 1de 6

Configurando los clientes SIP

#ASTERISK #VOIP

Bueno, vamos a empezar por el principio. Deberemos tener presente el diagrama de red que
present en el anterior post y por eso lo incluyo tambin en este.

Para poder utilizar el canal SIP lo primero que tenemos que hacer es configurar las cuentas
SIP, utilizadas por nuestros dispositivos VoIP(softphones, tfnos digital y analgico y
gateway) para registrarse en nuestra centralita Asterisk. Pero

Qu es SIP?
Session Initiation Protocol o Protocolo de Inicio de Sesin. Es un protocolo desarrollador
por el grupo MMUSIC del IETF con el fin de ser el estandar para la iniciacin,
modificacin y finalizacin de sesiones interactivas de usuario donde interviene audio,
video, mensajera instantanea, juegos en linea y realidad virtual. SIP es uno de los
protocolos de sealizacin para voz sobre IP, junto con otros como H.323 e IAX2.

sip.conf
El fichero de configuracin del canal sip se encuentra en/etc/asterisk/sip.conf y por tanto
ser donde configuremos las cuentas SIP. Su formato es similar al de los ficheros .ini; por lo
que se encuentra dividido en secciones conocidas en Asterisk como contextos. En el
fichero sip.conf hay un contexto predefinido, se llama [general]:

En el contexto [general] definiremos parmetros que se aplicarn en todos los contextos


posteriores. Algunos de los parmetros generales del canal SIP son:

port: es el puerto que utilizar Asterisk para escuchar conexiones SIP entrantes. El
puerto SIP por defecto es el 5060.

binaddr: interfaz de red que utilizar Asterisk para atender las conexiones SIP
entrantes. El valor por defecto es 0.0.0.0, es decir, escucha en todas las interfaces de red
disponibles.

context: contexto que se aplica a las llamadas entrantes. Se aplica cuando una
cuenta SIP no tiene definido un contexto.

videosupport: soporte de video en SIP. Permite los valores 'yes' o 'no'.

language: lenguaje utilizado por defecto para todos los clientes SIP.

allow: especificamos los cdecs de sonido que vamos a utilizar. Permite valores
como 'all', 'alaw', 'ulaw', 'gsm', etc.

disallow: cdecs de audio que no vamos a permitir. Cuando vamos a restringir los
cdecs de audio, lo mejor es siempre prohibirlos todos (disallow=all) y luego permitir
aquellos que queramos.

nat: habilitamos o deshabilitamos el soporte de nat para la extensin.


Un ejemplo para el contexto [general] en /etc/asterisk/sip.conf podra ser la siguiente:

[general]
port=5060
bindaddr=0.0.0.0
context=normal
videosupport=no
language=es
disallow=all
allow=alaw,gsm

Definiendo los clientes SIP


Como he comentado anteriormente, antes de que un cliente SIP pueda enviar o recibir
llamadas a travs de Asterisk, debe ser declarado y configurado en el
fichero /etc/asterisk/sip.conf. Cada cliente SIP se configurar como si de otro contexto /
seccin se tratase, y podemos especificar varios parmetros. Hasta ahora los que he
utilizado han sido los siguientes:

type: define la clase de conexin que tendr el cliente. Hay tres tipos de clientes
SIP:

1.

peer: solo puede recibir llamadas.

2.

user: solo puede realizar llamadas.

3.

friend: puede recibir y realizar llamadas.

callerid: es el identificador del cliente, es decir, el nombre que aparecer cuando se


realice una llamada.

username: usuario con el que nos conectaremos al servidor Asterisk.

secret: contrasea con la que se realizar la autenticacin en Asterisk junto con el


username.

context: contexto asociado al cliente en el dialplan de Asterisk, es decir, contexto


que se aplicar en el fichero extensions.conf del cual hablaremos ms adelante.

dtmfmode: Dual-Tone Multi-Frequecy (DTMF) se refiere a la marcacin por tonos.


Normalmente le especifico que use el estandar rfc2833.

qualify: si se establece a yes podremos monitorizar la extensin. Esta


configuracin no es muy recomendable cuando tenemos muchas extensiones.
Bien! Ya tenemos lo suficiente como para empezar a registrar cada uno de los clientes
SIP :-) De esta forma, para registrar el telfono digital cuya extensin es 1001 tendremos
que aadir la siguiente configuracin al fichero /etc/asterisk/sip.conf:

[1001]
callerid=digital
username=1001

secret=1001
type=friend
host=dynamic
context=normal
qualify=yes
pickupgroup=1
limitonpeers=yes
call-limit=4
dtmfmode=rfc2833
nat=yes

Como una breve anotacin tengo que decir que en la cabecera de la seccin, en este caso
[1001], podemos poner cualquier cadena, creo que sin espacios, pero yo opto por poner el
nmero de la extensin, me es ms cmodo al leer la configuracin.
Una que hemos configurado un cliente, los dems son coser y cantar. Vamos a registrar un
nuevo cliente SIP, por ejemplo, mi portatil cuyo username es mviera y su extensin ser
1003. La configuracin en sip.conf sera la siguiente:
[1003]
callerid=mviera
username=1003
secret=1003
type=friend
host=dynamic
context=normal
qualify=yes
pickupgroup=1

limitonpeers=yes
call-limit=4
dtmfmode=rfc2833
nat=yes

Fcil no? Pero no os resulta esta ltima configuracin un poco redundante? Algunos ya se
habrn dado cuenta. En realidad esta ltima configuracin es igual que la anterior,
solamente cambian los parmetros callerid, username y secret. Cierto?
Para ello, Asterisk en su ltimas versiones permite el uso de mscaras. Esta funcionalidad
nos permite crear una seccin padre donde configuraremos todos los parmetros
comunes. De esta forma podremos heredar parte de la configuracin, pudiendo
sobreescribir o incluir nuevos parmetros que nos sean necesarios. Utilizaremos (!) junto al
nombre de la seccin, para especificar que una seccin actuar como una mscara.
Ejemplo:[nombre_seccion](!).
Ya que sabemos sobre la existencia de las mscaras en Asterisk, vamos a modificar la
configuracin actual en /etc/asterisk/sip.conf. Crearemos una seccin [normal] con los
parmetros comunes y las extensiones 1001 y 1003 heredarn de esta seccin.
[normal](!)
type=friend
host=dynamic
context=normal
qualify=yes
pickupgroup=1
limitonpeers=yes
call-limit=4
dtmfmode=rfc2833
nat=yes

Para especificar que una seccin hereda de otra que acta como mscara especificaremos
el nombre de la mscara a continuacin del nombre de la seccin, es decir, de la siguiente
forma:[nombre_seccion](nombre_mascara). Por lo que la configuracin de las extensiones
1001 y 1003 se reducira a lo siguiente:
[1001](normal)
callerid=digital
username=1001
secret=1001

[1003](normal)
callerid=mviera
username=1003
secret=1003

Guay no? Ahora solo nos queda reiniciar el servicio Asterisk


# /etc/init.d/asterisk restart

Nota: cuidado al reiniciar el servicio Asterisk cuando modifiquemos la configuracin. Si


utilizamos restart todas las llamadas activas se cortarn. Asi que mejor
utilizad reload ;-)
Ojo! Todava no podemos hacer llamadas. Hasta ahora solo hemos configurado los clientes
que podrn conectarse a Asterisk, lo prximo ser configurar el plan de marcado o dialplan.
Pero esto ya es tema para otro post ;-)