VoiceGuide IVR Software Main Page
Jump to content

TTS in Get Numbers module

Recommended Posts

I am new to this how do I go from Play detail to Get Code? Pla Detail waits for a keypress and I want it to go to get code after it plays my text message.

Share this post


Link to post

Just specify a text file (.txt) as the file to be played. The text in that file will be TTS'd and played.

Share this post


Link to post

That's cool. But what if I want to read stuff from my database. Can I include variables in the txt file?

Share this post


Link to post

Which version of VoiceGuide are you using?

 

Could you please post a copy of VoiceGuide's Debug Printout which captures the problem, this will allow us to see what happened.

 

When running the script click on VoiceGuide's View menu and select 'Event Trace Log' option - any log information will then appear in this window. You must open the trace window before making the call. You can enable the automatic saving of the logs to files in \log\ directory as well.

Share this post


Link to post

5.2.3

 

Version=5.0

DefaultModuleDisplayHeight=

StartModule=GetClientRecord

RunAtHangup=

StartWithoutAnswer=0

CtmAsiName=

 

[GetClientRecord]

Type=Database Query

DispSize=69

Txt=Retrieve info from database for this client using Caller ID (or the phone number dialed)

DbDatabase=C:\Documents and Settings\Dovid\My Documents\TVR\TVR.mdb

DbUser=

DbConnectString=

DbSql=SELECT Company, OrderName, OrderAmount, OrderCode, ID FROM Accounts, Transactions WHERE Accounts.AccountID=Transactions.AccountID

on {success} goto [PlayDetails]

on {fail} goto [ClientNotFound]

on {success} goto [GetOrderCode]

 

Position=120,28

 

[GetOrderCode]

Type=Get Numbers

DispSize=69

Txt=Play a prompt asking the caller to enter a sequence of numbers, speak the sequence back to the caller and ask them to confirm it. Go down different paths depending on the numbers entered...

PlayFile1=welcome.txt

Replay=2,5

GetNbrLen_Min=0

GetNbrLen_Max=0

Confirm=ON

VbScript=

set vg = CreateObject("VoiceGuide.CommandLink")

en = Len("$RV_ENTEREDNUMBER")

if $RV[GetClientRecord_4_1] = en then

sResult = "verify_failed"

else

sResult = "verify_passed"

end if

vg.Run_ResultReturn $RV_LINEID, sResult

set vg = Nothing

VbsHoldPlay=

on {success} goto [update Passed]

on {fail} goto [update Failed]

 

Position=105,283

 

[update Passed]

Type=Database Query

DispSize=69

Txt=Update the confirmed field in the database.

DbDatabase=C:\Documents and Settings\Dovid\My Documents\TVR\TVR.mdb

DbUser=

DbConnectString=

DbSql=UPDATE TRANSACTIONS SET CONFIRMED = NOW(), PassFail = 'P' WHERE ID = $RV[GetClientRecord_5_1]

 

Position=464,241

 

[update Failed]

Type=Database Query

DispSize=69

Txt=Update the confirmed field in the database.

DbDatabase=C:\Documents and Settings\Dovid\My Documents\TVR\TVR.mdb

DbUser=

DbConnectString=

DbSql=UPDATE TRANSACTIONS SET CONFIRMED = NOW(), PassFail = 'F' WHERE ID = $RV[GetClientRecord_5_1]

 

Position=464,340

Share this post


Link to post

You will need to update to v5.2.5 (current release)

v5.2.5 can play .txt files as TTS.

v5.2.3 could not.

Share this post


Link to post

It's working now but one problem. It dials and doesn't wait for someone to pickup before it starts the script?

Share this post


Link to post

Could you please post a copy of VoiceGuide's Debug Printout which captures the problem, this will allow us to see what happened.

 

When running the script click on VoiceGuide's View menu and select 'Event Trace Log' option - any log information will then appear in this window. You must open the trace window before making the call. You can enable the automatic saving of the logs to files in \log\ directory as well.

Share this post


Link to post

This is the log...right after it dials it goes straight into the script without waiting for the someone to answer....

 

173358.88 0 dial [33,17186986838,509091732,1,2359,MoTuWeThFrSaSu,,3,NONE,C:\Documents and Settings\Dovid\My Documents\TVR\TVR.vgs,NONE,none,60,2,120,,none]

173358.88 0 rv clear

173358.88 0 dial callque update id=33 next call time 0509091933

173358.89 0 dial callque DB update returned

173358.89 0 amchk set AMdet=False in DialOnLine

173358.89 0 dial found entry: tel[17186986838] ann[NONE] vgs[C:\Documents and Settings\Dovid\My Documents\TVR\TVR.vgs] am[NONE] LineSelection:[]

173358.91 0 Dialing: 17186986838

173358.92 0 MakeCall => 65604

173358.92 0 script interpretor: VgMulti v5.2.5003

173358.92 0 timer set 60 EV_TIMEOUT_MAKECALL_NORESPONSE

173358.94 0 TapiCbTrigSet 65604 7002

173358.95 0 dial start any summary:|0:dial=0|

173358.97 0 tapi Reply (LineEvReply) ok 65604 0

173358.97 0 TapiCbTrigClear

173358.97 0 callstate DIALING 65570 0 0

173358.98 0 callstate PROCEEDING 65570 0 0

173359.95 0 dial start any summary:|0:hc>0|

173402.00 0 callstate CONNECTED 65570 0 0

173402.02 0 callstate CONNECTED 65570,0,0

173402.02 0 WorkingModeTAPI@Connected=

173402.03 0 WorkingModeScript@Connected=

173402.03 0 rv lg add [PathSysVoice]{C:\Program Files\VoiceGuide\system\voice\}

173402.05 0 rv lg add [PathApp]{C:\Program Files\VoiceGuide\}

173402.05 0 rv lg add [PathDataVm]{C:\Program Files\VoiceGuide\data\}

173402.06 0 rv lg add [PathVgSys]{C:\Program Files\VoiceGuide\system\}

173402.06 0 rv lg add [OutDial_RetriesLeft]{2}

173402.08 0 rv lg add [$RV_STARTTIME]{9/9/2005 5:34:02 PM}

173402.08 0 rv lg add [$RV_DEVICEID]{0}

173402.09 0 rv lg add [$RV_CIDNAME]{}

173402.09 0 rv ns add [PathApp]{C:\Program Files\VoiceGuide\}

173402.11 0 rv lg add [$RV_CALLEDNUMBER]{17186986838}

173402.11 0 rv lg add [$RV_DNIS]{}

173402.11 0 rv lg add [DNIS]{}

173402.13 0 Dialing: Playing introduction message

173402.13 0 StartLoadedVgs at 9/9/2005 5:34:02 PM, script interpretor VgMulti v5.2.5003 0

173402.14 0 rv ns add [scriptsPath]{C:\Documents and Settings\Dovid\My Documents\TVR\}

173402.14 0 rv ns add [scriptPath]{C:\Documents and Settings\Dovid\My Documents\TVR}

173402.16 0 rv lg add [PathSysVoice]{C:\Program Files\VoiceGuide\system\voice\}

173402.16 0 rv lg add [PathApp]{C:\Program Files\VoiceGuide\}

173402.17 0 rv lg add [PathDataVm]{C:\Program Files\VoiceGuide\data\}

173402.17 0 rv lg add [PathVgSys]{C:\Program Files\VoiceGuide\system\}

173402.17 0 rv lg add [OutDial_RetriesLeft]{2}

173402.19 0 rv lg add [$RV_STARTTIME]{9/9/2005 5:34:02 PM}

173402.19 0 rv lg add [$RV_DEVICEID]{0}

173402.20 0 rv lg add [$RV_CIDNAME]{}

173402.20 0 rv ns add [PathApp]{C:\Program Files\VoiceGuide\}

173402.22 0 rv lg add [$RV_CALLEDNUMBER]{17186586839}

173402.22 0 rv lg add [$RV_DNIS]{}

173402.23 0 rv lg add [DNIS]{}

173402.23 0 timer clear

173402.25 0 [GetClientRecord] DB Query

173402.25 0 db Jet mode used (To use ODBC mode specify ODBC Connect string)

173402.27 0 db About to execute a Retrieve type operation [sELECT Company, OrderName, OrderAmount, OrderCode, ID FROM Accounts, Transactions WHERE Accounts.AccountID=Transactions.AccountID]

173402.27 0 db [GetClientRecord] row count=1

173402.28 0 rv lg add [GetClientRecord_RowCount]{1}

173402.28 0 db get RecordsetGetRowsMax

173402.30 0 db get 999 records. (row count=1)

173402.30 0 db update RVs start

173402.30 0 db update RVs cols=5 rows=1

173402.31 0 db test vRetData(0, 0)=ABC Tech

173402.31 0 db test CStr(vRetData(0, 0))=ABC Tech

173402.33 0 db about to close dbDbqDatabase

173402.33 0 db going down path [True]

173402.34 0 timer clear

173402.34 0 [GetOrderCode] Number Input

173402.36 0 rv replace start: [Hello $RV[GetClientRecord_2_1]This call is to confirm your purchase. Please enter the Order Code that was provided with your order! ]

173402.36 0 rv ns none[PathSysVoice]{C:\Program Files\VoiceGuide\system\voice\}[PathApp]{C:\Program Files\VoiceGuide\}[PathDataVm]{C:\Program Files\VoiceGuide\data\}[PathVgSys]{C:\Program Files\VoiceGuide\system\}[OutDial_RetriesLeft]{2}[scriptsPath]{C:\Documents and Settings\Dovid\My Documents\TVR\}[scriptPath]{C:\Documents and Settings\Dovid\My Documents\TVR}[PathSysVoice]{C:\Program Files\VoiceGuide\system\voice\}[PathApp]{C:\Program Files\VoiceGuide\}[PathDataVm]{C:\Program Files\VoiceGuide\data\}[PathVgSys]{C:\Program Files\VoiceGuide\system\}[OutDial_RetriesLeft]{2}[$RV_STARTTIME]{9/9/2005 5:34:02 PM}[$RV_DEVICEID]{0}[$RV_CIDNAME]{}[PathApp]{C:\Program Files\VoiceGuide\}[$RV_CALLEDNUMBER]{17186986838}[$RV_DNIS]{}[DNIS]{}[GetClientRecord_RowCount]{1}[GetClientRecord_1_1]{ABC Tech}[GetClientRecord_2_1]{Ira Adress}[GetClientRecord_3_1]{1200}[GetClientRecord_4_1]{123}[GetClientRecord_5_1

{1}

173402.38 0 tts generate start[Hello Ira Adress, you have recently placed an order with ABC Tech in the amount of $1200 . This call is to confirm your purchase. Please enter the Order Code that was provided with your order! ]

173402.39 0 tts generate wait

173402.41 0 dial callque delete id=33

173402.42 0 rv ns add [OutDial_Result]{Contacted_Human}

173402.61 0 tts generate finish. lineCallState=CONNECTED

173402.61 0 amchk test AMdet in TtsToWavFileFinished => False

173402.63 0 [GetOrderCode] Playing (C:\Program Files\VoiceGuide\temp\tts_0_1.wav)

173402.63 0 play set playid=527187

173402.73 0 PlaySoundStart ok [C:\Program Files\VoiceGuide\temp\tts_0_1.wav]

173402.75 0 timer clear

173402.77 0 wa(13611,52718700)

173416.36 0 play end current play (playid=527187)

173416.36 0 ScriptEventCode 8001 iLineState=1300

173416.38 0 LsGetNbrsPlayWelcMsg EV_PLAY_FINISHED

173416.39 0 eng set timer EV_TIMEOUT_REPLAYMSG time=5

173416.41 0 timer set 5 EV_TIMEOUT_REPLAYMSG

173421.77 0 timer fired EV_TIMEOUT_REPLAYMSG

173421.77 0 ScriptEventCode 9005 iLineState=1301

173421.78 0 LsGetNbrsRxDigits EV_TIMEOUT_REPLAYMSG

173421.78 0 tts generate reuse (C:\Program Files\VoiceGuide\temp\tts_0_1.wav)

173421.80 0 [GetOrderCode] Playing (C:\Program Files\VoiceGuide\temp\tts_0_1.wav)

173421.80 0 play set playid=546359

173421.92 0 PlaySoundStart ok [C:\Program Files\VoiceGuide\temp\tts_0_1.wav]

173421.94 0 timer clear

173421.94 0 wa(13611,54635900)

Share this post


Link to post
It's working now but one problem. It dials and doesn't wait for someone to pickup before it starts the script?

Are yon using a Voice modem? Voice modems cannot detect when call is answered, that's why they usually need to play the announce mesasge in a loop - see: http://www.voiceguide.com/vghelp/html/DialListInto.htm

 

You will need to use a Dialoigc card to detect when an outgoing call is answered.

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
×