Julián J. Menéndez
No es correcto... El problema es que no debería generarse un evento
RING a las 22:22:02, ya que el NO RING que le sigue es el que provoca
que asterisk se vaya OFFHOOK (vamos, que descuelgue e inicie la
ejecución del dialplan).
He estado haciendo pruebas en mi línea de casa, y pasa pocas veces. En
9 de cada 10 llamadas (como los dentistas) solo veo la inversión de
polaridad después de colgar el móvil... pero hay un caso en el que sí
veo el RING, la polaridad, y el NO RING. Por eso a mi también, aunque
esporádicamente, me entraban llamadas fantasma...
La solución es bajar la sensibilidad de la detección, de forma que
siga detetando bien los casos reales, pero no se deje engañar tan
facilmente por pequeñas variaciones de voltaje enla línea (asociadas
al cambio de polaridad final)
En lo que viene siendo un parche, quedaría algo como:
Index: wctdm.c
===================================================================
--- wctdm.c (revision 2759)
+++ wctdm.c (working copy)
@@ -862,7 +862,7 @@
res = wc->reg0shadow[card];
if ((res & 0x60) && wc->mod[card].fxo.battery) {
wc->mod[card].fxo.ringdebounce += (ZT_CHUNKSIZE * 16);
- if (wc->mod[card].fxo.ringdebounce >=
ZT_CHUNKSIZE * 64) {
+ if (wc->mod[card].fxo.ringdebounce >=
ZT_CHUNKSIZE * 128) {
if (!wc->mod[card].fxo.wasringing) {
wc->mod[card].fxo.wasringing = 1;
zt_hooksig(&wc->chans[card],
ZT_RXSIG_RING);
Vamos, cambiar ese 64 por un 128... De hecho, mirando el código del
módulo wctdm24xx, trae este valor por defecto.
Saludos
Julián J. Menéndez
De cualquier modo, algo raro hay en esa línea. :)
Julián J. Menéndez
Un comentario sobre tu dialplan...
> -----Mensaje original-----
> De: aster...@googlegroups.com
> [mailto:aster...@googlegroups.com] En nombre de bauer
> Enviado el: domingo, 23 de diciembre de 2007 12:21
> Para: asterisk-es
> Asunto: [Asterisk-ES] Re: Inversión de polaridad y llamadas fantasma
Mira, la prioridad "n" te ayuda a que si insertas alguna línea en medio, no
tengas que renombrar toda esa extensión, ¿no?.
En la forma que lo tienes hecho, sigues teniendo que renombrar, no las
prioridades, pero sí los saltos que haces a prioridades concretas de la
extensión.
En mi opinión, yo cambiaría los saltos a prioridades concretas por saltos a
etiquetas. Poniéndote un ejemplo con parte de tu dialplan, si no me
equivoco, te quedaría:
exten => h,1,GotoIf($[${GLOBAL(${CHANNEL}_DIF)} <= 20]?SIGUE:FINALIZA)
exten => h,n(SIGUE),Set(GLOBAL(${CHANNEL}_TIEMPO)="")
exten => h,n,Goto(5)
exten => h,n,Set(GLOBAL(${CHANNEL}_TIEMPO)=${EPOCH})
exten => h,n(FINALIZA),HangUp()
Saludos,
Ramses