VoiceGuide IVR Software Main Page
Jump to content

Failover To Disaster Recovery Server

Recommended Posts

Hi there,

 

Bit of a techie question regarding disaster recovery.

 

I have a number of freephone numbers which attempt to call into a number which is handled by my primary VoiceGuide server. If VG answers the call within 4 rings then all is well and good. If VG doesn't answer the call within 4 rings, then our freephone provider automatically routes the call to a different number which is handled by another VoiceGuide server in a different location.

 

This is a great method for failover if VG crashes, or we have a power cut, lighting strike etc. However, we have found that our biggest point of failure is actually none of the above, rather it is the failure of the connection between VG and our back-end database (most often the simple crashing of the database server altogether).

 

We connect to our databases using COM, and I've noticed that VG has options for running scripts without answering the call.

 

Is it possible to run some kind of simple VBScript that attempts a COM database connection and, if it fails, simply refuses to answer the phone call? This would then allow our provider to route the call to the secondary server where it would be picked up.

 

Any ideas would be greatly appreciated.

Share this post


Link to post
Is it possible to run some kind of simple VBScript that attempts a COM database connection and, if it fails, simply refuses to answer the phone call?

Of course it can.

Just set the VoiceGuide script to "start without answering" and then as a first thing in the script do a test connection to your DB. If that test connection to your back-end database fails then you can just jump to a "Hangup" module. This will end the VG script without ever answering the call, and more call answers will be attempted on the line until the ringing 'goes away' and a new call arrives.

Share this post


Link to post

OK, many thanks. I think I've discovered a potential caveat with using the 'Start script before answering call' option though.

 

My script makes use of inband digits in order to determine which telephone number a particular call came in on. Once it has the inband digits, it can then look up the required voices to be played as a welcome prompt etc.

 

Trouble is, the inband digits are only transmitted by my PBX once the call is answered, and I notice that only the following modules lead to a call being answered: Play Sound File, Record Sound File, Get Number, Say Number, Transfer Call.

 

My first module is a Play Sound File and I see from the event log that VG still fills my inband variables once the Play Sound File module is called and the call is answered. Unfortunately this is too late though, because I need the WAVs customised in accordance with the inband variables by the time this is played.

 

Is it possible to run some VBScript modules (to do my aforementioned database test) then force the call to answer (without using a Play Sound File module) which will allow the inband digits to collect and further VBScript modules to run in order to customise the WAVs before the first voice is played?

 

Tricky to describe, I know! As usual, many thanks in advance.

Share this post


Link to post

Just answer the call with a "Get Numbers" module and use it to retrieve the DTMFs sent. The Get Number module will create it's own RV, and then you can use an Evaluate Expression module or a VBScript to extract the relevant section(s) from the send inband digits.

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
×