pjsip.org
The PJSIP.ORG website provides the Open Source, comprehensive, high performance, small footprint multimedia communication libraries written in C language for building embedded/non-embedded VoIP applications.
PJSIP is a SIP stack supporting many
SIP extensions/features,
with the following key benefits:
- Extremely portable
Write the application once, and it would run on many many platforms
(all Windows flavors, Windows Mobile, Linux, all Unix flavors, MacOS X, RTEMS,
Symbian OS, etc.)
- Very small footprint
With less than 150KB for complete SIP features,
PJSIP is ideal not only for embedded development where space is costly but
also for general applications where smaller size means shorter download time for
users.
- High performance
...which means less CPU power requirement and more
SIP transactions/calls can be handled per second.
- Many features
Many SIP features/extensions such as multiple usages in dialog, event
subscription framework, presence, instant messaging, call transfer, etc.
have been implemented in the library.
- Extensive SIP documentation
There can never be enough documentation, so we try to provide fellow
developers with hundreds of pages worth of documentation.
PJMEDIA is a complementary library for PJSIP to build a complete, full-featured
SIP user agent applications such as softphones/hardphones, gateways, or B2BUA.
As with PJSIP, applications developed using PJMEDIA will enjoy the following benefits:
- Extremely portable
As with PJSIP/PJLIB, PJMEDIA runs on many many platforms, be it servers,
desktops, PDAs, custom hardware, PDA, or mobile phones.
- Many features
Conference bridge, wideband codec, adaptive jitter buffer, packet lost concealment/PLC,
accoustic echo cancellation/AEC, silence detector, tone generation, RFC 2833,
RTP/RTCP stack, speex/iLBC/GSM/G.711 codecs, etc.
- Very good quality
PJMEDIA supports encoding and decoding of wideband/16KHz, ultra-wideband/32Khz,
or in fact any audio sampling rate, with good quality sample rate conversion supplied.
PJMEDIA also can tolerate certain amount of network or sound device jitters and
some packet losses.
- Small footprint, flexible, and embedded/DSP friendly
Media components have been designed as such so that they are embedded/DSP friendly
and can be replaced with the appropriate hardware functionality if available or desired.
- Good Documentation
PJMEDIA comes with pretty good documentation.
PJNATH is a new library, available in the SVN trunk, for helping the applications with
NAT traversal. It implements the latest specification of Session Traversal Utilities for NAT
(STUN), Obtaining Relay Addresses from STUN (TURN), and Interactive Connectivity
Establishment (ICE).
PJLIB-UTIL is an auxiliary library providing supports for PJMEDIA and PJSIP.
Some of the functions/components in this library: small footprint XML parsing,
STUN client library, asynchronous/caching DNS resolver, hashing/encryption functions, etc.
A small footprint, high performance, ultra portable abstraction
library and framework, used by PJSIP and PJMEDIA.
PJLIB is about the only library that
PJLIB-UTIL, PJMEDIA, and PJSIP should depend, as it provides complete abstraction
not only to Operating System dependent features, but it is also designed to abstract
LIBC and provides some useful data structures too.
PJLIB, PJLIB-UTIL, PJMEDIA, and PJSIP are released under dual open source GPL or alternative license.
|
|