WikiStart
Version 295 (Adrian Georgescu, 10/30/2008 01:44 pm)
1 | 189 | Adrian Georgescu | == Description == |
---|---|---|---|
2 | 95 | Ruud Klaver | |
3 | 264 | Adrian Georgescu | [http://www.tech-invite.com/Ti-sip-IDs-SIMPLE.html#charter SIP SIMPLE] client is a SIMPLE SIP client. Which leads to the question how SIMPLE is [http://www.tech-invite.com/Ti-sip-IDs-SIMPLE.html#charter SIMPLE]. So let's try again: |
4 | 263 | Adrian Georgescu | |
5 | 292 | Adrian Georgescu | [[Image(htdocs:SIPSIMPLE-client.png, align=right, nolink)]] |
6 | 234 | Adrian Georgescu | SIP SIMPLE client is Python software library built on top of [http://pjsip.org PJSIP] that together |
7 | 199 | Adrian Georgescu | with an elegant middleware allows for easy development of Client/Server and |
8 | 1 | Peer-to-Peer Internet communications end-points based on SIP SIMPLE protocols with |
|
9 | 1 | voice, video, presence, interactive messaging (IM) and file transfer capabilities. |
|
10 | 275 | Adrian Georgescu | |
11 | 206 | Adrian Georgescu | The goal of this project is to deliver the best Open Source Python |
12 | 193 | Adrian Georgescu | library for rich featured SIP User Agents, while hiding the complex |
13 | 187 | Adrian Georgescu | underlying functionality behind an easy to use high-level application |
14 | 187 | Adrian Georgescu | programming interface. Compared to other available SIP libraries, this |
15 | 239 | Adrian Georgescu | project provides beyond basic audio calls, session based Interactive Messaging (IM) |
16 | 239 | Adrian Georgescu | combined with voice and video sessions, file transfer and multi-party chat sessions using MSRP protocol, |
17 | 220 | Adrian Georgescu | publication and subscription for rich presence information like availability, moods, activities and geo-location, management for presence rules, |
18 | 267 | Adrian Georgescu | resource lists, RLS services using XCAP protocol. |
19 | 1 | ||
20 | 278 | Adrian Georgescu | Another way to put it, the 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. |
21 | 278 | Adrian Georgescu | |
22 | 278 | Adrian Georgescu | Once completed, you will be able to use its functionality in your favorite UNIX console, embed it into a networked device or create a skinable GUI for it on your favourite OS in no time. |
23 | 208 | Adrian Georgescu | |
24 | 286 | Adrian Georgescu | == Download and installation == |
25 | 180 | Adrian Georgescu | |
26 | 240 | Adrian Georgescu | For Debian testing or unstable on an i386 architecture, add to /etc/apt/sources.list: |
27 | 180 | Adrian Georgescu | |
28 | 180 | Adrian Georgescu | {{{ |
29 | 1 | deb http://ag-projects.com/debian unstable main |
|
30 | 180 | Adrian Georgescu | deb-src http://ag-projects.com/debian unstable main |
31 | 1 | }}} |
|
32 | 180 | Adrian Georgescu | |
33 | 180 | Adrian Georgescu | Update the list of available software and install the software: |
34 | 1 | ||
35 | 1 | {{{ |
|
36 | 1 | apt-get update |
|
37 | 180 | Adrian Georgescu | apt-get install sipclient |
38 | 181 | Adrian Georgescu | }}} |
39 | 1 | ||
40 | 240 | Adrian Georgescu | For MacOSX 10.5 (Leopard) on an Intel architecture add to /sw/etc/apt/sources.list: |
41 | 225 | Adrian Georgescu | |
42 | 225 | Adrian Georgescu | {{{ |
43 | 229 | Adrian Georgescu | deb http://ag-projects.com/fink local main |
44 | 229 | Adrian Georgescu | deb http://ag-projects.com/fink stable main crypto |
45 | 229 | Adrian Georgescu | deb http://ag-projects.com/fink unstable main crypto |
46 | 225 | Adrian Georgescu | }}} |
47 | 225 | Adrian Georgescu | |
48 | 225 | Adrian Georgescu | Update the list of available software and install the software: |
49 | 225 | Adrian Georgescu | |
50 | 225 | Adrian Georgescu | {{{ |
51 | 225 | Adrian Georgescu | sudo apt-get update |
52 | 225 | Adrian Georgescu | sudo apt-get install sipclient |
53 | 225 | Adrian Georgescu | }}} |
54 | 225 | Adrian Georgescu | |
55 | 285 | Adrian Georgescu | Step by step installation instructions are available in [source:docs/INSTALL.linux INSTALL.linux] and [source:docs/INSTALL.osx INSTALL.osx]. For other operating systems or to obtain the full source code as tar archive go to: |
56 | 1 | ||
57 | 1 | [http://download.ag-projects.com/SipClient/ http://download.ag-projects.com/SipClient/] |
|
58 | 1 | ||
59 | 287 | Adrian Georgescu | > Windows binaries are on the roadmap. |
60 | 1 | ||
61 | 282 | Adrian Georgescu | == Testing the library == |
62 | 218 | Adrian Georgescu | |
63 | 281 | 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 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. |
64 | 1 | ||
65 | 281 | Adrian Georgescu | |
66 | 279 | Adrian Georgescu | * [wiki:sip_register sip_register] - REGISTER a SIP end-point with a SIP Registrar |
67 | 280 | Adrian Georgescu | * [wiki:sip_rtp_audio_session sip_rtp_audio_session] - Setup a voice audio session (Voice over IP) |
68 | 280 | Adrian Georgescu | * [wiki:sip_msrp_im_session sip_msrp_im_session] - Setup an IM session using MSRP protocol |
69 | 280 | Adrian Georgescu | * [wiki:sip_msrp_file_transfer sip_msrp_file_transfer] - Perform file transfer using MSRP protocol |
70 | 280 | Adrian Georgescu | * [wiki:sip_message sip_message] - Send/receive text in page mode using SIP MESSAGE method |
71 | 280 | Adrian Georgescu | * [wiki:sip_publish_presence sip_publish_presence] - PUBLISH presence to a SIP Presence Agent |
72 | 280 | Adrian Georgescu | * [wiki:sip_subscribe_presence sip_subscribe_presence] - SUBSCRIBE to presence information |
73 | 280 | Adrian Georgescu | * [wiki:sip_subscribe_winfo sip_subscribe_winfo] - SUBSCRIBE to watcher list on a SIP Presence Agent |
74 | 218 | Adrian Georgescu | * [wiki:sip_subscribe_rls sip_subscribe_rls] - SUBSCRIBE to lists managed by Resource List Server |
75 | 290 | Adrian Georgescu | * [wiki:xcapclient xcapclient] - PUT/GET/DELETE full or partial documents on an XCAP server |
76 | 290 | Adrian Georgescu | * [wiki:xcap_pres_rules xcap_pres_rules] - Manage entries in the pres-rules XCAP document |
77 | 157 | Adrian Georgescu | |
78 | 261 | Adrian Georgescu | == Supported platforms == |
79 | 1 | ||
80 | 262 | Adrian Georgescu | As a library with a high-level API, the toolkit can be used to add voice, IM and Presence functionality to any Internet device as long as Python/C environment is supported by such platform. |
81 | 1 | ||
82 | 261 | Adrian Georgescu | == Normative references == |
83 | 248 | Adrian Georgescu | |
84 | 262 | Adrian Georgescu | Additional to the SIP standards implemented by the underlying [http://www.pjsip.org/sip_media_features.htm PJSIP library] and exposed by SIP SIMPLE client in a Python API, this project implements in Python language the following standards: |
85 | 249 | Adrian Georgescu | |
86 | 295 | Adrian Georgescu | * XCAP protocol stack and client [http://www.tools.ietf.org/html/rfc4825 RFC4825] |
87 | 294 | Adrian Georgescu | * XCAP Presence rules [http://www.tools.ietf.org/html/rfc5025 RFC5025] |
88 | 294 | Adrian Georgescu | * XCAP Resource-lists and RLS-services [http://www.tools.ietf.org/html/rfc4826 RFC4826] |
89 | 294 | Adrian Georgescu | * XCAP PIDF manipulation [http://www.tools.ietf.org/html/rfc4827 RFC4827] |
90 | 295 | Adrian Georgescu | * MSRP protocol stack and client [http://tools.ietf.org/html/rfc4975 RFC4975] |
91 | 256 | Adrian Georgescu | * MSRP protocol relay extension [http://tools.ietf.org/html/rfc4976 RFC4976] |
92 | 294 | Adrian Georgescu | * MSRP multi-party chat [http://tools.ietf.org/html/draft-ietf-simple-chat-02 draft-ietf-simple-chat-02] |
93 | 293 | Adrian Georgescu | * PUBLISH method [http://tools.ietf.org/html/rfc3903 RFC3903] |
94 | 272 | Adrian Georgescu | * SUBSCRIBE and NOTIFY methods [http://tools.ietf.org/html/rfc3265 RFC3265] |
95 | 1 | * Rich presence data model and format (RPIDF) [http://tools.ietf.org/html/rfc3856 RFC3856], [http://tools.ietf.org/html/rfc3863 RFC3863 ], [http://tools.ietf.org/html/rfc4479 RFC4479] |
|
96 | 294 | 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] |
97 | 254 | Adrian Georgescu | * Watcher Information event package [http://tools.ietf.org/html/rfc3857 RFC3857], [http://tools.ietf.org/html/rfc3858 RFC3858] |
98 | 294 | Adrian Georgescu | * Conference event package [http://tools.ietf.org/html/rfc4575 RFC4575] |
99 | 253 | Adrian Georgescu | * Message Waiting Indication event package [http://tools.ietf.org/html/rfc3842 RFC3842] |
100 | 257 | 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] |
101 | 253 | Adrian Georgescu | * Locating SIP services [http://tools.ietf.org/html/rfc3263 RFC3263] |
102 | 1 | ||
103 | 1 | == License == |
|
104 | 1 | ||
105 | 1 | The software is provided under the [source:LICENSE GPL LICENSE] |
|
106 | 1 | ||
107 | 1 | == Support == |
|
108 | 1 | ||
109 | 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. |
|
110 | 235 | Adrian Georgescu | |
111 | 236 | Adrian Georgescu | == Source code access == |
112 | 235 | Adrian Georgescu | |
113 | 235 | Adrian Georgescu | Version control is done using [http://darcs.net darcs] . The darcs repository can be fetched with: |
114 | 235 | Adrian Georgescu | |
115 | 235 | Adrian Georgescu | {{{ |
116 | 235 | Adrian Georgescu | darcs get http://devel.ag-projects.com/repositories/pypjua |
117 | 235 | Adrian Georgescu | }}} |
118 | 235 | Adrian Georgescu | |
119 | 235 | Adrian Georgescu | To obtain the changes after the intial get, go to the pypjua directory and run: |
120 | 235 | Adrian Georgescu | |
121 | 235 | Adrian Georgescu | {{{ |
122 | 235 | Adrian Georgescu | darcs pull |
123 | 235 | Adrian Georgescu | }}} |
124 | 191 | Adrian Georgescu | |
125 | 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. |