tags:

views:

376

answers:

6

Are there existing libraries and frameworks which allow VOIP to be built into a bespoke application without reinventing the wheel? A customer is interested by the possibility for a C++ desktop application and while it's not hugely useful (they could just use skype), it is quite cool.

I believe some technologies like DirectX may have some functionality built in for in-game chat, is that right? What else is there in the form of free/paid 3rd-party libraries?

+2  A: 

Well, since Asterisk is open source, that's a good place to start.

Check out Astxx

"The goal of Astxx is to provide a fully functional and easy to use C++ wrapper for Asterisk enabling developers to write Asterisk related software using the full range of what C++ has to offer. This includes AGI scripts and accessing the Manager API."

Also IAXClient

"A lightweight cross platform IP telephony client using the IAX protocol, designed for use with the asterisk open source PBX. "

And Asterisk Sockets

"Asterisk Manage API and FAGI C++ Framework. Implemented with high efficient OS independent Sockets wrapper (ACE). Provide C++ API wrappers for Asterisk Manager API and FAGI."

There's also a .NET library

"The Asterisk .NET library consists of a set of C# classes that allow you to easily build applications that interact with an Asterisk PBX Server (1.0/1.2/1.4 version). Both FastAGI and Manager API supported. .NET/Mono compatible."

John Ellinwood
Sounds interesting. I never heard of Asterisk though... I can't tell if it's an app users would have to install which Astxx talks to, or a bunch of libs/DLLs that can be included with any project?
John
Hmm, see Asterisk is GPL. Is that an issue for writing closed-source apps, I can never remember the details?
John
Yes, that is an issue. See http://stackoverflow.com/questions/842776/gpl-license-in-closed-source-application
Juri Glass
+1  A: 

You might want to consider some form of SIP client which could be used as a basis for a softphone application. Check out the free pjsip library.

Rob
A: 

For SIP libraries, you should also look at Sofia-SIP and the GNU oSIP library.

As SIP is only use for session initiation, you'll also need a library for audio streaming (an RTP library). I've used and recommend librtp.

Laurent Parenteau
A: 

If you want to develop a Windows C++, vb.NET or C#.Net VOIP app that uses SIP and RTP, check out the LanScape VOIP media engine SDK. Its not just a SIP library or RTP media library – it handles all the VOIP call requirements. This voip sdk is not free or open source. You license it from LS.

We use the LS sdk when we developed our windows VOIP client (softphone) and also use it on our windows voip servers for pstn trunk termination. The v5 sdk they had experienced some bugs but the “Release 6” media engine has worked great for us.

Here’s the link to their site: http://www.lanscapecorp.com

We have been using the sdk for 3-4 years. The free and paid support LS offers is very good. I also have it on good authority that they are going to offer the same sdk on Linux and Mac OS X snow leopard.

Nate
A: 

I forgot one thing - here is the link to the LS voip sdk: http://www.lanscapecorp.com/ProductPages/LanScapeVoipMediaEngine.asp

Nate

Nate
A: 

You may want to check out VDK: http://www.voipdevkit.com It's not free, but it's multi-platform and allows very easy integration of VoIP in other applications. It offers high-level API, so you don't have to deal with SIP or RTP by yourself.

Alienpenguin