Uno de los problemas más difíciles en Elastix u otras distros Asterisk que se nos presenta, al menos en Venezuela, es poder conectar nuestra PBX a la red PSTN que nos provee de servicios telefónicos. ¿Porqué?
Pues normalmente cuando decidimos contratar un servicio de telefonía digital (uno o varios E1's) con CANTV, Movistar o Digitel resulta que ese servicio de CPA no usa ISDN (Integrated Services Digital Network) sino que nos dan es mfcR2 entrante y DTMF saliente, lo que puede ser un dolor de cabeza para nosotros ya que DTMF saliente sólo lo soporta ciertas versiones de Asterisk, la 1.4.x y la ultima versión..Según leí recientemente, la 10.3.0.*Chequeen la ultima versión http://www.asterisk.org/downloads.
Si el servicio nos llegara en ISDN, nuestra tarjeta como la que ven en la foto de dos E1, trabajaría prácticamente "plug and play" sin problemas con el Hardware Detector de Elastix, por ejemplo. Como desgraciadamente no es nuestro caso en Venezuela, pues nos toca hacer la configuración a mano. Estos son los pasos:
1) Conectar la tarjeta al puerto PCI o PCI express del servidor según el caso.
2) Conectar el cable coaxial que sale del Tx de la CPA a la entrada Rx del balum. Conectar el cable de Rx de la CPA al Tx del balum. De esta forma tenemos transmisión y recepción. Conectar con cable UTP directo usando el conector hembra ethernet del balum hacia nuestra tarjeta de E1.
3) Para los que usan Elastix en cualquiera de sus versiones, pueden correr vía web el Hardware detector SOLO EN LA CONFIGURACION INICIAL para ayudarse un poco.. si lo usan una segunda vez pues hay que hacer toda la configuración otra vez :_(
Para Asterisk puro, debemos correr en el terminal el comando dahdi_scan y dahdi_genconf para que reconozca la tarjeta y nos haga una configuración básica default.
4) Hacer en el terminal o sesión ssh:
nano /etc/dahdi/system.conf
Editar con esta config:
# Span 1
span=1,1,0,cas,hdb3
# termtype: te
cas=1-15:1101
#dchan=16
cas=17-31:1101
echocanceller=mg2,1-15,17-131
# Span 2
span=2,1,0,cas,hdb3
# termtype: te
cas=32-46:1101
#dchan=47
cas=48-62:1101
echocanceller=mg2,1-15,17-131
# Global data
loadzone = ve
defaultzone = ve
5) nano /etc/asterisk/dahdi-channels.conf
Que contenga:
context=from-pstn
;Entrantes
group=1
channel => 17-31,48-62
signalling=mfcr2
mfcr2_variant=ve
mfcr2_dtmf_detection=1
mfcr2_dtmf_dialing=1
mfcr2_get_ani_first=yes
mfcr2_immediate_accept=yes
mfcr2_max_ani=10
mfcr2_max_dnis=4
mfcr2_category=national_subscriber
mfcr2_logging=all
mfcr2_mfback_timeout=-1
mfcr2_call_files=yes
;Salientes
group=0
channel => 1-15,32-46
signalling=mfcr2
mfcr2_variant=ve
mfcr2_dtmf_detection=1
mfcr2_dtmf_dialing=1
mfcr2_get_ani_first=yes
mfcr2_immediate_accept=yes
mfcr2_max_ani=10
mfcr2_max_dnis=4
mfcr2_category=national_subscriber
mfcr2_logging=all
mfcr2_mfback_timeout=-1
mfcr2_call_files=yes
6) Ejecutar el comando dahdi_cfg -vvvvvvv
Y listo! si todo esta bien, podemos ejecutar dahdi_tools y ver todo OK
Para verificar los canales,
asterisk -r
Luego
mfcr2 show channels
y deben decir todos IDLE
7) Ir a outbound routes en Elastix o FreePBX y configurar nuestro plan de marcado usando el troncal g0. Algunos ejemplos de planes son:
041NXXXXXXX para 0412,0416 etc
042NXXXXXXX para 0424,0426
0212XXXXXXX local
02NXXXXXXXX LDN
IMPORTANTE: si logras mfcr2 con tu proveedor para saliente cualquier versión de Asterisk funciona, si te dan DTMF debes cambiar asterisk a 1.4 o la versión 10.