Duda DeadAGI y CDR

42 views
Skip to first unread message

TelecoSilvia

unread,
Sep 2, 2009, 7:47:56 AM9/2/09
to asterisk-es
Hola chicos tengo una pequeña duda con los DeadAGI y el CDR.
Tengo desactivada la opción endbeforehexten=no y ejecuto un DeadAGI en
la extensión h.
El AGI se ejecuta sin problemas, pero tiene dos comportamientos
distintos.

Si la llamada ha sido cancelada al ejecutar un "set variable CDR
(userfield)" lo rellena sin problemas y me aparece en el cdr.
Si la llamada ha sido contestada no lo rellena, aunque el AGI lo envia
a asterisk y se recibe el ok.

Me estraña este comportamiento y no se si se me está escapando algo.
He probado con CDR(userfield|r) por si no estaba rellenando el stack
correcto, pero nada.

Puede que endbeforehexten=no no funcione si se ha contestado la
llamada. No tiene mucho sentido, para eso lo pongo, para que no me
genere el cdr aún.


Saúl Ibarra

unread,
Sep 2, 2009, 7:52:46 AM9/2/09
to aster...@googlegroups.com
Es un bug conocido, no recuerdo el id, pero en la 1.4.24 no está resuelto...


--
/Saúl
http://www.saghul.net | http://www.sipdoc.net

Jon Bonilla

unread,
Sep 2, 2009, 7:58:01 AM9/2/09
to aster...@googlegroups.com
El Wed, 2 Sep 2009 04:47:56 -0700 (PDT)
TelecoSilvia <teleco...@gmail.com> escribió:

Y si haces el SET de CDR desde el dialplan te funciona?

Yo al final me he tenido que hacer una chuleta con los comportamientos de la h
y el CDR en función de si la llamada se ha contestado, no se ha contestado, se
ha hecho un dial o no...

Claro que como no tengo DeadAgi mi chuleta está incompleta en este caso
particular...

--
First they ignore you.
Then they laugh at you.
Then they fight you.
**Then you win.**

DaHjaj jaj QaQ Daghajjaj :)

TxivaSad

unread,
Sep 2, 2009, 8:05:37 AM9/2/09
to asterisk-es
Ok no tiene nada que ver con el AGI, es el CDR y la extensión h
Con el Set(CDR(userfield)) no funciona tampoco.

[h@perfil-3:2] Set("SIP/104-08335cd0", "CDR(userfield)=0.16") in new
stack

Pues un desastre tendré que buscar otra manera de hacerlo. Con lo
bonito que me había quedado el AGI :(

On 2 Set, 13:58, Jon Bonilla (Manwe) <ma...@aholab.ehu.es> wrote:
> El Wed, 2 Sep 2009 04:47:56 -0700 (PDT)
> TelecoSilvia <telecosil...@gmail.com> escribió:

Jon Bonilla

unread,
Sep 2, 2009, 8:25:45 AM9/2/09
to aster...@googlegroups.com
El Wed, 2 Sep 2009 05:05:37 -0700 (PDT)
TxivaSad <teleco...@gmail.com> escribió:

>
> Ok no tiene nada que ver con el AGI, es el CDR y la extensión h
> Con el Set(CDR(userfield)) no funciona tampoco.
>

Deja en el CDR simplemente

enable=yes
unanswered=yes


y haz una prueba con Dial y sin dial, contestando y no contestando la llamada.

TxivaSad

unread,
Sep 2, 2009, 10:17:58 AM9/2/09
to asterisk-es
Bueno vamos pa allà. Con el unanswered no varia nada, encambio me
parece que las macros si que influyen. Igual es que tengo el problema
en el concepto "volver" de una macro.

Si tengo este dialplan funciona:

[contexto]
exten => _X.,1,Dial
exten => h,1,Set(CDR(userfield)="hecolgado") ; Se ejecuta y lo pone
ok en el CDR

Con este no:

[contexto]
exten => _X.,1,Macro(dial)
exten => h,1,Set(CDR(userfield)="hecolgado") ; Se ejecuta y no lo
pone en el CDR

[macro-dial]
exten => s,1,Dial

Y con este si:

[contexto]
exten => _X.,1,Macro(dial)
exten => h,1,Set(CDR(userfield)="hecolgado") ; No se ejecuta

[macro-dial]
exten => s,1,Dial
exten => h,1,Set(CDR(userfield)="lamacrohacolgado") ; Se ejecuta y lo
pone en el CDR

On 2 Set, 14:25, Jon Bonilla (Manwe) <ma...@aholab.ehu.es> wrote:
> El Wed, 2 Sep 2009 05:05:37 -0700 (PDT)
> TxivaSad <telecosil...@gmail.com> escribió:

Saúl Ibarra

unread,
Sep 2, 2009, 10:36:01 AM9/2/09
to aster...@googlegroups.com
core show application Macro:

Extensions: While a macro is being executed, it becomes the current context.
This means that if a hangup occurs, for instance, that the macro
will be searched for an 'h' extension, NOT the context from which
the macro was called. So, make sure to define all appropriate
extensions in your macro! (you can use 'catch' in AEL)

Paco Gil

unread,
Sep 2, 2009, 10:42:27 AM9/2/09
to aster...@googlegroups.com
una de las cosas que aprendí (cuando sabía un poco menos de lo que sé ahora) de freepbx fue la macro "macro-hangupcall". La extensión h, normalmente siempre termina yendo a esa macro y ahí se ejecutan las cosas que te interesen, tipo CDR...

2009/9/2 TxivaSad <teleco...@gmail.com>



--
http://masteracsi.ual.es/

TxivaSad

unread,
Sep 2, 2009, 11:50:36 AM9/2/09
to asterisk-es
A ver eso ya lo sabía (más o menos), pero lo que no tiene sentido es
que si que se ejecute el h del contexto y encambio no lo pinte en el
cdr.

On 2 Set, 16:42, Paco Gil <pag...@gmail.com> wrote:
> una de las cosas que aprendí (cuando sabía un poco menos de lo que sé ahora)
> de freepbx fue la macro "macro-hangupcall". La extensión h, normalmente
> siempre termina yendo a esa macro y ahí se ejecutan las cosas que te
> interesen, tipo CDR...
>
> 2009/9/2 TxivaSad <telecosil...@gmail.com>

Saúl Ibarra

unread,
Sep 3, 2009, 6:49:02 AM9/3/09
to aster...@googlegroups.com
Tu bug creo que es este: https://issues.asterisk.org/view.php?id=14085
pero no se sabe cuando ha sido arreglado, para poder hacer un patch...
:-/

TxivaSad

unread,
Sep 3, 2009, 8:00:51 AM9/3/09
to asterisk-es
Gracias, lo investigo a ver si encuentro el parche.
Reply all
Reply to author
Forward
0 new messages