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.
|
|
PJSIP NEWS and Blog
|
| Fri, 15 Aug 2008 11:58 New low-complexity echo suppressor for mobile devices As many have probably experienced it first hand, the echo suppressor (ES) in pjm...
|
| Mon, 04 Aug 2008 20:24 OpenSER project is dead: Welcome to Kamailio (and OpenSIPS) As an open source sip client library, pjsip needs to connect to a server (well, ...
|
| Thu, 24 Jul 2008 23:14 Python SIP Take Two (Part 1) Python is here again!
More than a year ago I wrote Python binding for PJSIP. It ...
|
| Tue, 08 Jul 2008 10:31 Evaluating PJMEDIA Performance Performance is one of the most common questions that developers asked. We’...
|
| Sun, 29 Jun 2008 21:35 PJSIP 0.9 is Released: Audio Latency, TURN implementation, IPv6, G.722, and More Finally, after months of delay, PJSIP version 0.9.0 is released. This has been t...
|
|
|
|
Repository Checkins
|
| Tue, 19 Aug 2008 20:02: Changeset [2227]: Added on_incoming_subscribe() handler in pjsua, just to demonstrate that ? |
| Tue, 19 Aug 2008 16:18: Changeset [2226]: pjsip_endpt_handle_events2() is loosing the error code in MacOS X if ? |
| Tue, 19 Aug 2008 15:01: Changeset [2225]: More ticket #583: a bit of tidying up and renamed macro names etc. |
| Tue, 19 Aug 2008 12:11: Changeset [2224]: Ticket #593: Fixed RTP timestamp calculation in RX & TX for multichannel ? |
| Tue, 19 Aug 2008 11:23: Changeset [2223]: Ticket #583: Added missing IPP codec deinit and fixed matching #if-#endif ? |
| Tue, 19 Aug 2008 11:04: Changeset [2222]: Ticket #490: Updated VAD with new algorithm. |
| Mon, 18 Aug 2008 11:32: Changeset [2221]: Fixed Python bug with enum_codecs() (thanks Saśl Ibarra for the report) |
| Mon, 18 Aug 2008 11:07: Changeset [2220]: Fixed crash in Python when receiving incoming DTMF digits |
| Sat, 16 Aug 2008 06:46: Changeset [2219]: Ticket #583: - Added codec AMR-WB - Updated AMR & AMRWB to utilize ? |
| Fri, 15 Aug 2008 18:35: Changeset [2218]: Ticket #583: - rearranged some codec properties, e.g: codec name, ? |
| Fri, 15 Aug 2008 14:53: Changeset [2217]: Ticket #595: Broken semaphore implementation on MacOS X (thanks Viktor ? |
| Fri, 15 Aug 2008 13:17: Changeset [2216]: Ticket #583: Initial source of IPP codecs wrapper. |
| Thu, 14 Aug 2008 17:00: Changeset [2215]: Added maximum threshold for silence detector, to aovid the silence ? |
| Thu, 14 Aug 2008 15:51: Changeset [2214]: More ticket #590: removed unused echo suppressor settings in ? |
| Thu, 14 Aug 2008 14:47: Changeset [2213]: Increase codec's maximum silence duration ? |
|