Instalación de Asterisk con manejo de señalización MFCR2 en Slackware

asteriskPara los que usan E1′s  les explicamos con lujo de detalles como instalar y configurar un Asterisk para que trabaje con MFCR2 (señaización que utiliza CANTV en las tramas E1) … por supuesto en Slackware.

Previamente les dejamos, como aperitivo, la instalación de Slackware para que sigan el proceso completo

En caso de ya tener instalado Slackware pasar directamente al punto 2

——————————————————————————————————————————-

1. Instalación de Slackware 12.2

——————————————————————————————————————————-

Recuerde que este instructivo considera que el equipo es de uso exclusivo para la central telefónica Asterisk. Por lo tanto, se formateará todo el disco duro, y se perderá toda la información contenida en él. Si lo considera necesario, respalde su información antes de iniciar el procedimiento de instalación. La instalación de Slackware comprende varios pasos; preconfiguración, creación y formateado de las particiones del disco duro, selección e instalación de las series.

1.1.    Reiniciar el equipo con un CD o DVD de Slackware 12.2. Puede descargarse de www.slackware.org.

1.2.    Cuando el equipo arranque y aparezca boot: pulsar la tecla Enter.

1.3.    El asistente indica que seleccione la distribución del teclado (Keyboard Map), pulsar la tecla Enter.

1.4.    Pulsar la tecla Enter para hacer login.

1.5.    Para crear las particiones del disco duro, se utiliza el comando cfdisk: root@slackware:# cfdisk -z

1.6.    Creación de las particiones: Se crean tres particiones primarias, la primera de intercambio o swapping, la segunda para root y la tercera para el home.

1.6.1. Creación de la partición de swap: Seleccionar y pulsar la tecla Enter en la opción New, para crear una partición nueva.

Seleccionar partición primaria.

Asignar espacio en MB. Para la configuración utilizada en este instructivo se utilizó 1000 MB.

Crear la partición al inicio del espacio libre.

Seleccionar y pulsar la tecla Enter en la opción Type, para indicar el tipo de partición. Seleccionar el tipo 82 que corresponde a una partición de swap.

Seleccionar y pulsar la tecla Enter en la opción Write, para indicar al fstab la creación de la partición. Pulsar yes.

1.6.2. Creación de la partición raíz:

Seleccionar y pulsar la tecla enter en la opción de free space para crear una nueva partición.

Seleccionar y pulsar la tecla Enter en la opción New, para crear una partición nueva.

Seleccionar partición primaria.

Asignar espacio en MB. Para la configuración utilizada en este

instructivo se utilizó 10000 MB.

Crear la partición al inicio del espacio libre.

Seleccionar y pulsar la tecla Enter en la opción Type, para indicar el tipo de partición. Seleccionar el tipo 83 que corresponde a una partición de linux.

Seleccionar y pulsar la tecla Enter en la opción Write, para indicar al fstab la creación de la partición. Pulsar yes.

En la configuración utilizada para este instructivo, el asistente asignó /dev/sda2

1.6.3. Creación de la partición de home:

Seleccionar y pulsar la tecla enter en la opción de free space para crear una nueva partición.

Seleccionar y pulsar la tecla Enter en la opción New, para crear una partición nueva.

Seleccionar partición primaria.

Asignar espacio en MB. Para la configuración utilizada en este instructivo se utilizó 50000 MB.

Crear la partición al inicio del espacio libre.

Seleccionar y pulsar la tecla Enter en la opción Type, para indicar el tipo de partición. Seleccionar el tipo 83 que corresponde a una partición de linux.

Seleccionar y pulsar la tecla Enter en la opción Write, para indicar al fstab la creación de la partición. Pulsar yes.

En la configuración utilizada para este instructivo, el asistente asignó /dev/sda3

1.6.4. Seleccionar y pulsar la tecla Enter en la opción Quit, para salir de la utilidad cfdisk.

1.7. Configuración inicial de Slackware. Para realizar la configuración inicial se ejecuta el comando:

root@slackware:/# setup

El comando setup inicia la configuración, presentando una pantalla con diversas opciones, que deben ser ejecutadas en ese orden.

1.8. Selección del mapa de teclado:

Seleccionar y pulsar la tecla Enter en la opción Key Map.

Seleccionar el tipo de teclado Qwerty/la-latin1.map (para teclado latinoamericano) o el que mejor se adapte a su teclado. Pulsar la tecla Enter sobre la opción OK.

Se puede hacer una prueba del mapa de teclado seleccionado. Para terminar la prueba y continuar se escribe 1 en el cuadro de diálogo y se pulsa la tecla Enter.

1.9. Formateado de las particiones:

El siguiente paso es formatear las particiones creadas en el paso 1.6. Al terminar de configurar el mapa de teclado, el asistente indica que ha detectado un espacio para swap. Pulsar la tecla Enter.

1.9.1. Partición swap:

Se puede hacer una búsqueda y marcado de bloques dañados en la partición swap. Pulsar la opción OK para terminar de formatear la partición swap.

1.9.2. Partición para la raíz:

Al terminar de formatear la partición swap, el asistente pregunta cuál es la partición que se usará como raíz. El punto de montaje
es /

Seleccionar y pulsar la tecla Enter sobre la partición a ser usada para la raíz. (La que fue creada con 10000 MB y fue asignada
como /dev/sda2)

Seleccionar la opción Format Partition /dev/sda2 quit y pulsar

Enter sobre la opción OK.

Seleccionar el tipo de Filesystem para /dev/sda2.

En la configuración utilizada para este instructivo, se seleccionó Reiserfs.

Pulsar la tecla Enter, para dar inicio al formateado de la partición.

1.9.3. Partición para home:

Seleccionar la opción Select Other Linux Partition for /etc/fstab

Seleccionar y pulsar la tecla Enter sobre la partición a ser usada para home. (La que fue creada con 50000 MB y fue asignada como /dev/sda3)

Seleccionar la opción Format Partition /dev/sda3 quit y pulsar

Enter sobre la opción OK.

Seleccionar el tipo de Filesystem para /dev/sda3.

En la configuración utilizada para este instructivo, se seleccionó Ext3.

Pulsar la tecla Enter, para dar inicio al formateado de la partición. Al terminar el formateado, aparece el cuadro de diálogo con el
mensaje Select Mount Point for /dev/sda3. Escribir /root y pulsar la tecla Enter.

De esta manera se culmina el formateado de las particiones. El asistente lo informa con el mensaje Done Adding Linux Partitions to /etc/fstab.

Pulsar la tecla Enter sobre la opción OK.

1.10. Selección del medio de instalación:

En la opción Source Media Selection, seleccionar Install from a Slackware DVD. Pulsar la tecla Enter sobre la opción OK.

El asistente pregunta si se desea que se detecte automáticamente el

dispositivo de instalación o si se seleccionará manualmente. Seleccionar automático y pulsar la tecla Enter en la opción OK.

1.11. Selección de las series de paquetes:

Se presenta una lista con las series de paquetes disponibles bajo el título Package Series Selection.

Cada serie se selecciona o deselecciona con la barra espaciadora.

En la configuración utilizada para este instructivo, se seleccionaron todas las series, a excepción de las referidas a idiomas internacionales y
games.

Seleccionar la opción Full y pulsar la tecla Enter sobre la opción OK.

Se inicia la instalación de las series seleccionadas.

1.12. Instalación de las series seleccionadas.

Algunas de las series requieren de la intervención del usuario, a través de preguntas para seleccionar opciones, o bien para escribir valores.

1.12.1. Creación de un pen drive de inicio:

El asistente pregunta si se desea realizar un pendrive de inicio:

Make USB Flash boot?

En la configuración utilizada para este instructivo, se seleccionó la opción Skip. Pulsar la tecla Enter sobre la opción OK.
1.12.2.    Instalación del gestor de arranque:

Seleccionar la opción Install LILO en modo simple. Pulsar Enter sobre la opción OK.

Para la pregunta sobre la resolución de LILO (Configure LILO to use frame buffer console), seleccionar la resolución que más se ajuste a su monitor.

Seleccionar    la opción    Use  UTF-8,   como    codificación  de caracteres.

Seleccionar instalar el LILO, Select LILO Destination, en el MBR (Master Boot Record).

1.12.3.    Configuración del ratón:

Seleccionar la opción de ratón que más se ajuste al que dispone.

1.12.4.    Configuración del GPM: Seleccionar yes para permitir el uso del ratón en la consola (función de copiado y pegado con el ratón en consola).

1.12.5.    Configuración de red:

Pulsar la tecla Enter en la opción OK.

Seleccionar un nombre para el equipo (Enter Hostname). Por ejemplo, asterisk. Pulsar la tecla Enter en la opción OK.

Indicar el nombre de dominio (Enter Domain Name). Por ejemplo, midominio.gob.ve Pulsar la tecla Enter en la opción OK.

Configurar la dirección IP. En la configuración utilizada para este instructivo, se seleccionó la opción Static IP. Pulsar la tecla Enter en la opción OK.

Como se seleccionó la opción IP estática, hay que indicar cuál es la dirección. (Enter IP Address). Por ejemplo, 192.168.1.2 Indicar la máscara de red (Enter Netmask for local network).

Por ejemplo, 255.255.255.0

Indicar la pasarela de red (Enter Gateway Address). Por ejemplo, 192.168.1.1

A la pregunta, Use a Nameserver? Contestar según el caso.

Si se responde sí, hay que indicar la dirección IP del servidor de nombres (Enter Nameserver). Ejemplo, 192.168.1.10

Pulsar la tecla Enter en la opción OK. El asistente muestra un resumen de la información de red proporcionada. Si todo está bien, pulsar la tecla Enter en la opción Accept.

1.12.6.  Selección de los servicios que se ejecutarán al inicio:

Se    toma     la   opción    predeterminada     (no    se   hace moodificaciones). Pulsar la tecla Enter en la opción OK.

1.12.7.  Configuración de las fuentes de la consola:

Se deja la opción predeterminada (Console font configuration), seleccionando NO y pulsando la tecla Enter.

1.12.8.  Configuración del reloj de hardware:

Seleccionar que no se quiere UTC (Hardware clock set to UTC?).

Pulsar la tecla Enter en la opción OK.

1.12.9.  Selección de la zona horaria:

Seleccionar     la    zona    America/Caracas     en     Timezone Configuration. Pulsar la tecla Enter en la opción OK.

1.12.10. Selección del entorno gráfico:

Seleccionar el entorno gráfico de su preferencia (Select default Window Manager for X). En la configuración utilizada para este instructivo, se seleccionó la opción Xinitrc.KDE. Pulsar la tecla Enter en la opción OK

1.12.11. Asignación de contraseña para root:

Se escribe la contraseña para root y se confirma. Pulsar la tecla Enter en la opción OK.

Escribir exit y pulsar la tecla Enter. De esta forma se concluye la instalación de Slackware 12.2.

——————————————————————————————————————————-

2. Instalación de Asterisk con manejo de señalización MFCR2:

——————————————————————————————————————————-

2.1.   Obtener los programas fuentes:

Los paquetes y versiones utilizados para la configuración explicada en este instructivo son:

dahdi-linux 2.1.0.4
newt-0.52.10
dahdi-tools 2.1.0.2
libpri 1.4.10
wanpipe-3.5.4
openr2-1.1.0
asterisk-1.6.0.3
openr2-asterisk-1.6.0
asterisk-addons 1.6.0.2

Se bajan los archivos de internet y se guardan en un directorio, por ejemplo, en /usr/src/. Importante: Este instructivo supone que los
programas fuentes se copian en el directorio /usr/src.    (Se indicará el URL correspondiente para cada bajar cada programa fuente.)

Nota: Se utilizó una tarjeta Sangoma A102D, por lo cual hace falta los controladores Wanpipe.

2.2.   Instalar los paquetes:

Antes de instalar los paquetes, se debe ejecutar:

root:~# export http_proxy=http://192.168.0.5:8080

en el caso de que se disponga de un servidor proxy para conexiones a Internet.

2.2.1. Seleccionar o crear un directorio de trabajo, por ejemplo, /mnt/tmp (verificar que esté vacío, porque se va a eliminar todo
su contenido).

2.2.2. Crear un directorio para guardar los paquetes para Slackware:

root:~# mkdir /usr/src/tgz

2.3.   Instalar el paquete dahdi-linux-2.1.0.4:

El paquete puede obtenerse en:

http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases/

2.3.1. Descomprimir el programa fuente:

root:~# cd /usr/src/dahdi-linux-2.1.0.4.tar.gz

root:/usr/src/dahdi-linux-2.1.0.4/# tar -xzvf dahdi-linux-2.1.0.4

2.3.2. Compilar el programa fuente:

root:/usr/src/dahdi-linux-2.1.0.4/# make

2.3.3. Indicar el directorio destino donde se instalarán los archivos:

root:/usr/src/dahdi-linux-2.1.0.4/# make DESTDIR=/mnt/tmp/ install

2.3.4. Cambiarse al directorio de trabajo:

root:/usr/src/dahdi-linux-2.1.0.4/# cd /mnt/tmp

2.3.5. Crear el paquete de instalación:

root:/mnt/tmp/# makepkg dahdi-linux-2.1.0.4-i386-1abc.tgz

Donde dahdi-linux-2.1.0.4 es el nombre del paquete, i386 es la arquitectura, abc son las iniciales de quien crea el paquete y tgz
es el tipo de paquete para Slackware.

2.3.6. Instalar el paquete:

root:/mnt/tmp/# installpkg dahdi-linux-2.1.0.4-i386-1abc.tgz

2.3.6.1. A la pregunta: would you like to reset all direcory permissions to 755 (drwxr-xr-x) and directory ownerships to
root.rot (yes,no)?

Contestar: y

2.3.7. Guardar el paquete tgz

root:/mnt/tmp/# mv dahdi-linux-2.1.0.4-i386-1abc.tgz /usr/src/tgz

2.3.8. Eliminar los archivos del directorio de trabajo:

root:/mnt/tmp/# rm * -r

2.4. Instalar la biblioteca newt-0.52.10:

Se debe instalar la biblioteca newt antes de instalar dahdi_tools, para que éste pueda ejecutar la utilidad dahdi_tool. Puede obtenerse en:

http://slackfind.net/en/

El paquete obtenido es un paquete de instalación para Slackware, llamado newt-0.52.10-i486-2as.tgz.

2.4.1. Cambiar de directorio:

root:/mnt/tmp/# cd /usr/src

2.4.2. Instalar el paquete:

root:/usr/src/# installpkg newt-0.52.10-i486-2as.tgz

2.5. Instalar el paquete dahdi-tools-2.1.0.2:

El paquete puede obtenerse en:

http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases/

2.5.1. Descomprimir el programa fuente:

root:~# cd /usr/src/dahdi-tools-2.1.0.2.tar.gz

root:/usr/src/dahdi-tools-2.1.0.2/# tar -xzvf dahdi-tools-2.1.0.2

2.5.2. Como el fuente tiene el archivo configure, se ejecuta:

root:/usr/src/dahdi-tools-2.1.0.2/# ./configure –prefix=/usr

2.5.3. Compilar el programa fuente:

root:/usr/src/dahdi-tools-2.1.0.2/# make

2.5.4. Indicar el directorio destino donde se instalarán los archivos:

root:/usr/src/dahdi-tools-2.1.0.2/# make DESTDIR=/mnt/tmp/ install

2.5.5. Cambiarse al directorio de trabajo:

root:/usr/src/dahdi-tools-2.1.0.2/# cd /mnt/tmp

2.5.6. Crear el paquete de instalación:

root:/mnt/tmp/# makepkg dahdi-tools-2.1.0.2-i386-1abc.tgz

Donde dahdi-tools-2.1.0.2 es el nombre del paquete, i386 es la arquitectura, abc son las iniciales de quien crea el paquete y tgz
es el tipo de paquete para Slackware.

2.5.7. Instalar el paquete:

root:/mnt/tmp/# installpkg dahdi-tools-2.1.0.2-i386-1abc.tgz

2.5.7.1. A la pregunta:

would you like to make this stuf the install script

for this package and remove the symbolic links

(yes, no)?

Contestar: y

2.5.7.2. A la pregunta:

would you like to reset all direcory permissions to

755 (drwxr-xr-x) and directory ownerships to

root.rot (yes,no)?

Contestar: y

2.5.8. Guardar el paquete tgz

root:/mnt/tmp/# mv dahdi-tools-2.1.0.2-i386-1abc.tgz /usr/src/tgz

2.5.9. Eliminar los archivos del directorio de trabajo:

root:/mnt/tmp/# rm * -r

2.6. Instalar el paquete libpri-1.4.10:

El paquete puede obtenerse en:

http://downloads.asterisk.org/pub/telephony/libpri/releases/

2.6.1. Descomprimir el programa fuente:

root:~# cd /usr/src

root:/usr/src/# tar -xzvf libpri-1.4.10.tar.gz

2.6.2. Compilar el programa fuente:

root:/usr/src/libpri-1.4.10/# make

2.6.3. Indicar el directorio destino donde se instalarán los archivos:

root:/usr/src/libpri-1.4.10/# make DESTDIR=/mnt/tmp/ install

2.6.4. Cambiarse al directorio de trabajo:

root:/usr/src/libpri-1.4.10/# cd /mnt/tmp

2.6.5. Crear el paquete de instalación:

root:/mnt/tmp/# makepkg libpri-1.4.10-i386-1abc.tgz

Donde libpri-1.4.10 es el nombre del paquete, i386 es la arquitectura, abc son las iniciales de quien crea el paquete y tgz es el tipo de paquete para Slackware.

2.6.6. Instalar el paquete:

root:/mnt/tmp/# installpkg libpri-1.4.10-i386-1abc.tgz

2.6.6.1. A la pregunta:

would you like to make this stuf the install script

for this package and remove the symbolic links

(yes, no)?

Contestar: y

2.6.6.2. A la pregunta:

would you like to reset all direcory permissions to

755 (drwxr-xr-x) and directory ownerships to

root.rot (yes,no)?

Contestar: y

2.6.7. Guardar el paquete tgz

root:/mnt/tmp/# mv libpri-1.4.10-i386-1abc.tgz /usr/src/tgz

2.6.8. Eliminar los archivos del directorio de trabajo:

root:/mnt/tmp/# rm * -r

2.7. Instalar el paquete wanpipe-3.5.4:

El paquete puede obtenerse en: http://wiki.sangoma.com/wanpipe-linux-drivers

2.7.1. Cambiar de directorio:

root:~# cd /usr/src

2.7.2. Descomprimir el programa fuente:

root:/usr/src/# tar -xzvf wanpipe-3.5.4.tgz

Se crea el directorio /usr/src/wanpipe-3.5.4

2.7.3. Cambiar de directorio:

root:/usr/src/# cd /wanpipe-3.5.4

2.7.4. Instalar el paquete:

root:/usr/src/wanpipe-3.5.4/# installpkg wanpipe-3.5.4.tgz

2.8. Configuración de la tarjeta Sangoma:

La tarjeta Sangoma A102, como otras del mercado, permite conectar la central telefónica Asterisk con la PSTN a través de un enlace E1. De esta manera, permite la comunicación entre teléfonos de la central telefónica Asterisk y teléfonos de la red pública. Para esto, hay que configurar los controladores de la tarjeta Sangoma, así como a Dahdi.

2.8.1. Instalar y configurar Wanpipe:

root:/usr/src/wanpipe-3.5.4/# ./Setup dahdi

El comando inicia un asistente de configuración, a través de una serie de preguntas:

2.8.1.1. Would you like to install Wanpipe now?

Responder: y

2.8.1.2. looking for Zaptel/Dahdi directory in /usr/src

1: /usr/src/dahdi-linux-2.1.0.4

m: enter zaptel path manually

Responder: 1

2.8.1.3. Would you like to configure wanpipe devices for dahdi?

Responder: y

2.8.1.4. Would you like to generate /etc/asterisk/chan_dahdi.conf?

Responder: y

2.8.1.5. Select media type for AFT-102 on port 1 [slot:4 bus:3 span:1]

1: T1

2: E1

3: Unused

4: Exit

Responder: 2

2.8.1.6. Configuring port 1 on 102 as E1? line coding: HDB3, framing: CRC4

1: yes – keep these settings

2: no – configure line coding and framing

[1-2 Enter: yes]

Responder: 1

2.8.1.7. Select clock for AFT-A102 on port 1 [slot:4 bus:3 span:1]

1: Normal

2: Master

Responder: 1

2.8.1.8. Select signalling type for AFT-102 on port 1 [slot:4 bus:3 span:1]

1: PRI CPE

2: PRI NET

3: E & M

4: E & Mwink

5: FXS – Loop start

6: FXS – Ground start

7: FXS – Kewl start

8: FX0 – Loop start

9: FX0 – Groud start

10: FX0 – Kewl start

[1 - 10]

Responder: 1. En realidad, no importa la elección porque luego se cambiará manualmente.

2.8.1.9. Select switchtype for AFT-102 on port 1 [slot:4 bus:3 span:1]

1: National ISDN 2

2: Nortel DMS100

3: AT&T 4ESS

4: Lucent 5ESS

5: Euro ISDN

6: Old National ISDN 1

7: Q.SIG

Responder: 1

2.8.1.10. Would you like to enable hardware DTMF detection?

1: yes

2: no

Responder: 1

2.8.1.11. Would you like to enable hardware fax detection?

1: yes

2: no

Responder: 2

2.8.1.12. Configuring port on AFT-A102 as a full E1?

1: yes – use all channels

2: no – configure for fraction

Responder: 1

2.8.1.13. Select dialplan context for AFT-A102 on port 1

1: from-pstn

2: from-internal

3: custom

Responder: 2

2.8.1.14. Port 1 on AFT-A102 configuration complete

Press any key to continue:

Pulsar la tecla Enter

2.8.1.15. Select media type for AFT-102 on port 1 [slot:4 bus:3 span:1]

1: T1

2: E1

3: Unused

4: Exit

Responder: 3

2.8.1.16. T1/E1 card configuration complete

Press any key to continue:

Pulsar la tecla Enter

2.8.1.17. Your       configuration   has      been     saved in

/etc/wanpipe/debug<fecha>.tgz

Configuration complete! Please select following:

1: yes – Continue

2: no – Exit

Responder: 1

2.8.1.18. Dahdi and Wanpipe configuration complete: choose action

1: save cfg: Restart Asterisk & Wanpipe now
2: save cfg: Restart Asterisk & Wanpipe when convenient
3: save cfg: Stop Asterisk & Wanpipe now
4: save cfg: Stop Asterisk & Wanpipe when convenient
5: save cfg: Save cfg only
6: Do not save cfg: exit
[1 – 6]

Responder: 5

2.8.1.19. Removing existing wanrouter boot scripts … OK

Would you like wanrouter to start on system boot?

1:ye

2: no

Responder:1

2.8.2. Confirmar la instalación exitosa de Wanpipe/Dahdi:

root:/usr/src/wanpipe-3.5.2/# wanrouter hwprobe

El comando carga los módulos de Wanpipe y Dahdi, y además, muestra

una lista del hardware Sangoma instalado en el sistema.

2.8.3. Configurar los módulos de Dahdi:

root:/usr/src/wanpipe-3.5.4/# dahdi_cfg

El comando configura los módulos del núcleo de Dahdi a partir de

/etc/dahdi/system.conf

2.9.   Instalar la biblioteca openr2-1.1.0:

OpenR2 es una biblioteca que implementa señalización MFC/R2 sobre líneas E1, usando la interfaz de telefonía Zapata y DAHDI. El paquete puede obtenerse en:

http://code.google.com/p/openr2/downloads/list 2.9.1. Descomprimir el programa fuente:

root:~# cd /usr/src/openr2-1.1.0.tar.gz

root:/usr/src/openr2-1.1.0 /# tar -xzvf openr2-1.1.0.tar.gz

2.9.2. Como el fuente tiene el archivo configure, se ejecuta:

root:/usr/src/openr2-1.1.0/# ./configure –prefix=/usr

2.9.3. Compilar el programa fuente:

root:/usr/src/openr2-1.1.0/# make

2.9.4. Indicar el directorio destino donde se instalarán los archivos:

root:/usr/src/openr2-1.1.0/# make DESTDIR=/mnt/tmp/ install

2.9.5. Cambiarse al directorio de trabajo:

root:/usr/src/openr2-1.1.0/# cd /mnt/tmp

2.9.6. Crear el paquete de instalación:

root:/mnt/tmp/# makepkg openr2-1.1.0-i386-1abc.tgz

Donde openr2-1.1.0 es el nombre del paquete, i386 es la arquitectura, abc son las iniciales de quien crea el paquete y tgz

es el tipo de paquete para Slackware. 2.9.7. Instalar el paquete:

root:/mnt/tmp/# installpkg openr2-1.1.0-i386-1abc.tgz

2.9.7.1. A la pregunta:

would you like to make this stuf the install script for this package and remove the symbolic links
(yes, no)?

Contestar: y

2.9.7.2. A la pregunta:

would you like to reset all direcory permissions to 755 (drwxr-xr-x) and directory ownerships to
root.rot (yes,no)?

Contestar: y

2.9.8. Guardar el paquete tgz

root:/mnt/tmp/# mv openr2-1.1.0-i386-1abc.tgz /usr/src/tgz

2.9.9. Eliminar los archivos del directorio de trabajo:

root:/mnt/tmp/# rm * -r

2.10. Instalar el paquete asterisk-1.6.0.3:

El paquete puede obtenerse en:

http://downloads.asterisk.org/pub/telephony/asterisk/releases/

También se requiere de un parche, que se obtiene en:

http://code.google.com/p/openr2/downloads/list

2.10.1. Verificar la version del autoconf

# autoconf –-version

Debe decir, algo similar a:

autoconf (GNU Autoconf) 2.60

Written by David J. MacKenzie and Akim Demaille.

Copyright (C) 2006 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Si se tiene la versión 2.60, ir directamente al paso

2.10.2. De lo contrario, hay que sustituir la versión:

2.10.1.1. Obtener autoconf version 2.60:

El paquete autoconf-2.60.tar.gz puede obtenerse en: http://ftp.gnu.org/gnu/autoconf/

2.10.1.2. Descomprimir el programa fuente:

root:~# cd /usr/src/

root:/usr/src/# tar -xzvf autoconf-2.60.tar.gz

2.10.1.3. Como el fuente tiene el archivo configure, se ejecuta:

root:/usr/src/autoconf-2.60/# ./configure –prefix=/usr

2.10.1.4. Compilar el programa fuente:

root:/usr/src/autoconf-2.60/# make

2.10.1.5. Indicar el directorio destino donde se instalarán los

archivos:

root:/usr/src/autoconf-2.60/# make DESTDIR=/mnt/tmp/ install

2.10.1.6. Cambiarse al directorio de trabajo:

root:/usr/src/autoconf-2.60/# cd /mnt/tmp

2.10.1.7. Crear el paquete de instalación:

root:/mnt/tmp/# makepkg autoconf-2.60-i386-1abc.tgz

Donde autoconf-2.60 es el nombre del paquete, i386 es la arquitectura, abc son las iniciales de quien crea el paquete y tgz es el tipo de paquete para Slackware.

2.10.1.8. Instalar el paquete:

root:/mnt/tmp/# installpkg autoconf-2.60-i386-1abc.tgz

2.10.1.8.1. A la pregunta:

would you like to make this stuf the install script

for this package and remove the symbolic links (yes, no)?

Contestar: y 2.10.1.8.2. A la pregunta:

would you like to reset all direcory permissions to 755 (drwxr-xr-x) and directory ownerships to root.rot (yes,no)?

Contestar: y

2.10.1.9. Guardar el paquete tgz

root:/mnt/tmp/# mv autoconf-2.60-i386-1abc.tgz /usr/src/tgz

2.10.1.10. Eliminar los archivos del directorio de trabajo:

root:/mnt/tmp/# rm * -r

2.10.2.Descomprimir el programa fuente de asterisk-1.6.0.3:

root:~# cd /usr/src/

root:/usr/src/# tar -xzvf asterisk-1.6.0.3

2.10.3. Instalar el parche:

root:/usr/src/asterisk-1.6.0.3/# patch -p0 < openr2-asterisk-1.6.0.patch

Este parche es para que asterisk tenga soporte a OpenR2.

2.10.4. Ejecutar el script bootstrap

root:/usr/src/asterisk-1.6.0.3/# ./bootstrap.sh

El script bootstrap genera un nuevo script de configuración que

detectará correctamente la presencia de OpenR2 y creará un

Makefile que compile con chan_dahdi con soporte OpenR2.

2.10.5.Como este paquete tiene el archivo configure, se ejecuta:

root:/usr/src/asterisk-1.6.0.3/# ./configure –prefix=/usr

2.10.6.Compilar el programa fuente:

root:/usr/src/asterisk-1.6.0.3/# make

2.10.7. Indicar el directorio destino donde se instalarán los archivos:

root:/usr/src/asterisk-1.6.0.3/# make DESTDIR=/mnt/tmp/ install

2.10.8.Cambiarse al directorio de trabajo:

root:/usr/src/asterisk-1.6.0.3/# cd /mnt/tmp

2.10.9.Crear el paquete de instalación:

root:/mnt/tmp/# makepkg asterisk-1.6.0.3-i386-1abc.tgz

Donde asterisk-1.6.0.3 es el nombre del paquete, i386 es la arquitectura, abc son las iniciales de quien crea el paquete y tgz es el tipo de paquete para Slackware.

2.10.10. Instalar el paquete:

root:/mnt/tmp/# installpkg asterisk-1.6.0.3-i386-1abc.tgz

2.10.10.1. A la pregunta:

would you like to make this stuf the install script for this package and remove the symbolic links

(yes, no)?

Contestar: y

2.10.10.2. A la pregunta:

would you like to reset all direcory permissions to 755 (drwxr-xr-x) and directory ownerships to
root.rot (yes,no)?

Contestar: y

2.10.11. Guardar el paquete tgz root:/mnt/tmp/# mv asterisk-1.6.0.3-i386-1abc.tgz /usr/src/tgz

2.10.12. Eliminar los archivos del directorio de trabajo:

root:/mnt/tmp/# rm * -r

2.11. Instalar el paquete asterisk-addons-1.6.1.0:

El paquete puede obtenerse en:

http://downloads.asterisk.org/pub/telephony/asterisk/releases/

2.11.1.Descomprimir el programa fuente:

root:~# cd /usr/src/asterisk-addons-1.6.0.2.tar.gz

root:/usr/src/asterisk-addons-1.6.0.2/# tar -xzvf asterisk-addons-1.6.0.2

2.11.2.Como este paquete tiene el archivo configure, se ejecuta:

root:/usr/src/asterisk-addons-1.6.0.2/# ./configure –prefix=/usr

2.11.3.Compilar el programa fuente:

root:/usr/src/asterisk-addons-1.6.0.2/# make

2.11.4. Indicar el directorio destino donde se instalarán los archivos:

root:/usr/src/asterisk-addons-1.6.0.2/# make DESTDIR=/mnt/tmp/ install

2.11.5.Cambiarse al directorio de trabajo:

root:/usr/src/asterisk-addons-1.6.0.2/# cd /mnt/tmp

2.11.6.Crear el paquete de instalación:

root:/mnt/tmp/# makepkg asterisk-addons-1.6.0.2-i386-1abc.tgz

Donde asterisk-addons-1.6.0.2 es el nombre del paquete, i386 es la arquitectura, abc son las iniciales de quien crea el paquete y
tgz es el tipo de paquete para Slackware.

2.11.7.Instalar el paquete:

root:/mnt/tmp/# installpkg asterisk-addons-1.6.0.2-i386-1abc.tgz

2.11.7.1. A la pregunta:

would you like to make this stuf the install script for this package and remove the symbolic links

(yes, no)?

Contestar: y

2.11.7.2. A la pregunta:

would you like to reset all direcory permissions to 755 (drwxr-xr-x) and directory ownerships to

root.rot (yes,no)?

Contestar: y

2.11.8.Guardar el paquete tgz:

root:/mnt/tmp/# mv asterisk-addons-1.6.0.2-i386-1abc.tgz /usr/src/tgz

2.11.9.Eliminar los archivos del directorio de trabajo:

root:/mnt/tmp/# rm * -r

2.12. Crear los archivos de configuración de ejemplo:

root:/mnt/tmp/# cd /usr/src/asterisk-1.6.0.3

root:/usr/src/asterisk-1.6.0.3/# make samples

Con el comando anterior se crean los archivos de configuración de

ejemplo en el directorio /etc/asterisk

Nota: se recomienda guardar una copia de los archivos de configuración, porque algunos de ellos se modificaran. Para copiar los archivos:

root:/mnt/tmp/# cd

root:/# mkdir /mnt/tmp/conf_originales

root:/# cp /etc/asterisk/*.conf /mnt/tmp/conf_originales/

3. Configuración de Asterisk:

Después de instalar Asterisk, hay que configurar los archivos sip.conf y extensions.conf. Ambos está ubicados en el directorio /etc/asterisk.
3.1.   Configuración del archivo sip.conf:

Para dos teléfonos IP SIP, se presenta el siguiente ejemplo (muy básico) de archivo sip.conf:

; sip.conf
;
[general]
context=internos
port=5060
[103]
type=friend
host=dynamic
secret=1234
qualify=yes
[104]
type=friend
host=dynamic
secret=1234
qualify=yes

El archivo sip.conf comienza con una sección [general] que contiene la configuración predeterminada de todos los usuarios y “peers (proveedores). En el ejemplo, todas las extensiones tienen el contexto predeterminado llamado internos.

En ese contexto están las instrucciones para las extensiones. Varias extensiones pueden tener el mismo contexto. Los servidores SIP escuchan en el puerto 5060 UDP. Por lo tanto, se configura port=5060. Cada extensión está definida por un user o usuario, un peer o proveedor o un friend o amigo y viene definida con un nombre entre corchetes []. En el ejemplo se han definido dos extensiones: la 103 y la 104.

El tipo (type) “user” se usa para autenticar llamadas entrantes, “peer” para llamadas salientes y “friend” para ambas. En el ejemplo, tanto la

extensión 103, como la 104, pueden hacer y recibir llamadas. host=dynamic quiere decir que el telefono se podrá conectar desde cualquier dirección IP.

Secret es la contraseña usada para la autenticación. En el ejemplo, la contraseña es 1234.
Se puede monitorizar la latencia entre el servidor Asterisk y el teléfono con qualify=yes para determinar cuando el dispositivo puede ser
alcanzado.

Asterisk considera de manera predeterminada que un dispositivo está presente si su latencia es menor a 2000 ms (2
segundos).

Se puede cambiar este valor poniendo el numero de milisegundos en lugar de yes.

El signo “;” al inicio de una línea, la convierte en comentario, es decir, no se toma en cuenta.

3.2. Configuración del archivo extensions.conf:

Para dos teléfonos IP SIP, se presenta el siguiente ejemplo (muy básico) de archivo extensions.conf: (de acuerdo al ejemplo de sip.conf anterior)

;extensions.conf
;
[general]
[globals]
[internos]
exten => XXX,1,dial(SIP/${EXTEN},50)

El archivo extensions.conf es uno de los más importante de Asterisk, porque en él se define el dialplan o plan de numeración que seguirá la
central telefónica para cada contexto y por lo tanto, para cada usuario. El fichero extensions.conf se compone de secciones o contextos,
nombrados entre corchetes [].

Existen dos contextos especiales: [general] y [globals]

El contexto [general] configura opciones generales.

El contexto [globals] permite definir las variables globales que se pueden utilizar en el resto de los contextos. Las variables suelen declararse en mayúsculas para diferenciarlas posteriormente.

En general, las opciones de los contextos [general] y [globals] pueden dejarse con los valores predeterminados que trae el archivo
extensions.conf que crea Asterisk con el comando make samples. Véase el punto 2.8. En el ejemplo presentado, que es muy básico, se utilizan las opciones predeterminadas, las cuales pueden no escribirse explícitamente.

Lo más importante de este archivo son los otros Contextos [], porque crean los contextos específicos y asignan el plan de numeración.

Todas las lineas de un determinado contexto tienen el mismo formato:

exten => extensión, prioridad, Comando (parámetros)

Extensión se refiere al numero marcado. La prioridad al orden en que se ejecutan las instrucciones. Primero se ejecuta la de prioridad 1, luego la 2 y así sucesivamente. El Comando hace referencia a la acción a  ejecutar, con los parámetros indicados.

En el ejemplo, se está declarando el contexto [internos]. Su plan de numeración, es que al llamar a cualquier extensión de tres dígitos
definidos en sip.conf (103 o 104, según el ejemplo), llamará con prioridad 1 a la extensión SIP marcada, con un timeout de 50 ms.

3.3. Configuración del archivo system.conf:

Hay que configurar el archivo /etc/dahdi/system.conf para indicar cuántos canales serán utilizados. Básicamente, la configuración es:

span=1,1,0,cas,hdb3
cas=1-15:1101
dchan=16
cas=17-31:1101
3.4. Configuración del archivo chan_dahdi.conf:

Adicionalmente, se debe configurar el archivo /etc/asterisk/chan_dahdi.conf, para indicar que se usará señalización MFCR2. Se agrega al final del archivo las siguientes líneas:

signalling=mfcr2
mfcr2_variant=ve
mfcr2_get_ani_first=no
mfcr2_max_ani=10
mfcr2_max_dnis=4
mfcr2_category=national_subscriber
mfcr2_mfback_timeout=-1
mfcr2_metering_pulse_timeout=-1
; esto es para próposito de depuración
mfcr2_logdir=log
mfcr2_logging=all
; fin de depuración
channel => 1-15,17-31

3.5.    Secuencia de inicio de la central telefónica:

3.5.1. Iniciar la tarjeta Sangoma:

root:/# wanrouter start

3.5.2. Levantar los canales:

root:/# dahdi_cfg

3.5.3. Inicio de Asterisk:

root:/# asterisk

3.5.4. Consola de asterisk:

root:/# asterisk -r

La consola se reconoce por el prompt:

asterisk*CLI>

Para salir de la consola:

asterisk*CLI> exit

3.6.    Secuencia de parada de la central telefónica:

3.6.1. Parada de Asterisk:

root:/# killall -15 asterisk

3.6.2. Parada de la tarjeta Sangoma:

root:/# wanrouter stop

4. Instalación de softphone:

Un softphone es un software de simulación de un teléfono por computadora. En cada equipo de usuario debe instalarse el softphone. Existen varios para la plataforma Linux. Aquí se explica cómo instalar y configurar el softphone
Zoiper.

4.1.    Obtener el software del softphone Zoiper:

El paquete puede obtenerse en:

http://www.zoiper.com/zlinux.php

Copiarlo en el directorio /usr/src.

4.2. Descomprimir el software:

root:~# cd /usr/src

root:/usr/src/# tar -xzvf Zoiper2.10-linux-tar.gz

4.3. Ejecutar:

root:/usr/src/# ./zoiper

4.4. Configurar el softphone:

4.4.1. Al ejecutar el  comando  zoiper,  aparece la pantalla de configuración:

Hacer clic en el botón de opciones (icono más a la derecha, con el dibujo de la herramienta).
4.4.2. Hacer clic en Add new SIP account y escribir un nombre a la cuenta que se desea crear. Hacer clic en el botón OK.

4.4.3. Llenar los campos. En el campo Domain escribir la dirección IP del servidor de Asterisk (por ejemplo, 192.168.1.2). En el campo
Username, colocar el nombre del usuario. En el campo Password, colocar una contraseña. En el campo Caller ID Name, colocar el
número de la extensión (por ejemplo, 103). Hacer clic en el botón OK.

4.4.4. Registrar la cuenta creada:

Hacer clic en el botón Register

4.4.5. Aparece la pantalla que indica que la cuenta está registrada:

4.4.6. Configurar otro equipo con el softphone zoiper, para poder hacer pruebas. Configurar el Caller Id Name como 104 (ya que 103 y 104 son los números de extensiones configuradas en el archivo sip.conf de prueba.)

4.4.7. Para hacer una llamada, escribir el número de la extensión en el cuadro Phone to dial y pulsar la tecla Enter. Nota: Cada equipo debe disponer de auriculares y micrófono para poder realizar pruebas de conexión.

4.4.8. Si se desea hacer llamadas locales, hay que agregar un contexto adecuado en el archivo extensions.conf. Por ejemplo:

[local]
exten => _Z.,1,dial(SIP/${EXTEN},50)
Indica que acepta que se marque cualquier número que no
empiece con cero (0).
[internos-local]
include => internos
include => local

Indica que el contexto [internos-local] permite hacer llamadas a extensiones y llamadas locales. Por supuesto, hay que cambiar el contexto de las extensiones configuradas en el archivo /etc/asterisk/sip.conf, de [internos] a [internos-local].

Posted: julio 9th, 2009
at 12:32pm by pablo


Categories: Aplicaciones,Slackware,Telecomunicaciones

Comments: 4 comments



 

4 Respuestas

  1. excelente tutorial, gracias, cual es tu operadora en Venezuela?

    creiher VENEZUELA

    22 sep 09 a las 23:23

     

  2. Gracias a ti, nuestra operadora es CANTV

    alejandro VENEZUELA

    23 sep 09 a las 23:09

     

  3. Hola Buen aporte… una consulta. Estoy enlazando un PBX Panasonic con Asterisk, a traves de E1 con mfcr2, hasta los momentos todo bien solo que necesito q asterisk me entregue mas de 6 digitos que es lo que le entrega a panasonic. q parametro de configurar. ANI maximo o en la regla de marcacion de la linea le indico la cantidad de digito que debe enviar a la otra PBX?

    De antemano gracias

    C0rian0 VENEZUELA

    11 nov 09 a las 15:17

     

  4. Puedes enviarle los digitos que quieras a la panasonic, normalmente se envia un digito que antecede el numero que quieres llamar, ese numero lo debe conocer la panasonic para saber que la llamada viene del asterisk y asi enrutarla a su destino.

    Salu2

    pablo VENEZUELA

    11 nov 09 a las 23:04

     


 

Respuesta: