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? 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? _______________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users