Building VOIP into an application (C++ specifically) [closed]
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam开发者_C百科. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this questionAre 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?
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."
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.
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.
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.
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 used 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 and to the LS voip SDK.
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.
精彩评论