Herramientas personales

Telefonía IP con Asterisk

De Proyectos GULIX

Tabla de contenidos

Escenario

Elastix CE 2.8.2
Asterisk 1.4
Kernel 2.6.18-128.1.10.el5

Instalación desde Código Fuente

Dependencias necesarias

Procedemos a instalar lo que hace falta

yum -y install gcc
yum -y install asterisk14-devel

Descargar e instalar desde los Fuentes

Hay que descargar chan_skype , según la versión de asterisk que se tenga instalado , así también el kernel de linux , existen ciertas restricciones sobre todo en cuanto a las versiones de asterisk compatibles con el modulo.

Para las versiones 1.4 , hay que instalar la versión igual o superior a la 1.4.25
Para las versiones 1.6 , hay que instalar la versión igual o superior a la 1.6.0.6

Ya que como explica en el README , existen problemas con las versiones anteriores.

Descargamos

wget http://downloads.digium.com/pub/telephony/skypeforasterisk/
asterisk-1.4/x86-32/skypeforasterisk-1.4_1.0.9.2-x86_32.tar.gz

Descomprimimos

tar xvfz skypeforasterisk-1.4_1.0.6-x86_32.tar.gz

Instalamos

cd skypeforasterisk-1.4_1.0.6-x86_32
make
make install
make samples


Si has hay todo salio sin errores , ya lo tenemos instalado , ahora toca , proceder con el registro de la licencia..

Instalar desde repositorio

Pueden ocupar un par de repos que existen por parte de Digium para hace actualizaciones o instalaciones a través de yum

Repos de Asterisk y Digium

Repositorio:

Crear archivo asterisk.repo

[asterisk-tested]
name=CentOS-$releasever - Asterisk - Tested
baseurl=http://packages.asterisk.org/centos/$releasever/tested/$basearch/
enabled=0
gpgcheck=0 
#gpgkey=http://packages.asterisk.org/RPM-GPG-KEY-Digium
[asterisk-current]
name=CentOS-$releasever - Asterisk - Current
baseurl=http://packages.asterisk.org/centos/$releasever/current/$basearch/
enabled=1
gpgcheck=0 
#gpgkey=http://packages.asterisk.org/RPM-GPG-KEY-Digium

Crear archivo digium.repo

[digium-tested]
name=CentOS-$releasever - Digium - Tested
baseurl=http://packages.digium.com/centos/$releasever/tested/$basearch/
enabled=0
gpgcheck=0
#gpgkey=http://packages.digium.com/RPM-GPG-KEY-Digium
[digium-current]
name=CentOS-$releasever - Digium - Current
baseurl=http://packages.digium.com/centos/$releasever/current/$basearch/
enabled=1
gpgcheck=0
#gpgkey=http://packages.digium.com/RPM-GPG-KEY-Digium

Instalando de YUM

Los parámetros de instalación de yum son:

yum install asterisk14-skypeforasterisk register

Instalar elastix en centos

Para realizar una instalación de Elastix sobre un Centos normal, debemos agregar el repositorio de Elastix:

[elastix-base]
name=Base RPM Repository for Elastix
baseurl=http://repo.elastix.org/elastix/1/base/$basearch/
gpgcheck=1
enabled=1
exclude=elastix-mysqldbdata
[elastix-updates]
name=Updates RPM Repository for Elastix
baseurl=http://repo.elastix.org/elastix/1/updates/$basearch/
gpgcheck=1
enabled=1
exclude=elastix-mysqldbdata
[elastix-beta]
name=Beta RPM Repository for Elastix
baseurl=http://repo.elastix.org/elastix/1/beta/$basearch/
gpgcheck=0
enabled=0
exclude=elastix-mysqldbdata
[elastix-extras]
name=Extras RPM Repository for Elastix
baseurl=http://repo.elastix.org/elastix/1/extras/$basearch/
gpgcheck=1
enabled=0
exclude=elastix-mysqldbdata


Luego de tener los repositorios de Elastix instalados en nuestro Centos debemos ejecutar:

yum install elastix

Instalación de Licencia

Descargamos y ejecutamos el programa para el registro

wget http://downloads.digium.com/pub/register/linux/register
chmod +x ./register
./register
1.- Digium Program
7.- Skype for Asterisk
Key : XXX-XXXXXXXXXXX

Ahora a Completar datos de registro : Empresa , país , ciudad , etc.etc. Luego de eso hay que hacerle un Reboot

Revisar los datos instalados

asterisk -rvvvvvvvvvvvv
Server*CLI> skype show version
ServerChannel Driver: 1.4.26.1
Library: 1.4.26.1
Server*CLI> skype show licenses
Skype For Asterisk Licensing Information
========================================
Total licensed channels: 1

Quiere decir que ya tenemos el modulo activado en asterisk.

Habilitar cuenta de Skype

Para poder usar una cuenta de skype en el modulo de skype en asterisk, debe cumplir con un par de requisitos, principalmente que esta cuenta sea una del tipo "Negocios" no nos sirve una cuenta de una persona natural, los pasos para lograr esto son:

  1. Entrar con una cuenta personal al área de Negocios de skype: http://www.skype.com/intl/es/business/
  2. Habilitar la cuenta personal en esta área, llenando los datos que nos solicitan para hacerlo.
  3. Teniendo habilitada la cuenta como Negocios, crear una cuenta desde el Panel en Skype y habilitar una cuenta completamente de Negocios.
  4. Si requieres llamar, debes habilitar cupo y asignárselo a esta cuenta via el Panel de Skype.
  5. Si requieres recibir llamadas, debes tener un Nº habilitado en la cuenta para recibir llamadas desde la telefonía tradicional.

Con esos 5 pasos ya podemos habilitar la nueva cuenta en el modulo de skype para que sea utilizada como medio de salida o entrada de llamadas.

Configuración de salida de llamadas

Como el objetivo es poder gozar del plan tarifario de las cuentas “Skype Bussines” , vamos a configurar trixbox para poder sacar llamadas por el usuario de skype que tenemos.

  • 1.- Configuración de usuario en Asterisk'"*

Toda la configuración se centraliza en el archivo chan_skype.conf , para este ejemplo voy a usar mi usuario skype

usuario : usuarioskype
password : mipass

Luego entramos al archivo y nos vamos hasta la ultima parte donde se configuran las cuentas.

vi  /etc/asterisk/chan_skype.conf
[juanolivacordova]
secret=mipass
context=from-pstn
direction=both

Luego tenemos que verificar si nuestro usuario esta logueado en el modulo

asterisk -rvvvvvvvvvvvvvvvvvvv
trixbox1*CLI> skype show users
cuenta-skype: Logged In

Hasta aquí , ya tenemos nuestra cuenta logueada al modulo de asterisk , ahora resta configurar las salidas en freepbx

Para lograr que un anexo cualquiera pueda realizar llamadas por este usuario que sea autentificado, debemos agregar ciertos parámetros para hacer las llamadas vía este contexto. El contexto va a definir lo que se puede hacer, llamadas locales, llamadas internacionales, llamadas a telefonía celular, etc...

Se debe tener algo como esto:

[from-pstn]
include => from-pstn-custom                  ; create this context in extensions_custom.conf 
                                             ;to include customizations
include => ext-did
include => ext-did-post-custom
include => from-did-direct                   ; MODIFICATION (PL) for findmefollow if enabled, 
                                             ;should be before ext-local
include => ext-did-catchall                  ; THIS MUST COME AFTER ext-did
exten => fax,1,Goto(ext-fax,in_fax,1)
exten => _C.,1,Dial(Skype/{EXTEN:0})         ; Para poder realizar llamadas a cuentas de Skype 
                                             ;desde un Softphone SIP, anteponiendo el prefijo "C"
exten => _.,1,Dial(Skype/+56${EXTEN:0})      ; Línea para realizar llamadas via el modulo de skype
                                             ; a cualquier Nº de chile, celular o fijo
exten => _5.,1,Dial(SIP/${EXTEN:1},45,tT)    ; Anteponiendo el prefijo "5" antes de el Nº de un
                                             ; anexo se puede llamar entre los anexos
exten => .,2,Hangup

el parametro mas importante en esta sección es "exten => _.,1,Dial(Skype/+56${EXTEN:0})" junto con "exten => _5.,1,Dial(SIP/${EXTEN:1},45,tT)" estos dos parametros nos dan acceso para realizar llamadas a la red telefoníca normal, en el caso del primero para poder salir por el modulo de Skype y el segundo para llamadas entre los anexos que esten en la red interna, en este caso para poder hacer llamadas entre anexos hay que colocar el prefijo 5

Configuración de entranda de llamadas

Para crear una configuración de entrada para este módulo se debe hacer lo siguiente:

- Cargar el codec correcto para poder tener comunicación buena:
  wget "http://downloads.digium.com/pub/telephony/codec_g729/
asterisk-1.4/x86-32/codec_g729a-1.4_3.1.3-athlon_32.tar.gz"

- Descomprimirlo y moverlo a los módulos de asterisk "/usr/lib/asterisk/modules/"

- Teniendo el codec dentro de los módulos, tenemos que configurar la entrada de la siguiente forma:

Imágen de FreePBX:

Imagen:anexo.jpg


En esta imagen se pueden apreciar los datos para hacer una configuración de entrada vía FreePBX, en el cual el dato mas importante es el del campo DID Number, en donde se debe ingresar la cuenta de skype la cual se ha activado en el modulo de skype, chan_skype en asterisk.

Configuración de anexos via FreePBX

Para crear un anexo debemos ir al menú de FreePBX en la siguiente sección

PBX --> Extensiones --> Add Extension

Los parámetros para crear un anexo son:

Nº de anexo
Nombre
Contexto

Imagen:conf_anexos.jpg

Esas tres variables son las esenciales para que funcione el anexo correctamente, el contexto que se esta ocupando en este momento es "from-pstn" en la cual están configurados todos los planes de discado.

Sonidos en Castellano para Asterisk

Por defecto Asterisk viene con todas sus voces en Inglés, por lo que para adaptarlo a la realidad de la empresa, esto quiere decir, voces en castellano, podemos hacerlo de un proyecto argentino que se dio el trabajo de hacer las grabaciones en un estudio, para proceder a instalarlas realizar lo siguiente:

Instalar los sonidos

Para instalar los sonidos en castellano, basta descomprimir los paquetes core y extra dentro de la carpeta /var/lib/asterisk/sounds.

# cd /var/lib/asterisk/sounds/ 
# wget http://www.asterio.com.ar/resources/downloads/ThaisaC-core-sounds-sln-1.4.12.tar.gz
# wget http://www.asterio.com.ar/resources/downloads/ThaisaC-extra-sounds-sln-1.4.12.tar.gz
# tar xzvf ThaisaC-core-sounds-sln-1.4.12.tar.gz
# tar xzvf ThaisaC-extra-sounds-sln-1.4.12.tar.gz

Si es la primera vez que se instalan sonidos en castellano, es necesario configurar el parámetro "language" en el archivo /etc/asterisk/zapata.conf en "es".

;
; Zapata telephony interface
;
; Configuration file
[trunkgroups]
[channels]
language=es
defaultzone=es
context=from-zaptel
signalling=fxs_ks
...

Luego de haber editado zapata.conf, reiniciar Asterisk.

Documentación Oficial

La empresa Digium provee documentación para su modulo que tiene implementado para skype, pueden encontrar información en https://www.digium.com/en/supportcenter/documentation/viewdocs/SFA

Recomendaciones

1.- Tener una línea exclusiva para el tráfico de comunicación por voz, ya que esta al estar en una línea de datos se interfieren en la trasmisión.
2.- Para sacarle un mejor provecho al codec de compresión de voz utilizado por el módulo de skype, se debebe registrar la licencia que provee Digium http://store.digium.com/

Leer más


Buscar