Guest Data Expert Consultants Report post Posted 04/22/2004 06:05 PM Our system: Windows 2000 Dialogic D/41H w/ Intel drivers installed and working Voice guide 5.2.1011 - Trial version Text-to-Speech We have designed an interface that manages numbers to dial, the scripts to be used and the messages to be passed to the scripts. Our employer wants to use voice guide to dial the numbers but does not want voice guide to handle the queue. Is there a VB script that will cause voiceguide to dial a number and play a script without adding the number to the queue? set vg = CreateObject("VoiceGuide.CommandLink") vg.Dialer_MakeCall "0,5551234", "", "5", "" set vg = Nothing Your documentation lists this example code but the documentation is vague on a couple key points. - What value is returned on an error? - sLineSelection is required but blank in the example. What is the default value or does it simply start from the first available line and work down? - sBridgeAfterDialing is required but it only works on certain dialogic cards. I assume "" is valid but the documentation isn't specific. set vg = CreateObject("VoiceGuide.CommandLink") Do While( vg.Dialer_MakeCall( cPhoneNumber, "","", cScript ) == Error ) Pause 10 seconds Enddo set vg = Nothing [code] Assuming Dialer_MakeCall is the correct method to use for dialing, what is the correct method of testing the state of voice guide? Repeatedly calling the dialer as above makes sense but it seems there should be a simpler way to test the state (eg. isWaiting() or something like that). Thanks. Share this post Link to post
SupportTeam Report post Posted 04/22/2004 11:21 PM cause voiceguide to dial a number and play a script without adding the number to the queue Dialer_MakeCall is the correct function. It does not queue the call if it fails to place the call immediately. What value is returned on an error? Dialer_MakeCall returns a non-empty string on error. sLineSelection is required but blank in the example. What is the default value or does it simply start from the first available line and work down? If line selection is blank VG will find first available line. sBridgeAfterDialing is required but it only works on certain dialogic cards. correct I assume "" is valid but the documentation isn't specific. "" is a valid entry for sBridgeAfterDialing. It just means that the bridging will not be attempted. If a call succeeded the ID ("TAPI Line ID") of the line on which call is made is returned. Please note that the ID is returned as a string. If error occurred then an error message (string) is returned. Please update your v5.2.1 installation with attached .exe In this version the any returned error messages from Dialer_MakeCall will begin with "ERROR:" Best way to see what is happening on the line is to monitor the events from it. Please see the VgEventsCatcher demo application in VG's \scripts\ directory. If you do not want to monitor events from system to see when it’s OK to make call etc then the attached .exe also now supports Line_State COM function - this function will return the line's current state. usage example: set vg = CreateObject("VoiceGuide.CommandLink") sRet = vg.Line_State(iLineId) msgbox sRet set vg = Nothing where iLineId is the "TAPI Line ID" of the line. To see what the LineIDs are just look in [TapiDeviceX] sections ov VG.INI file after you have ran the VG Configuration Wizard. You can also see what the LineIDs are by looking at the IDs displayed just after the timestamp in the Event Trace Log. (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.) VgMulti_5.2.1031.zip Share this post Link to post
Guest Data Expert Consultants Report post Posted 04/28/2004 07:35 PM Thank you for the program update! It's running great on the test system (it has just taken a while to get the UI modified). Share this post Link to post
Guest Data Expert Consultants Report post Posted 05/10/2004 10:05 PM Having a weird problem with vg.Line_State(). On a regular voice modem, I have no problems. When I request the status of the line I get "PROCEEDING" if the call is in progress. On the D/41H card, it returns "IDLE." Since that's the string I'm using to determine when to start dialing (also "EV_TIMEOUT_ATERIDLE_ALLOWOUT") Based on the logs below I suppose I should search for the string "ALLOWOUT" to determine if I should dial on every test except the first. My question, is this a correct assumption or is there something else I should be looking for? Also, I test the status every second. Is this too often? Should I back it off? The logs below were generated by my UI program, not by VoiceGuide. I included them to demonstrate the order of events being returned by vg.Line_Status() and vg.Dialer_MakeCall(). I do wonder why a voice modem returns "PROCEEDING" status when a call is in progress and the dialogic card returns CID or IDLE, even though I'm testing the status of the line I just used to dial out. 05/10/2004 01:18:33 PM STATUS: EV_TIMEOUT_ATERIDLE_ALLOWOUT Dialing 1XXXXXXXXXX, Recno: 1 05/10/2004 01:18:33 PM DIAL: 5 Call went through: 5 05/10/2004 01:18:35 PM STATUS: CID 05/10/2004 01:18:35 PM STATUS: CID 05/10/2004 01:18:36 PM STATUS: CID 05/10/2004 01:18:37 PM STATUS: CID 05/10/2004 01:18:38 PM STATUS: CID 05/10/2004 01:18:39 PM STATUS: CID 05/10/2004 01:18:40 PM STATUS: CID 05/10/2004 01:18:41 PM STATUS: CID 05/10/2004 01:18:42 PM STATUS: CID 05/10/2004 01:18:44 PM STATUS: IDLE Dialing 1XXXXXXXXXX, Recno: 2 05/10/2004 01:18:44 PM DIAL: ERROR: no free line Call errored out: ERROR: no free line 05/10/2004 01:18:44 PM STATUS: IDLE Dialing 1XXXXXXXXXX, Recno: 2 05/10/2004 01:18:44 PM DIAL: ERROR: no free line Call errored out: ERROR: no free line 05/10/2004 01:18:44 PM STATUS: IDLE Dialing 15738642340, Recno: 2 05/10/2004 01:18:45 PM DIAL: ERROR: no free line Call errored out: ERROR: no free line 05/10/2004 01:18:45 PM STATUS: IDLE Dialing 1XXXXXXXXXX, Recno: 2 05/10/2004 01:18:45 PM DIAL: ERROR: no free line Call errored out: ERROR: no free line 05/10/2004 01:18:47 PM STATUS: EV_TIMEOUT_TIMETOREINITLINE 05/10/2004 01:18:47 PM STATUS: EV_TIMEOUT_TIMETOREINITLINE 05/10/2004 01:18:48 PM STATUS: EV_TIMEOUT_TIMETOREINITLINE 05/10/2004 01:18:49 PM STATUS: EV_TIMEOUT_TIMETOREINITLINE 05/10/2004 01:18:50 PM STATUS: EV_TIMEOUT_ATERIDLE_ALLOWOUT Dialing 1XXXXXXXXXX, Recno: 2 05/10/2004 01:18:51 PM DIAL: 5 Call went through: 5 05/10/2004 01:18:51 PM STATUS: EV_TIMEOUT_ATERIDLE_ALLOWOUT 05/10/2004 04:00:02 PM STATUS: 05/10/2004 04:00:02 PM STATUS: IDLE Dialing 1XXXXXXXXXX, Recno: 1 05/10/2004 04:00:03 PM DIAL: 0 Call went through: 0 05/10/2004 04:00:03 PM STATUS: PROCEEDING 05/10/2004 04:00:04 PM STATUS: PROCEEDING 05/10/2004 04:00:05 PM STATUS: PROCEEDING 05/10/2004 04:00:06 PM STATUS: PROCEEDING 05/10/2004 04:00:07 PM STATUS: PROCEEDING 05/10/2004 04:00:08 PM STATUS: PROCEEDING 05/10/2004 04:00:09 PM STATUS: PROCEEDING 05/10/2004 04:00:10 PM STATUS: PROCEEDING 05/10/2004 04:00:11 PM STATUS: PROCEEDING 05/10/2004 04:00:12 PM STATUS: PROCEEDING 05/10/2004 04:00:13 PM STATUS: PROCEEDING 05/10/2004 04:00:14 PM STATUS: IDLE Dialing 1XXXXXXXXXX, Recno: 3 05/10/2004 04:00:14 PM DIAL: ERROR: no free line Call errored out: ERROR: no free line 05/10/2004 04:00:15 PM STATUS: EV_TIMEOUT_TIMETOREINITLINE 05/10/2004 04:00:16 PM STATUS: EV_TIMEOUT_TIMETOREINITLINE 05/10/2004 04:00:17 PM STATUS: EV_TIMEOUT_TIMETOREINITLINE 05/10/2004 04:00:18 PM STATUS: EV_TIMEOUT_TIMETOREINITLINE 05/10/2004 04:00:19 PM STATUS: EV_TIMEOUT_ATERIDLE_ALLOWOUT Dialing 1XXXXXXXXXX, Recno: 3 05/10/2004 04:00:19 PM DIAL: 0 Call went through: 0 05/10/2004 04:00:20 PM STATUS: PROCEEDING 05/10/2004 04:00:21 PM STATUS: PROCEEDING 05/10/2004 04:00:22 PM STATUS: PROCEEDING 05/10/2004 04:00:23 PM STATUS: PROCEEDING 05/10/2004 04:00:24 PM STATUS: PROCEEDING 05/10/2004 04:00:25 PM STATUS: PROCEEDING 05/10/2004 04:00:26 PM STATUS: PROCEEDING 05/10/2004 04:00:27 PM STATUS: PROCEEDING 05/10/2004 04:00:28 PM STATUS: PROCEEDING 05/10/2004 04:00:29 PM STATUS: PROCEEDING 05/10/2004 04:00:30 PM STATUS: PROCEEDING 05/10/2004 04:00:32 PM STATUS: EV_TIMEOUT_TIMETOREINITLINE 05/10/2004 04:00:32 PM STATUS: EV_TIMEOUT_TIMETOREINITLINE 05/10/2004 04:00:33 PM STATUS: EV_TIMEOUT_TIMETOREINITLINE 05/10/2004 04:00:34 PM STATUS: EV_TIMEOUT_TIMETOREINITLINE 05/10/2004 04:00:35 PM STATUS: EV_TIMEOUT_ATERIDLE_ALLOWOUT Thanks for all your help to date! Share this post Link to post
SupportTeam Report post Posted 05/10/2004 11:48 PM Please also post the trace from VG which will show us what is happening with VG at the same time. (I suspect you may be querying incorrect lines in your application) Share this post Link to post