SipFeatures » History » Version 38
Adrian Georgescu, 03/22/2009 10:03 AM
1 | 24 | Adrian Georgescu | = Library features = |
---|---|---|---|
2 | 1 | Adrian Georgescu | |
3 | 2 | Adrian Georgescu | [[TOC(WikiStart, Sip*, depth=2)]] |
4 | |||
5 | 8 | Adrian Georgescu | 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. |
6 | 2 | Adrian Georgescu | |
7 | 26 | Adrian Georgescu | == General == |
8 | 1 | Adrian Georgescu | |
9 | 26 | Adrian Georgescu | * Written in Python language |
10 | 36 | Adrian Georgescu | * High level event driven middleware API |
11 | * Low level components API |
||
12 | 1 | Adrian Georgescu | * Multiple SIP accounts support |
13 | 36 | Adrian Georgescu | * Multiple active session support |
14 | * Multiple media types per session |
||
15 | 38 | Adrian Georgescu | * NAT traversal support (both client side using STUN and ICE and server side using rport and relays) |
16 | 36 | Adrian Georgescu | * Compatible with functionality of OpenSIPS and OpenXCAP servers |
17 | 26 | Adrian Georgescu | * Cross platform (Linux, OSX, Windows) |
18 | |||
19 | == SIP transport == |
||
20 | 34 | Adrian Georgescu | |
21 | * UDP/TCP/TLS transports |
||
22 | 22 | Adrian Georgescu | * RFC 3263 DNS lookups with fall-over |
23 | 1 | Adrian Georgescu | * SIP trace |
24 | 22 | Adrian Georgescu | |
25 | 20 | Adrian Georgescu | == SDP negotiation == |
26 | |||
27 | Supported media types: |
||
28 | 21 | Adrian Georgescu | |
29 | 23 | Adrian Georgescu | * Audio (with or without ICE and STUN) |
30 | * Instant messaging over MSRP (with or without MSRP relay support) |
||
31 | * File transfer over MSRP (with or without MSRP relay support) |
||
32 | 20 | Adrian Georgescu | * Desktop sharing (VNC over MSRP) |
33 | 31 | Adrian Georgescu | |
34 | 20 | Adrian Georgescu | Except for MSRP file transfer, all media types can be combined together in the same session. |
35 | 22 | Adrian Georgescu | |
36 | 37 | Adrian Georgescu | == SIP Methods == |
37 | 30 | Adrian Georgescu | |
38 | 1 | Adrian Georgescu | * REGISTER |
39 | * INVITE |
||
40 | * PRACK |
||
41 | * ACK |
||
42 | 34 | Adrian Georgescu | * BYE |
43 | 9 | Adrian Georgescu | * re-INVITE (hold/un-hold, adding and removing other media types) |
44 | 29 | Adrian Georgescu | * CANCEL |
45 | * MESSAGE |
||
46 | * PUBLISH |
||
47 | 3 | Adrian Georgescu | * SUBSCRIBE |
48 | 1 | Adrian Georgescu | * NOTIFY |
49 | 4 | Adrian Georgescu | * OPTIONS |
50 | 3 | Adrian Georgescu | |
51 | 6 | Adrian Georgescu | == Audio == |
52 | 1 | Adrian Georgescu | |
53 | 3 | Adrian Georgescu | * Echo cancelation control |
54 | 6 | Adrian Georgescu | * Hold/On-hold |
55 | 13 | Adrian Georgescu | * DTMF |
56 | 3 | Adrian Georgescu | * Codecs: speex (wideband), g711, ilbc, gsm, g722 |
57 | 18 | Adrian Georgescu | * sRTP |
58 | 3 | Adrian Georgescu | |
59 | 1 | Adrian Georgescu | == Presence == |
60 | 3 | Adrian Georgescu | |
61 | 1 | Adrian Georgescu | * 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] |
62 | * Presence watcher-info event package [http://tools.ietf.org/html/rfc3857 RFC3857], [http://tools.ietf.org/html/rfc3858 RFC3858] |
||
63 | * XCAP protocol [http://www.tools.ietf.org/html/rfc4825 RFC4825] |
||
64 | * XCAP presence rules [http://www.tools.ietf.org/html/rfc5025 RFC5025] |
||
65 | * XCAP resource-lists and RLS-services [http://www.tools.ietf.org/html/rfc4826 RFC4826] |
||
66 | * XCAP PIDF manipulation [http://www.tools.ietf.org/html/rfc4827 RFC4827] |
||
67 | 16 | Adrian Georgescu | * XCAP-diff event package [http://www.ietf.org/internet-drafts/draft-ietf-simple-xcap-diff-09.txt draft-ietf-simple-xcap-diff-09] |
68 | 3 | Adrian Georgescu | * TCP and TLS transports |
69 | * XCAP trace capability |
||
70 | |||
71 | 1 | Adrian Georgescu | == MSRP == |
72 | |||
73 | * MSRP protocol [http://tools.ietf.org/html/rfc4975 RFC4975] |
||
74 | * MSRP protocol relay extension [http://tools.ietf.org/html/rfc4976 RFC4976] |
||
75 | * MSRP file transfer [http://tools.ietf.org/html/draft-ietf-mmusic-file-transfer-mech-11 draft-ietf-mmusic-file-transfer-mech-11] |
||
76 | 16 | Adrian Georgescu | * Message summary event package [http://tools.ietf.org/html/rfc3842 RFC3842] |
77 | 3 | Adrian Georgescu | * TCP and TLS transports |
78 | * MSRP trace capability |
||
79 | |||
80 | == Conferencing == |
||
81 | |||
82 | * Conference event package [http://tools.ietf.org/html/rfc4575 RFC4575] |
||
83 | 7 | Adrian Georgescu | * MSRP ad-hoc multi-party chat sessions [http://tools.ietf.org/html/draft-ietf-simple-chat-03 draft-ietf-simple-chat-03] |
84 | 22 | Adrian Georgescu | |
85 | 11 | Adrian Georgescu | == Other == |
86 | 1 | Adrian Georgescu | |
87 | * Desktop sharing, variation of [http://tools.ietf.org/html/draft-garcia-mmusic-sdp-collaboration-00 draft-garcia-mmusic-sdp-collaboration-00] |
||
88 | * Bonjour multicast DNS [http://www.ietf.org/internet-drafts/draft-lee-sip-dns-sd-uri-03.txt draft-lee-sip-dns-sd-uri-03] |