Вы находитесь на странице: 1из 6

MFC/R2 es un protocolo de sealizacin dentro de banda por cada canal (CAS channel associated signalling) sobre tramas digitales

E1 usado principalmente en Latinoamrica (quizs el ms usado todava hoy). El cual es soportado perfectamente en Elastix debido a la inclusin de la librera OpenR2 la cual implementa sealizacin MFC/R2 sobre lneas E1 usando la interfaz de telefona DAHDI. El autor de dicha librera y los parches de Asterisk correspondientes es Moiss Silva quien actualmente trabaja para la firma canadiense Sangoma y a quien personalmente agradezco por todo su trabajo y ayuda. Qu es MFC/R2? MFC/R2 es una sealizacin telefnica usada ampliamente en Argentina, Colombia, Venezuela, Mxico, Brasil y otros pases de Latinoamrica y Asia con su origen en los inicios de la telefona digital all por fines de la dcada del 70. Las iniciales de MFC/R2 provienen de Multi-Frequency Compelled R2 (R2 dirigido por multifrecuencia). Comparado con protocolos de sealizacin ms recientes como el ISDN PRI/BRI o SS7, R2 ofrece funcionalidades bastante limitadas. La sealizacin solo se usa para establecer la llamada o para finalizarla. A su vez algunas de las variantes MFC/R2 envan pulsos de cobro mientras dura la llamada, aunque raramente son usados. Existen variantes analgicas y digitales de MFC/R2, pero cualquier referencia a MFC/R2 o R2 en ste documento solo se basa en la versin digital usada sobre enlaces E1. Un dato curioso sobre este protocolo es que a pesar de estar definido y estandarizado por la ITU (International Telecommunication Union), cada pas sigue su propia variante L Cmo funciona MFC/R2? MFC/R2 es un protocolo de sealizacin peer-to-peer, lo cual significa que solo hay dos participantes involucrados sobre un enlace E1 R2 y ambos extremos se comportan del mismo modo, muy distinto con respecto a ISDN PRI donde se tiene la un extremo servidor NET y otro cliente CPE del enlace. Como se nombr anteriormente, MFC/R2 significa Multi-Frecuency Compelled R2 y dicho nombre describe la naturaleza de sta sealizacin, donde se tienen dos tipos de seales (valga la redundancia): Seales de Lnea. Son usadas para monitorear el estado de la llamada y las seales MF son usadas para transmitir informacin de la misma durante el establecimiento de la misma (DNIS, ANI, Calling Party Category). Las seales de lnea se envan utilizando seales CAS que viajan usando el canal 16 del enlace E1. Todas las seales CAS de cada canal del E1 son multiplexadas en ste canal. Cada 2 milisegundos cada extremo del enlace actualiza sus 4 bits de seal CAS mas conocidos como los infames bits ABCD. MFC/R2 usa 2 de esos 4 bits para enviar las siguientes seales: Idle, Block, Seize, Seize Ack, Clear Back, Forced Release, Clear Forward, Answer.

Al usarse slo 2 bits para 7 posibles seales es imposible no repetir algn patrn, es por eso que algunas de las 7 seales tienen el mismo patrn de bits, pero esto no representa un problema considerando que, por ejemplo, no se puede ir del estado Idle al Forced Release, por lo tanto, aunque el patrn de bits para Forced Release y Seize son los mismos, el protocolo conoce lo que lo que el otro extremo del enlace quiere decir de forma inequvoca. La razn de usar slo 2 bits teniendo 4 disponibles es histrica y proviene de la poca donde la versin analgica de MFC/R2 fue portada para trabajar en el ese entonces novedoso mundo digital. La siguiente tabla describe los patrones de bits usados en la sealizacin R2 mediante los bits ABCD de CAS.

Las seales de direccionamiento, por el otro lado, son 15 diferentes seales MF, que son tonos audibles compuestos por 2 frecuencias que viajan usando el canal de audio, y es por eso que el analizador/detector de audio es el componente quizs mas importante en el paquete R2. La librera OpenR2 por defecto usa su propio analizador/detector de MF sobre R2, el cual fue tomado prestado de la librera SpanDSP de Steve Underwood. A diferencia de su antecesor Unicall no es necesario instalar SpanDSP ni otras libreras para usar OpenR2, ya que el detector se encuentra embebido dentro de la misma de forma nativa. La ITU define qu frecuencias pueden ser mezcladas para componer los tonos MF y asigna los significados de cada uno de ellos. Sin embargo tal como fue comentado anteriormente, algunos pases asignan diferentes significados a estos tonos MF. Dichos tonos MF son identificados en la librera OpenR2 usando los nmeros del 1 al 0 (0 siendo 10) y letras de la B a la F (la A no es usada, en su lugar se usa 0). Si nosotros habilitramos el debugging del mdulo de OpenR2 veramos los detalles de qu tonos son enviados y recibidos durante el transcurso de cada llamada. Los tonos multifrecuencia (MF) son usados para transmitir los ANI (Automatic Number Identification, mas conocido como Identificador de Llamada), los DNIS (Dialed Number Identification Service, que es, el nmero marcado o nmero destino) y las Categoras de Marcado.

Tan pronto como la llamada es aceptada o rechazada, el analizador/detector de MF se deja de usar y no se intercambiarn ms seales MF, recin ah el canal de audio puede ser usada para transmitir la llamada de voz. Configuracin de E1 R2 en Elastix 1.5.2-2 o superior. Para tarjetas que usan el driver DAHDI de forma nativa: o Primero nuestra tarjeta de trama digital debe usar el estndar E1 por lo cual debemos verificar que su correspondiente jumper o configuracin este seteada en dicho estndar o En caso de usar mltiples tarjetas E1 verificar que los controles de identificacin de tarjetas estn correctamente seteados (1er tarjeta en 0, 2da en 1, etc.) o Verificar que la tarjeta es correctamente reconocida en Elastix usando el comando # lspci desde la consola. o Utilizar la herramienta # dahdi_genconf para generar una config bsica estndar (la vamos a usar para no tener que contar a mano los canales) si tenemos varias tarjetas o varias tramas E1. o Con la informacin de nuestro proveedor de telefona en la mano vamos a proceder a configurar la trama digital a nivel del driver DAHDI, este es un ejemplo tpico de 1 trama simple E1 para Argentina: Archivo: /etc/dahdi/system.conf span=1,1,0,cas,hdb3 ;reloj master, sealizacin CAS, Coding hdb3 cas=1-15,17-31:1101 ; Canales CAS del 1 al 15 y 17 al 31 bits en block dchan=16 echocanceller=mg2,1-15,17-31 ;Cancelacin eco MG2 en los canales loadzone=ar defaultzone=ar ; zonas de tonos argentinos del driver DAHDI Archivo de Asterisk para configurar los canales mfcr2, chan_dahdi.conf, debajo de las configs por defecto del archivo agregamos: resetinterval=never context=from-pstn

group=0 echocancel=yes signalling=mfcr2 mfcr2_variant=ar ; variante de r2 de nuestro pas mfcr2_get_ani_first=no mfcr2_max_ani=10 ;cantidad de dgitos del caller id a recibir mfcr2_max_dnis=4; cantidad de dgitos de nuestros DIDs mfcr2_category=national_subscriber mfcr2_mfback_timeout=-1 mfcr2_metering_pulse_timeout=-1 channel =>1-15,17-31 ; canales a configurar igual que en system.conf o Luego restarteamos nuestros drivers Dahdi y el servicio de Asterisk y verificamos si nuestra trama est en funcionamiento (imgenes de muestra de un sistema real) # service dahdi restart # amportal restart o Imagen de la herramienta dahdi_tool con trama E1 R2 corriendo correctamente:

o Imagen de la salida del comando mfcr2 show channels de asterisk demostrando que los canales estn funcionando:

o Los canales ya pueden ser usados desde el FreePbx y Elastix tal como los veniamos usando con otras tarjetas. En este caso seran el grupo Dahdi/g0. Para tarjetas Sangoma: o Parar los servicios de Asterisk # amportal stop o Parar los drivers Dahdi # service dahdi stop o Parar el servicio wanrouter de Sangoma # service wanrouter stop o Ejecutar el comando # wancfg_dahdi y seguir las instrucciones del mismo, cuando llegue a seleccin de estndares seleccionar E1, ISDN pri con estndar EuroISDN, elegir que grabe los cambios sin restartear el dahdi ni asterisk. o Al terminar este paso editar el archivo /etc/wanpipe/wanpipe1.cfg buscar la lnea donde dice TE_SIG_MODE = CCS y reemplazarlo por CAS, grabar el archivo y luego retomar la config exactamente igual que como est descripto en el apartado de Dahdi nativo arriba descripto. o Al finalizar de editar los archivos /etc/dahdi/system.conf y /etc/asterisk/ chan_dahdi.conf debemos levantar de nuevo los servicios en este orden: # service wanrouter start # service dahdi start # amportal start o Por ltimo verificamos que la trama haya levantado igual que en el ejemplo anterior con el comando de asterisk cli> mfcr2 show channels

En el caso de varias tramas digitales solo cambian los nmeros de canales y este ejemplo es totalmente vlido para 1 a n tramas. Es posible en 1 misma tarjeta o en 1 mismo sistema mezclar diferentes spans de trama y cada uno con su propio protocolo ya sean R2 o ISDN primario. Nuevamente espero que este humilde aporte los ayude y agradezco a Moises Silva, a Alexandre Alencar y a Juan Carlos Huerta por sus aportes en la realizacin de este documento y por favor si desean soporte, mas info o consultas especficas les solicitamos hacerlas a travs del soporte oficial pago de de nuestra empresa y de Elastix para seguir apoyando el crecimiento del Software Libre.

Вам также может понравиться