Asterisk y la reversion de polaridad en canales Zap

Imagen de RazaMetaL

Hace un tiempo publique una pequena guia para [url=http://www.ecualug.org/?q=2007/01/31/comos/configurar_una_tarjeta_tdm400p_en_debian]instalar una tarjeta TDM400P[/url], el procedimiento de la guia es correcto y funciona, pero hay un detalle relacionado con la deteccion de polaridad.

Para que la tarjeta detecte la polaridad y nuestro [url=http://www.ecualug.org/?q=2006/07/19/comos/instalar_un_sistema_de_facturacion_para_asterisk]sistema de facturacion[/url] del tiempo consumido cobre desde que el otro lado contesta y no desde que el telefono empieza a timbrar se requieren agregar varios parametros en nuestro archivo de configuracion de la tarjeta, estos son:


answeronpolarityswitch=yes
hanguponpolarityswitch=yes

El problema radica en que cuando haces un "reload" de asterisk los parametros listados en el parrafo anterior quedan inutilizables y es necesario reiniciar asterisk para que la deteccion de polaridad funcione:


Mar 19 11:47:54 WARNING[1075] chan_zap.c: Ignoring signalling
Mar 19 11:47:54 WARNING[1075] chan_zap.c: Ignoring answeronpolarityswitch
Mar 19 11:47:54 WARNING[1075] chan_zap.c: Ignoring hanguponpolarityswitch

Pero no todo es drama, afortunadamente [url=http://bugs.digium.com/view.php?id=9186]uno de los desarrolladores de Asterisk[/url] creo un parche que soluciona el problema.


Index: channels/chan_zap.c
===================================================================
--- channels/chan_zap.c (revision 57457)
+++ channels/chan_zap.c (working copy)
@@ -10640,6 +10640,10 @@
ast_log(LOG_WARNING, "Invalid AMA flags: %s at line %d\n", v->value, v->lineno);
else
chan_conf.amaflags = y;
+ } else if (!strcasecmp(v->name, "answeronpolarityswitch")) {
+ chan_conf.answeronpolarityswitch = ast_true(v->value);
+ } else if (!strcasecmp(v->name, "hanguponpolarityswitch")) {
+ chan_conf.hanguponpolarityswitch = ast_true(v->value);
} else if(!reload){
if (!strcasecmp(v->name, "signalling")) {
if (!strcasecmp(v->value, "em")) {
@@ -11020,10 +11024,6 @@
close(ctlfd);
} else if (!strcasecmp(v->name, "polarityonanswerdelay")) {
chan_conf.polarityonanswerdelay = atoi(v->value);
- } else if (!strcasecmp(v->name, "answeronpolarityswitch")) {
- chan_conf.answeronpolarityswitch = ast_true(v->value);
- } else if (!strcasecmp(v->name, "hanguponpolarityswitch")) {
- chan_conf.hanguponpolarityswitch = ast_true(v->value);
} else if (!strcasecmp(v->name, "sendcalleridafter")) {
chan_conf.sendcalleridafter = atoi(v->value);
} else if (!strcasecmp(v->name, "defaultcic")) {

Guardamos el contenido del parche como chan_zap.patch en /usr/src/asterisk-1.2.16/channels y luego lo aplicamos de la siguiente manera:

cd /usr/src/asterisk-1.2.16/channels
patch chan_zap.c < chan_zap.patch
cd /usr/src/asterisk-1.2.16/
make install

Reiniciamos asterisk y problema resuelto.

Comentarios

AYUDA

Para que: answeronpolarityswitch=yes y hanguponpolarityswitch=yes funcionen necesito colocar el parche obligatoriamente verdad??? es que necesito saber el momento exacto en el que se contesta una llamada realizada por mi asterisk a una linea analogica, pero no puedo instalar el parche (no me lo permiten), sera que me podria ayudar por fa.... y gracias... :(

Instala las última version

Imagen de RazaMetaL

Instala las última version de la rama 1.4, en esta ya no es necesario aplicar el parche.

------------

Antes de preguntar visita el [url=http://www.sindominio.net/ayuda/preguntas-inteligentes.html]link[/url] :evil:

 

[img]http://www.bbspot.com/Images/News_Features/2003/01/os_quiz/debian.jpg[/img]

-----

Visita este [url=http://www.sindominio.net/ayuda/preguntas-inteligentes.html]link[/url] :evil:

[img]http://www.bbspot.com/Images/News_Features/2003/01/os_quiz/debian.jpg[/img]

(adsbygoogle = window.adsbygoogle || []).push({});

Problemas con polarity reverse

Hola he leido tu post y los comentarios, te voy ha explicar el siguiente problema
Tengo el Asterisk 1.4.26.1
Tengo una Wildcard TDM400P REV I Board 5
esta en un elastix 1.6.12
le he puesto de todo y no me detecta la polaridad invertida.
por favor si me puedes ayudad!!!!!!
DAHDI/3-1 ANSWERED 10
SIP/5000-0920d860 DAHDI/3-1 ANSWERED 8
SIP/5000-0920d860 DAHDI/3-1 ANSWERED 15
SIP/5000-0920d860 DAHDI/3-1 ANSWERED 13
SIP/5000-0920d860 DAHDI/3-1 ANSWERED 3

por favor si hay un gateway o algo que lo permita, que no sea el grand stream por que el si no lo permote.
Estoy usando una linea de cabla digital, por si a caso cualquier problema.

Espero sus repuesta