mpociask Report post Posted 03/09/2009 05:59 PM Hello My goal is to be able to initiate a outbound phone call from our IVR from our web server. Currently, I installed IIS on the IVR. I then tried dumping the VBScript code I use to trigger a outbound call into an ASP page. That was unsuccessfull. I made sure the IWAM and IUSR had all the proper permissions to access VgMulti.exe etc. with no luck. I also toyed with the line: set vg = CreateObject("VoiceGuide.CommandLink") by trying Server.CreateObject as well... no luck. I figured that the VoiceGuide control doesn't like to be called by a server. My next approach was to build a COM object that would instantiate the VoiceGuide control which could call from ASP. I added the reference to VgMulti.exe into my VB6 project and saw all the classes in VgMulti as well as seeing all the methods in the CommandLink class in the VB IDE. When I compile the COM .dll register it on the server and run the ASP that loads the COM object, I get the error: ActiveX component can't create object in my browser and on the IVR (where the web server is running) I get a popup with the following error: VgMulti.exe - Application Error : The instruction at "0x04071f73" referenced memory at "0x04071f73". The memory could not be "read". Click on OK to terminate the program Click on CANCEL to debug the program How can I use VgMulti as a COM object? Or if this is impossible, how can I remotely trigger an outbound call on demand? Share this post Link to post
mpociask Report post Posted 03/09/2009 07:39 PM Update: When I run the ASP page that calls the COM object, it works once in a while! I see another instance of VgMulti.exe in the task manager and the Username associated with it is the IUSR account for the web server. That process continues to run and and takes up about 10 X the amount of memory that the original VgMulti process takes. I am setting the VoiceGuide.CommandLink object to nothing in the COM object, as well as setting the COM object itself to nothing when the ASP script completes. Further more, when the call does work, I do not see it go through in the VG status monitor. Weird... Share this post Link to post
SupportTeam Report post Posted 03/09/2009 08:01 PM Please update to VoiceGuide v7 and see if you can instantiate the COM objects from ASP when v7 is used. Alternative ways of loading calls would be by creating the OutDial.xml file and letting VoiceGuide read it in, or loading the call data directly into the OutDial database. More information on both of these methods is in the Help file. Share this post Link to post
mpociask Report post Posted 03/09/2009 08:04 PM I figured out why it only works sometimes. When there is only one instance of VgMulti running, the outbound call works just fine. The first time the outbound call is made, it launches a second instance of VgMulti.exe. Until I kill that second instance, the outbound calls dont work. The call is still made, but I don't hear the script running on the other end, and the status monitor does show anything going on. Weird thing is, the logs show everything working just fine. As soon as I kill the second instance, I can run the ASP page again and the script will execute as written. I have changed the permissions of the VG com object to run by the same user that owns the first instance, but the a second instance is still created and the problem still exists. Any idea on how to stop the VgMulti instance from running after my ASP script completes? Share this post Link to post
SupportTeam Report post Posted 03/09/2009 09:17 PM v5 and v6 COM is setup to run as "ActiveX Server" so I'm not sure why calling CreateObject("VoiceGuide.CommandLink") twice would result in multiple instances be launched. If you run multiple VBScripts/.EXE/etc with CreateObject("VoiceGuide.CommandLink") in them you will not see this happen, so not sure why it happens when you do it from ASP. This could be cuse v7 uses a different method for its COM connections. You should find that v7 COM works as expected from ASP. Alos in v7 you also have option of doing WCF connections instead of COM. Using the OutDial XML file is another option you have. Share this post Link to post
mpociask Report post Posted 03/09/2009 09:23 PM Our IVR system is mission critical. Is the upgrade to v7 messy? Will we experiance any issues with current scripts/code that works with VoiceGuide? Share this post Link to post
SupportTeam Report post Posted 03/10/2009 03:54 AM v7 is designed to run v6 scripts mostly without any modification. The only difference is in the Dialer_OutDialQueAdd COM function. Share this post Link to post
mpociask Report post Posted 03/11/2009 03:10 PM Are there any caveats when upgrading to 7? Are the config files backwards compatible? Do you have any info on the upgrade? Share this post Link to post
SupportTeam Report post Posted 03/11/2009 06:06 PM The config files are not backward compatible. You will need to edit the v7 config file to specify which script are to be used as the default call answering scripts. You can edit the config file using a text editor and it is not that hard to do. For upgrade pricing please see bottom of the order page, or contact sales@voiceguide.com Share this post Link to post