SipXtapi
From SipXtapi
Contents |
About sipXtapi
sipXtapi is a comprehensive set of libraries and software development kit (SDK) for SIP-based user agents (for end point and server applications). It includes SIP signaling support as well as a robust media framework ( sipXmediaLib). A complete and very feature rich softphone can be built easily by adding a graphical user interface on top of sipXtapi. sipXtapi and its underlying libraries were engineered to be embedded into existing applications to add real-time communications. A vast set of operating systems are supported and new ones are easily added due to the sipXportLib abstractions. sipXtapi is appropriate for low end embedded systems, standard PCs and large scale server solutions requiring media processing.
The original technology was donated to SIPfoundry by Pingtel Corp in March of 2004 when Pingtel decided to adopt an open source business model. The sipXtapi technology is considered well tested and very interoperable with other SIP devices. SIPez LLC has been maintaining sipX since 2005 and provides commercial support and services. In the last year many new features have been added, especially in the media processing side:
- Wideband and HD Voice Support
- A large set of supported codecs and easy plugin codecs
- Conference bridge with advanced bridging and mixing functions for endpoints and servers
- RTP Transport over Multicast, UDP and TCP
- STUN and TURN support
- Support of multiple input and output devices (e.g. mics and speakers)
(see sipXmediaLib for details)
sipX Libraries
- sipXtapi - high-level telephony API library, hiding complexity of all underlying libraries.
- sipXcallLib - manages call signaling and media state, workhorse for sipXtapi.
- sipXmediaAdapterLib - media processing API, abstraction to allow different media implementations.
- sipXmediaLib - media processing library.
- sipXtackLib - HTTP, XML RPC, MIME and SIP signal handling library.
- sipXsdpLib - SDP media codec negotiation and handling library.
- sipXportLib - sipX OS portability library. Provides the base for all other sipX libraries.
Example applications
sipXtapi library have following example applications under sipXcallLib/examples folder:
- placeCall/receiveCall - console example and testing applications.
- sipXezPhone - wxWidgets based GUI sample application.
sipXmediaAdapterLib to date have only one example application in its sipXmediaAdapterLib/examples folder:
- mstream - console application for sipXmediaAdapterLib controlling.
recon
Recon is an exciting marriage of comprehensive sipXmediaLib media processing facilities with well known reSIP SIP handling library. You may find more information on recon official wiki. Don't forget to check out recon's very nice console example/testing utility testUA.
FAQ
Before asking a question on the mailing list, please, look through Frequently Asked Questions and search mailing list archive.
Platform Support
Android is now functional!! sipXtapi is developed under WIN32, WinCE, and Linux (32-bit and 64-bit). MacOS support is available, but requires some tuning and refactoring as the OS X support has fallen a little behind. sipX is also used on Solaris, VXworks and Symbian. If you are interested in being the advocate for a particular platform, by all means please lets us know on the mailing list.
License
sipXtapi is distributed under the Lesser General Public License (LGPL).
sipXtapi is developed in open source and hosted as part of the sipX line of projects available from SIPfoundry. It is licensed under LGPL, which allows commercial usage of the library without the viral infection commonly associated with GPL. Essentially, you may use the code as-is and build on top of it without exception, however, if you modify the existing code (e.g. bug fix or feature enhancement), you must make changes available under LGPL. For more information on open source licensing, please see http://www.opensource.org .
Branches
main
Repository URL: http://scm.sipfoundry.org/rep/sipX/main/ (browse) Maintainers: Daniel Petrie and Alexander Chemeris Status: Active Build Status Changelog-3.3
sipXtapi-3.2
Repository URL: http://scm.sipfoundry.org/rep/sipX/branches/sipXtapi-3.2/ (browse) Maintainers: Daniel Petrie and Alexander Chemeris Status: Active, Stable; Receive only bugfixes.
sipXtapi-AOL
Repository URL: http://scm.sipfoundry.org/rep/sipX/branches/sipXtapi-AOL/ (browse) Maintainers: Bob Andreasen Status: Active; after stabilization will be merged back to main. Branch Information: sipXtapi-AOL branch
siptapi-media-update
Repository URL: http://scm.sipfoundry.org/rep/sipX/branches/sipXtapi-media-update/ (browse) Maintainers: Alexander Chemeris Status: Inactive; Includes video support for Win32.
Getting Started
- Install Subversion (source control management client)
- Check out sipX source
- Install Compiler
- Install Dependencies
- General sipXportLib dependencies description: main/sipXportLib/INSTALL
- Mac OS X specific notes
- Android specific notes
- General sipXmediaLib dependencies main/sipXmediaLib/INSTALL
- Build sipX
- General notes - main/readme.txt
- Windows - sipXtapi Windows Build Environment
- Linux main/Makefile.gnu
Communications
(Unfortunately we have lost our mailing list archive at SIPfoundry. This is a new list.)
Contributing
In order to contribute code or other source material to sipXtapi, you must first execute the SIPfoundry Contributor Record; yes, we know that other projects don't always do this. Once this is complete, please email the sipxtapi-dev mailing list with your changes.
Project Coordinators
- Bob Andreasen
- Daniel Petrie
Committers
- Alexander Chemeris
- Scott Godin
- Keith Kyzivat
- Mike Mammarella

