viernes, 22 de agosto de 2014

TRONCAL E1 PRI ENTRE ASTERISK Y CISCO CME


El adaptador E1 de voz consiste en una Línea Digital que permite tener acceso telefónico de 30 canales de voz con un ancho de banda de 64 Kbps cada uno, también cuenta con dos canales para señalización, esto es, indica en qué estado está la llamada, si está colgada, descolgada, como se marcan los números, el tono de ocupado etc. Los 30 canales de acceso del E1 son compartidos por todos los números telefónicos asignados al mismo, por lo que todas las llamadas entrantes o salientes de cualquiera de las extensiones asignadas podrán ser atendidas directamente mientras exista un canal disponible.


La configuración se hará con una tarjeta TE220 Digium, recordar que Digium es una empresa especializada en la creación de equipos de telefonía enfocados en Asterisk.

Los aspectos técnicos mas importantes a considerar para la selección de una tarjeta E1 son (http://elastixtech.com/configurar-adaptador-e1-en-elastix/)

1.- El tipo de interfaz PCI o PCI Express, dependerá del modelo de la computadora a utilizar como servidor

2.- Que incorpore hardware para cancelación de eco, se recomienda que lo incluya.

3.- La cantidad de puertos E1 incluidos, comprar lo que se va a utilizar ya que esto complica la configuración.

4.- Soporte para los 3 estándares digitales T1/E1/J1 aunque solo se use uno, lo determina el proveedor

5.- Que soporte los estándares de decodificación de línea: HDB3, AMI, B8ZS, aunque solo se use uno.

6.- Tipos de Tramas (Framing): CRC-4, Non CRC4, ESF, SF, D4. lo determina el proveedor telefónico.

Los 3 primeros aspectos son los más importantes, se debe estar seguro que tipo de bus PCI tiene el servidor ya que al momento de instalar la tarjeta esta debe ser compatible con este tipo de interface.

Con relación al cancelador de eco por hardware, (recordar que el eco se produce por un fenómeno técnico que se da por un retorno de la señal que se escucha por el teléfono y se cuela de nuevo por el micrófono, es decir, que el eco es una reflexión retardada de la señal acústica original. El eco es especialmente molesto cuanto mayor es el retardo y su intensidad) es muy recomendable que la tarjeta E1 lo tenga de lo contrario se tendrá que hacer por software complicando la configuración además de sobrecargar en procesamiento del servidor, esto se vuelve critico cuando la densidad de puertos es superior a 60 canales (2 E1), degradando el rendimiento del sistema. Las tarjetas que no incorporan cancelador de eco por hardware son más baratas.

En cuanto a la cantidad de puertos E1, no es que sea mala idea comprar una con más puertos de los que se van a utilizar porque es probable que un futuro se utilice, el problema se presenta al momento de configurarla ya que en algunas ocasiones en especial con la marca Sangoma esta se complica ya que se tienen que configurar los puertos aunque no se utilice.

En el Sistema T1 se multiplexan 24 señales de Voz/Datos, estas señales analógicas de entrada se muestrean a 8000 muestras por segundo formando una trama de 192 dígitos a los cuales se les agrega un dígito adicional para sincronización de trama. La trama contiene entonces 193 dígitos y la velocidad de señalización es de 1544 kbps.

El sistema E1 está formado por 32 canales, con 8 dígitos por canal para un total de 256 dígitos por trama. Como la frecuencia de muestreo es de 8000 muestras por segundo, la velocidad de la trama E1 es de 2048 kbps.

En el proceso de digitalización de una señal analógica, primero se muestrea, luego se cuantiza y por último se codifica la señal analógica, para así poder transportar los valores digitales a través de la red, para esto se pueden utilizar diferentes formas de codificación, bipolar, bipolar con inversión de marca alternada (AMI), Bipolar con sustitución de ocho ceros (B8ZS), bipolar de alta densidad de 3 ceros (HDB3), es por esto que el esquema de codificación basado en Norteamérica se llama B8ZS y el utilizado en Europa, Colombia y Japón es el HDB3, ambos se basan en la codificación AMI.

Los protocolos de señalización se utilizan para transmitir información de estado del canal de comunicaciones (como “desconectado”, “timbrando”, “ocupado”), información de control y otra información como DTMF, caller ID, entre otros. Los protocolos de señalización se pueden agrupar en dos tipos llamados CAS (Channel Associated Sgnaling) y CCS (Common Channel Signaling). La diferencia es que mientras CAS transmite la señalización en el mismo canal en que viaja la información, CCS la transmite en un canal separado. Por este hecho es que con CAS se reduce ligeramente el ancho de banda disponible o útil para la comunicación ya que una parte de él se está usando para señalización. Esa es una de las razones por las cuales las compañías telefónicas han adoptado en su mayoría CCS.


Tomar en cuenta el color de los puertos:

Si la tarjeta E1 es detectada pero aún no tiene el enlace del proveedor telefónico conectado, los puertos aparecen en color rojo.

Si la tarjeta E1 es detectada y ya tiene el enlace del proveedor telefónico conectado, los puertos aparecen en color verde.

Si la tarjeta E1 es detectada y ya tiene el enlace del proveedor telefónico conectado, pero los puertos aun aparecen en color rojo, esto significa que los puertos aun no están  sincronizados con el enlace del proveedor.

Ahora viene la parte más importante que determinara como van a funcionar los puertos, para esto es necesario que el proveedor del enlace telefónico E1, nos provea la siguiente información básica:

MASTER: Lo genera el cliente (La tarjeta E1 de nuestro servidor Asterisk), valor 0
SLAVE: Lo genera el proveedor, valor 1

[numero de espan]: Numero del Puerto E1 si es el primero 1 si es el segundo 2, se debe configurar todo esto para cada puerto.

BCHAN: Determinan los canales disponibles de voz o datos del E1, no se deben usar los canales 0 y 16. 

Un ejemplo de esta línea es la siguiente: bchan=1-15,17-31

DCHAN: Indica los canales utilizados para la señalización o sincronismo

ECHOCANCELLER: Se utiliza solamente si la tarjeta E1 no tiene cancelador de eco por hardware, aunque no afecta en nada si se coloca este parámetro aun teniéndolo. Se recomienda que se utilice OSLEC, se deben especificar sobre los canales en que va a funcionar.

Esta configuración se debe realizar por cada puerto de la tarjeta E1, si la tarjeta tiene 2 puertos E1 se deben crear 2 SPAN uno por cada puerto, el SPAN es una agrupación de 30+1 canales (30 para la voz y 1 para control). Como E1 está compuesto por 32 canales, sin embargo el proveedor de telefonía Telco hace uso de solo un canal para señalización o control, el otro no se utiliza para este propósito.

El número de los canales utilizados van numerados secuencialmente en orden ascendente, por ejemplo en una tarjeta con 2 puertos E1 los canales están distribuidos de la siguiente manera:

PUERTO 1 (SPAN 1):
Canales de voz 1-15 y 17-31
Canal de sincronismo o control 16
PUERTO 2 (SPAN 2): Canales de voz 32-46 y 48-62
Canal de sincronismo o control 47

El canal de sincronismo o control, también llamado de señalización es utilizado exclusivamente para sincronizar la separación de las señales digitales durante la transmisión de la voz, de esta manera se logra enviar 30 canales de voz equivalentes a 30 líneas telefónicas en solo 4 hilos (TX – RX).

De esta manera se ha configurado el adaptador E1 para la comunicación con el proveedor de Telefonía, pero aún falta configurar los canales para que sean reconocidos como troncales por el servidor Asterisk
El otro archivo a editar es /etc/asterisk/dahdi-channels.conf,  aquí se crearan agrupaciones de canales que servirán de troncales digitales para la entrada y salidas de llamadas.

Se pueden configurar tantos grupos como canales se tengan, para el caso un puerto E1 tiene 30 canales efectivos para la voz, en teoría se pueden crear 30 grupos o troncales, uno por canal, sin embargo esto no es nada practico debido a que el proveedor de telefonía envía las llamadas por cualquier canal, por esta razón lo que se hace es crear un solo grupo de canales por cada puerto E1, de esta manera se podrán utilizar cualquiera de los 30 canales disponibles para las llamadas entrantes y salientes hacia un mismo proveedor.

Para el caso de tarjetas con 2 o más puertos se recomienda crear un grupo o troncal de canales por cada uno de los puertos, en especial si hay más de un proveedor de telefonía, de esta manera se crean 2 o más grupos de troncales uno por cada proveedor.

switchtype = euroisdn : Tipo de protocolo, también puede ser national o qsig existen varias opciones
signalling = pri_cpe : Origen de la señal de reloj, pri_net para master y pri_cpe para esclavo
channel => 1-15,17-31 : Canales que formaran parte de este grupo

Una manera de comprobar que se están reconociendo los canales de los puertos E1 es:
CLI > dahdi show channels

Y para controlar que efectivamente la cancelación de echo configurada sea OSLEC
dahdi_cfg -vvv


CONFIGURACIÓN DEL ROUTER CISCO 2801 COMO PSTN



Ya se configuro el proveedor SIP, ahora se implementara la troncal digital por medio de los enlaces E1 con la PSTN, para simular la red PSTN se utilizara un router Cisco arquitectura 2801, con dos módulos de voz, uno con dos puertos FXS y otro con un puerto digital E1.

Los PVDM son los encargados de digitalizar las señales analógicas y hacer que los módulos de voz instalados en el router sirvan para este fin, por ejemplo, en el router se tienen instalados dos módulos que permiten trabajar con 16 canales de voz, como se tiene un módulo con dos puertos FXS, entonces, quedan 14 canales para utilizar en el enlace digital E1, si se quieren aumentar los canales digitales, es necesario adquirir módulos PVDM con más DSP.

El IOS es el software utilizado en la gran mayoría de routers y switches de Cisco y es necesario que el router tenga instalado el que servirá para la configuración de los módulos de voz, en resumen, no todos los routers cisco sirven como gateways de voz 


Antes de configurar los módulos FXS y el E1, será necesario tener un softphone para hacer y recibir las llamadas, como vimos en Asterisk que se utilizaban diferentes softphones, Cisco tiene uno llamado CIPC, la configuración básica de este softphone y los teléfonos IP físicos de cisco se hace siguiendo esta serie de pasos.

Conocer número máximo de teléfonos y directorios, dependiendo del router

Source IP Address Information, esta opción le dice a los teléfonos IP de cisco que van a utilizar esta dirección IP para registrarse y así el router darles todas las opciones de configuración que se verá más adelante, como hacían los sofphones con Asterisk.

Básicamente es la actualización de los archivos necesarios para que los teléfonos IP físicos funciones adecuadamente por medio del comando Source IP Address del router Cisco 


Para poder configurar los módulos de voz del router, es decir, configurar el plan de marcación,  es necesario entender el comportamiento de una llamada a través de la red, sea por medio de la red telefónica PSTN o por VoIP.

En este caso se configura el POTS Dial Peer, ya que es aquí donde se define todo lo relacionado con la red telefónica tradicional, aquí es donde se encontraran módulos de voz FXS, FXO y E1 según sea el caso, el truco es ver que en esta clase de módulos no se configura ninguna dirección IP como se verá más adelante


El cable que se va a utilizar para conectar la interfaz E1 de la red PSTN, (en este caso el router Cisco) con la interfaz E1 de Asterisk es un cable RJ48, similar a un RJ45 en cuanto al número de hilos (8 hilos) y al conector (8 pines), por lo que un cable de red UTP servirá para fabricar uno, tanto el RJ45 como el RJ48 se pueden encontrar cruzados y directos. La diferencia consiste básicamente en la configuración de los pines que lo forman. Mientras que el RJ45 (cable de red) utiliza los pines 1,2,3 y 6, el RJ48 utiliza los pines 1,2,4 y 5 (a veces incluso el 3 y el 6). Otra diferencia, aunque obvia puede dar lugar a grandes complicaciones como por ejemplo:

- ¿Qué ocurre si se conecta un cable RJ48 que viene de un proveedor en una tarjeta de red?
- La tarjeta de red se quema.
- ¿Qué ocurre si se conecta un cable RJ45 a una tarjeta con un puerto E1?
- No habrá red 

CONFIGURACIÓN TRONCAL SIP CISCO ASTERISK 

- Dial Peer envía llamadas a Asterisk

dial-peer voice 4000 voip
 destination-pattern 4...
 session protocol sipv2
 session target ipv4:172.16.1.5
 dtmf-relay rtp-nte
 codec g711ulaw

- Configuración router CME directorios y teléfonos con el protocolo SCCP

telephony-service
 max-ephones 30
 max-dn 100
 ip source-address 192.168.1.100 port 2000

- configurar directorios (dn1 y dn2)

ephone-dn 1  dual-line
 number 3305
 label Telecomunicaciones

 ephone-dn 2  dual-line
 number 3303
 label Redes

- configurar teléfonos 1 y 2 y asociarlos a los directorios 1 y 2 creados

ephone 1
 mac-address 0200.4C4F.4F50
 button  1:1

ephone 2
 mac-address 000C.2947.A416
 button  1:2

- habilitar el servicio VoIP y las llamadas entre teléfonos SIP

voice service voip
 allow-connections sip to sip
 sip
  registrar server expires max 1200 min 300

- Router CME como cliente SIP de Asterisk

sip-ua
 mwi-server ipv4:172.16.1.5 expires 86400 port 5060 transport tcp unsolicited
 registrar ipv4:172.16.1.5 expires 3600 secondary 

- Configuración router CME directorios y teléfonos con el protocolo SIP

voice register global
 mode cme
 source-address 192.168.1.100 port 5060
 max-dn 10 
 max-pool 5
 create profile

- configurar directorios (dn1 y dn2)

voice register dn 1
 number 3304
 
voice register dn 2
 number 3307

- configurar teléfonos 1 y 2 y asociarlos a los directorios 1 y 2 creados

voice register pool 1
 id mac DEAD.BEEF.0001 
 number 1 dn 1 
 dtmf-relay sip-notify 
 username sena password 1234 
 codec g711ulaw

voice register pool 2
 id mac DEAD.BEEF.0001 
 number 2 dn 2 
 dtmf-relay sip-notify 
 username cisco password 1234 
 codec g711ulaw

CONFIGURACIÓN TRONCAL PRI E1 CISCO ASTERISK

card type e1 0 2

network-clock-participate wic 2
isdn switch-type primary-qsig

controller E1 0/2/0
framing crc4
linecode hdb3
pri-group timeslots 1-14

clock source internal

interface Serial 0/2/0:15
isdn switch-type primary-qsig
isdn incoming-voice voice

dial-peer voice 4001 pots
destination-pattern 4...
no digit-strip
direct-inward-dial
port 0/2/0:15


ARCHIVOS DE CONFIGURACIÓN ASTERISK

sip.conf

[agentes](!)

type=friend
context=agentes
language=es
host=dynamic
secret=a1b2c3
dtmfmode=auto
disallow=all
allow=ulaw
allow=alaw

[4002](agentes)

[4003](agentes)

[4004](agentes)

[3301](agentes)

[3302](agentes)

[3303](agentes)

[3304](agentes)

[3305](agentes)

[3306](agentes)


extensions.conf

[agentes]

;llamadas SIP Cisco_Asterisk
exten => _400X,1,Dial(SIP/${EXTEN},15)
same => n,Hangup

exten => _330X,1,Dial(DAHDI/R0/${EXTEN})
same => n,Hangup

exten => _400X,1,Dial(DAHDI/R0/${EXTEN})
same => n,Hangup

;llamadas SIP Asterisk_Cisco
exten => _330X,1,Dial(SIP/${EXTEN},192.168.1.100)
same => n,Hangup

[from-pstn]

exten => _330X,1,Dial(DAHDI/R0/${EXTEN})
same => n,Hangup

exten => _400X,1,Dial(DAHDI/R0/${EXTEN})
same => n,Hangup

dahdi-channels.conf

[trunkgroups]

[channels]

language=en
usecallerid=no
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=no
echotraining=800
rxgain=0.0
txgain=0.0
group=0
callgroup=1
pickupgroup=1
prilocaldialplan=unknown

; Span 1: TE2/0/1 "T2XXP (PCI) Card 0 Span 1" (MASTER) HDB3/ RED

group = 0
context = from-pstn
switchtype = qsig
signalling = pri_net
channel => 1-14
overlapdial=yes

system.conf

span = 1,1,0,ccs,hdb3,crc4
bchan=1-14
dchan=16
echocanceller=oslec,1-14
loadzone = us
defaultzone = us

chan_dahdi.conf

#include /etc/asterisk/dahdi-channels.conf





No hay comentarios:

Publicar un comentario