Saltar a: navegación, buscar

Asterisk

Introducción centralita Asterisk

Las centralita de código abierto Asterisk proporciona un excelente producto a coste económico cero. Corren sobre el sistema operativo Linux y en general configurar una centralita Asterisk a pelo es complicado. FreePBX y Elastix son soluciones que integran métodos gráficos para configurar una Asterisk.


En la configuración de una centralita de este tipo, está la parte interna entre la centralita y los teléfonos, y la unión entre la centralita y el proveedor del servicio Voip, en este caso Telefácil. Nosotros sólo podemos dar asistencia en la configuración de los trunks unidos a nosotros como proveedor, no podemos dar servicio técnico de la configuración general o reglas de marcado.


Los únicos ataques con éxito contra clientes voip han ocurrido con cuentas que usaban centralitas IP. Usar centralitas IP sin saber bien lo que hace es abrir una caja de truenos y a no ser que tenga razones para hacerlo y conocimiento técnico para manejarlas no lo haga. (Si necesita una Asterisk sólo para recibir llamadas, quite la opción de Permite Realizar llamadas en las opciones de Voip).


El uso de Asterisk exige un nivel avanzado de conocimiento y en general no se recomienda, ya que la mayoría de las funciones se pueden realizar mucho más fácil y económicamente directamente con la centralita. Además exige conocimientos de Linux, es importante ser capaz de tapar los posibles agujeros de seguridad. Si usted mantiene el servidor dentro de su oficina le recomendamos que sólo tenga abierto (forwardeado) el puerto SIP (normalmente 5060) al servidor, y bloqueados todos los demás.


Sólo se nos ocurre como casos, cuando se quiera apreder a usarlo, si ya se tiene funcionando, para call centers muy grandes (que exigan una central aparte, Asterisk o no) o si se tienen números de teléfonos de varios países o regiones geográficas y el Asterisk hace las veces de unificador.


No es el cometido de este documento explicar el funcionamiento del servidor de Asterisk, por lo que consideraremos que el lector tiene ya conocimiento sobre el uso del mismo; y que además ya lo tiene correctamente instalado y que sabe hacerlo funcionar.


Para nuestros ejemplos, usaremos el número virtual “902955279”, que hemos activado con la contraseña “la_contrasenya”. Para usar una extensión de una centralita, en vez de poner 902955279 pondríamos (por ejemplo) 902955279.0.


Es importante tener bien configurado el Asterisk, en particular leer y releer security.txt que se encuentra en el subdirectorio doc de Asterisk. Si se configura mal cualquiera podría realizar llamadas a través del Asterisk a cuenta de ustedes.

Codecs de la centralita Asterisk

El servicio VoIP de Duocom utiliza los codecs g.723, g.729a, g.711u o g.711a. Recomendamos el uso de los codecs g729 o g723, que no vienen por defecto en Asterisk. Por ello, deberemos descargárnoslos de:

http://asterisk.hosting.lv/#bin

Allí tendremos que buscar el codec para nuestra versión de Asterisk y nuestra arquitectura (pentium, core2, x86_64, etc.). Una vez descargado tendremos que moverlo a: /usr/lib/asterisk/modules/codec_g729.so o /usr/lib/asterisk/modules/codec_g723.so.

Algunos usuarios nos han indicado que el codec G729 después de un tiempo ha dejado de funcionar y lo mejor es comprar las licencias ($10 cada una) del G729 en la página de Digium.

Configuración de la centralita Asterisk

Vamos a configurar un servidor Asterisk para funcionar con el servicio VoIP de Duocom. Además, más tarde pondremos un softphone X-Lite (se puede usar cualquier otro) para que se conecte al Asterisk y pueda recibir y realizar llamadas.

En el servidor de Asterisk sólo hay que tocar dos archivos: sip.conf y extensions.conf. Estos se encuentran normalmente bajo el subdirectorio /etc/asterisk.

En sip.conf hay tres partes: la parte del registro (register => ...), la parte que lleva la comunicación con el softphone ([9070]), y la parte para realizar las llamadas ([duocom]).

/etc/asterisk/sip.conf:

[general]
context=default
bindport=5060   ;por defecto es el 5060, pero es bueno ponerlo para que lo mande en el Contact:
bindaddr=0.0.0.0
srvlookup=yes
allow=g729
sipdebug=yes    ;lo podemos quitar cuando todo funcione



;Esto es muy IMPORTANTE, pues le decimos al Asterisk como se tiene que registrar
;con duocom. Al final escribimos duocom que hace que las llamadas desde el proveedor vengan a duocom
;segun especificado en el Contact:
;Ahora mismo el context es default, de forma que en extensions.conf, 
;en [default] tiene que existir la exten => 902955279
;Esta extension seria nuestro numero. No es necesario que este sea el caso, de hecho podría ser 
;duocom, pero si utilizamos nuestro numero, que coincide con ''fromuser=902955279'' mas abajo
;en [duocom], si coincide entonces al hacer una llamada hacia fuera al ya estar registrados
;msip.duocom.es no nos pide que nos autorizemos y ahorramos unos 200ms.


register => 902955279:la_contrasenya@msip.duocom.es:16080/902955279

nat=yes

;Este siguiente es como se configura un telefono para ser usado con Asterisk, no tiene nada
;que ver con el proveedor. Cada cual que tiene un Asterisk debe saber como organizar sus telefonos y
;su dialplan.
[9070]
; Turn off silence suppression in X-Lite ("Transmit Silence"=YES)!
; Note that Xlite sends NAT keep-alive packets, so qualify=yes is not needed
type=friend
host=dynamic     ;importante que sea dynamic, porque si le especificamos la ip no deja registrarlo
defaultip=127.0.0.1   ;si sabemos la ip y es fija se lo ponemos para que 
;le pueda mandar llamadas antes de registrarse
nat=no          ;si esta dentro de la misma red el nat=no (aunque tampoco molesta)
reinvite=no
canreinvite=no
dtmfmode=rfc2833
dtmf=rfc2833
rfc2833compensate=yes    ;si no se lo ponemos no coge dígitos el asterisk en su ivr
disallow=all
allow=ulaw
;aqui le podemos poner otros, en particular si el telefono lo permite ponemos el g723 para 
;ahorrarnos el transcoding. 
subscribecontext=internal
username=9070   ;sirve para mandarle llamadas antes de registrarse
password=9070   ;el que sea obviamente

[duocom]
type=friend
host=msip.duocom.es
fromuser=902955279
fromdomain=msip.duocom.es
username=902955279
secret=la_contrasenya
dtmfmode=rfc2833
dtmf=rfc2833
rfc2833compensate=yes    ;si no se lo ponemos no coge dígitos el asterisk en su ivr
qualify=yes
disallow=all
allow=g729
nat=yes
context=default    
canreinvite=no
insecure=port,invite
port=16080



En el cli del asterisk (se le llama asterisk -r) podemos ver los registros con sip show registry. Y en la página del voip de telefacil.com podemos ver que estamos registrados.

En el fichero extensions.conf, en la parte [default] ponemos dos cosas importantes: que, cuando se coja una llamada, vaya al softphone directamente (exten => 902955279,1,Dial(SIP/9070,20)) y que, cuando se haga una llamada, salga por el servicio VoIP de Duocom (exten => _.,2,Dial(SIP/${EXTEN}@duocom,90,Ttr)).


Evidentemente cada cual tiene que programar el dialplan de la forma apropiada, este es un ejemplo para sólo un teléfono.

/etc/asterisk/extensions.conf:

[general]
static=yes
writeprotect=no
autofallthrough=yes
clearglobalvars=no
priorityjumping=no

[globals]

[default]
;estas son las llamadas entrantes por el voip.
exten => 902955279,1,Dial(SIP/9070,20)
exten => 902955279,n,Hangup

;Si nuestro dialplan no funciona y queremos comprobar si las llamadas llegan 
;podemos usar el siguiente dialplan que simplemente contesta
;exten => 902955279,1,Answer()
;exten => 902955279,n,Playback(hello-world)
;exten => 902955279,n,Hangup()

;las llamadas a la calle. Mucho cuidado con no dejar que cualquiera
;pueda hacer llamadas, mejor hacerlo desde un contexto propio
;en donde las extensiones tengan que registrarse
exten => _X.,1,SetCallerID,"Mi Nombre" 
;si no lo ponemos sale asterisk, no es muy importante porque nadie lo ve 
;ya que en los telefonos sale el fromuser=902955279 de [duocom] en sip.conf
exten => _X.,2,Dial(SIP/${EXTEN}@duocom,90,Ttr)


;si queremos que funionaran las extensiones entre nosotros
;lo cual no tiene mucha razon al ya estar usando
exten => _*.,1,Dial(SIP/${EXTEN}@duocom,90,Ttr)

Configuración del softphone en la centralita Asterisk

El softphone que usamos es el X-Lite 2.0, que funciona tanto en Windows como en Linux, y que se puede descargar gratuitamente de:

http://www.counterpath.com/13#Download

Supondremos que el servidor de Asterisk está en la dirección IP 172.26.0.5, y, tal como configuramos, en el puerto 5060.

Primero vamos a configuración: System Settings->Network y ponemos los parámetros así:

 configuracion de la centralita Asterisk

Luego en System Settings->SIP Proxy->[Default] pondremos lo siguiente:

 sip proxy de la centralita Asterisk

Con esto ya podremos realizar y recibir llamadas desde el softphone por medio de Asterisk.

Restricta las llamadas saliente con la centralita Asterisk

Duocom Europe SL no se hace responsable de que no le hackeen la centralita y de las llamadas que le van a hacer. Hay dos precauciones que debría tomar:

1. Bloquear las llamadas salientes. Bloquee o todas las llamadas o al menos, la internacionales y números de pago extra españoles. Compruebe que las llamadas a estos destinos no salen. El cualquier caso Duocom Europe SL. no se hace responsable.

configuracion de la centralita Asterisk


2. Si la IP (externa) es fija, en las opciones avanzadas póngalo. Esto realmente no parará a un buen hacker, ya que puede hacer las llamadas a través de una vpn con esa máquina pero al menos dificulta el que hagan llamadas desde otros sistemas. No olvide que los ficheros de configuración son archivos de texto sin encriptar y la contraseña puede ser leída sin problema si se tiene acceso a la máquina.

 configuracion IP externa de la centralita Asterisk

Otras centralitas basadas en Asterisk



Enlaces


Enlaces externos






Indice

Portada >> Oficina Virtual >> Voip >> Asterisk

Portada >> Oficina Virtual >> Número Virtual >> Configuración del Número Virtual >> VoIP para número virtual >> Asterisk

Portada >> Oficina Virtual >> Centralita >> Configuración de las extensiones >> VoIP para extensiones >> Asterisk.