AMNTEL GROUP C.A. TELECOMUNICACIONES AL ALCANCE DE TODOS
  Interconectar el mundo PSTN con Asterisk
 
Interconectar el mundo PSTN con Asterisk

Asterisk

Dentro del Mundo de las redes y telefonía cada día suena más el termino IPPBX, y cuando ese termino es nombrado, lo primero que se asocia es Asterisk.

Asterisk es una completa plataforma de telefonía IP, o voz sobre IP (VoIP), con todas las aplicaciones de una PBX tradicional, pero con la flexibilidad de poder desarrollar aplicaciones extras según las necesidades que vallan surgiendo.

La ventaja de utilizar Asterisk, frente a una PBX tradicional, o cualquier otra solución IPPBX como un Call Manager de Cisco. Es que es un proyecto Open Soure y su descarga es totalmente gratuita, y puede ser instalado en cualquier servidor o computador con arquitectura x86. Nunca está demás decir que Asterisk tiene que ser compilado sobre Linux. Los mismos desarrolladores recomiendan usar las distribuciones Debian, RedHat, Fedora o CentOS.

A pesar que cualquier mortal pensaría que con la introducción anterior la siguiente parte tendría que ser una guia de instalación de Asterisk. Pero no, me da flojera y lo más probable es que otro día lo haga, así que por esta vez, se dará un salto más o menos largo, y tal como muestra el titulo de la entrada, se les mostrará como interconectar una plataforma Asterisk que trabaja en el mundo IP con conmutación de paquetes, con la red publica de telefonía (PSTN) que es un mundo totalmente aparte que su base está armada en circuitos conmutados.

Antes de continuar, hay que aclarar algo muy importante. Aunque Digium te ofrezca un software gratuito, ellos no son desarrolladores de software y hardware que viven de la Fé, por lo que su negocio está en vender soluciones prearmadas como Switchvox, o tarjetas con interfaces análogas o digitales PCI o PCI express, para que tu mismo desarrolles tu solución VoIP, pero soltando el chin-chin por la tarjetita.
Aún así, es una solución confiable y escalable en comparación con las típicas IPPBX chinas y económica frente a soluciones enterprise.

Bueno, al grano.

Anteriormente nombré unas tarjetas PCI o PCI express que son conectadas al pc o servidor. Estas son las tarjetas que son utilizadas para conectar el mundo IP con el analogo.

Para esta guía utilizaré la obsoleta TDM400P, una tarjeta con cuatro ranuras e interfaces para conectar modulos FXS o FXO. Para una corta referencia a muy nivel de usuario, les puedo decir que un puerto FXS sirve para conectar teléfonos, citofonos o Fax análogos. Mientras que la interfaz FXO sirve para conectar la línea que llega directamente desde el proveedor a la central, y de ahi derivarla a un anexo o cola de espera, según sea lo deseado.
Por lo tanto, para conectar nuestro Asterisk con la red pública, utilizaremos una interfaz FXO.

Sin más preambulos, una imagen de la tarjeta:

TDM400P

Las tarjetas rojas, son modulos FXO, mientras que las verdes son FXS.

Para que entiendan con más fácilidad lo que vamos a hacer les haré un “monito”:

Ahora que está todo más claro, comencemos con el fierro.

En primera instanacia, hay que descargar un software que digium que reconoce las tarjetas y crea sus modulos correspondientes para que sean reconocidos por Asterisk. Los programas a descargar son, DAHDI Linux y DAHDI tools, en caso que vallas a instalar una tarjeta E1 o T1, tienes que descargar las librerias correspondientes, las puede reconocer por el nombre libpri.
Cuando descargues DAHDI Linux y DAHDI tools, verás que los archivos están comprimidos en tar, por ello debes descomprimirlos con el siguiente comando:

tar zxvf <archivo>

En primera instancia tienes que compilar DAHDI Linux, para ello entra a la carpeta recien creada a raiz de la descomprensión anterior, y tipea los siguientes comandos:

make
make install

A continuación, entra a la carpeta de DAHDI tools y compilalo:

./configure
make
make install
make config

*Nota: Si tienes Fedora, puede encontrarte con la sorpresa que no tienes las fuentes de tu sistema base y DAHDI no podrá ser instalado. Si llegas a tener ese problema, pega la siguiente línea en la consola yum install kernel-devel-2.6.25-14.fc9.i686. El comando puede variar según tu versión de Fedora.

Si todo salió bien DAHDI detectará automáticamente tu Hardware, en el caso que no haya sido el caso, revisa éste sitio para ver si tu hardware es compatible.

La configuració de dahdi es prácticamente automática. Lo primero que debes hacer es ejecutar directamente el comando dahdi_cfg y luego dahdi_genconf. De esa forma generas y creas los archivos de configuración en los archivos correspondientes. Si te fijas, dentro de cada archivo creado podrás notar el comentario “do not hand edit”. Sin embargo dentro del archivodahdi-channels.conf tendrás que modificar los callerid y context según tu red telefónica.

Es importante diferenciar que Asterisk no toma los archivos de configuración generados por DAHDI, sino que es otro totalmente aparte llamado chan_dahdi.conf. Para que Asterisk pueda interpretar la configuración generada tienes que copiar la configuración del archivo dahdi-channels.conf o simplemente dentro de chan_dahdi.conf utilizar agregar la línea #include dahdi-channels.conf.

Olvidé indicar que dentro del archivo dahdi-channels.conf podrás ver algo asi:

; Span 1: WCTDM/4 “Wildcard TDM400P REV I Board 5″ (MASTER)
;;; line=”1 WCTDM/4/0″
signalling=fxo_ls
callerid=”Channel 1″ <4001>
mailbox=4001
group=5
context=from-internal
channel => 1
callerid=
mailbox=
group=
context=default

;;; line=”2 WCTDM/4/1″
signalling=fxo_ls
callerid=”Channel 2″ <4002>
mailbox=4002
group=5
context=from-internal
channel => 2
callerid=
mailbox=
group=
context=default

;;; line=”3 WCTDM/4/2″
signalling=fxo_ks
callerid=”Channel 3″ <4003>
group=0
context=from-internal
channel => 3
callerid=
group=
context=default

;;; line=”4 WCTDM/4/3″
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 4
callerid=
group=
context=default

Si te fijas bien, las líneas se identifican por canales, tanto desde las puertas FXS, como de las FXO. En el archivo, puedes identificar fácilmente los canales FXS y FXO por su señalización, si el canal es FXS señaliza FXO (fxo_ks), mientras que una interfaz FXO señaliza FXS (fxs_ls).
Como dije anteriormente, lo más probable es que tengas que modificar el archivo de configuración, según tus reglas de marcado y red telefónica, ya que como te puedes dar cuenta, DAHDI sin siquiera consultarlo asigna un número de anexo dentro del rango 4000 a las puertas FXS.

Ya está casi todo listo, solo falta configurar algunas reglas de marcación básicos en el extensions.conf.

Las reglas de marcado de los canales FXS se configuran uno a uno, a diferencia de SIP que puedes configurar solo una regla y luego juegas con la variable EXTEN. Esto es porque cada línea tiene un unico canal por el cual salir.

Por ejemplo, para enrutar las llamadas hacia el anexo 4001 que se encuentra en el canal 1, se debe crear la siguiente regla de marcado en el archivo extensions.conf

exten =>4001,1,DIAL(DAHDI/1)
exten =>4001,2,Hangup()

Para que se entienda un poco el formato, si el anexo estaría en el canal dos, la primera línea tendria que cambiar a DAHDI/2.

Luego para realizar llamados salientes por la interfaz FXO, que está configurada por el canal 4, deberias crear la siguiente regla:

exten=>_9X.,1,DIAL(DAHDI/4/${EXTEN:1})
exten=>_9X.,2,Hangup()

De esta forma, para salir por la línea FXO, hay que anteponer el 9, y luego marcar la numeración de destino deseada.

Para recibir las llamadas entrantes por la línea conectada a la interfaz FXO es un poco complejo. Por defecto todas las llamadas entrantes desde un canal FXO, entra por la extensión “s”, por lo que tienes que crear un contexto por cada línea FXO que tienes en tu Asterisk.
El siguiente ejemplo muestra un contexto llamado “FXO” que enruta las llamadas entrantes del canal FXO, al anexo 4001, que corresponde al canal FXS 1.

[FXO]
exten =>s,1,DIAL(DAHDI/1)
exten =>s,2,Hangup()

Como puedes imaginarte, si creas un contexto al canal FXO, tienes que modificar el contexto asociado en el archivo dahdi-channels.conf.

Eso es todo, como puedes ver no es muy complejo, si tienes dudas solo preguta e intentaré responder a la brevedad. De todas formas, una vez que éstes configurando Asterisk con DAHDI, todo te será mucho más claro.

Saludos.

Mallasero.-

h1

PIX/ASA Aplicando Inbound Nat a una VPN site-to-site

Mayo 12, 2009

Buenas, aqui les dejo un tip en caso de que se les presente este caso.

1. Cree un ACL con la red 192.168.1.0/24 como “origen” y la red
192.168.3.0/24 como “destino”

interface GigabitEthernet0/0
nameif outside
security-level 0
ip address 200.75.25.94 255.255.255.224 standby 200.75.25.93

interface GigabitEthernet0/2.1
vlan 69
nameif inside
security-level 100
ip address 192.168.1.1 255.255.255.0 standby 192.168.1.254
!
interface GigabitEthernet0/2.2
vlan 66
nameif dmz
security-level 50
ip address 10.0.0.1 255.255.255.0 standby 192.168.1.254
!

access-list vpn1-inbound-nat permit ip 192.168.1.0 255.255.255.0 192.168.3.0
255.255.255.0

2. Cree el NAT

nat (outside,dmz) 10.0.0.0 access-list vpn1-inbound-nat

Una vez aplicados estos comandos el ASA va a hacer lo
siguiente:

La red 192.168.1.0 llegara al ASA atraves del tunel VPN, el
ASA va a desencriptar el paquete y de esta forma se va a dar
cuenta hacia donde desea enviarlo.

Si el trafico va destinado a la red 192.168.2.0 entonces el ASA lo va tomar
asi como viene que lo va a mandar a la red 192.168.2.0.

Ahora si el paquete viene con destino: 192.168.3.0, entonces el ASA va
aplicar el NAT, traduciendo la 192.168.1.0 a una IP de la red 10.0.0.0 y la mandara
a la red 192.168.3.0 pero “disfrazando” la red de origen 192.168.1.0 como una IP
de la red 10.0.0.0, asi cuando llega a la red 192.168.3.0 llegara aparentando ser un IP
de la red 10.0.0.0.

 
 
   
 
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis