Saltar a: navegación, buscar

Diferencia entre revisiones de «Asterisk»

(Configuración de la centralita IP Asterisk)
 
(No se muestran 45 ediciones intermedias de 4 usuarios)
Línea 1: Línea 1:
<font color=red>'''Duocom Europe NO DA SOPORTE TECNICO CON LAS ASTERISK''', su uso es a riesgo de los clientes.</font>
+
{{#seo:
 +
|title=Centralita IP {{PROD_TILDE}}.
 +
|titlemode=append
 +
|keywords=Asterisk, voip asterisk, asterisk voip, asterisk sip, asterisk trunk, centralita ip, Centralita Asterisk, centralita sip, sip,sip trunk
 +
|description= Asterisk VoIP es una Centralita externa IP,  que necesita un número de teléfono que permita comunicarse con otros teléfonos.
 +
}}
  
  ''' Escrito auténtico de un cliente:'''
+
==Introducción Asterisk Centralita IP ==
  Estimados Señores:
 
          Nuestra centralita Asterisk donde teníamos configurada su
 
          cuenta sip fue Hackeada  Ayer , necesitamos  un log completo
 
          con ip de origen, numeros de destino, etc,  la mayor cantidad
 
          de información posible de las llamadas salientes de ayer, nos
 
          es sumamente urgente.
 
  Gracias por todo.
 
  
<font color=red>Los únicos ataques con éxito contra clientes voip han ocurrido con cuentas que usaban centralitas IP (7 con Asterisk, 2 con 3CX).</font> Volviendo a repetirlo, usar centralitas IP es abrir una caja de truenos y a no ser que tenga razones para hacerlo y conocimiento técnico para manejarlas no lo haga.
+
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 {{PRODUCTO}}. 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.
  
<font color=red>Si necesita una Asterisk sólo para recibir llamadas, quite la opción de Permite Realizar llamadas en las opciones de Voip.</font>
+
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|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.
  
En el siguiente documento explicaremos cómo configurar el servidor “open source” Asterisk para funcionar con el servicio VoIP del número virtual o de la centralita.  
+
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.
  
'''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. 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 y el Asterisk hace las veces de unificador.
+
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.
  
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.
+
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.'''
  
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.
+
==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.
  
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.
+
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 .
 
 
===Codecs===
 
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.
 
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 Asterisk===
+
==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.
 
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 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]).
 
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]).
Línea 47: Línea 43:
 
[general]
 
[general]
 
context=default
 
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:
 
bindport=5060  ;por defecto es el 5060, pero es bueno ponerlo para que lo mande en el Contact:
 
bindaddr=0.0.0.0
 
bindaddr=0.0.0.0
 
srvlookup=yes
 
srvlookup=yes
allow=g723
+
; Ponemos los codecs a utilizar
sipdebug=yes    ;lo podemos quitar cuando todo funcione
+
;allow=g729
 +
allow=ulaw
 +
allow=alaw
 +
sipdebug=yes    ;lo quitamos cuando todo funcione
  
  
Línea 57: Línea 57:
 
;Esto es muy IMPORTANTE, pues le decimos al Asterisk como se tiene que registrar
 
;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
 
;con duocom. Al final escribimos duocom que hace que las llamadas desde el proveedor vengan a duocom
;segun especificado en el Contact:
+
;según especificado en el Contact:
 
;Ahora mismo el context es default, de forma que en extensions.conf,  
 
;Ahora mismo el context es default, de forma que en extensions.conf,  
 
;en [default] tiene que existir la exten => 902955279
 
;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  
+
;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
 
;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
 
;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.
+
;msip.duocom.es no nos pide que nos autoricemos y ahorramos unos 200ms.
  
  
register => 902955279:la_contrasenya@msip.duocom.es/902955279
+
register => 902955279:la_contrasenya@msip.duocom.es:16080/902955279
  
 
nat=yes
 
nat=yes
  
;Este siguiente es como se configura un telefono para ser usado con Asterisk, no tiene nada
+
;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 telefonos y
+
;que ver con el proveedor. Cada cual que tiene un Asterisk debe saber como organizar sus teléfonos y
 
;su dialplan.
 
;su dialplan.
 
[9070]
 
[9070]
; Turn off silence suppression in X-Lite ("Transmit Silence"=YES)!
+
context=LocalSets    ; muy importante para sólo dejar sacar llamadas de este contexto
; Note that Xlite sends NAT keep-alive packets, so qualify=yes is not needed
 
 
type=friend
 
type=friend
host=dynamic    ;importante que sea dynamic, porque si le especificamos la ip no deja registrarlo
+
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  
+
defaultip=127.0.0.1  ;si sabemos la IP y es fija se lo ponemos para que  
 
;le pueda mandar llamadas antes de registrarse
 
;le pueda mandar llamadas antes de registrarse
 
nat=no          ;si esta dentro de la misma red el nat=no (aunque tampoco molesta)
 
nat=no          ;si esta dentro de la misma red el nat=no (aunque tampoco molesta)
Línea 87: Línea 86:
 
rfc2833compensate=yes    ;si no se lo ponemos no coge dígitos el asterisk en su ivr
 
rfc2833compensate=yes    ;si no se lo ponemos no coge dígitos el asterisk en su ivr
 
disallow=all
 
disallow=all
allow=ulaw
+
allow=ulaw&alaw  ; allow=g729&ulaw&alaw
;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
 
username=9070  ;sirve para mandarle llamadas antes de registrarse
password=9070   ;el que sea obviamente
+
password=passwd9070   ;el que sea obviamente
  
 
[duocom]
 
[duocom]
 +
context=default   
 
type=friend
 
type=friend
 
host=msip.duocom.es
 
host=msip.duocom.es
 +
port=16080
 
fromuser=902955279
 
fromuser=902955279
 
fromdomain=msip.duocom.es
 
fromdomain=msip.duocom.es
Línea 106: Línea 104:
 
qualify=yes
 
qualify=yes
 
disallow=all
 
disallow=all
allow=g723
+
allow=ulaw&alaw  ;allow=g729&ulaw&alaw
 
nat=yes
 
nat=yes
context=default   
 
 
canreinvite=no
 
canreinvite=no
 
insecure=port,invite
 
insecure=port,invite
 +
Keepalive=yes
 +
Qualify=30000
 +
 
</pre>
 
</pre>
  
Línea 116: Línea 116:
 
<br>
 
<br>
 
En el cli del asterisk (se le llama ''asterisk -r'') podemos ver los registros con ''sip show registry''.
 
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 {{DOMINIO}} podemos ver que estamos registrados.
+
Y en la página del VoIP de {{DOMINIO}} 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)).
 
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)).
Línea 136: Línea 136:
  
 
[default]
 
[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
+
//Llamadas entrantes
;podemos usar el siguiente dialplan que simplemente contesta
+
exten => 902955279,1,Answer()
;exten => 902955279,1,Answer()
+
exten => 902955279,n,Progress()
;exten => 902955279,n,Playback(hello-world)
+
exten => 902955279,n,Playback(welcome) ;asegúrese de tener un buen archivo de sonido
;exten => 902955279,n,Hangup()
+
exten => 902955279,n,WaitExten(5)    ; aquí si tiene una extensión válida va a esa
 +
exten => 902955279,n,Hangup()
  
;las llamadas a la calle. Mucho cuidado con no dejar que cualquiera
+
; Poner las diferentes extensiones
;pueda hacer llamadas, mejor hacerlo desde un contexto propio
+
exten => 9070,n,Dial(SIP/9070)
;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)
 
  
 +
;Estos son para desde las extensiones nuestras
 +
[LocalSets]
  
;si queremos que funionaran las extensiones entre nosotros
+
; Poner las diferentes extensiones
;lo cual no tiene mucha razon al ya estar usando
+
exten => 9070,n,Dial(SIP/9070)
exten => _*.,1,Dial(SIP/${EXTEN}@duocom,90,Ttr)
+
 
 +
 
 +
; Llamadas a la calle
 +
exten => _X.,n,Dial(SIP/${EXTEN}@duocom,90,Ttr)
 
</pre>
 
</pre>
  
===Configuración del softphone===
+
==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:
 
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
+
https://www.counterpath.com/x-lite-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.
+
Más información sobre [[X-Lite]]
  
Primero vamos a configuración: System Settings->Network y ponemos los parámetros así:
+
===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:'''<br>
  
[[Imagen:xlite_network.png]]
+
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 <font color=red>Duocom Europe SL. no se hace responsable.</font>
  
Luego en System Settings->SIP Proxy->[Default] pondremos lo siguiente:
+
En '''VoIP --> Restringir llamadas salientes'''
  
[[Imagen:xlite_sipproxy.png]]
+
[[Imagen:restriccion.png|alt=VoIP Asterisk]]
 
 
Con esto ya podremos realizar y recibir llamadas desde el softphone por medio de Asterisk.
 
 
 
===Restricta las llamadas salientes===
 
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:<br>
 
 
 
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 <font color=red>Duocom Europe SL. no se hace responsable.</font>
 
 
 
[[Imagen:restriccion.png]]
 
  
  
 
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.
 
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.
  
[[Imagen:ip_fija.png]]
 
 
===Otras centralitas basadas en Asterisk===
 
  
* [[FreePBX]]
+
[[Imagen:ip_fija.png|alt= centralita Asterisk]]
* [[Elastix]]
 
  
 +
== 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 ==
Línea 203: Línea 197:
  
 
'''Enlaces externos'''
 
'''Enlaces externos'''
*[http://www.asterisk.org Asterisk]
+
*[https://www.asterisk.org Asterisk]. En donde se puede descargar, la documentación, etc.
*[http://es.wikipedia.org/wiki/Session_Initiation_Protocol Sip]
+
*[https://es.wikipedia.org/wiki/Session_Initiation_Protocol Sip]
 
+
*[http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/index.html El libro de Asterisk] en inglés. Esta copia es de la 3a edición (va por la 4a). Muy recomendable.
 
+
*[https://www.voip-info.org/wiki/view/Asterisk+CLI  El CLI]. Documentación de como usar el CLI que es la consola de comandos.
 
 
 
 
  
  
Línea 217: Línea 209:
 
'''Indice'''
 
'''Indice'''
  
[[Portada]]  >>  [[Oficina Virtual]]  >>  [[Voip]]  >>  Asterisk
+
[[Página principal]]  >>  [[Oficina Virtual]]  >>  [[Voip]]  >>  Asterisk
  
[[Portada]]  >>  [[Oficina Virtual]]  >> [[Número Virtual]]  >>  [[Configuración del Número Virtual]]  >>  [[VoIP para número virtual]]  >>  Asterisk
+
[[Página principal]]  >>  [[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.
+
[[Página principal]]  >>  [[Oficina Virtual]]  >> [[Centralita]]  >>  [[Configuración de las extensiones]]  >>  [[VoIP para extensiones]]  >>  Asterisk.

Revisión actual del 10:09 23 oct 2020

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.