VoiceGuide IVR Software Main Page
Jump to content

Dialing Without The Dialer

Recommended Posts

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
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

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

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

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

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
×