Empezaremos con la configuración del archivo sip.conf que es donde
tenemos que definir nuestras extensiones, nuestros proveedores VoIP y todo lo
relacionado con el protocolo SIP.
El archivo sip.conf està estructurado en tres
bloques. La parte general donde hay que definir la
configuración general de nuestras extensiones, el bloque central donde
configuraremos la registración a nuestros proveedores VoIP (y, si queremos, los
datos para conectar entre ellos distintos servidores Asterisk), y la
parte final del archivo donde configuraremos todas nuestras extensiones
internas y externas.
Pensamos en una centralita que algún día hemos visto entrando a alguna
empresa. Asterisk funciona en el mismo modo. Con las extensiones configuradas
podremos llamar de una a otra, enrutar las llamadas a teléfonos fijos o
celulares, hacia nuestros proveedores VoIP y utilizar las típicos servicios de
estos aparados como llamadas en espera, desvío de llamadas, llamada a tres,
contestador, etc.
La que sigue es la configuración de una parte de mi sip.conf; cada línea del
archivo viene acompañada de una breve explicación después del punto y coma.
[general] ; etiqueta que
introduce la parte general de la configuración
allowguest=no ; No permitir llamadas de extensiones SIP
remotas sin contraseña
bindport=5060 ; el puerto utilizado para conectar las
extensiones SIP al servidor asterisk (protocolo UDP)
bindaddr=0.0.0.0 : la dirección IP para conectarse al
servidor Asterisk (en este caso cualquier dirección de la computadora donde está
asterisk)
;tcpenable=yes ; desde la versión 1.6 es posible configurar
el servidor para que permita también conexiones TCP
;tcpbindaddr=0.0.0.0:5059 ; dirección y puerto para las
conexiones SIP con protocolo TCP
callevents=yes ; Cuando hay eventos (llamadas, etc.) estos
vienen notificados al Asterisk Manager (útil para programas externos tipo
FOP)
context=phones ; el contexto de base que todas las
extensiones utilizaran si no viene especificado diversamente
domain=sip.miodominio.com ; el dominio local para el
servidor asterisk. En mi caso son dos.
domain=10.8.0.1 ; Si queremos conectarnos a Asterisk usando
un segundo dominio (ejemplo una red VPN)
subscribecontext = subscribe; contexto donde configurar las
extensiones para activar la función subscribe del protocolo SIP
allowsubscribe=yes ; esto permite a las extensiones
controlar el estado de las demás
notifyringing=yes ; notifica si la extensión está timbrando
a las demás extensiones (ya veremos como funciona)
notifyhold=yes ; notifica si la extensión está en espera
disallow=all ; deshabilitar todos los codecs (audio y
video)
allow=ulaw ; habilita el codec audio ulaw de base para todas
las extensiones
allow=alaw ; igual que arriba para el codec alaw
useragent=X-Lite ; la centralita se presentará con este
nombre. A veces algunos proveedores no permiten conectarse a ellos si reconoces
que detrás de la conexión está un servidor Asterisk. En este
modo nos presentamos como si fuéramos el softphone X-Lite
realm=sip.voztovoice.com ; si definimos esta opción podremos
crear las contraseñas cifradas con el protocolo MD5
t38pt_udptl=yes ; permite el uso del protocolo T38 (fax
sobre IP) pero solo para conexiones directas
videosupport=yes ; Para permitir videollamadas
srvlookup=yes ; permite hacer busquedas de registros DNS SRV
para llamadas SIP salientes basadas en los nombres de dominio
Ahora viene la registración a nuestros proveedores de llamadas. Si los vamos
a usar solo para las llamadas salientes no hace falta configurar esta parte. Les
pongo un ejemplo a modo de explicación
register => fulano:contraseña@sip.justvoip.com
Nos registramos con el proveedor con el username fulano, la contraseña y la
dirección del servidor del proveedor. Si el servidor usa un puerto que no es el
5060 tenemos que especificarlo al final de la línea de este modo
register => fulano:contraseña@sip.justvoip.com:5061
Ahora pasamos a la configuración de las extensiones:
[2000] ; numero de la extensión
accountcode=2000 ; el código que aparecerá en el registro de
llamadas para esta extensión
language=es ; si hemos instaladas locuciones en más de un
idioma, aquí podemos definir cual idioma usará la extensión
type=friend ; tipo de extensión. Puede ser friend, user o
peer. Friend puede hacer y recibir llamadas, user solo recibir y peer solo puede
hacer (como en el caso de proveedores VoIP que usamos solo para hacer
llamadas)
secret=contraseña ; la clave de la extensión
qualify=yes ; Para saber el tiempo de respuesta de una
extensión y si está alcanzable o no
mailbox=2000@default ; la casilla de voz de la extensión
(según la configuración del archivo voicemail.conf)
host=dynamic ; si la extensión se conecta remotamente
cambiando continuamente su direccion IP se pone este parametro
dtmfmode=rfc2833 ; el protocolo para enviar los tonos
DTMF
context=phones ; el contexto que usará la extensión
canreinvite=no ; yes si queremos que la extensión intente
conectarse directamente con la extensión llamada. No si queremos que Asterisk
haga de puente entre las dos extensiones.
nat=yes ; si la extensión se conecta al servidor asterisk
detrás de un cortafuego hay que poner yes
callerid=Fulano <2000> ; el nombre y el numero de
identificación de la extensión
disallow=all ; deshabilitar todos los codecs
allow=gsm ; habilita el codec audio gsm (el primero que se
intentará utilizar a lo largo de una llamada)
allow=ulaw ; habilita el codec audio ulaw
allow=alaw ; habilita el codec audio alaw
allow=g729 ; habilita el codec audio g729
allow=h263 ; habilita el codec vídeo h263
Ahora un ejemplo para un proveedor de llamadas VoIP
[justvoip] ; nombre que le asignamos al proveedor
type=peer ; lo vamos a utilizar solo para llamadas salientes
(peer)
host=sip.justvoip.com ; el nombre del host del proveedor
fromdomain=sip.justvoip.com ;
fromuser=fulano ; los dato que nos pide el proveedor para
conectarnos (usuario y contraseña)
username=fulano
secret=contraseña
qualify=yes
canreinvite=no
dtmfmode=rfc2833
context=from-justvoip ; el contexto de utilizar en
extensions.conf para las llamadas entrantes
call-limit=2 ; numero de canales que brinda el
proveedor.
language=es
disallow=all
allow=ulaw
allow=alaw
allow=g729
Cada vez que cambiamos la configuración de nuestro sip.conf tenemos que
recargarla. Abrimos la consola de asterisk
asterisk -rvvvvvvvvvv
y escribimos
CLI> sip reload
Reloading SIP
Estos son los comandos disponibles para las extensiones SIP
CLI> help sip
sip notify Send a notify packet to a SIP
peer
sip
prune realtime [peer|all] Prune cached Realtime
users/peers
sip qualify peer Send an OPTIONS packet to a
peer
sip reload Reload SIP configuration
sip set debug {on|off|ip|peer}
Enable/Disable SIP debugging
sip set history
{on|off} Enable/Disable SIP history
sip show {channels|subscriptio List
active SIP channels or
subscriptions
sip show
channelstats List statistics for active SIP
channels
sip show channel Show detailed SIP channel
info
sip show domains List our local SIP
domains
sip show history Show SIP dialog
history
sip show inuse List all
inuse/limits
sip show objects List all SIP object
allocations
sip show peers List defined SIP
peers
sip show peer Show details on specific SIP
peer
sip show registry List SIP registration
status
sip show sched Present a report on the status of the sched
queue
sip show settings Show SIP global
settings
sip show tcp List TCP
Connections
sip unregister Unregister (force expiration) a SIP peer from the registry
Espero que les sirba de ayuda
No hay comentarios:
Publicar un comentario