Version 17 (modified by bennylp, 13 years ago) (diff)


PJSUA Python Module

The PJSUA for Python Module is an object oriented Python wrapper/abstraction for PJSUA API. It provides high level API for constructing SIP multimedia user agent applications. It wraps together the signaling, media, and NAT traversal functionality into an easy to use call control API, account management, buddy list management, presence, instant messaging, along with multimedia features such as local conferencing, file streaming, local playback, and voice recording, and powerful NAT traversal techniques utilizing STUN, TURN, and ICE.

What is it?

This is the new Python wrapper for PJSUA API which is available in PJSIP version 0.9.5 and later. It is much easier to use, much more Python-ish, and it deprecates the old py_pjsua Python module.

The Python wrapper is implemented in two modules:

pjsua module:
This is the higher level abstraction for PJSUA API. It is object oriented and implemented purely on Python, on top of _pjsua module, and it is the one described on this article.
_pjsua module:
The "_pjsua" module (with underscore) is the low-level C Python module which provides Python binding to PJSUA API. This module is the successor of py_pjsua module which now has been deprecated.

Applications should use the pjsua module rather than _pjsua module, since it is easier to use and it is the module which API compatibility will be maintained between releases.

Intended Audience

This tutorial is intended for developers looking to develop Session Initiation Protocol (SIP) based client application using Python. Some knowledge on SIP is definitely required, and of course some Python programming experience.

This Python SIP module provides very high level API to do SIP calls, presence, and instant messaging, as well as handling media and NAT traversal. You don't need to know the details of SIP protocol (such as the grammar, transaction, dialog, and whatnot) to use this module, however you should know how SIP works in general and particularly how to configure SIP clients to, e.g. register to a SIP provider, specify SIP URI to make call to, and so on.

Please click the link on the Table of Contents above to navigate to the next chapters