Asterisk
Sumario
Introducción Asterisk Centralita IP
Las centralitas de código abierto Asterisk proporcionan un excelente producto a coste económico cero. Corren sobre el sistema operativo Linux y son difíciles de configurar en general para un usuario no familiarizado con estos sistemas. FreePBX y Elastix son soluciones que integran métodos gráficos para configurar una Asterisk.
En la configuración de una centralita IP de este tipo, está la parte interna entre la centralita con los teléfonos y la unión entre la centralita con el proveedor del servicio VoIP, en este caso Mi Oficina Web. Nosotros sólo podemos dar asistencia en la configuración de los Asterisk Trunks unidos a nosotros como proveedor, no podemos dar servicio técnico de la configuración general o reglas de marcado.
Tenga en cuenta que para instalar y mantener las centralitas IP, hay que tener conocimientos técnicos avanzados por este motivo no se recomienda el uso de estas para principiantes ya que pueden sufrir ataques externos. Si necesita una Asterisk sólo para recibir llamadas, quite la opción de Permite Realizar llamadas en las opciones de VoIP. Los únicos ataques con éxito contra clientes VoIP han ocurrido con cuentas que usaban Centralitas IP externas.
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 de manera más fácil y más económica directamente con la Centralita Virtual . Además exige conocimientos de Linux, es importante 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.
Como experimento ilustrativo, tras configurar la Asterisk SIP y antes de hacer ningún uso, observe con tcpdump o wireshark los paquetes que llegan al puerto 5060. Da miedo.
Sólo se nos ocurre como casos, cuando se quiera aprender a usarlo, si ya se tiene funcionando, para call centers muy grandes (que exijan 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.
Partiendo de una Centralita IP Asterisk instalada y funcionando correctamente, consideraremos que el lector tiene ya conocimiento sobre el uso de la misma; vamos a poner un ejemplo de uso: Usaremos el Número Virtual “902955279”, que hemos activado con la contraseña “la_contraseña”. 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 usted.
Codecs de la centralita Asterisk
El servicio VOIP de Duocom utiliza los codecs g.729a, g.711u o g.711a. Si tiene fibra recomendamos el uso del G711a. IMPORTANTE: En este caso recomendamos usar el G711a y deshabilitar en los teléfonos el G729 y G723. Que use G711a en todos los sitios.
El codec g729 no viene por defecto en Asterisk. Por ello, deberemos descargárnoslos de: http://asterisk.hosting.lv/#bin . Pero siempre puede trabajar con el G711. 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 .
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 IP 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 VoIP 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 ; El bindport puede ser bueno quitarlo del 5060 para evitar muchos ataques. 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 ; Ponemos los codecs a utilizar ;allow=g729 allow=ulaw allow=alaw sipdebug=yes ;lo quitamos 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 ;según 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 extensión 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 autoricemos y ahorramos unos 200ms. register => 902955279:la_contrasenya@msip.duocom.es:16080/902955279 nat=yes ;Este siguiente es como se configura un teléfono para ser usado con Asterisk, no tiene nada ;que ver con el proveedor. Cada cual que tiene un Asterisk debe saber como organizar sus teléfonos y ;su dialplan. [9070] context=LocalSets ; muy importante para sólo dejar sacar llamadas de este contexto 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&alaw ; allow=g729&ulaw&alaw username=9070 ;sirve para mandarle llamadas antes de registrarse password=passwd9070 ;el que sea obviamente [duocom] context=default type=friend host=msip.duocom.es port=16080 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=ulaw&alaw ;allow=g729&ulaw&alaw nat=yes canreinvite=no insecure=port,invite Keepalive=yes Qualify=30000
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 mioficinaweb.es 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] //Llamadas entrantes exten => 902955279,1,Answer() exten => 902955279,n,Progress() exten => 902955279,n,Playback(welcome) ;asegúrese de tener un buen archivo de sonido exten => 902955279,n,WaitExten(5) ; aquí si tiene una extensión válida va a esa exten => 902955279,n,Hangup() ; Poner las diferentes extensiones exten => 9070,n,Dial(SIP/9070) ;Estos son para desde las extensiones nuestras [LocalSets] ; Poner las diferentes extensiones exten => 9070,n,Dial(SIP/9070) ; Llamadas a la calle exten => _X.,n,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:
https://www.counterpath.com/x-lite-download/
Más información sobre X-Lite
Restrinja las llamadas salientes con la centralita Asterisk
Duocom Europe SL no se hace responsable del mantenimiento de la centralita Asterisk ni del uso que le de. Recomendaciones, debería tomar dos precauciones:
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.
En VoIP --> Restringir llamadas salientes
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.
Problemas
Para ver en el log las llamadas sip:
asterisk -r (CLI) core set verbose 3 core set debug 3 sip set debug ip X.X.X.X,
para quitarlo
sip set debug off
Enlaces
Enlaces externos
- Asterisk. En donde se puede descargar, la documentación, etc.
- Sip
- El libro de Asterisk en inglés. Esta copia es de la 3a edición (va por la 4a). Muy recomendable.
- El CLI. Documentación de como usar el CLI que es la consola de comandos.
Indice
Página principal >> Oficina Virtual >> Voip >> Asterisk
Página principal >> Oficina Virtual >> Número Virtual >> Configuración del Número Virtual >> VoIP para número virtual >> Asterisk
Página principal >> Oficina Virtual >> Centralita >> Configuración de las extensiones >> VoIP para extensiones >> Asterisk.