WBSO

Version 21 (Tijmen de Mes, 11/08/2012 12:05 pm)

1 4 Adrian Georgescu
h1. WBSO status
2 1 Adrian Georgescu
3 18 Adrian Georgescu
h2. Performed activities 2012
4 7 Adrian Georgescu
5 17 Adrian Georgescu
!20121105-Progress-AgentschapNL.png!
6 17 Adrian Georgescu
7 20 Adrian Georgescu
h3. Presence 
8 20 Adrian Georgescu
9 20 Adrian Georgescu
Tickets 425, 447, 473
10 12 Adrian Georgescu
11 10 Adrian Georgescu
Implemented Presence in the middleware, the client side and server side. At over 15,000 lines of Python code, Presence is by far the most complex part of the SDK and the reason it took so long to produce. Presence functionality is now incorporated into an easy to use address book that can be used to develop contact-driven Real Time Communication clients without having to deal with the complexity of SIP signaling, XCAP storage and data replication among multiple devices.
12 7 Adrian Georgescu
13 21 Tijmen de Mes
http://sipsimpleclient.ag-projects.com/projects/sipsimpleclient/news
14 1 Adrian Georgescu
15 12 Adrian Georgescu
h3. Implemented XMMP translation for Chat and Presence
16 11 Adrian Georgescu
17 1 Adrian Georgescu
http://sylkserver.ag-projects.com/news/7
18 12 Adrian Georgescu
19 16 Adrian Georgescu
h3. MacOSX version completed (without Video yet)
20 11 Adrian Georgescu
21 11 Adrian Georgescu
 * The MacOSX version now has all Presence integrated
22 11 Adrian Georgescu
23 11 Adrian Georgescu
http://projects.ag-projects.com/news/15
24 13 Adrian Georgescu
25 13 Adrian Georgescu
h2. Roadmap
26 13 Adrian Georgescu
27 15 Adrian Georgescu
 * XMMP translation for audio calls
28 15 Adrian Georgescu
 * XMMP translation for file transfers
29 15 Adrian Georgescu
 * Multiparty support for MUC add/remove participants
30 14 Adrian Georgescu
 * Adding Chat for Linux and Windows client
31 1 Adrian Georgescu
 * Adding File Transfer for Linux and Windows client
32 1 Adrian Georgescu
 * Adding Screen sharing for Linux and Windows client
33 15 Adrian Georgescu
 * Adding Screen sharing for Linux and Windows client
34 15 Adrian Georgescu
 * Migration to PJSIP 2.0 that solves many of the outstanding issues
35 15 Adrian Georgescu
 * Add Video support in middleware
36 15 Adrian Georgescu
 * Add Video to MacOSX client
37 15 Adrian Georgescu
 * Add Video to Linux and Window client
38 19 Adrian Georgescu
39 19 Adrian Georgescu
40 19 Adrian Georgescu
h2. Current Issues (February 17th, 2012)
41 19 Adrian Georgescu
42 19 Adrian Georgescu
1. -Cannot correlate session with local and remote end-points state (busy, available, on the phone and type of media supported by the remote end-point) (Tickets 144, 118, 130)-
43 19 Adrian Georgescu
2. The approach to implement video did not worked as envisaged (Ticket 18, 135)
44 19 Adrian Georgescu
3. -The address book is unreliable, causing loss of contacts, duplicated contacts or broken synchronization among multiple instances (Ticket 143, 144)-
45 19 Adrian Georgescu
4. -Presence Chat and file transfer are perceived as being useless because of lack of interoperability with XMPP users (Gmail, Facebook) (no ticket)-
46 19 Adrian Georgescu
5. Session is unreliable when adding/removing streams and network has packet loss (Ticket 107, 135)
47 19 Adrian Georgescu
6. TLS transport is not working properly due to assumption that is a general setting (Ticket 120, 135)
48 19 Adrian Georgescu
49 19 Adrian Georgescu
h2. Solutions
50 19 Adrian Georgescu
51 19 Adrian Georgescu
1. -Integration and synchronization of Presence with different media streams (speech, IM, File transfer and video) in only one SIP session-
52 19 Adrian Georgescu
2. The libraries we relied upon were buggy and poorly supported. It was actually to early to start working on video and it was too complex of a task to approach with only one developer. PJSIP 2.0 has added basic video support in the mean time. We will migrate to PJSIP 2.0 that has support for video libraries that are already integrated into the media layer 
53 19 Adrian Georgescu
3. -The IETF model for contacts management seem to be broken as it allows non-atomic operations. For example when one contact is added, 3 XCAP documents must be saved over the network and if any one fails, there is no way to reliably rollback only parts of the operation. The solution is to use the OMA standards (Open Mobile Alliance) that defines the Presence and Address book together in a main document and the other documents use links to the entries in the main document. This way only one document can be written for a contact add update or delete and this operational can be done atomically-
54 19 Adrian Georgescu
4. -Presence and Chat must be refactored to support XMPP translation in order to interoperate with other users using other protocols-
55 19 Adrian Georgescu
5. All operations in the session must be serialized and applied when they can be performed. This requires refactoring of the session model
56 19 Adrian Georgescu
6. Each SIP account requires its own encrypted transport because TLS connections have per account settings, for example verify_peer and certificate validation depends on foreign domain