Crear una pequeña centralita casera

08 Feb 08 01:38 UTC

Escrito por: troll

+Ingredientes:
-Linksys SPA3102 -> 85-90€
-Un equipo con targeta de sonido, al menos un interfaz de red y Debian instalado, por supuesto :)
-Softphones en cada pc o teléfonos IP (los hay por ahí sobre 90€ bastante buenos, inalámbricos algo más caros)

+Preparación:
Es fundamental conectar el SPA en el RJ45 de la interfaz externa (wan), de otra forma no funcionará. El acceso lo hacemos con el navegador via http con los datos del manual.

+Cocción:
Cambiamos estos datos y sólo éstos en Voice->PSTN line1:
Sección Proxy and registrations -> proxy: ponemos la ip del server asterisk.
Sección Subscriber information -> User ID: ponemos por ej SPA y pass SPA (luego usaremos esos datos para crear el troncal de conexión).
Dialplans -> eliminamos lo que hay en dialplan2 y ponemos: (S0<:ip_del_asterisk>).
PSTN-To-VoIP Gateway:
-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
FXO timer values -> PSTN Answer Delay: 2
VOIP-To-PSTN Gateway:
- VOIP-To-PSTN Gateway Enable: yes
VoIP Caller Auth Method: None
VoIP Pin Max retry: 3
One Stage Dialing: Yes
Line 1 VoIP Caller DP: none
VoIP Caller Default DP: none
Line 1 Fallback DP: none

+Servicio:
Supongo que no hace falta decir que hay que instalar asterisk (aptitude install asterisk).
Editamos el archivo /etc/asterisk/sip.conf y agregamos al final del archivo los datos del troncal:

[spa3102]
type=peer
username=SPA
secret=SPA
host=ip_del_spa
context=spa
canreinvite=no
insecure=very
nat=no
port=5060
qualify=yes

Y de las extensiones que vamos a crear:

[100]
type=friend ; puede recibir y enviar llamadas
context=spa ; muy importante encuadrar todo en el mismo contexto
secret=100 ; contraseña de la extensión 100 (usuario 100)
host=dynamic ; no se conoce la ip antes del registro
nat=no ;
qualify=no ; cambiar a yes si está detrás de un cortafuegos.
mailbox=100@spa ; buzón del usuario para mensajes de voz

[101]
igual que el anterior, sólo cambia la pass (secret) y el buzón (101@spa)

Así con todos los usuarios que queramos crear.

Ahora toca el archivo extensions.conf al que agregaremos esto al final:

[spa]
exten => s,1,Answer ; descolgamos la llamada
exten => s,2,Wait(2) : dos segundos de espera
exten => s,3,Background(atendido-en-breve) ; suena la locución será atendido en breve
exten => s,4,WaitExten(5,Ttm) ; Espera cinco segundos a que marquemos una extensión.
exten => s,5,Dial(SIP/100,20,Ttm) ; si no marcamos extensión pasa la llamada a la extensión 100 que sonará durante 20 segundos mientra escuchan música de fondo.
exten => s,6,VoiceMail(100) ; si no hay contestación salta el buzón de voz 100.
exten => s,6,Hangup ; colgamos la llamada

exten => 100,1,Dial(SIP/100,20,Ttm) ; extensión 100
exten => 100,2,Voicemail(100)
exten => 100,3,Hangup

exten => 101,1,Dial(SIP/101,20,Ttm) ; extensión 101
exten => 101,2,Voicemail(101)
exten => 101,3,Hangup

exten => 999,1,VoicemailMain ; extensión para escuchar los mensajes.
exten => 999,n,Hangup

Antes de nada comentar que no sé muy bien si en los repositorios de Debian habrá voces en español. De todas formas las voces oficiales de Digium no suenan muy bonitas para los españoles (aunque sí para los usuarios hispanoamericanos), pero podéis descargaros unas voces muy logradas de la página de voipnovatos: http://www.voipnovatos.es

Por último sólo nos queda el archivo voicemail.conf, donde colocaremos los buzones de la siguiente forma:

100 => 100,Pepe,pepe@gmail.com
101 => 101,María,maria@esdebian.org

etc, etc ...

Un asterisk restart y ...

+Buen provecho!!

8 comentarios



http://www.esdebian.org/article.php/20080207193805361