Nuevo Reto: Asterisk con Ubuntu

+1
0
-1

Hola,
En la mañana empeze con un nuevo reto, instalar el Asterisk como pbx en mi ubuntu.

Si bien la propia pagina de Asterisk no indica nada en especial sobre las distribuciones, uno de los manuales detalla una serie de distros disponibles y figura Debian, pero no Ubuntu.

La instalacion por defecto de Ubuntu no trae gcc, ni bison, cosas que hay que instalar tambien los kernel-headers, pero hasta alli nomas me quede hoy, a ver si mañana sigo con esto, termino y les cuento.

saludos
Actualización:Ahora hay un nuevo portal de Asterisk en español Para visitarlo dar click aqui

Comentarios

Imagen de punk0

Instalas ubuntu
al iniciar la instalacion escribir custom
cambiar el password de root
sudo passwd root
configurar el acceso a internet
editar el archivo /etc/apt/sources.list y descomentar los repositorios y agregar la palabra multiverse a los repositorios que terminen en universe

actualizar la lista de paquetes desde los repositorios con apt-get update

instalar paquetes necesarios

apt-get install openssh-server build-essential automake autoconf bison flex libtool

obtener los linux-headers de el kernel que estesmos usando
el de default de warty es 2.6.8.1-3-386

apt-get install linux-headers-2.6.8.1-3-386

hasta ahora hemos estado trabajando con los repositorios estables de warty la version actual de ubuntu la 4.10 (4 de 2004 y 10 por el mes de liberacion que fue octubre) en adelante haremos una mezcla, repocitorios de las versiones estable e inestable de ubuntu. por que? pues por que en la version warty por ser la primer version oficial de ubuntu faltaron muchas aplicaciones en ella y la nueva version contendra ya mas paquetes que se han ido a~nadiendo entre ellos los que nos interesa zaptel y asterisk.
entonces haremos lo que se conose como apt-pinning, agregaremos a /etc/apt/soucers.list los repocitorios de hoary la version inestable de ubuntu

con lo que nuestro source.list quedara de la siguiente forma

# warty (estable)
deb http://archive.ubuntu.com/ubuntu warty main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu warty main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu warty universe multiverse
deb-src http://archive.ubuntu.com/ubuntu warty universe multiverse
deb http://security.ubuntu.com/ubuntu warty-security main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu warty-security main restricted universe multiverse

# hoary (inestable)
deb http://archive.ubuntu.com/ubuntu hoary main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu hoary main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu hoary universe multiverse
deb-src http://archive.ubuntu.com/ubuntu hoary universe multiverse
deb http://security.ubuntu.com/ubuntu hoary-security main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu hoary-security main restricted universe multiverse

de esta forma podra bajar paquetes de las 2 versiones de ubuntu. pero tenemos un problema. si solicitamos un paquete apt eligira el paquete mas nuevo por default lo que significa que en poco tiempo tendremos un sistema con paquetes nuevos pero inestables y lo que buscamos es solo que apt al no encontrar el paquete en warty lo busque en hoary. como hacemos eso. pues a~nadiendo preferences.

creamos y editamos el archivo /etc/apt/apt.conf
y establecemos la version la version por default

APT::Default-Release "warty";

ahora creamos el archivo /etc/apt/preferences

y agregamos

Package: *
Pin: release a=warty
Pin-Priority: 989

Package: *
Pin: release a=hoary
Pin-Priority: 99

con esto indicamos que los paquetes pertenecientes ala version hoary solo se instalaran cuando no exista una version en warty, con lo que aseguramos tener nuestro sistema con la mayoria de paquetes estables.

actualisamos la lista de paquetes

apt-get update

hecho esto ahora

obtengamos las fuentes de zaptel

apt-get install zaptel-source

nos dirigimos a /usr/src y en el encontraremos

root@NoYetName:/usr/src # ls
linux-headers-2.6.8.1-3 linux-headers-2.6.8.1-3-386 modules

hacemos un enlace simbolico de linux-headers-2.6.8.1-3-386 a linux-2.6 que es el path de las fuentes de kernel indicadas en el makefile de zaptel

ln -s /usr/src/linux-headers-2.6.8.1-3-386 /usr/src/linux-2.6

y tendremos

root@NoYetName:/usr/src # ls
linux-2.6 linux-headers-2.6.8.1-3 linux-headers-2.6.8.1-3-386 modules

entremos en /usr/src/modules/zaptel

compilamos

make

aqui seguiria un make install pero tenemos que hacer otro parentesis

ubuntu usa el kernel 2.6 y udevfs lo que significa que al compilar un modulo no se crea un enlace de dispositivos en /dev/nuevo-dispositivo sino que lo crea conforme se vaya requiriendo asi que tendremos que decirle al demonio de udev que nos tome en cuenta

editamos /etc/udev/udev.rules y agregamos al final

# dispositivos zaptel
KERNEL="zapctl", NAME="zap/ctl"
KERNEL="zaptimer", NAME="zap/timer"
KERNEL="zapchannel", NAME="zap/channel"
KERNEL="zappseudo", NAME="zap/pseudo"
KERNEL="zap[0-9]*", NAME="zap/%n"

ahora si hecho esto regresamos a /usr/src/modules/zaptel
y ejecutamos

make install

ami en las 4 instalaciones de ubuntu que he hecho hasta ahora me devuelve un error en el make install como el siguiente

install: no se puede efectuar `stat' sobre `zaptel.conf.sample': No existe el fichero o el directorio
make: *** [install-modconf] Error 1

al parecer al compilar zaptel no contruye zaptel.conf.sample y no lo puede instalar sobre /etc/zaptel.conf pero a pesar de eso construye los modulos de kernel que es lo que nos interesa.

el script de instalacion deveria hacer copiado los modulos a /lib/modules/2.6.8.1-3-386/kernel/drivers/zaptel
pero los pone en /lib/modules/zaptel por lo que solo tendremos que moverlos

cp /lib/modules/zaptel/zaptel.ko wcfxo.ko /lib/modules/2.6.8.1-3-386/kernel/drivers

entramos a la carpeta donde acabamos de copiar los modulos y ejecutamos

insmod zaptel
insmod wcfxo

con eso abremos instalado los modulos de zaptel y wcfxo

ejecutamos lsmod

y debe de desplegarnos algo como esto

Module Size Used by
ipv6 230020 12
wcfxo 12064 0
zaptel 178948 1 wcfxo
hisax 486224 0
crc_ccitt 2432 2 zaptel,hisax
isdn 128236 1 hisax

ya tenemos los modulos de zaptel instalados y funcionando lo que resta es hacer que ubuntu los carge desde el inicio, para eso modificamos el archivo /etc/modules y agregamos zaptel y wcfxo ala lista de modulos a cargar

con esto nos encargamos de los modulos de kernel pero no se han a~nadido las herramientas de configuracion de zaptel para ellas existe un paquete ya precompilado en ubuntu lo instalamos junto con las bibliotecas de los codecs de asterisk, asterisk y asterisk sounds

apt-get install zaptel libzap1 libspeex1 libgsm1 libiax0 libogg0 speex asterisk asterisk-sounds-main

y listo ya tienes asterisk y zaptel

esta gia esta aun sin terminar
por lo que cualquier aporte es agradecido

Imagen de Anónimo

Con este mini-procedimeinto no es necesario revolver las versiones de ubuntu

Si bien la nueva version de Ubuntu contendra los paquetes de Zaptel y Asterisk otra manera es hacerlo a meno.

1.-Instalar los paquetes
apt-get install openssh-server build-essential automake autoconf bison flex libtool

2.- Instalar los headers del kernel segun la version que estas ejecutando.

root@santo:~ # uname -a
Linux santo 2.6.8.1-5-686-smp #1 SMP Mon Mar 14 21:59:14 UTC 2005 i686 GNU/Linux
root@santo:~ # apt-cache search inux-headers | grep 2.6.8.1-5-686-smp
linux-headers-2.6.8.1-5-686-smp - Linux kernel headers 2.6.8.1 on PPro/Celeron/PII/PIII/PIV SMP
root@santo:~ # apt-get install linux-headers-2.6.8.1-5-686-smp

3.-Crear el link
root@santo:~ # ln -s /usr/src/linux-headers-2.6.8.1-5-686-smp /usr/src/linux-2.6

3.1
Crear las reglas para el UDEV
# dispositivos zaptel
KERNEL="zapctl", NAME="zap/ctl"
KERNEL="zaptimer", NAME="zap/timer"
KERNEL="zapchannel", NAME="zap/channel"
KERNEL="zappseudo", NAME="zap/pseudo"
KERNEL="zap[0-9]*", NAME="zap/%n"

4.-Descargar Zaptel desde el CVS (apt-get install cvs)
cd /usr/src
export CVSROOT=:pserver:anoncvs@cvs.digium.com:/usr/cvsroot
cvs login (password anonvcs)
cvs checkout zaptel

5.-Compilar los drivers de zaptel

cd /usr/src/zaptel
make clean
make linux26
make install

6.-Instalar a mano los modulos
root@santo:~ # insmod /lib/modules/2.6.8.1-5-686-smp/misc/zaptel.ko
root@santo:~ # insmod /lib/modules/2.6.8.1-5-686-smp/misc/wcfxo.ko

7.-Para el proximo reboot agregar a:
/etc/modules
zaptel
wcfxo

Resolución de problemas

A)
Al insertar los modulos puedes verificar con dmesg las ultimas lines debes de tener algo asi:
Zapata Telephony Interface Registered on major 196
ACPI: PCI interrupt 0000:01:02.0[A] -> GSI 17 (level, low) -> IRQ 201
wcfxo: DAA mode is 'FCC'
Found a Wildcard FXO: Wildcard X101P

Imagen de froguz

Para los que siguen teniendo problemas con estos métodos, aquí va el mío.

Este método fue probado para la nueva versión 1.2.0 beta de Asterisk y Zaptel sobre Ubuntu Hoary y Breezy, además las instalaciones son manuales y se usa aptitude (apt-get) sólo para instalar dependencias.

La última versión de este pequeño HowTo la encuentras siempre aquí.

--
froguz :: alvaro.oliver@gmail.com

******************************************

Lamentablemente el link se rompió, pero aquí está la versión actualizada para la versión 1.2.0 estable en adelante.
gracias al "Depto. de Sistemas de Docelec" por el aviso.

última actualización : 31 de Marzo del 2006

---

1. dependencias:

antes de comenzar debemos instalar las cabeceras del kernel en uso:

sudo aptitude install linux-headers-`uname -r`

ahora sí­ instalamos las dependencias:

sudo aptitude install openssh-server build-essential automake1.9 autoconf bison flex libtool

que instala los sgtes. paquetes:

autotools-dev g++ g++-3.3 libltdl3-dev libstdc++5-3.3-dev
autoconf automake1.9 autotools-dev bison build-essential flex g++ g++-3.3
libltdl3-dev libstdc++5-3.3-dev libtool openssh-server

Además deberá instalar la versión 3.4 de gcc, la versión 4.0 que tiene instalada no sirve.

sudo aptitude install gcc-3.4

si pretende configurar troncales telefónicas digitales (como una E1), deberá instalar libpri disponible en la pagina de asterisk:

make
make install

manualmente se instala zaptel beta 1.2 :

2. se crean los links simbolicos (leer README.Linux26)

sudo ln -s /usr/src/linux-headers-`uname -r` /usr/src/linux-2.6
sudo ln -s /usr/src/linux-headers-`uname -r` /lib/modules/build

3. editamos /etc/udev/udev.rules y agregamos al final (leer README.udev):

# dispositivos zaptel
KERNEL="zapctl", NAME="zap/ctl"
KERNEL="zaptimer", NAME="zap/timer"
KERNEL="zapchannel", NAME="zap/channel"
KERNEL="zappseudo", NAME="zap/pseudo"
KERNEL="zap[0-9]*", NAME="zap/%n"

4. se instala:

make linux26
make install
*make config

(*)necesario si se quiere iniciar automáticamente Zaptel y los módulos necesarios para su hardware telefónico junto con el sistema. ztconfig detectará automáticamente el hardware presente en su equipo.
Si desea levantar manualmente los módulos de zaptel, refiérase a otra documentación.

Instalación de Asterisk 1.2.0 beta

1. dependencias:

se debe instalar openssl, ssllib-dev, zlib1g-dev y *ncurses-dev con aptitude

sudo aptitude install openssl libssl-dev zlib1g-dev ncurses-dev

(*)ncurses-dev es un paquete virtual que instala libncurses5-dev

manualmente se debe instalar termcap 1.3.1 disponible en http://freshmeat.net/projects/termcap/

./configure
make
sudo make install

2. instalación de asterik:

make
*make mpg123
sudo make install
**sudo make config

(*)este paso es necesario solo si durante el make ves pasar un cuadro de mensaje con asteriscos
informando que la versión de mpg123 no es la correcta.
(**)para iniciar Asterisk junto con el sistema (requiere haber hecho lo mismo con zaptel).

si todo ha salido bien debemos ver el siguiente mensaje:

+---- Asterisk Installation Complete -------+
+ +
+ YOU MUST READ THE SECURITY DOCUMENT +
+ +
+ Asterisk has successfully been installed. +
+ If you would like to install the sample +
+ configuration files (overwriting any +
+ existing config files), run: +
+ +
+ make samples +
+ +
+----------------- or ---------------------+
+ +
+ You can go ahead and install the asterisk +
+ program documentation now or later run: +
+ +
+ make progdocs +
+ +
+ **Note** This requires that you have +
+ doxygen installed on your local system +
+-------------------------------------------+

sudo make samples (crea archivos de configuración de ejemplo)

3. ejecutar asterisk (*):

sudo asterisk -vvvc

(*) para salir de el CLI, ingresamos 'quit'. para más información ingresa 'help'

--
Alvaro Oliver
vie dic 16 16:59:03 CLT 2005
alvaro.oliver@gmail.com

Imagen de Anónimo

para evitar:
install: no se puede efectuar `stat' sobre `zaptel.conf.sample': No existe el fichero o el directorio
make: *** [install-modconf] Error 1

en vez de:
make
make install

usa:
make linux26
make install-linux26

Imagen de Anónimo

estoy instalando festival sonre el linux ubuntu paro no me quiere correr y creo que es debido a que no tiene el gcc me podrias decir como conseguirlo