Saltar a: navegación, buscar

Asterisk

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 Telefácil. 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 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]

//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

VoIP 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.


 centralita Asterisk

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.