En primer lugar, ya que no vamos a usar al SPA3102 como router, lo configuraremos para que haga bridge entre los dos interfaces de red, de modo que podemos usarlo a modo de switch de una boca. Debido a un fallo de diseño en mi opinión, al establecer el modo bridge la IP_LAN debe quedar en blanco, pudiendo utilizar únicamente el campo correspondiente a la IP_WAN. Si accidentalmente perdemos acceso al router, desconectaremos todo menos la alimentación y el teléfono de la salida FXS, y resetearemos a la configuración de fábrica mediante los códigos del manual
Lo siguiente es configurar una nueva troncal en freepbx con los siguientes datos en "incoming":
canreinvite=no context=from-trunk dial=SIP/PSTN dtmfmode=inband host=dynamic nat=yes port=5060 qualify=yes secret=PSTN type=friend |
Ahora debemos entrar en la configuración del SPA, e ir a la pestaña "PSTN"
En "Sip Settings" comprobamos que el puerto SIP sea el mismo que configuramos en Asterisk.
En "Proxy and Registration" ponemos la ip de Asterisk
En "Subscriber Information" cubrimos los datos de registro, acordes con el usuario/clave que hemos especificado al crear la troncal (al fin y al cabo esta troncal se comporta de modo similar a una extensión).
Ahora toca configurar el "Dialplan". Tan solo debemos modificar uno, en nuestro caso usaremos el 2. El resto los dejaremos en "(xx.)" Aquà tenemos que decirle al SPA3102 qué debe hacer con las llamadas entrantes. Pondremos en el DialPlan nº 2 lo siguiente: "(S0<:s>)" ó "(S0<:s@192.168.0.253>)" (ip del servidor Asterisk). De todos modos con la primera opción es suficiente ya que la ip de Asterisk está configurada en la sección de "Proxy and Registration".
NOTA: Mientras que lo anterior funciona y es probablemente adecuado para la mayorÃa de las configuraciones, podemos sacar partido de las "Inbound Routes" usando el DialPlan "(S0<:1234567890>)". Este número "1234567890" o el que pongamos en su lugar deberá estar creado como una Extensión SIP en Asterisk. Cuando nos entre una llamada desde la PSTN, ésta llegará a ASTERISK con "FROM_DID=1234567890", de modo que podremos rutearla hacia donde nos convenga.
Ahora nos vamos a la sección VoIP-TO-PSTN Gateway Setup. Aquà se configuran los parámetros aplicables a las llamadas provenientes desde Asterisk hacia el exterior y establecemos los siguientes parámetros:
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 |
Sección PSTN-To-VoIP Gateway Setup:
PSTN-To-Voip Gateway Enable: Yes PSTN Caller Auth Method: none PSTN Ring Thru Line 1: no (Para usar ASTERISK para enrutar). PSTN Pin Max Retry: 3 PSTN CID for VoIP CID: Yes PSTN Caller Default DP: 2 (Aquà ponemos el Dial Plan que se usará cuando se haga una llamada). Off Hook While Calling VoIP: No Line 1 Signal Hook Flash To PSTN: Disabled |
FXO Timer Values (sec):
Con estos valores he conseguido establecer llamadas a móvil en 10 segundos y a fijos en 8 segundos.
Voip Answer Delay: 0 PSTN Answer Delay: 1 (Si no identifica correctamente las llamadas, incrementar el valor) PSTN-To-VoIP Call Max Dur: 0 VoIP-To-PSTN Call Max Dur: 0 VoIP DLG Refresh Intvl: 0 PSTN Dialing Delay: 1 (Si se pone a 0 no realiza llamadas salientes) PSTN Hook Flash Len: 0.25 VoIP PIN Digit Timeout: 10 PSTN PIN Digit Timeout: 10 PSTN Ring Thru Delay: 1 PSTN Ring Thru CWT Delay: 3 PSTN Ring Timeout: 5 PSTN Dial Digit Len: .1/.1 |
Por último ajustaremos la configuración regional para que los tonos de llamada se correspondan con los usados en nuestro paÃs.
En la página World PSTN Tone Database tenemos disponibles la configuración de tonos para la mayorÃa, sino todos los paÃses. Además tiene una opción para ver el tono en formato Sipura/Linksys o Zaptel/Asterisk, con lo que solo tenemos que buscar el que necesitemos y copiar/pegar.
No obstante, para España tenemos una recopilación realizada por Alberto Sagredo en la página VoipNovatos que reproduzco aquÃ:
# *** Call Progress Tones Dial_Tone "425@-10;10(*/0/1)" ; Outside_Dial_Tone "425@-10;10(*/0/1)" ; Prompt_Tone "" ; Busy_Tone "425@-20;10(.2/.2/1)" ; Reorder_Tone "425@-10;10(0.2/0.2/1,0.2/0.2/1,0.2/0.6/1)" ; Off_Hook_Warning_Tone "425@-10;10(.25/.25/1)" ; Ring_Back_Tone "425@-10;10(1/4/1)" ; Call_Waiting_Tone "425@-20;10(0.175/0.175/1,0.0175/3.5/1)"; Confirm_Tone "" ; SIT1_Tone "950@-10,1400@-10,1800@-10;10(.33/0/1,.33/0/2,0.33/1/3)" ; SIT2_Tone "" ; SIT3_Tone "" ; SIT4_Tone "" ; MWI_Dial_Tone "425@-10;10(1/0.1/1)" ; Cfwd_Dial_Tone "425@-10;10(0.5/0.05/1)" ; Holding_Tone "1400@-20;10(0.4/5/1)" ; Conference_Tone "" ; Secure_Call_Indication_Tone "" ; Page_Tone "" ; |