Guest Buzby Report post Posted 03/22/2006 02:51 AM 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
SupportTeam Report post Posted 03/22/2006 03:00 AM 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
Guest Buzby Report post Posted 03/27/2006 03:57 PM 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
SupportTeam Report post Posted 03/27/2006 08:34 PM 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