Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F7312223
README
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
5 KB
Referenced Files
None
Subscribers
None
README
View Options
SipClient
---------
Copyright (c) 2008 AG Projects
http://ag-projects.com
Description
-----------
SipClient is Python software library built on top of PJSIP that together
with an elegant middleware allows for easy development of Client/Server and
Peer-to-Peer Internet communications end-points based on SIP SIMPLE
protocols with rich Presence, Interactive Messaging (IM) and File Transfer
capabilities.
The goal of this project is to deliver the best Open Source Python library
for rich featured SIP User Agents, while hiding the complex underlying
functionality behind an easy to use high-level application programming
interface. Compared to other available SIP libraries, this project provides
beyond basic audio calls, multiple streams support for IM, voice and video
sessions, Interactive Messaging (IM), file transfer and multi-party chat
sessions using MSRP protocol, publication and subscription for rich presence
information (RPIDF), management for presence rules, resource lists, RLS
services using XCAP protocol.
Testing
-------
This SIP SIMPLE software library has been closely developed together with
and tested against the most popular SIP SIMPLE server software available
today: OpenSIPs from http://opensips.org, OpenXCAP from http://openxcap.org
and MSRPRelay from http://msrprelay.org.
With the library, a set of command line tools are available for setting up
real time voice, IM and file transfer sessions, publish and subscribe to
presence or other type of events:
* sip_register - REGISTER a SIP end-point with a SIP REGISTRAR
* sip_rtp_audio_session - Setup a voice audio session (VoIP)
* sip_msrp_im_session - Setup an IM session using MSRP protocol
* sip_msrp_file_transfer - File Transfer session using MSRP protocol
* sip_message - Send text message in page mode using MESSAGE method
* sip_publish_presence - PUBLISH presence to a SIP Presence Agent
* sip_subscribe_presence - SUBSCRIBE to presence information
* sip_subscribe_winfo - SUBSCRIBE to watcher list on a SIP Presence Agent
* sip_subscribe_rls - SUBSCRIBE to lists managed by Resource List Server
Some scripts can be used to setup audio (VoIP), interactive messaging (IM)
and file transfer sessions. Other scripts can be used to publish presence
information and subscribe to presence or other type of events. Running each
script with --help argument displays the script capabilities and the
required arguments.
Overview of SIP and Presence functionality
------------------------------------------
From RFC 3261: "SIP is an application-layer control protocol that can
establish, modify, and terminate multimedia sessions (conferences) such as
Internet telephony calls. SIP can also invite participants to already
existing sessions, such as multicast conferences. Media can be added to
(and removed from) an existing session. SIP transparently supports name
mapping and redirection services, which supports personal mobility, users
can maintain a single externally visible identifier regardless of their
network location.
SIP supports five facets of establishing and terminating multimedia
communications:
- User location: determination of the end system to be used for
communication;
- User availability: determination of the willingness of the called party
to engage in communications;
- User capabilities: determination of the media and media parameters to be
used;
- Session setup: "ringing", establishment of session parameters at both
called and calling party;
- Session management: including transfer and termination of sessions,
modifying session parameters, and invoking services. "
Traditionally, Presence was defined as 'the willingness and ability of a
user to communicate with other users on the network'. Presence today is much
broader and is redefined by Dean Willis as 'dynamically updated information
about the state of selected entities, where the information, states,
selection, and dynamically of update are variable and appropriate for the
application'. The software contains rich presence functionality not
available today in other SIP solutions.
End-user experiences
--------------------
The software allows you to create elegant real-time communications
applications without having to read the +1200 RFC documents behind it. If
you read them all, some antidepressant and desintoxication is recommended
after this effort.
As a library with a high-level API, the toolkit can also be used to add SIP
VoIP, IM and Presence functionality to various network devices (like TV
set-up boxes), as long as Python environment is supported by such platform.
You may collapse the whole telecom industry into a simple Call me button or
expand the presence buddy list to display the mood or blood pressure of your
buddies (if they want to share this information with you). Some of the
things possible with this library are listed here:
- VoIP calls using Internet codecs (wide-band Speex, iLBC) and G.711
- Zero configuration server-less communication over LAN (Bonjour)
- Presence using SIP SIMPLE (PUBLISH, SUBSCRIBE, NOTIFY and XCAP policy)
- Interactive Messaging (IM) and File Transfer using MSRP protocol
For testing the software, you can use your own infrastructure, an account
from a SIP service provider or by registering a free SIP account at
http://sip2sip.info
For more information see the README.txt file in scripts directory.
License
-------
This software is licensed according to the GNU General Public License. See
LICENSE file for more details.
Installation
------------
See docs/INSTALL.* files
Support
-------
The project is supported via this wiki collaboration system provided at:
http://pypjua.org
To open ticket please Register first. The ticketing support system is
available only for registered users. Please beware that the support is
provided by the community on a best-effort basis.
If you wish to contribute and become an active developer of this project,
send your request by email to pypjua-devel@ag-projects.com.
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Feb 1, 5:28 AM (19 h, 17 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3488751
Default Alt Text
README (5 KB)
Attached To
Mode
rPYNSIPSIMPLE python3-sipsimple
Attached
Detach File
Event Timeline
Log In to Comment