VoiceGuide IVR Software Main Page
Jump to content

Detect uncontactable numbers

Recommended Posts

When i ring someone there are 3 possible scenarios.

1. call answered

2. answer machine answers.

3. Special info -- i.e. bad number

 

What i would like to know is there any way possible of running a command that updates my database if the cal state is "special info" therefore marking all wrong/bad numbers in my database so that i don't have to waste time calling them again in the future? At the moment i just use a simple ACCESS database.

 

Question 2.

When an answer machine is detected when making outbound calls i simply want to hangup. Is there anyway of hanging up without having to wait for the answer machine message to play?

Share this post


Link to post

Could you please post a copy of VoiceGuide's Debug Printout which captures the call made to a telephone number which resulted in a Special Information Tone - then I can advise how to set up your system to detect the Special Information Tones (SIT tones) correctly.

 

When an answer machine is detected when making outbound calls i simply want to hangup.

Just specify "NONE" in the Answering Machine Message entry (leaving that entry blank has a similar effect).

Share this post


Link to post

105850.90 7 Waiting for a call...

105850.90 7 lineOpen(7)LineHandle=66085

105854.55 0 dial callque update id=916 next call time 0309231258

105854.57 0 dial callque DB update returned

105854.57 7 dial found entry: tel[105100442076356877] ann[NONE] vgs[C:\Program Files\VoiceGuide\Scripts\recruitment\answered-call-filter.vgs] am[NONE]

105854.57 7 Calling MakeCallEx(105100442076356877)

105854.57 7 Dialing: 105100442076356877

105854.57 7 MakeCall => 65999

105854.57 7 TapiCbTrigSet 65999 7002

105855.32 7 tapi Reply (LineEvReply) ok 65999 0

105855.32 7 TapiCbTrigClear

105855.32 7 linedevstate 2048 0 0

105855.32 7 callstate DIALTONE 66256 0 0

105855.34 7 callstate DIALING 66256 0 0

105855.34 7 callstate PROCEEDING 66256 0 0

105855.34 7 callinfo CALLEDID

105855.34 7 callinfo REASON

105855.34 7 Lev_CallerID [01423325554,]

105855.34 7 callinfo ORIGIN

105908.79 7 callstate SPECIALINFO 66256 8 0

Share this post


Link to post

Trace shows that the SIT tone was detected about 13 seconds after starting dialing, but that the SIT tone type was "Unknown".

 

v5.2 Beta3 onwards will end outgoing calls when a SIT tone is heard, and will save the information in the "OutDial" result files in VoiceGuide's \data\ subdirectory.

 

Details of that particular call would be saved in file: OutDial_SIT_Unknown.txt

 

Information from those files can then be used to update the dialing lists...

 

From the new (v5.2 Beta3 onwards) VG Help file:

 

The result of all outgoing calls placed by VoiceGuide will be saved in VoiceGuide's \data directory, in one of the following files:

 

OutDial_Contacted_Human.txt

List of calls answered by a real person.

 

OutDial_Contacted_AM.txt

List of calls answered by an answering machine.

 

OutDial_Contacted_Fax.txt

List of calls answered by a fax machine person.

 

OutDial_Uncontactable.txt

List of calls which were not answered.

 

OutDial_Uncontactable_OnDontDialList.txt

List of calls which were not made as the telephone number is on a "Don't call list".

 

OutDial_SIT_Reorder.txt

List of calls for which the Special Information Tone (Reorder) was played by the phone company.

 

OutDial_SIT_NoCircuit.txt

List of calls for which the Special Information Tone (No Circuit) was played by the phone company.

 

OutDial_SIT_CustIrReg.txt

List of calls for which the Special Information Tone (CustIrReg) was played by the phone company.

 

OutDial_SIT_Unknown.txt

List of calls for which an unknown Special Information Tone was played by the phone company.

 

The syntax of above files will be the same as that of the ‘Out Dial’ file, except that the time and date will reflect the time the phone number was contacted or when the last call was made. This allows for easy re-queuing of lists of telephone numbers by simply copying files to OutDial_New.txt

Share this post


Link to post

I understand that voiceguide will now list all bad numbers in the TEXT file but what I would like to know would be how i can use the TEXT file to automatically update my database with the fact that these numbers are bad?

 

Is there anyway instead of voiceguide putting this info into a text file it could query my access database and update the corresponding record?

 

If this is not poss what else can be done please?

Share this post


Link to post
query my access database and update the corresponding record

The intention is in future to set up an option to run a user specified VB Script every time a number is appended to any of the result files as well - and from this VB Script (within which you will be able to use RVs as well) any user-specific operations such as updating user-specific databases will be able to be done.

 

Still unclear whether this will make it into v5.1 release or not.

Share this post


Link to post

Did the new feature discussed here where voiceguide can run a chosen vb script when a number is apended to a results file get into the new version5 beta 3?

Share this post


Link to post

Partially, please see the sOnNotConnected field which can be part of the OutDial_New.xml input file.

 

In 5.1 Beta 3 sOnNotConnected can be a command or a name of a VB Script to run when the call attempt goes unanswered. Result Variables relating to the call just made may be used as part of the command or VB Script's name.

 

A new RV is also available:

 

$RV[OutDial_RetriesLeft]

Number of retries left for an outgoing call. If this is the last call attempt then this RV will have a value of 0.

Share this post


Link to post

THanks - can you tell me if there is a variable etc to use when there is a bad number (Special Info) so i can seperate numbers that have not answered from numbers that are bad?

 

Thanks

Matt

Share this post


Link to post

$RV[OutDial_Result]

When the outgoing call has been answered or the number of retries has been used up this RV stores the type of outcome. Possible values are: Contacted_Human, Contacted_AM Contacted_Pager, Contacted_Fax, Uncontactable_OnDontDialList, SIT_Reorder, SIT_NoCircuit, SIT_CustIrReg, SIT_Unknown, SIT_Unavailable, Uncontactable_NoAnswer

Share this post


Link to post

ok great, thanks i am not sure what some of the results variables mean can you expand on them a bit.

 

SIT_Reorder,

SIT_NoCircuit,

SIT_CustIrReg,

SIT_Unknown,

SIT_Unavailable,

 

Also, where do i specify the .vgs script run when a call is not connected please as cannot see it anywhere on the voiceguide call queue screen.

Thanks

Matt

Share this post


Link to post

The SIT_xxxxxxx names correspond directly to the different types of SIT (Special Info Tones) received...

 

OnConnected is not a VGS script - it can be a command (.exe/.com/.bat) or a VB script to run. It can only be defined at this stage when using the new XML style OutDial file. (please see Help file for more info on this).

Share this post


Link to post

Ok thanks so i take it all these SIT basically mean the number is bad?

 

When you say that i cannot specify a VGS script which i would use to use the database module to update my Access Database - How can this be done without the database module please?

 

Any examples of searching for the record by callednumber and updating the access data without using the database module would really help as am a bit lost.

 

Thanks

Matt

Share this post


Link to post
Ok thanks so i take it all these SIT basically mean the number is bad?

Yes.

update my Access Database - How can this be done without the database module please?

To start off with all of the telepnone numbers will be saved in the corresponding 'Dial Outcome' files as well, which lends itself to batch processing afterwards, but if it necessary to update some central database immediately as well then updating databases from vb script:

    ' Initialize Connection object.

    Set cnnDB = New ADODB.Connection

    strDBpath = "E:\test\test.mdb"

    ' Specify the Microsoft Jet 4.0 provider and then open the

    ' database specified in the strDBPath variable.

    With cnnDB

        .Provider = "Microsoft.Jet.OLEDB.4.0"

        .Open strDBpath

        ' Add your own code to work with database here.

    End With

 

    strSQL = "Select * from Table1"

 

    ' Initialize Recordset object.

    Set rs = New ADODB.Recordset

    With rs

        .Open strSQL, cnnDB, adOpenKeyset, adLockOptimistic

        .AddNew

        !test1 = Me!test1

        !test2 = Me!test2

        !test3 = Me!test3

        .Update

        .Close

    End With

 

    ' Close Connection object and destroy object variable.

    Set rs = Nothing

    cnnDB.Close

    Set cnnDB = Nothing

 

As for how to use arguments passed as paramteres when the VB Script is called see the WScript.Arguments object:

 

Eg: if calling :

myscript.vbs c:\temp

you can use:

 

WScript.Arguments.Count

which will = 1

 

WScript.Arguments(0)

which will = "c:\temp"

 

Dial Outcome files are:

OutDial_Contacted_Human.txt

List of calls answered by a real person.

 

OutDial_Contacted_AM.txt

List of calls answered by an answering machine.

 

OutDial_Contacted_Fax.txt

List of calls answered by a fax machine person.

 

OutDial_Uncontactable.txt

List of calls which were not answered.

 

OutDial_Uncontactable_OnDontDialList.txt

List of calls which were not made as the telephone number is on a "Don't call list".

 

OutDial_SIT_Reorder.txt

List of calls for which the Special Information Tone (Reorder) was played by the phone company.

 

OutDial_SIT_NoCircuit.txt

List of calls for which the Special Information Tone (No Circuit) was played by the phone company.

 

OutDial_SIT_CustIrReg.txt

List of calls for which the Special Information Tone (CustIrReg) was played by the phone company.

 

OutDial_SIT_Unknown.txt

List of calls for which an unknown Special Information Tone was played by the phone company.

Share this post


Link to post

ok, thanks for the help it is making a little more sense.

As recomended i have been on the web and done several tutorials on VBscript and have modified you code a bit but am still a little lost... Can you take a look and see what the error is now with it as all i want to do i search my database at the end of the call for the record that matches the number voiceguide dialed and insert the call results into one of the fields. It seems to be looking over complicated at the moment and i am sure when you see the code you will know exactly what needs altering. Please help me. THanks Matt

callresults.VBS

Share this post


Link to post

Is anyone going to reply? I would appreciate it as it is important..

Thanks

Share this post


Link to post

ok thanks i just thought you could help as would probably have an example as this would have been done before with voiceguide and therefore be able to offer some help and save me learning a whole subject just to do one thing in voiceguide..

Any examples would be appreciated.

Matt

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
×