Hace tiempo que tenía intención de publicar algo a este respecto, ya que llevo bastante tiempo utilizando Asterisk con el NSLU2, y ha sido una experiencia perfecta, sin errores.
Primero voy a comentar el escenario: Tengo que comunicarme con mi novia que se pira al extranjero, pero no quiero dejarme la pasta en las llamadas… A demás quiero que le salga barato (o gratis
) llamar desde donde este. Y necesito varias extensiones.
Teniendo en cuenta el escenario anterior, yo monté una solución con lo siguiente:
- 1 x Linksys NSLU2
- 1 x Pendrive de 1GB
- 1 x SPA3000 o SPA3102
- 1 x PAP2-T
Si no tienes estodemasiado a mano, o lo tienes que comprar todo, no es que sea rentable, pero como yo ya tenía casi todo, decidí montarlo
Lo primero es preparar el NSLU2 para funcionar con Asterisk: para ello instalé el firmware UnSlung, y podéis seguir mi tutorial.Una vez UnSlung esta instalado, podemos instalar Asterisk con ipkg, además los paquetes disponibles son bastante completos (tenemos rama 1.2 y rama 1.4, el GUI, etc.):
[root@saghul-nslu2 ~]$ ipkg list | grep asterisk
asterisk – 1.2.18-1 – Open Source VoIP PBX System
asterisk – 1.2.17-1 -
asterisk-sounds – 1.2.1-1 – Supplementary asterisk-sounds.
asterisk14 – 1.4.7.1-1 – Asterisk is an Open Source PBX and telephony toolkit.
asterisk14-chan-capi – 1.0.1-1 – capi module for asterisk
asterisk14-core-sounds-en-gsm – 1.4.7-1 – asterisk-core-sounds-en-gsm
asterisk14-core-sounds-en-ulaw – 1.4.7-1 – asterisk-core-sounds-en-ulaw
asterisk14-extra-sounds-en-gsm – 1.4.6-1 – asterisk-extra-sounds-en-gsm
asterisk14-extra-sounds-en-ulaw – 1.4.6-1 – asterisk-extra-sounds-en-ulaw
asterisk14-gui – 0.0.0svn-r395-3 – Asterisk-GUI is a framework for the creation of graphical interfaces for configuring Asterisk.
asterisk14-moh-freeplay-gsm – 0.0.0-1 – asterisk-moh-freeplay-gsm
asterisk14-moh-freeplay-ulaw – 0.0.0-1 – asterisk-moh-freeplay-ulaw
Yo personalmente solo he utilizado la rama 1.2 (el sistema lo monté antes de la 1.4), y me ha ido de maravilla… Para instalarlo ejecutamos:
ipkg install asterisk (para la rama 1.2)
ipkg install asterisk14 (para la rama 1.4)
Una vez Asterisk esta instalado solo tenemos que modificar un poco es fichero asteris.conf, que esta en /opt/etc/asterisk/ para indicar el directorio correcto de los ficheros de configuración:
astetcdir => /opt/etc/asterisk
En este punto ya tenemos Asterisk funcionando de la manera más básica, pero como tenemos los recursos muy limitados, solo cargaremos los módulos estrictamente necesarios. Por ejemplo, yo tengo estos:
Connected to Asterisk 1.2.17 currently running on saghul-nslu2 (pid = 1179)
saghul-nslu2*CLI> show modules
Module Description Use Count
res_features.so Call Features Resource 1
res_indications.so Indications Configuration 0
pbx_config.so Text Extension Configuration 0
pbx_functions.so Builtin dialplan functions 0
func_callerid.so Caller ID related dialplan function 0
func_uri.so URI encode/decode functions 0
chan_features.so Feature Proxy Channel 0
chan_iax2.so Inter Asterisk eXchange (Ver 2) 0
chan_sip.so Session Initiation Protocol (SIP) 0
format_g729.so Raw G729 data 0
app_dial.so Dialing Application 0
app_playback.so Sound File Playback Application 0
app_setcallerid.so Set CallerID Application 0
app_verbose.so Send verbose output 0
14 modules loaded
saghul-nslu2*CLI>
Ahora toca interactuar con la línea. La idea es que se pueda usar la PSTN remotamente (a través de Asterisk), porque las llamadas nacionales son gratuitas (se puede usar un proveedor VoIP para las demás por ejemplo). Para esto, configuraremos el SPA-3102 (igual en el 3000), para que las llamadas de la FXO entren en el Asterisk:
- Seleccionamos la pestaña “PSTN Line”.
- Marcamos “Line Enable” a “yes”.
- En la sección “Proxy and Registration”, en el campo “Proxy” ponemos la dirección IP de nuestro Asterisk.
- En la sección “Subscriber Information”, en el campo “User ID” ponemos el nombre de la cuenta SIP que hemos creado en Asterisk y en el campo “Password” la contraseña.
- En la sección de “Dialplans” ponemos lo siguiente en el DialPlan 2: (S0<:la_extension_que_tu_quieras>). Donde dice “la extensión que tu quieras” hay que poner la extensión a la que se mandarán las llamadas. Puedes poner la extensión “s” para hacer un IVR en Asterisk, etc…
- En la sección “PSTN-To-VoIP-Gateway Setup ” ponemos:
PSTN-To-VoIP Gateway Enable: Yes
PSTN Caller Auth Method: None
PSTN Ring Thru Line 1: no
PSTN CID For VoIP CID: yes
PSTN Caller Default DP: 2 - En la sección “FXO timer values”, ponemos “PSTN Answer Delay: 2″, o el número que queramos, esto es el tiempo que se esperará antes de descolgar.
Llegado este punto, solo faltaría configurar el PAP2 y Asterisk, pero eso no es el objetivo de este post. Con este post pretendo comentar mi experiencia con este “juguete” y lo bien que me ha ido para este tipo de cosas… En una pequeña prueba que realicé soportaba 4 llamadas simultáneas en g729 (nada de transcoding, ya que no tiene FPU…)














Pingback: Impresiones sobre la VoIP móvil at Mi Brain-Training Personal