VoiceGuide IVR Software Main Page
Jump to content

Cdr Data

Recommended Posts

I need to compare CDR data in my database and VG log files.

I checked "Store results in log file" but this data is stored only in CDRYYYYMMDD_in.txt files. What I need is to insert my $RV[session_id] into CDRYYYYMMDD_out.txt files to find record to compare because this log file include data I need, but not all.

 

How to collect this data in one CDR file:

 

 

src: Caller*ID number (string)

dst: Destination extension (string)

channel: Channel used (string)

start: Start of call (date/time)

answer: Answer of call (date/time)

hangup: End of call (date/time)

duration: Total time in system, in seconds (integer)

billsec: Total time call is up, in seconds (integer)

disposition: What happened to the call: ANSWERED, NO ANSWER, BUSY (string)

 

and own session_id identifier

Share this post


Link to post

By "Store results in log file" do you mean the CDR_LastData_SaveRv option settable in VG.INI? or something else?

 

Setting CDR_LastData_SaveRv to 1 will save the RVs created on that line to the CDR for the call on that line.

 

It sounds like your application is performing a "Dial and Conference"/"Tromboned" call transfer, and that you want to specify an RV on the outbound leg of the call, so that RV is saved in the CDR record on the outbound call.

Is this correct, or do you need something else?

 

If you want to assign Result Variables to the outgoing leg then this can be done using the RvSet API call (see: http://www.voiceguide.com/vghelp/source/html/com_rvset.htm ), calling it using the LineID of the outgoing leg of the call.

 

You may also want to set $RV[CDR_user] value on that outgoing call, value of $RV[CDR_user] should be saved in CDRs User Data field (see: http://www.voiceguide.com/vghelp/source/html/log_cdrs.htm ).

Share this post


Link to post

I see that VG is creating few lof files (xml, csv), but not form my vgp file.

 

Is that a rule?

Share this post


Link to post

Different data is collected in different log files.

 

I need simply one log file with data as below:

 

src: Caller*ID number (string)

dst: Destination extension (string)

channel: Channel used (string)

start: Start of call (date/time)

answer: Answer of call (date/time)

hangup: End of call (date/time)

duration: Total time in system, in seconds (integer)

billsec: Total time call is up, in seconds (integer)

disposition: What happened to the call: ANSWERED, NO ANSWER, BUSY (string)

 

and User Data field: session_id identifier

 

 

I see that CDR_YYYYMMDD_in.txt include declared User Data (in my case: session_id), but not include User Data in CDR_YYYYMMDD_out.txt witch include necessary duration time.

 

Is possible to configure vg.ini to create one text log file? I can't simply to compare all log files because they don't include index data as key to join data.

Share this post


Link to post

Each CDR entry is for one call.

 

If in your script you are making outbound conference calls and want to be able to keep track of what 'dial and conference" calls were established by the script then the best way is to have the script save this data in your own database.

To update database with conference call length information, look in vgEngine trace what events fire when the other leg of the call hangs up, and setup matching paths in the script. Also, you can also use the "on hangup" script to update the entry with call length if the original leg of the call hangs up first.

 

If you want to put a 'key' into the outgoing calls CDR record (like in the example in your question) then just create an RV on the outgoing leg of the call.

You can do this using RvSet API, or by using the <RV> tag in the Options passed when the dial and conference call is made.

 

eg:

<RV>[mysession_id]{$RV[somekeycreatedearlier]}</RV>

 

 

 

I see that VG is creating few log files (xml, csv), but not form my vgp file.

The .xml/.csv/.vgl log files should be created for .vgp scripts as well. If you have a situation where you did not see these created then please post the related vgEngine log file (in a new thread).

Share this post


Link to post

I attached log of script witch don't generated .xml/.csv/.vgl log files. Other scripts followed from this one (main script) generating right own log files (.vgp too)

 

Because I'm using few posts simultaneously sometimes I can't reply because i made it in too short time period. Please, change it.

Kopia 0126_1141_vgEngine.zip

Share this post


Link to post

The attached trace did not show any calls, only system startup.

 

Please post trace that fully captures an incoming call.

Share this post


Link to post

Supplied traces sugges that both the script traces and CDR entries were written at end of call (or sctript switch time).

For Script logs, did you look in difrectory C:\Program Files\VoiceGuide\Scripts\Maciej\log ?

 

 

 

194119.633 6 2 1 WriteToLogFiles_CurrScriptOnly begin

194119.633 6 2 1 WriteToLogFiles_DoWrite begin : strLogFnameLessSuffix=C:\Program Files\VoiceGuide\Scripts\Maciej\prepaid_2011_10_14

194119.633 6 2 1 WriteToLogFiles_DoWrite : log subdirectory exists, strLogFnameLessSuffix=C:\Program Files\VoiceGuide\Scripts\Maciej\log\prepaid_2011_10_14

194119.633 6 2 1 WriteToLogFiles_DoWrite completed

 

194247.914 6 2 1 WriteToLogFiles_CurrScriptOnly begin

194247.914 6 2 1 WriteToLogFiles_DoWrite begin : strLogFnameLessSuffix=C:\Program Files\VoiceGuide\Scripts\Maciej\prepaid_2011_10_14

194247.914 6 2 1 WriteToLogFiles_DoWrite : log subdirectory exists, strLogFnameLessSuffix=C:\Program Files\VoiceGuide\Scripts\Maciej\log\prepaid_2011_10_14

194247.914 6 2 1 WriteToLogFiles_DoWrite completed

 

 

194601.194 6 2 1 WriteToLogFiles_CurrScriptOnly begin

194601.194 6 2 1 WriteToLogFiles_DoWrite begin : strLogFnameLessSuffix=C:\Program Files\VoiceGuide723 kopia\Scripts\manager\all_custom_new

194601.194 6 2 1 WriteToLogFiles_DoWrite : log subdirectory does not exist: C:\Program Files\VoiceGuide723 kopia\Scripts\manager\log

194601.272 6 2 1 WriteToLogFiles_DoWrite completed

 

 

194601.272 6 2 1 CDR (in) : "222xxxxxx","780xxxxxx","","","","","","C:\Program Files\VoiceGuide\Scripts\Maciej\prepaid_2011_10_14.vgp","","'2012-01-26 19:42:47'","'2012-01-26 19:42:47'","'2012-01-26 19:46:01'",193,193,"ANSWERED","","ID201201261942500" => C:\Program Files\VoiceGuide\cdr\CDR_20120126_in.txt , C:\Program Files\VoiceGuide\cdr\CDR_20120126_in_ANSWERED.txt

 

 

194601.303 6 4 2 CDR (out) : "","502xxxxxx","","","","","","","","'2012-01-26 19:43:17'","'2012-01-26 19:43:25'","'2012-01-26 19:46:01'",164,156,"ANSWERED","","" => C:\Program Files\VoiceGuide\cdr\CDR_20120126_out.txt , C:\Program Files\VoiceGuide\cdr\CDR_20120126_out_ANSWERED.txt

Share this post


Link to post

Hi,

 

I need additional user data in OUT log file (_out_ANSWERED)

 

"ID201201261942500" is my session id so i need to store it in out log file because this file includes all necessary data.

 

 

 

194601.272 6 2 1 CDR (in) : "222xxxxxx","780xxxxxx","","","","","","C:\Program Files\VoiceGuide\Scripts\Maciej\prepaid_2011_10_14.vgp","","'2012-01-26 19:42:47'","'2012-01-26 19:42:47'","'2012-01-26 19:46:01'",193,193,"ANSWERED","","ID201201261942500" => C:\Program Files\VoiceGuide\cdr\CDR_20120126_in.txt , C:\Program Files\VoiceGuide\cdr\CDR_20120126_in_ANSWERED.txt

 

 

194601.303 6 4 2 CDR (out) : "","502xxxxxx","","","","","","","","'2012-01-26 19:43:17'","'2012-01-26 19:43:25'","'2012-01-26 19:46:01'",164,156,"ANSWERED","","target place for session id" => C:\Program Files\VoiceGuide\cdr\CDR_20120126_out.txt , C:\Program Files\VoiceGuide\cdr\CDR_20120126_out_ANSWERED.txt

Share this post


Link to post

Looks like you have used $RV[CDR_user] to place this session id data on the 17th CDR field.

 

To do the same you just need to define a $RV[CDR_user] on the outgoing leg of the call.

 

To create an RV on the outgoing leg of the call you can use an RvSet API, or by using the <RV> tag in the Options passed when the dial and conference call is made (same place where <CallerId> etc is set).

 

eg:

<RV>[CDR_user]{$RV[session_id]}</RV>

Share this post


Link to post

Please ensure that you update your system to

[old link removed]

Then use this expression in the Options field of the Transfer Call module:

<CallerId>222054699</CallerId><RV>[CDR_user]{$RV[session_id]}</RV>

Share this post


Link to post

Please update system to:

[old link removed]

the CallerID set on outbound calls is saved in CDR in this new release.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×