WikiStart
Version 79 (Adrian Georgescu, 07/16/2008 06:08 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 | 14 | Adrian Georgescu | |
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 | 45 | Adrian Georgescu | |
15 | 47 | Adrian Georgescu | ''If you read them all some antidepressant and desintoxication is recommended after this effort.'' |
16 | 1 | ||
17 | 34 | Adrian Georgescu | == Software repository == |
18 | 34 | Adrian Georgescu | |
19 | 33 | Adrian Georgescu | Besides the Python software library the software contains ready to use test scripts for: |
20 | 1 | ||
21 | 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] |
22 | 73 | Adrian Georgescu | * Presence policy management 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] and [http://www.tools.ietf.org/html/rfc4827 pidf-manipulation] |
23 | 68 | 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) |
24 | 67 | Adrian Georgescu | * Setting up 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] |
25 | 54 | Adrian Georgescu | * Setting 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 |
26 | 77 | Adrian Georgescu | * Setting up VoIP sessions between end-points with public IP adresses or behind NAT by using ICE and media relay |
27 | 1 | ||
28 | 76 | Adrian Georgescu | Using these scripts is easy to prototype Presence, IM and VoIP services based on the SIP protocol. |
29 | 76 | Adrian Georgescu | To test the presence scripts you can register a free SIP SIMPLE account on [http://sip2sip.info http://SIP2SIP.info] |
30 | 34 | Adrian Georgescu | |
31 | 34 | Adrian Georgescu | == Download == |
32 | 34 | Adrian Georgescu | |
33 | 34 | Adrian Georgescu | The software can be downloaded from: |
34 | 34 | Adrian Georgescu | |
35 | 34 | Adrian Georgescu | [http://download.ag-projects.com/PyPjUA http://download.ag-projects.com/PyPjUA] |
36 | 34 | Adrian Georgescu | |
37 | 34 | Adrian Georgescu | == End-user experiences == |
38 | 33 | Adrian Georgescu | |
39 | 33 | Adrian Georgescu | 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: |
40 | 33 | Adrian Georgescu | |
41 | 74 | Adrian Georgescu | * VoIP calls using Internet codecs (Speex, iLBC) and G.711 |
42 | 69 | Adrian Georgescu | * Zero configuration when communication over LAN (Bonjour) |
43 | 71 | Adrian Georgescu | * Presence using SIP SIMPLE (PUBLISH, SUBSCRIBE, NOTIFY and XCAP policy) |
44 | 33 | Adrian Georgescu | * Interactive Messaging (IM) and File transfer using MSRP protocol |
45 | 33 | Adrian Georgescu | * Multiparty chat using MSRP chat server |
46 | 33 | Adrian Georgescu | * Support for NAT traversal using ICE for RTP media and MSRP Relay for IM |
47 | 33 | Adrian Georgescu | * Sharing desktop screen using VLC protocol |
48 | 33 | Adrian Georgescu | * Video calls |
49 | 1 | ||
50 | 78 | 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 [SIP2SIP http://SIP2SIP.info] |
51 | 62 | Adrian Georgescu | |
52 | 62 | Adrian Georgescu | |
53 | 62 | Adrian Georgescu | == Integration with third-party projects == |
54 | 62 | Adrian Georgescu | |
55 | 65 | Adrian Georgescu | PyPjUA will be 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: |
56 | 62 | Adrian Georgescu | |
57 | 65 | Adrian Georgescu | * Interact in real time with each other using Rich Presence, IM and audio |
58 | 70 | Adrian Georgescu | * Communicate with other people that have access to SIP services from various SIP operators across the world |
59 | 12 | Adrian Georgescu | |
60 | 17 | Adrian Georgescu | == Developer program == |
61 | 17 | Adrian Georgescu | |
62 | 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] |
63 | 17 | Adrian Georgescu | |
64 | 12 | Adrian Georgescu | == Support == |
65 | 11 | Adrian Georgescu | |
66 | 11 | Adrian Georgescu | The software is developed and supported by [http://ag-projects.com AG Projects]. |