WikiStart » History » Version 92
Ruud Klaver, 08/12/2008 01:59 PM
1 | 12 | Adrian Georgescu | == Project description == |
---|---|---|---|
2 | 1 | ||
3 | 79 | Adrian Georgescu | PyPjUA is Python software library for [http://pjsip.org PJSIP] C SIP stack that together with a clever middleware allows for easy development of SIP User agents with rich-presence capability that run on desktop computers running Mac OS X, Linux and Windows operating systems, portable Internet devices like Nokia 810, Apple iPhone or Android mobile phones. |
4 | 1 | ||
5 | 14 | Adrian Georgescu | == License == |
6 | |||
7 | 12 | Adrian Georgescu | The software is provided under the [source:LICENSE GPL LICENSE] |
8 | 1 | ||
9 | 14 | Adrian Georgescu | == Deliverables == |
10 | 1 | ||
11 | 40 | Adrian Georgescu | The goal of this project is to deliver an Open Source development kit for a rich featured SIP User Agent while hiding the complex underlying functionality behind an easy to use high-level application programming interface. 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). |
12 | 39 | Adrian Georgescu | |
13 | 45 | Adrian Georgescu | Using this software you are able to create elegant real-time communications applications without having to read or understand [http://www.rfc3261.net the +1200 RFC documents] behind it. |
14 | |||
15 | 47 | Adrian Georgescu | ''If you read them all some antidepressant and desintoxication is recommended after this effort.'' |
16 | 1 | ||
17 | 92 | Ruud Klaver | == High level design == |
18 | |||
19 | PyPjUA is part of a [wiki:SIPUADesign greater design] design to provide a fully fledged SIP UA. |
||
20 | |||
21 | 34 | Adrian Georgescu | == Software repository == |
22 | |||
23 | 88 | Adrian Georgescu | Besides the Python software library itself, the repository contains the ready to use sip-simple-test-tools package that can be used to: |
24 | 1 | ||
25 | 87 | Adrian Georgescu | * Setup SIP [http://tools.ietf.org/html/rfc4975 MSRP sessions] between end-points with public IP or behind NAT by using [http://tools.ietf.org/html/rfc4976 MSRP relay] |
26 | * Setup up VoIP sessions between end-points with public IP adresses or behind NAT by using ICE and media relay |
||
27 | 72 | Adrian Georgescu | * [http://www.ietf.org/rfc/rfc3903.txt PUBLISH] and [http://www.ietf.org/rfc/rfc3265.txt SUBSCRIBE/NOTIFY] to SIP events like [http://www.ietf.org/rfc/rfc3856.txt presence], xcap-diff, [http://www.ietf.org/rfc/rfc3857.txt watcher-info], conference, [http://www.ietf.org/rfc/rfc3842.txt message-summary] |
28 | 1 | * Manage presence policy the form of full or partial [http://www.tools.ietf.org/html/rfc4825 XCAP] documents like [http://www.tools.ietf.org/html/rfc5025 pres-rules], [http://www.tools.ietf.org/html/rfc4826 resource-lists, rls-services] and [http://www.tools.ietf.org/html/rfc4827 pidf-manipulation] |
|
29 | 85 | Adrian Georgescu | * Lookup of SIP buddies using [http://www.tech-invite.com/SIPWGs/01-WG-SIP/Idrafts/draft-lee-sip-dns-sd-uri-02.txt Bonjour] (LAN broadcast), [http://www.ietf.org/rfc/rfc3263.txt RFC 3263] (Locating SIP Services), ENUM (E.164 telephone numbers) and DHT (structured P2P overlays) |
30 | 90 | Adrian Georgescu | * Setup up [http://www.tech-invite.com/SIPWGs/03-WG-SIMPLE/Drafts/draft-ietf-simple-chat-02.txt ad-hoc multi-party chat sessions] with an MSRP chat server (under construction) |
31 | 1 | ||
32 | 76 | Adrian Georgescu | Using these scripts is easy to prototype Presence, IM and VoIP services based on the SIP protocol. |
33 | 86 | Adrian Georgescu | To use these tools you can use your own infrastructure or register a free SIP SIMPLE account on [http://sip2sip.info http://SIP2SIP.info] |
34 | 34 | Adrian Georgescu | |
35 | == Download == |
||
36 | |||
37 | The software can be downloaded from: |
||
38 | |||
39 | [http://download.ag-projects.com/PyPjUA http://download.ag-projects.com/PyPjUA] |
||
40 | |||
41 | == End-user experiences == |
||
42 | 33 | Adrian Georgescu | |
43 | Using this toolkit you can develop in short time a skinable and cross-platform SIP User Agent that can be used for real-time Internet communications: |
||
44 | |||
45 | 74 | Adrian Georgescu | * VoIP calls using Internet codecs (Speex, iLBC) and G.711 |
46 | 81 | Adrian Georgescu | * Multiple audio/msrp/video streams per session (for live broadcasting applications) |
47 | 69 | Adrian Georgescu | * Zero configuration when communication over LAN (Bonjour) |
48 | 71 | Adrian Georgescu | * Presence using SIP SIMPLE (PUBLISH, SUBSCRIBE, NOTIFY and XCAP policy) |
49 | 33 | Adrian Georgescu | * Interactive Messaging (IM) and File transfer using MSRP protocol |
50 | 89 | Adrian Georgescu | * Multiparty chat using MSRP chat server (under construction) |
51 | 33 | Adrian Georgescu | * Support for NAT traversal using ICE for RTP media and MSRP Relay for IM |
52 | 91 | Adrian Georgescu | * Sharing desktop screen using VNC protocol (under construction) |
53 | 89 | Adrian Georgescu | * Video calls (under construction) |
54 | 1 | ||
55 | 82 | Adrian Georgescu | The software is tested against the most popular SIP server software: [http://openser.org OpenSER], [http://openxcap.org OpenXCAP], [http://mediaproxy-ng.org MediaProxy] and [http://msrprelay.org MSRPRelay] servers. To test the software you can register a free SIP SIMPLE account on [http://SIP2SIP.info SIP2SIP] |
56 | 62 | Adrian Georgescu | |
57 | |||
58 | == Integration with third-party projects == |
||
59 | |||
60 | 80 | Adrian Georgescu | PyPjUA will be first integrated into [http://tribler.org Tribler]. Tribler is an application that enables its users to find, enjoy and share content. With content we mean video, audio, pictures, and much more. PyPjUA will provides real-time communications features that will allow users that have downloaded Tribler to: |
61 | 62 | Adrian Georgescu | |
62 | 80 | Adrian Georgescu | * Interact in real time with each other using rich Presence, Interactive messaging and audio |
63 | 70 | Adrian Georgescu | * Communicate with other people that have access to SIP services from various SIP operators across the world |
64 | 12 | Adrian Georgescu | |
65 | 17 | Adrian Georgescu | == Developer program == |
66 | |||
67 | 32 | Adrian Georgescu | To become an active developer to this program please send your request by email to [mailto:pypjua-devel@ag-projects.com pypjua-devel@ag-projects.com] |
68 | 17 | Adrian Georgescu | |
69 | 12 | Adrian Georgescu | == Support == |
70 | 11 | Adrian Georgescu | |
71 | The software is developed and supported by [http://ag-projects.com AG Projects]. |