<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=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@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;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-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;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:96213820;
        mso-list-type:hybrid;
        mso-list-template-ids:1815088660 1540932092 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:\F0D8;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:"Times New Roman";
        mso-bidi-font-family:"Times New Roman";}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
-->
</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-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Let’s say I’m logged in as:<o:p></o:p></p>

<p class=MsoNormal>user@server/one<o:p></o:p></p>

<p class=MsoNormal>user@server/two<o:p></o:p></p>

<p class=MsoNormal>user@server/three<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>This means if that “user@server/one” announces “<presence><show>dnd</show></presence>”
the server needs to follow the rule in XMPP Section 5.1.1:<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>>In addition, the user's server MUST broadcast initial <o:p></o:p></p>

<p class=MsoNormal>>presence from the user's new available resource to <o:p></o:p></p>

<p class=MsoNormal>>any of the user's existing available resources (if any).<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>I think here that “any of the user’s”
needs to be changed to “all of the user’s”. I know it seems
like a nit, but the way it’s worded, I would be correct in sending the
presence to just one of the resources, rather than both. If the change is made to
“all users’, does that include the user who is broadcasting initial
presence. I’m on the fence: On the one hand, it makes the life of a
client developer a little bit easier, but on the other hand, it’s a
pretty lazy client developer who can’t deal with that. <o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>This issue shows up again in 5.1.2: Presence Broadcasts. <o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>I had always been of the opinion that if user@server/one
changes his presence, that the server needs to propagate that to all of that
users resources. Section 5.1.2 doesn’t say that anywhere though. I know
clients are expecting this, but I couldn’t find it anywhere. Now that we’re
amending the xmpp drafts, it seems like a good time to do this. I would the following
into 5.1.2: <o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>>In addition, the user's server MUST broadcast <o:p></o:p></p>

<p class=MsoNormal>>presence from the user's available resource to <o:p></o:p></p>

<p class=MsoNormal>>all of the user's existing available resources.<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>--<o:p></o:p></p>

<p class=MsoNormal>Chris Mullins<o:p></o:p></p>

<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Arial","sans-serif";
color:#004200'><a
href="http://www.coversant.net/blogs/cmullins?utm_source=Email%2BDistribution&utm_medium=email&utm_content=Email%2Bfrom%2BChris%2BMullins&utm_campaign=Organic"><span
style='color:blue'>http://www.coversant.net/blogs/cmullins</span></a></span><u><span
style='color:blue'><o:p></o:p></span></u></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

</div>

</body>

</html>