<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.hoenzb
        {mso-style-name:hoenzb;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-GB link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Dave,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I’ll look to address these points, once the XSF editing mechanics are sorted.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Regards<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Steve <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div style='border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt'><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Standards [mailto:standards-bounces@xmpp.org] <b>On Behalf Of </b>Dave Cridland<br><b>Sent:</b> 14 July 2015 16:31<br><b>To:</b> XMPP Standards<br><b>Subject:</b> Re: [Standards] Proposed XMPP Extension: Zero Handshake Server to Server Protocol<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>I think it's worth noting that low-bandwidth support is a key differentiator for Isode's implementation, and so it's especially pleasing to see this low-bandwidth binding of XML Streams be submitted for standardization in this way. While I appreciate it's relatively niche, I think it will benefit the community, and exemplifies the nature of the community's relationship with industry, and our common desire for open standards.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Non-blocking comments follow:<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><p class=MsoNormal>With this specification as written, what happens is, roughly, that a TCP session is opened and then XML fragments sent "as if" a stream open had been sent, something like:<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><message to='bob@nato.example' from='alice@mod.example' type='chat' id='foo'><body>Hi!</body></message><o:p></o:p></p></div><div><p class=MsoNormal><stream:error>...</stream:error><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Two questions:<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>1) What defines what the default namespace is? (I think it's mandatorily defined as 'jabber:server')<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>2) When a stream is closed, should a close tag be exchanged? (I suspect yes, for all the reasons given in XEP-0190)<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>3) What defines what the stream prefix means? (I think it's fixed as '<a href="http://etherx.jabber.org/stream">http://etherx.jabber.org/stream</a>')<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>(1) and (3) can be specified as being due to an unsent <stream:stream xmlns:stream='...' xmlns='...'> tag, or by configuration. I'd prefer to fix the prefixes used, and minimize their use (ie, maybe require that stream errors should be explicitly namespaced).<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>It's tempting, as a result, to define more, such as XEP-0198's namespace for use with <r/> and <a/> elements, but this is rapidly increasing the complexity of the approach.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>An alternate design (changing the wire protocol) would be to send, pipelined, the stream-open, which XML namespaces properly defined. I think this is the most flexible approach, but I appreciate that accurately defining what has been implemented is the right first step.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Bandwidth constraints for the deployment of this protocol suggest we want to avoid explicitly namespacing elements if we can avoid it, so the approach used in the WebSocket binding, for example, is likely inappropriate.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div></div><div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>On 14 July 2015 at 15:35, Steve Kille <<a href="mailto:steve.kille@isode.com" target="_blank">steve.kille@isode.com</a>> wrote:<o:p></o:p></p><p class=MsoNormal>Let me give a bit more background on this proto-XEP.<br><br>We (Isode) have been involved with a number of systems operating over very high latency (several second) slow and flakey links.<br>Using standard XMPP over these links is barely useable - many minutes to establish communications.<br><br>The approach here of eliminating server to server handshakes has been implemented and tested in a number of UK and NATO trials.<br><br>It seems desirable to make this useful approach available as a XEP.  NATO are keen to see this happen, and I prefer to avoid<br>proprietary approaches.<br><br>This proto-XEP writes up what we implemented.     I'd welcome any input on this.<br><br>Regards<br><span style='color:#888888'><br><br><span class=hoenzb>Steve</span></span><o:p></o:p></p><div><div><p class=MsoNormal style='margin-bottom:12.0pt'><br><br>> -----Original Message-----<br>> From: Standards [mailto:<a href="mailto:standards-bounces@xmpp.org">standards-bounces@xmpp.org</a>] On Behalf Of XMPP Extensions Editor<br>> Sent: 14 July 2015 14:31<br>> To: <a href="mailto:standards@xmpp.org">standards@xmpp.org</a><br>> Subject: [Standards] Proposed XMPP Extension: Zero Handshake Server to Server Protocol<br>><br>> The XMPP Extensions Editor has received a proposal for a new XEP.<br>><br>> Title: Zero Handshake Server to Server Protocol<br>><br>> Abstract:<br>>   This specification defines an approach for a pair of servers to eliminate initial handshakes and associated<br>>   data transfer when using the XMPP S2S Protocol.  This approach may only be used with a priori agreement and configuration<br>>   of the two servers involved.  This is of significant benefit in high latency environments.<br>><br>><br>> URL: <a href="http://xmpp.org/extensions/inbox/optimized-s2s.html" target="_blank">http://xmpp.org/extensions/inbox/optimized-s2s.html</a><br>><br>> The XMPP Council will decide in the next two weeks whether to accept this proposal as an official XEP.<br><br><o:p></o:p></p></div></div></div><p class=MsoNormal><o:p> </o:p></p></div></div></div></body></html>