Guest Ahmar Shafi Report post Posted 04/22/2003 01:21 PM I am in a phase of evaluating the appropriate telephony software to develope some IVR applicaitons for my organization. My applications may require more than 200 lines of IVR system. At present I am using Dialogic D/4PCI card. I want to make an operation to select a string based on the information entered by the caller and store it in the database. I could not find how I can accomplish this. For example, if caller enters "1", the system should store "abc" in the database and if he enters "2", the system should store "xyz" in the databse and like wise. Can anyone guide me in that regard. Also, I tried to use a US Robotics internal PCI voice modem, but what is happening is that first few times the voice prompt played, but with lots of noise (the prompt was hardly recognizable). After few times, whenever I tried to run the same script, as soon as the voice prompt starts the computer restarts itself. I already uninstalled and installed back the modem drivers and Voice Guide Software but of no use. Please help.THanks Share this post Link to post
SupportTeam Report post Posted 04/23/2003 01:13 AM If you only have around 10 different options then you might as well create the 10 "DB Query" modules, each of which will save a different string in the database, and branch to the correct one depending on which DTMF key was pressed. Many internal modems have issues with sound quality, and USR modems do not have a good reputation in the voice area (although some users reported that they had good results with USR). If you already have a D4PCI I'd suggest just sticking to using that card.. Share this post Link to post
Guest Ahmar Shafi Report post Posted 04/23/2003 06:45 AM If you only have around 10 different options then you might as well create the 10 "DB Query" modules, each of which will save a different string in the database, and branch to the correct one depending on which DTMF key was pressed. Many internal modems have issues with sound quality, and USR modems do not have a good reputation in the voice area (although some users reported that they had good results with USR). If you already have a D4PCI I'd suggest just sticking to using that card.. Thanks for the reply. But I already knew this option. In my applicaiton, I have two levels of menus and each menu has submenus some with 20 or so options. So, it is very inefficient and impractical to add module (either database query module or anyother module) to simply match the entered informaiton. for each of the options. There should be some more efficient way of handling this situation (e.g. by using "evaluate" module or "Run VB Script" module). To give an example, Envox software has one module called "choose variable" where you can define all options matches for one menu and then you insert all of your information only once in the database. Share this post Link to post
SupportTeam Report post Posted 04/24/2003 01:59 AM I guess what you essentially need to have here is a lookup table which uses input from caller to lookup some other information (which you can then in turn insert into the database)... You can achieve this in a number of ways: 1. Use a "Run vb script: dim sUserInput, sLookedUpValue sUserInput = "$RV[AskUserForInput]" select case sUserInput case "01" sLookedUpValue = "First Selection" case "02" sLookedUpValue = "Second Selection" case else sLookedUpValue = "Other Selection" end select strResultVariables= "[LookedUp]{" & sLookedUpValue & "}" iRet = WriteResultFile(strResultVariables) function WriteResultFile(strResult) const ForReading=1, ForWriting=2, ForAppending=8 Dim filename, fso, ts, outdata, outdata2, outdata3 filename = "VGRUNRESULT_$RV_DEVICEID.TXT" set fso = CreateObject("Scripting.FileSystemObject") set ts = fso.OpenTextFile(filename, ForWriting, True) ts.WriteLine(strResult) ts.Close WriteResultFile = 0 end function You can then extend the "Case" statement to include the values you require... and you can then use the Result Variable $RV[LookedUp] elsewhere in your script. 2. Set up a small database to function as the lookup table and based on user input just run a SELECT query to extract the information from your database... Say your database table is called ValueLookup and it has two columns : UserInput and LookedUpValue, and the caller has entered some number in module titled AskUserForInput . Your SELECT query could look something like this: SELECT LookedUpValue FROM ValueLookup WHERE UserInput = '$RV[AskUserForInput]' Please see the "DB Query" module for information on how to then use the returned information in your script. 3. Structured SQL statements If the data you retrieve from the lookup table will just be stored back into another database table then you can perform both actions in one SQL statement: The basic structure would be something like this: INSERT INTO FinalResults (UserSelectTranslated) VALUES ('(SELECT LookedUpValue FROM ValueLookup WHERE UserInput = '$RV[AskUserForInput]')') Share this post Link to post