Run 3rd party Windows Service In Azure - Best Way

I have the following scenario:

We run our own IVR. The IVR is a Windows service (or it can be run that way anyhow) that we wrote using UCMA. Of course Microsoft doesn't support SIP over UDP so we have to convert our incoming SIP UDP to SIP TCP. To do this we put Freeswitch in-front of it and translate. (it can also be run as a windows service)

This works fine on a VM because I can install these and maintain them myself, but I'd rather do this with better management at the Azure level using (presumably, correct me if I'm wrong) Cloud Services.

Now I can update our IVR Windows Service to use Azure Cloud Services and will do so once I have this fully flushed out but I'm having difficulty understanding all of the moving pieces. So presuming that I can do this all in Cloud Services I would like to know the following:

1. How do I package up Freeswitch and get it installed as a service and copy in all of our configuration options? (xcopy will work with Freeswitch, it has no dependencies, so I can create a zip or something that has our configuration files already setup)

2. How do I get it a dedicated public IP address and open up the right ports for Freeswitch?

3. Once I convert our IVR to an Azure cloud service, how do I get it to have an internal IP address that Freeswitch forwards from and receives data from as well? (i.e. I need to get Freeswitch to have both internal and external ips and the IVR service to have an internal one that Freeswitch knows about to forward.) 

3b. How do I get the UCMA Runtime V 5 installed

4. We also have an internal mvc.net app that receives a rest request from our SMS api and uses that to make a call out. I'd like to re-write this as part of the IVR service if I could. I was thinking about using self-host with Katana within the IVR instead of using IIS to host it and still getting the simple REST compatibility to do it all from the same service, which seems straight forward to me. However the difficult part for me to understand is how to get an internal IP address that our web app running under IIS can access and call to the Katana REST service as an HTTPPOST and wait for a response. It seems to me that I should be able to setup an shared internal network stack for this stuff but I can't understand how.

My issue is that while setting up websites and a database has been pretty straight forward and obvious, hooking up these more complex services is daunting and understanding how everything hooks together is a non-trivial learning curve so any advise would be greatly appreciated.

(and if this isn't possible and requires a VM that's ok too.)

Thanks!


July 31st, 2015 10:53am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics