• Categorías

  • agosto 2007
    L M X J V S D
        sep »
     12345
    6789101112
    13141516171819
    20212223242526
    2728293031  
  • Acerca del Autor

    Mi nombre es Sergio Serrano y soy socio-fundador de Avanzada 7(empresa pionera en España en Asterisk) y un apasionado de Linux y el software libre. Desde el 2002 empecé a trabajar con Asterisk y desde entonces sigo aprendiendo cosas día a día.

Archivo para agosto, 2007

Detección del Colgado en Líneas sin Inversión de Polaridad

Escrito por tron on 29 de agosto de agosto

El problema del colgado en líneas analógicas es un problema que siempre ha estado en España y que gracias a Julián Menéndez se ha solucionado para aquellas líneas que tiene inversión de polaridad. Aún se tiene el problema cuando las líneas no tiene inversión de polaridad y voy a explicar como lo he podido solucionar en algun sitio que otro.

Dentro del directorio de fuentes de asterisk, si editamos el fichero Makefile podemos encontrar las siguientes líneas:

# Original busydetect routine
BUSYDETECT = #-DBUSYDETECT

# Improved busydetect routine, comment the previous one if you use this one
BUSYDETECT+= #-DBUSYDETECT_MARTIN
# Detect the busy signal looking only at tone lengths
# For example if you have 3 beeps 100ms tone, 100ms silence separated by 500 ms of silence
BUSYDETECT+= #-DBUSYDETECT_TONEONLY
# Inforce the detection of busy singal (get rid of false hangups)
# Don’t use together with -DBUSYDETECT_TONEONLY
BUSYDETECT+= #-DBUSYDETECT_COMPARE_TONE_AND_SILENCE

Pues bien si queremos detectar el colgado en este tipo de líneas debemos hacer lo siguiente:

Compilar asterisk con las opciones activadas de BUSYDETECT+= -DBUSYDETECT_MARTIN y de BUSYDETECT+= -DBUSYDETECT_TONEONLY.

Una vez compilado asterisk, en el zapata.conf debemos poner las siguientes líneas:
answeronpolarityswitch=no
hanguponpolarityswitch=no
busydetect=yes

además el parámetro busycount habrá que probar con varios valores teniendo en cuenta que si se pone muy bajo, es posible que no detecte el colgado y si es muy alto produzca cortes aleatorios. Las pruebas que yo he realizado me han ido bien con valores entre 5 y 11.

En una instalación rara con analógico vía LMDS, también se ha podido solucionar con BUSYDETECT+= -DBUSYDETECT_MARTIN y
BUSYDETECT+= -DBUSYDETECT_COMPARE_TONE_AND_SILENCE.

Espero que os ayude.

Tron