= PJSUA Python Module = [[TracNav(Python_SIP/TOC)]] The PJSUA for Python Module is an object oriented Python wrapper/abstraction/modules for [http://www.pjsip.org/pjsip/docs/html/group__PJSUA__LIB.htm PJSUA API]. It provides high level API for constructing [http://www.ietf.org/rfc/rfc3261.txt Session Initiation Protocol (SIP)] multimedia user agent applications (a.k.a VoIP softphones). It wraps together the signaling, media, and NAT traversal functionality into easy to use call control API, account management, buddy list management, presence, and instant messaging, along with multimedia features such as local conferencing, file streaming, local playback, and voice recording, and powerful NAT traversal techniques utilizing [http://tools.ietf.org/html/draft-ietf-behave-rfc3489bis STUN], [http://tools.ietf.org/html/draft-ietf-behave-turn TURN], and [http://tools.ietf.org/html/draft-ietf-mmusic-ice ICE]. The PJSUA Python is implemented in two modules: '''pjsua''' module: :: This is the object-oriented, pure Python, and even higher level abstraction for [http://www.pjsip.org/pjsip/docs/html/group__PJSUA__LIB.htm PJSUA API]. It is implemented on top of {{{_pjsua}}} C extension module, and it is the one described on this article. '''_pjsua''' module: :: The "_pjsua" module (with underscore) is the low-level C Python extension which provides Python bindings for [http://www.pjsip.org/pjsip/docs/html/group__PJSUA__LIB.htm PJSUA API]. This module is the successor of [wiki:Py_PJSUA 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 in future 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. Prior knowledge of PJSUA C API is not needed, although it will probably help. 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. Knowledge of SIP protocol details (such as the grammar, ''transaction'', ''dialog'', and whatnot) are not required, 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, to use the module. [[BR]] [[BR]] ''Please click the link on the Table of Contents above to navigate to the next chapters''