[asterisk-users] Call tracing - Asterisk 1.4

Atis Lezdins atis at iq-labs.net
Wed Mar 12 11:09:03 CDT 2008


On 3/12/08, Louwrens Benadé <louwrens at jasper.co.za> wrote:
>
>         That's the way how i have it workin. Of course, this wasn't done in
>         one day, i've been working on details for weeks. Generally i use
>  CDR,
>         and manipulate it with ResetCDR, NoCDR, and link them together by
>         first uniqueid. This works great for IVRs, extension2extension
>  calls,
>         outgoing calls, blind transfers, queues. So i can take any call and
>         see what was done to it, where it was transferred, duration of each
>         step and so on, so on. However it won't work for conferences (you
>         don't know that person will join conference unless it joins, and
>  then
>         it's too late to change uniqueid, first cdr may be already writted),
>         and i haven't implemented that for blind transfers. But generally if
>         you want all that in DB, manipulating CDR is the way to go.
>
>         When you will have more specific questions, please ask, i'm sure
>         somebody will answer :)
>
>
> So I'm not the only one :)
>
>  Ok, because of my lack of knowledge about using the dial-plan, I've resorted
>  to using Trixbox (don't laugh). I've managed to find where the initial
>  uniqueid is inserted which I then pump into a variable, and from there into
>  the 'userfield' in the CDR.
>
>  The problem I'm having at the moment is that I can't figure out when the
>  next hit in the CDR takes place. I've found the macro that (I think)
>  generates it, but no matter what I try, I can't populate the 'userfield' for
>  the next event.
>
>  So here are my questions:
>
>  1. Is the next event in the CDR inserted by ResetCDR or NoCDR?

NoCDR wouldn't cause that, as that's supposed to skip posting current
CDR. Next entry would be caused by either ResetCDR(w) or some
application that creates new channel (i.e. Dial or Queue). You can
enable "full" log and set verbosity and debug to higher values, to see
all what's going on.

>
>  2. Can I use a locally defined variable ( exten =>
>  s,n,Set(v_identme=${CDR(UNIQUEID)})) ) or do I have to use a global
>  variable?

I'm not sure about value of ${CDR(UNIQUEID)}, but you can use just
${UNIQUEID}. If you want to pass variable to child channels, you
should make it inheritable. I'm using:
Set(__call_id=${UNIQUEID})

Regards,
Atis

-- 
Atis Lezdins,
VoIP Project Manager / Developer,
atis at iq-labs.net
Skype: atis.lezdins
Cell Phone: +371 28806004
Cell Phone: +1 800 7300689
Work phone: +1 800 7502835



More information about the asterisk-users mailing list