<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.nina.chat/index.php?action=history&amp;feed=atom&amp;title=Protocols%2FMSNP%2FMSNC%2FDisplay_pictures</id>
	<title>Protocols/MSNP/MSNC/Display pictures - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.nina.chat/index.php?action=history&amp;feed=atom&amp;title=Protocols%2FMSNP%2FMSNC%2FDisplay_pictures"/>
	<link rel="alternate" type="text/html" href="https://wiki.nina.chat/index.php?title=Protocols/MSNP/MSNC/Display_pictures&amp;action=history"/>
	<updated>2026-06-26T09:40:20Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://wiki.nina.chat/index.php?title=Protocols/MSNP/MSNC/Display_pictures&amp;diff=4294&amp;oldid=prev</id>
		<title>Animadoria at 19:13, 11 May 2022</title>
		<link rel="alternate" type="text/html" href="https://wiki.nina.chat/index.php?title=Protocols/MSNP/MSNC/Display_pictures&amp;diff=4294&amp;oldid=prev"/>
		<updated>2022-05-11T19:13:01Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:13, 11 May 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Protocols/MSNP&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/MSNC_Navigation&lt;/del&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Protocols/MSNP&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|section=MSNC&lt;/ins&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Overview=&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Overview=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Animadoria</name></author>
	</entry>
	<entry>
		<id>https://wiki.nina.chat/index.php?title=Protocols/MSNP/MSNC/Display_pictures&amp;diff=2525&amp;oldid=prev</id>
		<title>AD: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://wiki.nina.chat/index.php?title=Protocols/MSNP/MSNC/Display_pictures&amp;diff=2525&amp;oldid=prev"/>
		<updated>2020-05-29T00:23:39Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:23, 29 May 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>AD</name></author>
	</entry>
	<entry>
		<id>https://wiki.nina.chat/index.php?title=Protocols/MSNP/MSNC/Display_pictures&amp;diff=2524&amp;oldid=prev</id>
		<title>Wikipedia&gt;Admin at 01:10, 2 March 2011</title>
		<link rel="alternate" type="text/html" href="https://wiki.nina.chat/index.php?title=Protocols/MSNP/MSNC/Display_pictures&amp;diff=2524&amp;oldid=prev"/>
		<updated>2011-03-02T01:10:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Protocols/MSNP/MSNC_Navigation}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
&lt;br /&gt;
Sending and receiving display pictures doesn't only depend on the MSNSLP protocol, but also on schemes being used by the binary header and footer. The scheme for sending or receiving display pictures isn't the same as for receiving files. The scheme for sending and receiving display pictures is not very difficult: Just go with the flow. If some fields of the binary string aren't discussed in a message, you should set it's value to zero.&lt;br /&gt;
&lt;br /&gt;
A display picture transfer will go like this:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;&amp;lt; Invitation&lt;br /&gt;
*&amp;gt;&amp;gt; ''Acknowledgement&lt;br /&gt;
*&amp;gt;&amp;gt; 200 OK&lt;br /&gt;
*&amp;lt;&amp;lt; ''Acknowledgement&lt;br /&gt;
*&amp;gt;&amp;gt; Data preparation message&lt;br /&gt;
*&amp;lt;&amp;lt; ''Acknowledgement&lt;br /&gt;
*&amp;gt;&amp;gt; Data piece 1&lt;br /&gt;
*&amp;gt;&amp;gt; Data piece 2&lt;br /&gt;
*...&lt;br /&gt;
*&amp;gt;&amp;gt; Data piece n ''(Actually the data is only ONE message, split in parts)&lt;br /&gt;
*&amp;lt;&amp;lt; ''Acknowledgement (Therefore only one acknowledgement is send after the last packet)&lt;br /&gt;
*''(The picture should now be visible)&lt;br /&gt;
*&amp;lt;&amp;lt; BYE&lt;br /&gt;
*&amp;gt;&amp;gt; ''Acknowledgement&lt;br /&gt;
&lt;br /&gt;
Note that all messages in this flow are mandatory: the official MSN client will refuse your display picture if you don't send acknowledgements or set the binary header fields incorrectly.&lt;br /&gt;
&lt;br /&gt;
First, the receiving client (RC) sends the sending client (SC) an invitation to start a session. The ''Identifier'' field of that invitation should contain a generated BaseIdentifier, the Identifier field of the following messages should be calculated from that BaseIdentifier. The identifier of the next messages send by the SC should be ''BaseIdentifier - 3'', ''BaseIdentifier - 2'' and so on. If the field reaches the ''BaseIdentifier'' again, you should proceed with ''BaseIdentifier + 1'', ''BaseIdentifier + 2'' and so on.&lt;br /&gt;
&lt;br /&gt;
The receiving client should on its turn send messages with ''BaseIdentifier + 1'', ''BaseIdentifier + 2'' and so on as values for the ''Identifier'' field.&lt;br /&gt;
&lt;br /&gt;
=Invitation message=&lt;br /&gt;
&lt;br /&gt;
*See [[Protocols/MSNP/MSNC/MSNSLP#INVITE Request|Invite Request]]&lt;br /&gt;
&lt;br /&gt;
'''Binary header'''&lt;br /&gt;
*The receiving client should generate a BaseIdentifier and set is as value of the ''Identifier'' field.&lt;br /&gt;
'''Content'''&lt;br /&gt;
*'''CSeq''' is 0&lt;br /&gt;
*'''EUF-GUID''' is ''{A4268EEC-FEC5-49E5-95C3-F126696BDBF6}'' to indicate that it's an invite to send a display picture.&lt;br /&gt;
*'''SessionID''' must have the Session Identifier as value.&lt;br /&gt;
*'''AppID''' is 1&lt;br /&gt;
*'''Context''' is the [http://en.wikipedia.org/wiki/Base64 base64] encoded string of the [[Protocols/MSNP/MSNC/MSNObject|MSNObject]]&lt;br /&gt;
*As always when sending MSNSLP, append NUL (0x00 character) to the end of the message.&lt;br /&gt;
'''Binary footer'''&lt;br /&gt;
*'''Application Identifier''' is 0&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 MSG 1 D 800&lt;br /&gt;
 MIME-Version: 1.0&lt;br /&gt;
 Content-Type: application/x-msnmsgrp2p&lt;br /&gt;
 P2P-Dest: buddy1@hotmail.com&lt;br /&gt;
&lt;br /&gt;
 ''00 00 00 00 58 A9 18 01 00 00 00 00 00 00 00 00&lt;br /&gt;
 ''91 02 00 00 00 00 00 00 91 02 00 00 00 00 00 00&lt;br /&gt;
 ''AB 38 1E 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 INVITE MSNMSGR:buddy1@hotmail.com MSNSLP/1.0&lt;br /&gt;
 To: &amp;lt;msnmsgr:buddy1@hotmail.com&amp;gt;&lt;br /&gt;
 From: &amp;lt;msnmsgr:me@hotmail.com&amp;gt;&lt;br /&gt;
 Via: MSNSLP/1.0/TLP ;branch={33517CE4-02FC-4428-B6F4-39927229B722}&lt;br /&gt;
 CSeq: 0&lt;br /&gt;
 Call-ID: {9D79AE57-1BD5-444B-B14E-3FC9BB2B5D58}&lt;br /&gt;
 Max-Forwards: 0&lt;br /&gt;
 Content-Type: application/x-msnmsgr-sessionreqbody&lt;br /&gt;
 Content-Length: 326&lt;br /&gt;
&lt;br /&gt;
 EUF-GUID: {A4268EEC-FEC5-49E5-95C3-F126696BDBF6}&lt;br /&gt;
 SessionID: 1980589&lt;br /&gt;
 AppID: 1&lt;br /&gt;
 Context: PG1zbm9iaiBDcmVhdG9yPSJidWRkeTFAaG90bWFpbC5jb20iIFNpemU9IjI0NTM5IiBUeXBlPSIzIiBMb2NhdGlvbj0iVEZSMkMudG1wIiBGcmllbmRseT0iQUFBPSIgU0hBMUQ9InRyQzhTbEZ4MnNXUXhaTUlCQVdTRW5YYzhvUT0iIFNIQTFDPSJVMzJvNmJvc1p6bHVKcTgyZUF0TXB4NWRJRUk9Ii8+DQoA&lt;br /&gt;
 ''00&lt;br /&gt;
 ''00 00 00 00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Invitation acknowledged message=&lt;br /&gt;
*See [[Protocols/MSNP/MSNC/MSNSLP#Sending_acknowledgements|Sending acknowledgements]]&lt;br /&gt;
&lt;br /&gt;
*'''Identifier''' is the generated BaseIdentifier&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 MSG buddy1@hotmail.com D 139&lt;br /&gt;
 MIME-Version: 1.0&lt;br /&gt;
 Content-Type: application/x-msnmsgrp2p&lt;br /&gt;
 P2P-Dest: me@hotmail.com&lt;br /&gt;
&lt;br /&gt;
 ''00 00 00 00 3B 99 4F 02 00 00 00 00 00 00 00 00&lt;br /&gt;
 ''91 02 00 00 00 00 00 00 00 00 00 00 02 00 00 00&lt;br /&gt;
 ''58 A9 18 01 AB 38 1E 00 91 02 00 00 00 00 00 00&lt;br /&gt;
 ''00 00 00 00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=200 OK message=&lt;br /&gt;
&lt;br /&gt;
If everything is okay, the SC can respond with a ''200 OK'' message. But if there are some things it doesn't accept, it should send another error back instead of 200 OK. For the ''Identifier'' it doesn't matter if it's a 200 OK, a 404 Not Found or something else.&lt;br /&gt;
&lt;br /&gt;
'''Binary header&lt;br /&gt;
*'''SessionID''' is 0&lt;br /&gt;
*'''Identifier''' is the next available sending client sequence identifier. The other fields have the same value as those described by the invitation message.&lt;br /&gt;
'''Content&lt;br /&gt;
*'''CSeq''' is the value of the ''CSeq'' field from the invitation message + 1&lt;br /&gt;
*'''SessionID''' is the same as in the invitation message&lt;br /&gt;
'''Binary footer&lt;br /&gt;
*'''Application Identifier''' is 0&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 MSG buddy1@hotmail.com D 417&lt;br /&gt;
 MIME-Version: 1.0&lt;br /&gt;
 Content-Type: application/x-msnmsgrp2p&lt;br /&gt;
 P2P-Dest: me@hotmail.com&lt;br /&gt;
&lt;br /&gt;
 ''00 00 00 00 38 99 4F 02 00 00 00 00 00 00 00 00&lt;br /&gt;
 ''46 01 00 00 00 00 00 00 46 01 00 00 00 00 00 00&lt;br /&gt;
 ''4B 99 4F 02 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 MSNSLP/1.0 200 OK&lt;br /&gt;
 To: &amp;lt;msnmsgr:me@hotmail.com&amp;gt;&lt;br /&gt;
 From: &amp;lt;msnmsgr:buddy1@hotmail.com&amp;gt;&lt;br /&gt;
 Via: MSNSLP/1.0/TLP ;branch={33517CE4-02FC-4428-B6F4-39927229B722}&lt;br /&gt;
 CSeq: 1&lt;br /&gt;
 Call-ID: {9D79AE57-1BD5-444B-B14E-3FC9BB2B5D58}&lt;br /&gt;
 Max-Forwards: 0&lt;br /&gt;
 Content-Type: application/x-msnmsgr-sessionreqbody&lt;br /&gt;
 Content-Length: 23&lt;br /&gt;
&lt;br /&gt;
 SessionID: 1980589&lt;br /&gt;
&lt;br /&gt;
 ''00&lt;br /&gt;
 ''00 00 00 00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=200 OK acknowledged message=&lt;br /&gt;
&lt;br /&gt;
*See [[Protocols/MSNP/MSNC/MSNSLP#Sending_acknowledgements|Sending acknowledgements]]&lt;br /&gt;
&lt;br /&gt;
*'''Identifier''' is the next available receiving client sequence identifier&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 MSG 2 D 143&lt;br /&gt;
 MIME-Version: 1.0&lt;br /&gt;
 Content-Type: application/x-msnmsgrp2p&lt;br /&gt;
 P2P-Dest: buddy1@hotmail.com&lt;br /&gt;
&lt;br /&gt;
 ''00 00 00 00 59 A9 18 01 00 00 00 00 00 00 00 00&lt;br /&gt;
 ''46 01 00 00 00 00 00 00 00 00 00 00 02 00 00 00&lt;br /&gt;
 ''38 99 4F 02 4B 99 4F 02 46 01 00 00 00 00 00 00&lt;br /&gt;
 ''00 00 00 00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Data preparation message=&lt;br /&gt;
&lt;br /&gt;
If the sending client received the ''200 OK acknowledged message'' from the receiving client it should send a &amp;quot;data preparation message&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''Binary header&lt;br /&gt;
*'''SessionID''' is the SessionID as from the invitation message&lt;br /&gt;
*'''Identifier''' is the next available sending client sequence identifier&lt;br /&gt;
*'''Total data size''' is 4, because the data in this message is four bytes long.&lt;br /&gt;
*'''Unique Identifier''' (seventh field) should have a random number&lt;br /&gt;
'''Content&lt;br /&gt;
*This message should have 4 NUL (0x00 characters) as data.&lt;br /&gt;
'''Binary footer&lt;br /&gt;
*'''Application identifier''' is differently from previous messages, 1. Because this is [http://en.wikipedia.org/wiki/Endianness big endian] (big end first), the binary string looks like this: ''0x00 0x00 0x00 0x01''&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 MSG buddy1@hotmail.com D 143&lt;br /&gt;
 MIME-Version: 1.0&lt;br /&gt;
 Content-Type: application/x-msnmsgrp2p&lt;br /&gt;
 P2P-Dest: me@hotmail.com&lt;br /&gt;
&lt;br /&gt;
 ''AD 38 1E 00 39 99 4F 02 00 00 00 00 00 00 00 00&lt;br /&gt;
 ''04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00&lt;br /&gt;
 ''57 99 4F 02 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 ''00 00 00 00&lt;br /&gt;
 ''00 00 00 01&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Data preparation acknowledged message=&lt;br /&gt;
&lt;br /&gt;
*See [[Protocols/MSNP/MSNC/MSNSLP#Sending_acknowledgements|Sending acknowledgements]]&lt;br /&gt;
&lt;br /&gt;
*'''Identifier''' field is the next available receiving client sequence identifier&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 MSG 3 D 143&lt;br /&gt;
 MIME-Version: 1.0&lt;br /&gt;
 Content-Type: application/x-msnmsgrp2p&lt;br /&gt;
 P2P-Dest: buddy1@hotmail.com&lt;br /&gt;
&lt;br /&gt;
 ''AD 38 1E 00 5A A9 18 01 00 00 00 00 00 00 00 00&lt;br /&gt;
 ''04 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00&lt;br /&gt;
 ''39 99 4F 02 57 99 4F 02 04 00 00 00 00 00 00 00&lt;br /&gt;
 ''00 00 00 00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Data message(s)=&lt;br /&gt;
&lt;br /&gt;
If everything till now was alright, the sending client can send the content of the display picture file. Although it is only one message, it is generally big enough to have to be split into several MSG commands, each with a binary header and footer:&lt;br /&gt;
*See [[Protocols/MSNP/MSNC/MSNSLP#Splitting_big_messages|Splitting big messages]]&lt;br /&gt;
&lt;br /&gt;
'''Binary header&lt;br /&gt;
*'''Identifier''' is the next available sending client sequence identifier&lt;br /&gt;
*'''SessionID''' is the SessionID&lt;br /&gt;
*'''Data offset''' is the bytes already sent&lt;br /&gt;
*'''Data length''' is the length of the file&lt;br /&gt;
*'''Message length''' is the size of the content of this P2P message&lt;br /&gt;
*'''Flag''' is 0x20 to indicate that this the message content is display picture or custom emoticon data&lt;br /&gt;
*'''Unique Identifier''' (seventh field) is a random number&lt;br /&gt;
'''Content&lt;br /&gt;
*This message should contain the content of the display picture file. (Which is often split)&lt;br /&gt;
'''Binary footer&lt;br /&gt;
*'''Application identifier''' is 1 big endian: ''0x00 0x00 0x00 0x01&lt;br /&gt;
&lt;br /&gt;
Example (start):&lt;br /&gt;
 MSG buddy1@hotmail.com D 1341&lt;br /&gt;
 MIME-Version: 1.0&lt;br /&gt;
 Content-Type: application/x-msnmsgrp2p&lt;br /&gt;
 P2P-Dest: me@hotmail.com&lt;br /&gt;
&lt;br /&gt;
 AD 38 1E 00 3A 99 4F 02 00 00 00 00 00 00 00 00&lt;br /&gt;
 78 05 00 00 00 00 00 00 B2 04 00 00 20 00 00 00&lt;br /&gt;
 64 9A 4F 02 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 PNG File Data Start&lt;br /&gt;
 00 00 00 01&lt;br /&gt;
&lt;br /&gt;
Example (end):&lt;br /&gt;
 MSG buddy1@hotmail.com D 337&lt;br /&gt;
 MIME-Version: 1.0&lt;br /&gt;
 Content-Type: application/x-msnmsgrp2p&lt;br /&gt;
 P2P-Dest: me@hotmail.com&lt;br /&gt;
&lt;br /&gt;
 AD 38 1E 00 3A 99 4F 02 B2 04 00 00 00 00 00 00&lt;br /&gt;
 78 05 00 00 00 00 00 00 C6 00 00 00 20 00 00 00&lt;br /&gt;
 78 9A 4F 02 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 PNG File Data End&lt;br /&gt;
 00 00 00 01&lt;br /&gt;
&lt;br /&gt;
When the complete data has arrived, the display picture should be visible if everything went fine. If you can't see it, check your MSN object and that every field in the messages have correct values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Data acknowledged message=&lt;br /&gt;
&lt;br /&gt;
*See [[Protocols/MSNP/MSNC/MSNSLP#Sending_acknowledgements|Sending acknowledgements]]&lt;br /&gt;
&lt;br /&gt;
*'''Identifier''' is the next available receiving client sequence identifier&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 MSG 4 D 143&lt;br /&gt;
 MIME-Version: 1.0&lt;br /&gt;
 Content-Type: application/x-msnmsgrp2p&lt;br /&gt;
 P2P-Dest: buddy1@hotmail.com&lt;br /&gt;
&lt;br /&gt;
 ''AD 38 1E 00 5B A9 18 01 00 00 00 00 00 00 00 00&lt;br /&gt;
 ''78 05 00 00 00 00 00 00 00 00 00 00 02 00 00 00&lt;br /&gt;
 ''3A 99 4F 02 78 9A 4F 02 78 05 00 00 00 00 00 00&lt;br /&gt;
 ''00 00 00 00&lt;br /&gt;
&lt;br /&gt;
Note that only '''one acknowledgement''' is sent once '''all parts of the split data message have been received'''.&lt;br /&gt;
&lt;br /&gt;
=Bye message=&lt;br /&gt;
&lt;br /&gt;
*See [[Protocols/MSNP/MSNC/MSNSLP#BYE_Request|Bye Request]]&lt;br /&gt;
&lt;br /&gt;
'''Binary header&lt;br /&gt;
*'''Identifier''' is the next available receiving client sequence identifier&lt;br /&gt;
*'''SessionID''' is 0&lt;br /&gt;
*The other fields have the same value as those described by the [[#Invitation Message|Invitation Message]]&lt;br /&gt;
'''Content&lt;br /&gt;
*'''CSeq''' is 0&lt;br /&gt;
*The message body is a CRLF followed by a NUL (0x00 character)&lt;br /&gt;
'''Binary footer&lt;br /&gt;
*'''Application identifier''' is 0&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 MSG 5 D 472&lt;br /&gt;
 MIME-Version: 1.0&lt;br /&gt;
 Content-Type: application/x-msnmsgrp2p&lt;br /&gt;
 P2P-Dest: buddy1@hotmail.com&lt;br /&gt;
&lt;br /&gt;
 ''00 00 00 00 5C A9 18 01 00 00 00 00 00 00 00 00&lt;br /&gt;
 ''49 01 00 00 00 00 00 00 49 01 00 00 00 00 00 00&lt;br /&gt;
 ''04 9B 4F 02 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 BYE MSNMSGR:buddy1@hotmail.com MSNSLP/1.0&lt;br /&gt;
 To: &amp;lt;msnmsgr:buddy1@hotmail.com&amp;gt;&lt;br /&gt;
 From: &amp;lt;msnmsgr:me@hotmail.com&amp;gt;&lt;br /&gt;
 Via: MSNSLP/1.0/TLP ;branch={A0D624A6-6C0C-4283-A9E0-BC97B4B46D32}&lt;br /&gt;
 CSeq: 0&lt;br /&gt;
 Call-ID: {9D79AE57-1BD5-444B-B14E-3FC9BB2B5D58}&lt;br /&gt;
 Max-Forwards: 0&lt;br /&gt;
 Content-Type: application/x-msnmsgr-sessionclosebody&lt;br /&gt;
 Content-Length: 3&lt;br /&gt;
&lt;br /&gt;
 ''00&lt;br /&gt;
 ''00 00 00 00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Bye acknowledged message=&lt;br /&gt;
&lt;br /&gt;
*See [[Protocols/MSNP/MSNC/MSNSLP#Sending_acknowledgements|Sending acknowledgements]]&lt;br /&gt;
&lt;br /&gt;
*'''Identifier''' is the next available sending client sequence identifier&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 MSG buddy1@hotmail.com D 139&lt;br /&gt;
 MIME-Version: 1.0&lt;br /&gt;
 Content-Type: application/x-msnmsgrp2p&lt;br /&gt;
 P2P-Dest: me@hotmail.com&lt;br /&gt;
&lt;br /&gt;
 ''00 00 00 00 3C 99 4F 02 00 00 00 00 00 00 00 00&lt;br /&gt;
 ''49 01 00 00 00 00 00 00 00 00 00 00 02 00 00 00&lt;br /&gt;
 ''5C A9 18 01 04 9B 4F 02 49 01 00 00 00 00 00 00&lt;br /&gt;
 ''00 00 00 00&lt;br /&gt;
&lt;br /&gt;
[[Category:MSN]]&lt;br /&gt;
[[Category:Protocols/MSNP]]&lt;br /&gt;
[[Category:Work_In_Progress]]&lt;/div&gt;</summary>
		<author><name>Wikipedia&gt;Admin</name></author>
	</entry>
</feed>