ODF
Version 6 (Adrian Georgescu, 11/04/2014 12:58 pm) → Version 7/21 (Adrian Georgescu, 11/04/2014 01:14 pm)
h1. ODF integration
This documents layout the changes required to support a new type of stream for collaborative editing.
h2. SDK changes
h3. Signaling
There is no need to alter anything related to signalling.
h3. Media
h4. Variant 1
This by far the simplest way. Establish a standard chat stream and add _'application/odf+xml'_ to the lists of supported payloads.
h4. Variant 2
A new MSRP media type can be created similar to file-transfer or screen sharing. See SIP SIMPLE Client SDK MSRP streams definition:
<pre>
sipsimple/streams/msrp.py
</pre>
h4. Example of a new type of stream
<pre>
class ODFStream(MSRPStreamBase):
type = 'odf'
media_type = 'odf'
accept_types = ['application/odf+xml']
accept_wrapped_types = ['*']
</pre>
Once established, the MSRP stream can cary back and forth payloads of the types specified in the stream definition. Is up to the end-points to handle the actual payloads and match various files shared through this mechanism over the same session. The SIP session id can be used to group together various flows within the same stream.
h3. Presence
The end-points supporting this feature will advertise this capability by publishing it using SIP SIMPLE Presence. For this the end-point capabilities must be extended to support off.
<pre>
sipsimple/payloads/caps.py
</pre>
h2. GUI changes
The GUI must handle sessions for incoming and outgoing media stream defined above by creating its own controller.
This documents layout the changes required to support a new type of stream for collaborative editing.
h2. SDK changes
h3. Signaling
There is no need to alter anything related to signalling.
h3. Media
h4. Variant 1
This by far the simplest way. Establish a standard chat stream and add _'application/odf+xml'_ to the lists of supported payloads.
h4. Variant 2
A new MSRP media type can be created similar to file-transfer or screen sharing. See SIP SIMPLE Client SDK MSRP streams definition:
<pre>
sipsimple/streams/msrp.py
</pre>
h4. Example of a new type of stream
<pre>
class ODFStream(MSRPStreamBase):
type = 'odf'
media_type = 'odf'
accept_types = ['application/odf+xml']
accept_wrapped_types = ['*']
</pre>
Once established, the MSRP stream can cary back and forth payloads of the types specified in the stream definition. Is up to the end-points to handle the actual payloads and match various files shared through this mechanism over the same session. The SIP session id can be used to group together various flows within the same stream.
h3. Presence
The end-points supporting this feature will advertise this capability by publishing it using SIP SIMPLE Presence. For this the end-point capabilities must be extended to support off.
<pre>
sipsimple/payloads/caps.py
</pre>
h2. GUI changes
The GUI must handle sessions for incoming and outgoing media stream defined above by creating its own controller.