« Previous - Version 39/177 (diff) - Next » - Current version
Adrian Georgescu, 03/22/2009 10:04 am


= Library features =

<acronym title="WikiStart, Sip*, depth=2">TOC</acronym>

Additional to a selected lists of SIP features implemented by the underlying PJSIP library and exposes through a Python API, this project implements session based instant messaging (IM), file transfer and multi-party chat sessions using MSRP protocol and its relay extension, publication and subscription for rich presence information such as availability, moods, activities and geo-location, management for presence rules, resource lists, RLS services documents using XCAP protocol.

General * Written in Python language * High level event driven middleware API * Low level components API * Multiple SIP accounts support inclusive serverless Bonjour mode * Multiple active session support * Multiple media types per session (e.g. audio + Instant Messaging + desktop sharing) * NAT traversal support (both client side using STUN and ICE and server side using rport and relays) * Compatible with functionality of OpenSIPS and OpenXCAP servers * Cross platform (Linux, OSX, Windows) SIP transport * UDP/TCP/TLS transports * RFC 3263 DNS lookups with fall-over * SIP trace SDP negotiation

Supported media types:

  • Audio (with or without ICE and STUN)
  • Instant messaging over MSRP (with or without MSRP relay support)
  • File transfer over MSRP (with or without MSRP relay support)
  • Desktop sharing (VNC over MSRP)

Except for MSRP file transfer, all media types can be combined together in the same session.

SIP Methods * REGISTER * INVITE * PRACK * ACK * BYE * re-INVITE (hold/un-hold, adding and removing other media types) * CANCEL * MESSAGE * PUBLISH * SUBSCRIBE * NOTIFY * OPTIONS Audio * Echo cancelation control * Hold/On-hold * DTMF * Codecs: speex (wideband), g711, ilbc, gsm, g722 * sRTP Presence * Rich presence data model [http://tools.ietf.org/html/rfc3856 RFC3856], [http://tools.ietf.org/html/rfc3863 RFC3863 ], [http://tools.ietf.org/html/rfc4479 RFC4479], [http://tools.ietf.org/html/rfc4481 RFC4481], [http://tools.ietf.org/html/rfc4482 RFC4482], [http://tools.ietf.org/html/rfc5196 RFC5196] * Presence watcher-info event package [http://tools.ietf.org/html/rfc3857 RFC3857], [http://tools.ietf.org/html/rfc3858 RFC3858] * XCAP protocol [http://www.tools.ietf.org/html/rfc4825 RFC4825] * XCAP presence rules [http://www.tools.ietf.org/html/rfc5025 RFC5025] * XCAP resource-lists and RLS-services [http://www.tools.ietf.org/html/rfc4826 RFC4826] * XCAP PIDF manipulation [http://www.tools.ietf.org/html/rfc4827 RFC4827] * XCAP-diff event package [http://www.ietf.org/internet-drafts/draft-ietf-simple-xcap-diff-09.txt draft-ietf-simple-xcap-diff-09] * TCP and TLS transports * XCAP trace capability MSRP * MSRP protocol [http://tools.ietf.org/html/rfc4975 RFC4975] * MSRP protocol relay extension [http://tools.ietf.org/html/rfc4976 RFC4976] * MSRP file transfer [http://tools.ietf.org/html/draft-ietf-mmusic-file-transfer-mech-11 draft-ietf-mmusic-file-transfer-mech-11] * Message summary event package [http://tools.ietf.org/html/rfc3842 RFC3842] * TCP and TLS transports * MSRP trace capability Conferencing * Conference event package [http://tools.ietf.org/html/rfc4575 RFC4575] * MSRP ad-hoc multi-party chat sessions [http://tools.ietf.org/html/draft-ietf-simple-chat-03 draft-ietf-simple-chat-03] Other * Desktop sharing, variation of [http://tools.ietf.org/html/draft-garcia-mmusic-sdp-collaboration-00 draft-garcia-mmusic-sdp-collaboration-00] * Bonjour multicast DNS [http://www.ietf.org/internet-drafts/draft-lee-sip-dns-sd-uri-03.txt draft-lee-sip-dns-sd-uri-03]