WikiStart
Version 258 (Adrian Georgescu, 10/22/2008 02:19 pm)
1 | 189 | Adrian Georgescu | == Description == |
---|---|---|---|
2 | 95 | Ruud Klaver | |
3 | 234 | Adrian Georgescu | SIP SIMPLE client is Python software library built on top of [http://pjsip.org PJSIP] that together |
4 | 199 | Adrian Georgescu | with an elegant middleware allows for easy development of Client/Server and |
5 | 204 | Adrian Georgescu | Peer-to-Peer Internet communications end-points based on SIP SIMPLE protocols with |
6 | 232 | Adrian Georgescu | voice, video, presence, interactive messaging (IM) and file transfer capabilities. |
7 | 1 | ||
8 | 206 | Adrian Georgescu | The goal of this project is to deliver the best Open Source Python |
9 | 193 | Adrian Georgescu | library for rich featured SIP User Agents, while hiding the complex |
10 | 187 | Adrian Georgescu | underlying functionality behind an easy to use high-level application |
11 | 187 | Adrian Georgescu | programming interface. Compared to other available SIP libraries, this |
12 | 239 | Adrian Georgescu | project provides beyond basic audio calls, session based Interactive Messaging (IM) |
13 | 239 | Adrian Georgescu | combined with voice and video sessions, file transfer and multi-party chat sessions using MSRP protocol, |
14 | 220 | Adrian Georgescu | publication and subscription for rich presence information like availability, moods, activities and geo-location, management for presence rules, |
15 | 210 | Adrian Georgescu | resource lists, RLS services using XCAP protocol. |
16 | 1 | ||
17 | 219 | Adrian Georgescu | Shortly said, this software allows you to create elegant real-time communications applications without having to read [http://www.rfc3261.net the +1200 RFC documents] behind it. If you read them all, some antidepressant and desintoxication is recommended after this effort. |
18 | 208 | Adrian Georgescu | |
19 | 237 | Adrian Georgescu | == Download == |
20 | 180 | Adrian Georgescu | |
21 | 240 | Adrian Georgescu | For Debian testing or unstable on an i386 architecture, add to /etc/apt/sources.list: |
22 | 180 | Adrian Georgescu | |
23 | 180 | Adrian Georgescu | {{{ |
24 | 1 | deb http://ag-projects.com/debian unstable main |
|
25 | 180 | Adrian Georgescu | deb-src http://ag-projects.com/debian unstable main |
26 | 1 | }}} |
|
27 | 180 | Adrian Georgescu | |
28 | 180 | Adrian Georgescu | Update the list of available software and install the software: |
29 | 1 | ||
30 | 1 | {{{ |
|
31 | 1 | apt-get update |
|
32 | 180 | Adrian Georgescu | apt-get install sipclient |
33 | 181 | Adrian Georgescu | }}} |
34 | 1 | ||
35 | 240 | Adrian Georgescu | For MacOSX 10.5 (Leopard) on an Intel architecture add to /sw/etc/apt/sources.list: |
36 | 225 | Adrian Georgescu | |
37 | 225 | Adrian Georgescu | {{{ |
38 | 229 | Adrian Georgescu | deb http://ag-projects.com/fink local main |
39 | 229 | Adrian Georgescu | deb http://ag-projects.com/fink stable main crypto |
40 | 229 | Adrian Georgescu | deb http://ag-projects.com/fink unstable main crypto |
41 | 225 | Adrian Georgescu | }}} |
42 | 225 | Adrian Georgescu | |
43 | 225 | Adrian Georgescu | Update the list of available software and install the software: |
44 | 225 | Adrian Georgescu | |
45 | 225 | Adrian Georgescu | {{{ |
46 | 225 | Adrian Georgescu | sudo apt-get update |
47 | 225 | Adrian Georgescu | sudo apt-get install sipclient |
48 | 225 | Adrian Georgescu | }}} |
49 | 225 | Adrian Georgescu | |
50 | 240 | Adrian Georgescu | For other Unix distributions |
51 | 1 | ||
52 | 198 | Adrian Georgescu | To obtain the source code as tar archive go to: |
53 | 1 | ||
54 | 1 | [http://download.ag-projects.com/SipClient/ http://download.ag-projects.com/SipClient/] |
|
55 | 1 | ||
56 | 240 | Adrian Georgescu | |
57 | 240 | Adrian Georgescu | Windows binaries are on the roadmap. |
58 | 1 | ||
59 | 218 | Adrian Georgescu | == Testing == |
60 | 218 | Adrian Georgescu | |
61 | 238 | Adrian Georgescu | SIP SIMPLE client is closely developed together with and tested against the most popular SIP SIMPLE server software available today: [http://opensips.org OpenSIPs], [http://openxcap.org OpenXCAP] and [http://msrprelay.org MSRPRelay]. Included with the library, a set of [wiki:testscripts 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: |
62 | 218 | Adrian Georgescu | |
63 | 218 | Adrian Georgescu | * sip_register - REGISTER a SIP end-point with a SIP Registrar |
64 | 218 | Adrian Georgescu | * sip_rtp_audio_session - Setup a voice audio session (Voice over IP) |
65 | 218 | Adrian Georgescu | * sip_msrp_im_session - Setup an IM session using MSRP protocol |
66 | 231 | Adrian Georgescu | * sip_msrp_file_transfer - Perform file transfer using MSRP protocol |
67 | 231 | Adrian Georgescu | * sip_message - Send/receive text in page mode using SIP MESSAGE method |
68 | 218 | Adrian Georgescu | * sip_publish_presence - PUBLISH presence to a SIP Presence Agent |
69 | 218 | Adrian Georgescu | * sip_subscribe_presence - SUBSCRIBE to presence information |
70 | 218 | Adrian Georgescu | * sip_subscribe_winfo - SUBSCRIBE to watcher list on a SIP Presence Agent |
71 | 218 | Adrian Georgescu | * sip_subscribe_rls - SUBSCRIBE to lists managed by Resource List Server |
72 | 223 | Adrian Georgescu | * xcapclient - Manage presence policy and buddy lists on an XCAP server |
73 | 218 | Adrian Georgescu | |
74 | 218 | Adrian Georgescu | For testing, you can use your own infrastructure or register a free SIP SIMPLE account on [http://sip2sip.info http://SIP2SIP.info] |
75 | 218 | Adrian Georgescu | |
76 | 157 | Adrian Georgescu | |
77 | 242 | Adrian Georgescu | == Supported platforms and normative references == |
78 | 1 | ||
79 | 241 | Adrian Georgescu | As a library with a high-level API, the toolkit can be used to add voice, IM and Presence functionality to any network devices as long as Python/C environment is supported by such platform. |
80 | 1 | ||
81 | 248 | Adrian Georgescu | == Normative references and standards == |
82 | 248 | Adrian Georgescu | |
83 | 251 | Adrian Georgescu | Additional to the SIP standards implemented by the underlying [http://www.pjsip.org/sip_media_features.htm PJSIP library], this project implements |
84 | 249 | Adrian Georgescu | |
85 | 253 | Adrian Georgescu | * XCAP protocol [http://www.tools.ietf.org/html/rfc4825 RFC4825] |
86 | 256 | Adrian Georgescu | * MSRP protocol [http://tools.ietf.org/html/rfc4975 RFC4975] |
87 | 256 | Adrian Georgescu | * MSRP protocol relay extension [http://tools.ietf.org/html/rfc4976 RFC4976] |
88 | 253 | Adrian Georgescu | * PUBLISH method [http://tools.ietf.org/html/rfc3903 RFC3903] |
89 | 253 | Adrian Georgescu | * SIP events SUBSCRIBE, NOTIFY [http://tools.ietf.org/html/rfc3265 RFC3265] |
90 | 254 | Adrian Georgescu | * Rich presence data model and format [http://tools.ietf.org/html/rfc3856 RFC3856], [http://tools.ietf.org/html/rfc3863 RFC3863 ], [http://tools.ietf.org/html/rfc4479 RFC4479] |
91 | 258 | Adrian Georgescu | * XCAP-diff document modification event [http://www.ietf.org/internet-drafts/draft-ietf-simple-xcap-diff-09.txt draft-ietf-simple-xcap-diff-09] |
92 | 254 | Adrian Georgescu | * Watcher-info [http://tools.ietf.org/html/rfc3857 RFC3857], [http://tools.ietf.org/html/rfc3858 RFC3858] |
93 | 253 | Adrian Georgescu | * Conference [http://tools.ietf.org/html/rfc4575 RFC4575] |
94 | 253 | Adrian Georgescu | * Message summary [http://tools.ietf.org/html/rfc3842 RFC3842] |
95 | 253 | Adrian Georgescu | * Presence rules [http://www.tools.ietf.org/html/rfc5025 RFC5025] |
96 | 254 | Adrian Georgescu | * Resource-lists and RLS-services [http://www.tools.ietf.org/html/rfc4826 RFC4826] |
97 | 257 | Adrian Georgescu | * PIDF manipulation [http://www.tools.ietf.org/html/rfc4827 RFC4827] |
98 | 253 | Adrian Georgescu | * Bonjour multicast DNS [http://www.tech-invite.com/SIPWGs/01-WG-SIP/Idrafts/draft-lee-sip-dns-sd-uri-02.txt draft-lee-sip-dns-sd-uri-02] |
99 | 257 | Adrian Georgescu | * Locating SIP services [http://tools.ietf.org/html/rfc3263 RFC3263] |
100 | 253 | Adrian Georgescu | * MSRP ad-hoc multi-party chat sessions [http://tools.ietf.org/html/draft-ietf-simple-chat-02 draft-ietf-simple-chat-02] |
101 | 1 | ||
102 | 1 | == License == |
|
103 | 1 | ||
104 | 1 | The software is provided under the [source:LICENSE GPL LICENSE] |
|
105 | 1 | ||
106 | 1 | == Support == |
|
107 | 1 | ||
108 | 1 | 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. |
|
109 | 235 | Adrian Georgescu | |
110 | 236 | Adrian Georgescu | == Source code access == |
111 | 235 | Adrian Georgescu | |
112 | 235 | Adrian Georgescu | Version control is done using [http://darcs.net darcs] . The darcs repository can be fetched with: |
113 | 235 | Adrian Georgescu | |
114 | 235 | Adrian Georgescu | {{{ |
115 | 235 | Adrian Georgescu | darcs get http://devel.ag-projects.com/repositories/pypjua |
116 | 235 | Adrian Georgescu | }}} |
117 | 235 | Adrian Georgescu | |
118 | 235 | Adrian Georgescu | To obtain the changes after the intial get, go to the pypjua directory and run: |
119 | 235 | Adrian Georgescu | |
120 | 235 | Adrian Georgescu | {{{ |
121 | 235 | Adrian Georgescu | darcs pull |
122 | 235 | Adrian Georgescu | }}} |
123 | 191 | Adrian Georgescu | |
124 | 202 | Adrian Georgescu | If you wish to contribute and become an active developer of this project, send your request by email to pypjua-devel@ag-projects.com. |