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

Sat, 05 Jun 2010 09:00

PJNATH ICE Heap Memory Usage Analyzed and Optimized

A new article was posted in PJSIP wiki: PJNATH ICE Heap Usage Analysis and Optim...
Tue, 11 May 2010 22:23

PJSIP version 1.6 is released

Many useful new features have been added on this release, as well as even more b...
Wed, 17 Feb 2010 10:54

Migration of svn and Trac: expect disruption

We are currently migrating svn and trac to new hosting provider, so svn.pjsip.or...
Mon, 11 Jan 2010 11:34

pjsip version 1.5.5 released: bug fixes only

A new version of pjsip has been released, it fixes 15 issues, no new features. T...
Thu, 26 Nov 2009 03:42

pjsip version 1.5 is released with TLS Rewrite, TLS for Symbian, QoS, and MWI Support

Version 1.5 has just been released with the following features. SSL/TLS Rewrite ...

rss rss

 

 

rss  Repository Checkins

Fri, 23 Jul 2010 04:27: Changeset [3240]: Re #1104: Fixed iPhone OS version detection in os_auto.h.in
Thu, 15 Jul 2010 14:45: Changeset [3239]: Re #1103: - Added (back) raw jitter statistics into RTCP statistics, with ...
Thu, 15 Jul 2010 13:32: Changeset [3238]: Fixed #1104: Append ".local" to the system's hostname in IOS 4.
Thu, 15 Jul 2010 10:18: Changeset [3237]: Re #1103: - Updated RTCP jitter statistics calculation (in receiving ...
Tue, 13 Jul 2010 13:18: Changeset [3236]: Misc fix (re #1068): added port number in the Host header of http request. ...
Tue, 06 Jul 2010 08:11: Changeset [3235]: Fix #1078: added XOR_MAPPED_ADDRESS parsing capability to the resolver.
Mon, 05 Jul 2010 13:47: Changeset [3234]: Fixed #1101: Check and calculate IPv4/IPv6 address specified in ...
Fri, 02 Jul 2010 12:23: Changeset [3233]: Misc (Re: #1068): fixed bug with pjsip_status_code enum, when an ...
Thu, 01 Jul 2010 10:25: Changeset [3232]: Re #1098: Fixed failure in socket binding of CLI telnet daemon.
Wed, 30 Jun 2010 05:29: Changeset [3231]: Implemented CLI (re #1098) * pjlib-util: * implement telnet CLI * ...
Wed, 30 Jun 2010 02:19: Changeset [3230]: Fix #1099: recommit changeset r3207 which was undone by r3210
Tue, 29 Jun 2010 17:06: Changeset [3229]: Misc(re #1068): Revert the default trace to 0.
Tue, 29 Jun 2010 17:02: Changeset [3228]: Misc(re #1068): fixed crash because pj_http_req may now be destroyed after ...
Tue, 29 Jun 2010 13:43: Changeset [3227]: Ticket #1018: Application may now destroy pj_http_req inside on_complete ...
Sat, 26 Jun 2010 14:58: Changeset [3226]: Fixed segfault Re #740