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>


 

Home --> Documentations --> PJSIP Reference

PJSUA API - High Level Softphone API for C/C++ and Python


Detailed Description

A SIP User Agent API for C/C++ and Python

PJSUA API is very high level API, available for C/C++ and Python language, 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.

Python Binding

The Python binding for PJSUA-API is implemented by py_pjsua module, in pjsip-apps/py_pjsua directory. This module is built by building py_pjsua project in pjsip_apps Visual Studio workspace, or by invoking the usual setup.py Python installer script.

The Python script then can import the PJSUA-API Python module by using import py_pjsua construct as usual.

pjsua_samples

Few samples are provided both in C and Python.

  • Samples: Simple PJSUA
    Very simple SIP User Agent with registration, call, and media, using PJSUA-API, all in under 200 lines of code.

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

Using PJSUA API

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.


Table of Contents

 PJSUA-API Basic API
 Basic application creation/initialization, logging configuration, etc.
 PJSUA-API Signaling Transport
 API for managing SIP transports.
 PJSUA-API Accounts Management
 PJSUA Accounts management.
 PJSUA-API Calls Management
 Call manipulation.
 PJSUA-API Buddy, Presence, and Instant Messaging
 Buddy management, buddy's presence, and instant messaging.
 PJSUA-API Media Manipulation
 Media manipulation.

 


PJSIP Open Source, high performance, small footprint, and very very portable SIP stack
(C)2003-2008 Benny Prijono