pjsip logo pjsip.org
Open source SIP stack and media stack for presence, im/instant messaging, and multimedia communication

HOME

SIP/media Features
High Performance SIP
Small Footprint SIP
Symbian Port

FAQ

Documentation

Licensing

Download

Development (Trac)

Projects using pjsip

Mailing List

Open Source Links


About: PJLIB, PJLIB-UTIL, PJSIP, and PJMEDIA are created by: Benny Prijono
<bennylp@pjsip.org>


 

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 - Open Source SIP Stack

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 - Open Source Media Stack

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 - Open Source NAT Traversal Helper Library

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 - Auxiliary Library

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.

 

PJLIB - Ultra Portable Base Framework Library

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...

rss rss

 

 

rss  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 ?