Very high level API for constructing SIP UA applications.

A SIP User Agent API for C/C++

PJSUA API is very high level API for constructing SIP multimedia user agent applications. It wraps together the signaling and media functionalities into an easy to use call API, provides account management, buddy management, presence, instant messaging, along with multimedia features such as conferencing, file streaming, local playback, voice recording, and so on.

C/C++ Binding

Application must link with pjsua-lib to use this API. In addition, this library depends on the following libraries:

  • pjsip-ua,

  • pjsip-simple,

  • pjsip-core,

  • pjmedia,

  • pjmedia-codec,

  • pjlib-util, and

  • pjlib,

so application must also link with these libraries as well. For more information, please refer to Getting Started with PJSIP page.


Few samples are provided:

  • Simple pjsua app: pjsip-apps/src/samples/simple_pjsua.c Very simple SIP User Agent with registration, call, and media, using PJSUA-API, all in under 200 lines of code.

  • Pjsua app: pjsip-apps/src/pjsua/ This is the reference implementation for PJSIP and PJMEDIA. PJSUA is a console based application, designed to be simple enough to be readble, but powerful enough to demonstrate all features available in PJSIP and PJMEDIA.


Please refer to PJSUA-API Basic API on how to create and initialize the API. And then see the Modules on the bottom of this page for more information about specific subject.