Instalación

Odistuff está en actualmente en fase de desarrollo. Todas las versiones de los parches son “release-candidate” por lo que no son recomendadas para sistemas en producción.

Preparación del sistema

Paquetes necesarios

NOTA: Recomendamos la instalación directa por SVN para no tener que aplicar los parches.

Opcionales

Instrucciones instalación

Obtenemos los paquetes de asterisk / dahdi / libpri y los parches de odistuff por dos vias:

Downloads tars comprimidos y parches

Descargamos y descomprimimos los archivos en nuestra zona de instalación preferida. En este caso /usr/src.

      [root@asterisk-es-rsp ~]# cd /usr/src
      [root@asterisk-es-rsp ~]# wget http://downloads.digium.com/pub/libpri/releases/libpri-1.4.9.tar.gz
      [root@asterisk-es-rsp ~]# wget http://downloads.digium.com/pub/telephony/dahdi-linux/dahdi-linux-2.1.0.4.tar.gz
      [root@asterisk-es-rsp ~]# wget http://downloads.digium.com/pub/telephony/dahdi-tools/dahdi-tools-2.1.0.2.tar.gz
      [root@asterisk-es-rsp ~]# wget http://tests.p3dq.com/elastix/odi-dahdi-linux-2.1.0.4.diff
      [root@asterisk-es-rsp ~]# wget http://tests.p3dq.com/elastix/odi-dahdi-tools-2.1.0.2.diff

Para asterisk 1.4

      [root@asterisk-es-rsp ~]# wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.4.24.tar.gz
      [root@asterisk-es-rsp ~]# wget http://tests.p3dq.com/elastix/odi-asterisk-1.4.24.1.diff

Para asterisk 1.6

      [root@asterisk-es-rsp ~]# wget http://downloads.digium.com/pub/asterisk/asterisk-addons-1.6.1.tar.gz
      [root@asterisk-es-rsp ~]# wget http://downloads.digium.com/pub/asterisk/asterisk-1.6.1.0-rc3.tar.gz

Los descomprimimos:

      [root@asterisk-es-rsp ~]# tar zxvf asterisk.tar.gz
      [root@asterisk-es-rsp ~]# tar zxvf asterisk-addons.tar.gz
      [root@asterisk-es-rsp ~]# tar zxvf libpri-1.4.9.tar.gz
      [root@asterisk-es-rsp ~]# tar zxvf dahdi-linux-2.1.0.4.tar.gz
      [root@asterisk-es-rsp ~]# tar zxvf dahdi-tools-2.1.0.2.tar.gz

Aplicación de los parches

Aplicamos los parches a dahdi. Para aplicarlos debemos estar en la carpeta donde estén los archivos descomprimidos de dahdi:

      [root@asterisk-es-rsp ~]# cd /usr/src
      [root@asterisk-es-rsp ~]# patch -p0 < odi-dahdi-linux-2.1.0.4.diff
      [root@asterisk-es-rsp ~]# patch -p0 < odi-dahdi-tools-2.1.0.2.diff
Asterisk 1.4.24

Aplicamos los parches a asterisk. Para aplicarlos debemos estar dentro de la carpeta asterisk:

      [root@asterisk-es-rsp ~]# cd /usr/src/asterisk-1.4.24
      [root@asterisk-es-rsp ~]# patch -p1 < /usr/src/odi-asterisk-1.4.24.1.diff

Repositorio SVN

Otro método de descarga es directamente desde el svn de asterisk-es-rsp en el branch principal. Obtendremos las versiones ya parcheadas de asterisk, dahdi-linux, dahdi-tools y libpri.

      [root@asterisk-es-rsp ~]# svn checkout http://dev.irontec.com:8080/svn/asterisk-es-rsp/team/Odicha --username guest --password guest 

Esto nos creará una carpeta branches con la siguiente estructura, donde versión corresponde a la versión en producción de asterisk-es-rsp:

      Odicha/asterisk
      Odicha/asterisk/version
      Odicha/libpri
      Odicha/libpri/version
      Odicha/dahdi-linux
      Odicha/dahdi-linux/version
      Odicha/dahdi-tools
      Odicha/dahdi-tools/version

Parar servicios

Es importante si tienes instalaciones de dahdi previas en la máquina o si se ha producido algú error durante la instalación anterior:

Entornos redhat:

      [root@asterisk-es-rsp ~]# service dahdi start
      [root@asterisk-es-rsp ~]# service dahdi stop
      [root@asterisk-es-rsp ~]# service dahdi start otra vez

Entornos debian: todos deshabilitados en modprobe

      [root@asterisk-es-rsp ~]# /etc/init.d/dahdi stop 
      o
      [root@asterisk-es-rsp ~]# lsmod | grep dahdi
      [root@asterisk-es-rsp ~]# modprobre -r .....

Instalación Libpri/Dahdi/Asterisk

Empezamos la instalación habitual de asterisk.

Compilamos Libpri:

      [root@asterisk-es-rsp ~]# cd ../libpri
      [root@asterisk-es-rsp ~]# make && make install

Compilamos Dadhi:

      [root@asterisk-es-rsp ~]# cd dahdi-linux
      [root@asterisk-es-rsp ~]# make && make install
      [root@asterisk-es-rsp ~]# cd ../dahdi-tools
      [root@asterisk-es-rsp ~]# ./configure
      [root@asterisk-es-rsp ~]# make menuselect; make clean && make && make install
      [root@asterisk-es-rsp ~]# make config

Compilamos asterisk:

      [root@asterisk-es-rsp ~]# cd ../asterisk
      [root@asterisk-es-rsp ~]# ./configure
      [root@asterisk-es-rsp ~]# make menuselect; make clean && make && make install
      [root@asterisk-es-rsp ~]# make config

Compilamos Asterisk-Addons (si se desea):

      [root@asterisk-es-rsp ~]# cd ../addons
      [root@asterisk-es-rsp ~]# ./configure
      [root@asterisk-es-rsp ~]# make menuselect; make clean && make && make install
      [root@asterisk-es-rsp ~]# make config

Opcional Instalación Cancelador de echo Octware

Opcionalmente se puede instalar el módulo de cancelación de echo de Octware que no colisiona con los parches de Odicha.

Reboot

      [root@asterisk-es-rsp ~]# shutdown -r now

Configuración del Sistema

Configuración Dahdi

Generamos los archivos de configuración y levantamos el sistema.

      [root@asterisk-es-rsp ~]# mv genconf_parameters genconf_parameters.sample
      [root@asterisk-es-rsp ~]# /etc/init.d/dahdi start
      [root@asterisk-es-rsp ~]# dahdi_genconf
      [root@asterisk-es-rsp ~]# dahdi_cfg -vv

Adaptamos el archivo system.conf a nuestra targeta:

      [root@asterisk-es-rsp ~]# vim /etc/dahdi/system.conf
      span=1,0,1,ccs,ami
      span=2,0,1,ccs,ami
      bchan=1,2
      dchan=3
      bchan=4,5
      dchan=6
      loadzone=es
      defaultzone=es

Levantamos los modulos necesarios en modules:

      [root@asterisk-es-rsp ~]# vim /etc/dahdi/modules
      dahdi_dummy
      wcb4xxp

Configuramos /etc/dahdi/system.conf

      configuracion por defecto:
        * oslec,modo mas hispano para las bri 
        * hardhdlc por defecto
        * dchan para HFC-S
Configuración para HFC-S

Variación para tarjetas basadas en HFC-S:

      [root@asterisk-es-rsp ~]# echo " " >> /etc/dahdi/modules
      [root@asterisk-es-rsp ~]# echo "# Cologne Chips HFC-S PCI A" >> /etc/dahdi/modules
      [root@asterisk-es-rsp ~]# echo "zaphfc" >> /etc/dahdi/modules

Configuramos /etc/dahdi/system.conf

Obsoleto

      En el caso de las HFC-S dahdi_cfg avisa de que el modo no es correcto (hardhdlc) 
      y se tiene que cambiar por dchan

Archivos de configuración /etc/asterisk

Modificamos el parámetro bri_l1_check para controlar los mensajes de consola de D channel Up/Down con RDSI con ahorro de energia. Recomiendo ajustar todo sin habilitarlo y hacerlo solo cuando ya todo esta ok.

      [root@asterisk-es-rsp ~]# vim /etc/asterisk/chan_dahdi.conf
      
      [channels]
      ;bri_l1_check=0 ;Deshabilita el parámetro 
      ;bri_l1_check=1 ;Habilita el parámetro 
      ;resetinterval=never ;Evitar los problemas con las RDSI que tienen ahorro de energía 

Notas sobre zaphfc

      El driver "nuevo" es hardhdlc
      
      dchan necesitaba los parches de bristuff y al soportar dahdi hardhdlc de
      forma nativa rehice el driver a modo hardhdlc
      
      Para un asterisk 1.6 no haria falta ningun parche... Para nuestro 1.4 el
      soporte de canales BRI que no esta en chan_dahdi
      
      Cuando migremos a 1.6 no hará falta ningun parche salvo el propio driver
      (para soportar las hfc-s)
      
      Un poco mas sobre el tema.
      
      zaphfc y vzaphfc se hicieron para zaptel originalmente.
      Obviamente necesitaban los parches de bristuff, que utilizaban canales
      dchan.
      Yo opte por trabajar con vzaphfc, que aunque estaba abandonado desde hacia
      varios años, estaba (para mi gusto) bastante mejor escrito que el zaphfc del
      bristuff
      
      Al dar soporte con dahdi a las Digium b410p se preparo soporte hardhdlc para
      estas tarjetas pero solo para el branch 1.6
      Nosotros hemos ido modificando el driver para que tambien soporte todas las
      tarjetas basadas en los chips hfc-4s y 8s (casi todas las bri de 2,4 y 8
      puertos que andan por ahi)
      
      A la par, con una tarjeta que me presto J.C. Valero (un dia de estos te la
      devuelvo...) prepare el soporte para las hfc-s de un puerto bajo dahdi.
      Originalmente necesitaba los parches de bristuff, pero reescribi la parte de
      los canales D para que usara hardhdlc como medio de comunicacion. Así
      reducimos al mínimo los parches sobre los fuentes originales de asterisk. O
      sea que salvo el tema de timing (que no he querido tocar esperando a ver que
      pasa con las dahdi 2.2... y a tener tiempo) para el resto su comportamiento
      y configuracion es identico a las B410P y similares. 

Troubleshooting

Libpri

A diferencia de instalaciones con mISDN es necesario la instalación de libpri.

Se ha probado con libpri-1.4.9.

Lineas RDSI con Gestión Energía

Para que no tengamos problemas con lineas RDSI con gestion de energia (telefonica por ej.) añadir a chan_dahdi.conf dentro de la seccion channels y antes de cualquier include la linea resetinterval=never. Asi podremos llamar sin problema a traves de cualquier canal o grupo. Tambien se puede hacer span por span, por si tenemos algun primario que necesite resetear lineas de cuando en cuando.

Mensajes Pri d channel up / down

En el parche para la version 1.4 agregamos además un parametro bri_l1_check. Si lo ponemos =no evitara que recibamos en consola los mensajes Pri d channel up / down cada 15 segundos. si lo ponemos =yes o lo omitimos recibiremos los mensajes de aviso

Dahdi-Tools Xpp

Para hacer un make install de dahdi-tools hay que borrar las carpetas svn del directorio xpp/perl_modules y sus directorios hijos. Este error ya ocurría en el svn de Digium así que los que lo hayan instalado desde el SVN con anterioridad ya lo saben.

Atencion a las dahdi-tools si ya estaban instaladas. No reescribe el fichero /etc/dahdi/modules asi que habria que agregarle a mano zaphfc y opvxa1200 asi como revisar que los modulos queden incluidos en /etc/modprobe.d/dahdi.blacklist

Targetas HFC-S

haces dahdi_genconf y dahdi_cfg -vv

tiene que darte un aviso en una b100p diciendote que el canal d esta mal configurado (cambias de hardhdlc a dchan)

para el dahdi-channels.conf le haces un include tal cual desde chan_dahdi.conf

Le he hecho 700 combinaciones b200p b400p b100p a800p y todas van Lo de dahdi spanconfig es error de retirada de placa o de modulo no arrancado Intenta configurar un span que no existe seguramente

Si puedes cogete una maquina limpia

y despues de cualquier cambio de tarjetas dahdi_genconf y dahdi_cfg -vv

tocas etc/dahdi/modules (que moduilos arrancas y en que orden)

tocas etc/dahdi/system.conf (principalmente cambiar el canal d de hardhdlc a dchan en la B100p

hazle un include desde chan_dahdi.conf a dahdi-channels.conf

en dahdi-channels.conf no hay que tocar casi nada pridialplan si tienes cosas de numeracion raras….

Asterisk no carga DAHDI

Buenas, estoy tratando de instalarlo en una debian lenny, con una tarjeta RDSI de hfc. Todo se instala way, no da ningun error.

Pero a la hora de arrancar el asterisk me salta el siguiente error:

  Asterisk Event Logger Started /var/log/asterisk/event_log
  [Jun  3 16:26:12] ERROR[2542]: asterisk.c:3085 main: Asterisk has
  detected a problem with your DAHDI configuration and will shutdown for
  your protection.  You have options:
      1. You only have to compile DAHDI support into Asterisk if you
  need it.  One option is to recompile without DAHDI support.
      2. You only have to load DAHDI drivers if you want to take
  advantage of DAHDI services.  One option is to unload DAHDI modules if
  you don't need them.
      3. If you need Zaptel services, you must correctly configure
  DAHDI.

Tengo configurado el system.conf, chan_dahdi.conf, modules para que solo arranque el zaphfc, pero sigue saliendome ese error.

Alguna idea de porque podria ser??

  me refiero a que DAHDI no está teniendo timming:
  
  DAHDI "ticks" once per millisecond (1000 times per second). On each tick every active DAHDI 
  channel reads and 8 bytes of data. Asterisk also uses this for timing, through a DAHDI 
  pseudo channel it opens. 
  
  Si he cargado el dahdi_dummy y parece que funciona, me carga el asterisk ok.

Kernel 2.6.26

Pues ya que lo tenía a medias, lo acabé, con el espero dar soporte a las HFC con los últimos kernels.

Si queréis, podéis subirlo al svn, unirlo a los parches de Odicha o lo que creáis mas conveniente.

Explicación del parche: adapta el driver zaphfc, que añadió Odicha, para que funcione con las últimas versiones del kernel.

Apliqué los siguientes cambios:

-En el archivo “dahdi-linux-2.1.0.4/drivers/dahdi/zaphfc/base.c”: Cambio “SA_SHIRQ” por “IRQF_SHARED” para kernels superiores a 2.6.24 Cambio “proc_root_driver” por “NULL” para kernels superiores a 2.6.23 Comento “SET_MODULE_OWNER” para kernels superiores o iguales a 2.6.26

-En el archivo “dahdi-linux-2.1.0.4/drivers/dahdi/zaphfc/lapd.c”: Borro para kernels superiores a 2.6.24:

      netdev->hard_header        = NULL;
      netdev->rebuild_header     = NULL;
      netdev->hard_header_cache  = NULL;
      netdev->header_cache_update= NULL;

Para aplicarlo,desde la raíz de los sources : -Primero Aplicar el parche de Odicha, si no lo hemos hecho (en el team/Odicha ya esta aplicado)

      [root@asterisk-es-rsp ~]# patch -p0 <  odi-dahdi-linux-2.1.0.4.diff

-Luego, aplicar el nuevo parche:

      [root@asterisk-es-rsp ~]# patch -p0 <  ru080-odi-zaphfc.diff 

Parche: ru080-odi-zaphfc.diff

 
instalacion/odistuff_patch.txt · Última modificación: 2009/06/29 13:27 por telecosilvia
 
Excepto donde se indique lo contrario, el contenido de esta wiki se autoriza bajo la siguiente licencia:GNU Free Documentation License 1.2
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki