Hi I work at a small company that has some IVR solutions that use Dialogic hardware for everything. Everything is written in C++ using MS VC++ using the Dialogic API and runs only on Windows. Being the rebel that I am, I would like free myself from Dialogic. To do this without porting all our existing code to run on Linux I was thinking of controlling the Asterisk from a Windows machine running our existing code. i.e. making an API similar to the Dialogic one that would control Asterisk over TCP/IP. Has anyone done something like this? Or does someone have has a good idea for implementing such a thing? I am still familiarizing myself with Asterisk but as I understand it you can add functionality to Asterisk through the AGI interface and by creating a loadable application. Which one would one should I use to solve my problem? Does an loadable application give you more control than an AGI script? I would be very thankful for any advice/tips/sample code. Best regards, ?var Ragnarsson Grunnur ehf. Iceland ps. Does a loadable application have to be GPL licensed?
On Monday 06 October 2003 12:13 pm, ?var Ragnarsson wrote:> I work at a small company that has some IVR solutions that use > Dialogic hardware for everything. > Everything is written in C++ using MS VC++ using the Dialogic API > and runs only on Windows. > Being the rebel that I am, I would like free myself from Dialogic. > To do this without porting all our existing code to run on Linux I > was thinking of controlling the Asterisk from a Windows machine > running our existing code. > i.e. making an API similar to the Dialogic one that would control > Asterisk over TCP/IP. > > Has anyone done something like this? Or does someone have has a > good idea for implementing such a thing? > > I am still familiarizing myself with Asterisk but as I understand > it you can add functionality to Asterisk through the AGI interface > and by creating a loadable application. > Which one would one should I use to solve my problem? Does an > loadable application give you more control than an AGI script?Applications and AGI are not self-starters. They both need to be invoked from the dial plan. If you want to originate calls from outside Asterisk, you need to take a look at the manager interface which can be made to run on TCP port 5038 (it does not run by default). -Tilghman
> Which one would one should I use to solve my problem? Does an loadable > application give you more control than an AGI script? >If you want something that runs continuously (such as a listener process or control process), it'll have to be a loadable module. AGI scripts only get run when the extention they're configured for is called.> > > Best regards, > ?var Ragnarsson > Grunnur ehf. > Iceland > > ps. Does a loadable application have to be GPL licensed?Only if you plan to distribute it with asterisk, I believe.
Hi Ivar- I was in a similar position, doing mostly IVR apps, and having written lots of Dialogic-based code. The approach I took was to re-write some of my more popular applications in Perl and use Asterisk's AGI interface. However, if I were in your position with lots of applications to convert, I might consider writing an API to control the Digium hardware directly. (I'm not sure how hard this would be). There are likely licensing issues to overcome - open source vs. proprietary code etc, not to mention access to Digium's hardware documentation. Most of the asterisk code seems to be dedicated for the purpose of making connections between ports, ie: PBX functionality including VOIP, and everything is driven by their "dialplan" which is not always ideal for IVR applications or outbound apps. My Perl scripts run fine for IVR app's but most of the asterisk code is not used. A Dialogic API emulation would be pretty cool. Cheers Scott Scott M. Stingel Emerging Voice Technology Inc. Email: scott@evtmedia.com URL: www.evtmedia.com> -----Original Message----- > From: asterisk-users-admin@lists.digium.com > [mailto:asterisk-users-admin@lists.digium.com] On Behalf Of > ?var Ragnarsson > Sent: Monday, October 06, 2003 6:13 PM > To: 'asterisk-users@lists.digium.com' > Subject: [Asterisk-Users] Remote control IVR > > > Hi > > I work at a small company that has some IVR solutions that > use Dialogic > hardware for everything. > Everything is written in C++ using MS VC++ using the Dialogic > API and runs > only on Windows. > Being the rebel that I am, I would like free myself from Dialogic. > To do this without porting all our existing code to run on Linux I was > thinking of controlling the Asterisk from a Windows machine > running our > existing code. > i.e. making an API similar to the Dialogic one that would > control Asterisk > over TCP/IP. > > Has anyone done something like this? Or does someone have has > a good idea > for implementing such a thing? > > I am still familiarizing myself with Asterisk but as I > understand it you can > add functionality to Asterisk through the AGI interface and > by creating a > loadable application. > Which one would one should I use to solve my problem? Does > an loadable > application give you more control than an AGI script? > > I would be very thankful for any advice/tips/sample code. > > > Best regards, > ?var Ragnarsson > Grunnur ehf. > Iceland > > ps. Does a loadable application have to be GPL licensed? > _______________________________________________ > Asterisk-Users mailing list > Asterisk-Users@lists.digium.com > http://lists.digium.com/mailman/listinfo/asterisk-users > >
On Mon, 2003-10-06 at 12:13, ?var Ragnarsson wrote:> Hi > > I work at a small company that has some IVR solutions that use > Dialogic > hardware for everything. > Everything is written in C++ using MS VC++ using the Dialogic API and > runs > only on Windows. > Being the rebel that I am, I would like free myself from Dialogic. > To do this without porting all our existing code to run on Linux I was > thinking of controlling the Asterisk from a Windows machine running > our > existing code. > i.e. making an API similar to the Dialogic one that would control > Asterisk > over TCP/IP. > > Has anyone done something like this? Or does someone have has a good > idea > for implementing such a thing?It would be ugly but doable to link up with the IAX library and then be just a VoIP endpoint. Then asterisk is just your gateway. Your problem will be in licensing. You could try and sidestep that by using SIP or h.323 especially if you can get access into the MS protocols. This way you haven't left the comfort of your MS world, and you haven't had to make interfaces do things they shouldn't.> I am still familiarizing myself with Asterisk but as I understand it > you can > add functionality to Asterisk through the AGI interface and by > creating a > loadable application. > Which one would one should I use to solve my problem? Does an > loadable > application give you more control than an AGI script?Yes, and no. A loadable app is going to have less overhead involved and runs in the same memory space as asterisk itself. AGI on the other hand is run separate and if it crashes, it doesn't take asterisk down and the port is still available to answer the next call coming in. AGI can run the applications that are loadable too.> ps. Does a loadable application have to be GPL licensed?If they are distributed then yes. Only when it is distributed does the license really matter. -- Steven Critchfield <critch@basesys.com>
> However, if I were in your > position > with lots of applications to convert, I might consider writing an API to > control the Digium hardware directly. (I'm not sure how hard this would > be). There are likely licensing issues to overcome - open source vs. > proprietary code etcJust to clarify the GPL, there are no licensing issues if one combines open source with proprietary code for one's own use. The GPL only becomes a concern when you distribute the combination.