VoiceGuide IVR Software Main Page
Jump to content

Show log file for every module and upload to a webpage

Recommended Posts

I would like to ask how to show every module name in a log file? I need to create a script to show a caller to do every action in the script. Then, I need to upload it to web interface. Thank you.

Share this post


Link to post

VoiceGuide has a 'CallEvents' log file that stores details of what happened on each call. This includes names of modulus ran, sound files played, etc.

That 'CallEvents' log file is in VoiceGuide's \log\ subdirectory. You could extract details from that log.

 

eg: Here is what a 'CallEvents' log entry for a call to VoiceGuide's demo 'Credit Card Payment' script is:

{ "call": {
  "crn": "10000001",
  "port": "1",
  "direction": "in",
  "callcounter": "1",
  "time_start": "2020-06-03 21:04:08",
  "callflow": "C:\Program Files (x86)\VoiceGuide\Scripts\Credit Card Payment\Credit Card Payment.vgs",
  "events": "
    210408.503|callstate|DE_RINGS|||||0|2|8|0
    210408.503|ring||||||1|0|0|0
    210408.505|state|call_in_offered : cid=  dnis=|||||0|0|0|0
    210408.508|event|DE_RINGS|||||2|0|8|0
    210408.512|state|Ring 1|||||0|0|0|0
    210408.512|event|EV_RING|||||1|0|0|0
    210408.512|event|TDX_CST|DE_RINGS|ET_RON|||0|0|0|0
    210414.570|ring||||||2|0|0|0
    210414.570|event|EV_CALLERID|5551234||||268435457|0|0|0
    210414.570|state|Ring 2|||||0|0|0|0
    210414.574|event|EV_RING|||||2|0|0|0
    210414.574|command|cmd_AnswerCall|||||0|0|0|0
    210414.575|event|TDX_CST|DE_RINGS|ET_RON|||0|0|0|0
    210415.125|event|TDX_SETHOOK|DX_OFFHOOK|CALL_INBOUND|||0|0|0|0
    210415.125|callstate|TDX_SETHOOK_DX_OFFHOOK|||||0|256|4|0
    210415.179|state|[Get Client ID] Number Input|||||0|0|0|0
    210415.200|state|[Get Client ID] Playing wav (PayGetId.wav)|||||0|0|0|0
    210415.206|event|TDX_SETHOOK_DX_OFFHOOK|||||256|1|4|0
    210415.218|event|TDX_CST|DE_LCON||||65535|0|0|0
    210420.421|dtmf||4||||52|0|0|0
    210420.423|command|cmd_PlayStop|||||0|0|0|0
    210420.424|state|[Get Client ID] Number Input 4|||||0|0|0|0
    210420.824|dtmf||5||||53|0|0|0
    210420.826|state|[Get Client ID] Number Input 45|||||0|0|0|0
    210421.340|dtmf||6||||54|0|0|0
    210421.342|state|[Get Client ID] Number Input 456|||||0|0|0|0
    210421.905|dtmf||7||||55|0|0|0
    210421.907|state|[Get Client ID] Number Input 4567|||||0|0|0|0
    210422.323|dtmf||8||||56|0|0|0
    210422.323|state|[Get Client ID] Number Input 45678|||||0|0|0|0
    210422.767|dtmf||9||||57|0|0|0
    210422.769|state|[Get Client ID] Number Input 456789|||||0|0|0|0
    210423.247|dtmf||#||||35|0|0|0
    210423.256|state|[Get Card Number] Number Input|||||0|0|0|0
    210423.256|state|[Get Card Number] Playing wav (PayGetCc.wav)|||||0|0|0|0
    210429.199|dtmf||1||||49|0|0|0
    210429.201|state|[Get Card Number] Number Input 1|||||0|0|0|0
    210430.244|dtmf||1||||49|0|0|0
    210430.246|state|[Get Card Number] Number Input 11|||||0|0|0|0
    210430.687|dtmf||2||||50|0|0|0
    210430.689|state|[Get Card Number] Number Input 112|||||0|0|0|0
    210431.203|dtmf||2||||50|0|0|0
    210431.205|state|[Get Card Number] Number Input 1122|||||0|0|0|0
    210431.745|dtmf||3||||51|0|0|0
    210431.747|state|[Get Card Number] Number Input 11223|||||0|0|0|0
    210432.236|dtmf||3||||51|0|0|0
    210432.238|state|[Get Card Number] Number Input 112233|||||0|0|0|0
    210432.895|dtmf||4||||52|0|0|0
    210432.897|state|[Get Card Number] Number Input 1122334|||||0|0|0|0
    210433.364|dtmf||4||||52|0|0|0
    210433.364|state|[Get Card Number] Number Input 11223344|||||0|0|0|0
    210433.904|dtmf||5||||53|0|0|0
    210433.906|state|[Get Card Number] Number Input 112233445|||||0|0|0|0
    210434.384|dtmf||5||||53|0|0|0
    210434.384|state|[Get Card Number] Number Input 1122334455|||||0|0|0|0
    210434.935|dtmf||6||||54|0|0|0
    210434.937|state|[Get Card Number] Number Input 11223344556|||||0|0|0|0
    210435.547|dtmf||6||||54|0|0|0
    210435.549|state|[Get Card Number] Number Input 112233445566|||||0|0|0|0
    210437.983|dtmf||7||||55|0|0|0
    210437.985|state|[Get Card Number] Number Input 1122334455667|||||0|0|0|0
    210438.488|dtmf||7||||55|0|0|0
    210438.488|state|[Get Card Number] Number Input 11223344556677|||||0|0|0|0
    210439.003|dtmf||8||||56|0|0|0
    210439.005|state|[Get Card Number] Number Input 112233445566778|||||0|0|0|0
    210439.483|dtmf||8||||56|0|0|0
    210439.483|state|[Get Card Number] Number Input 1122334455667788|||||0|0|0|0
    210440.995|dtmf||#||||35|0|0|0
    210440.998|state|[Get Expiry Date] Number Input|||||0|0|0|0
    210440.999|state|[Get Expiry Date] Playing wav (PayGetExp.wav)|||||0|0|0|0
    210448.171|dtmf||0||||48|0|0|0
    210448.173|state|[Get Expiry Date] Number Input 0|||||0|0|0|0
    210449.203|dtmf||5||||53|0|0|0
    210449.205|state|[Get Expiry Date] Number Input 05|||||0|0|0|0
    210451.544|dtmf||2||||50|0|0|0
    210451.546|state|[Get Expiry Date] Number Input 052|||||0|0|0|0
    210452.311|dtmf||5||||53|0|0|0
    210452.313|state|[Get Expiry Date] Number Input 0525|||||0|0|0|0
    210453.138|dtmf||#||||35|0|0|0
    210453.141|state|[Get Amount] Number Input|||||0|0|0|0
    210453.142|state|[Get Amount] Playing wav (PayGetAmount.wav)|||||0|0|0|0
    210503.124|dtmf||4||||52|0|0|0
    210503.126|state|[Get Amount] Number Input 4|||||0|0|0|0
    210503.868|dtmf||5||||53|0|0|0
    210503.870|state|[Get Amount] Number Input 45|||||0|0|0|0
    210504.395|dtmf||6||||54|0|0|0
    210504.395|state|[Get Amount] Number Input 456|||||0|0|0|0
    210504.995|dtmf||7||||55|0|0|0
    210504.997|state|[Get Amount] Number Input 4567|||||0|0|0|0
    210505.438|dtmf||8||||56|0|0|0
    210505.439|state|[Get Amount] Number Input 45678|||||0|0|0|0
    210506.002|dtmf||9||||57|0|0|0
    210506.005|state|[Get Amount] Number Input 456789|||||0|0|0|0
    210507.647|dtmf||0||||48|0|0|0
    210507.649|state|[Get Amount] Number Input 4567890|||||0|0|0|0
    210508.511|dtmf||#||||35|0|0|0
    210508.522|state|[Say Amount] Say Numbers: 4567890 as Amount - Cents|||||0|0|0|0
    210519.303|state|[Say Card Nbr] Say Numbers: 1122334455667788 as Digits|||||0|0|0|0
    210535.273|dtmf||1||||49|0|0|0
    210535.277|command|cmd_PlayStop|||||0|0|0|0
    210535.278|state|[Save Data to File VBS] RunScript|||||0|0|0|0
    210535.287|state|[Save Data to File VBS] RunScript vbs, onhold=|||||0|0|0|0
    210535.299|state|[Say Thanks...] Playing wav (PayThankyou.wav)|||||0|0|0|0
    210540.578|state|Hanging up... [Hangup Module]|||||0|0|0|0
    210540.583|command|cmd_DropCall|||||0|0|0|0
    210540.628|event|TDX_SETHOOK|DX_ONHOOK||||0|0|0|0
    210540.628|callstate|TDX_SETHOOK_DX_ONHOOK|||||0|1|32|0
    210540.639|event|TDX_SETHOOK_DX_ONHOOK|||||1|0|32|0
    210540.640|callstate|GCEV_RELEASECALL|GCST_NULL||||2137|0|0|0
  ",
  "length": "92.137"
}},

 

Share this post


Link to post

Thank you. But, how can I use it to upload on a webpage such as PHP? Also, can I use json data to POST request in Web Service module?

Share this post


Link to post

In VoiceGuide v7.6.27 onward the events log entry that was quoted beforehand will be accessible in-script using this Result Variable:

$RV_CallFlowProgress

You will then be able to upload that information to a http/https service by using a Web Service module, like this:

image.png.833f6093744ac1f9cf3778cffb254661.png

 

To upload the full log including the events capturing end of call, that web service module should be used in the "After Hangup" callflow - the VoiceGuide script that is ran after the call ends.

Please see: https://www.voiceguide.com/vghelp/source/html/call_finish.htm

v7.6.27 should be available in a few days.

 

You can include any other data in Web Service modules (JSON or otherwise) as well.

eg: you can do something like this:

image.png.cf0e55cf92ff42ba2f97f86c0e9bc68f.png

 

 

 

Share this post


Link to post

You can probably just use the Result Variables created by each module and save/post those using a Web Service module after each of the modules that you need to record actions of.

If using Result Variables from each module is not sufficient then please provide more information/examples on what you need to achieve. Maybe with some sample scripts etc.

Share this post


Link to post

Thank you. Actually, I need to know every caller's using every module status such as the caller suddenly hang up the call, or caller input data correctly, but the script can't go next or correct module.

Share this post


Link to post

To analyze how far has the caller made it through the IVR callflow you can check/save the various Result Variables that would have been created by the various modules as the caller progressed through them.

Such check would be done when caller hangs up, so from the "After Hangup" script.

More information on the "After Hangup" scripts can be found here: https://www.voiceguide.com/vghelp/source/html/call_finish.htm

This $RVs would also be useful:

$RV_PreviousModule

If you read/save that $RV_PreviousModule in the first module of the "After Hangup" script then this will tell you in which module the caller was in when they hung up.

more infrmaiton n $RVs is here:

https://www.voiceguide.com/vghelp/source/html/resultvariables.htm

 

If you have a particular state/data that you need to read/store then please advise the specifics of what you need and we can better advise.

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
×