Protocols/MSNP/MSNC/Client Capabilities: Difference between revisions
Animadoria (talk | contribs) No edit summary |
Animadoria (talk | contribs) No edit summary |
||
Line 10: | Line 10: | ||
== Client Capabilities == | == Client Capabilities == | ||
Here are the values that we know to be used in client identification: | Here are the values that we know to be used in client identification: | ||
{| class="wikitable" | |||
|- | |||
! # !! Name !! Description | |||
|- | |||
| 0x00 || None || Self Explanatory | |||
|- | |||
| 0x01 || OnlineViaMobile || This means you are running a Windows Mobile device. The official client changes the little icon to a little man with a phone, and puts the status 'Phone' next to your name. | |||
|- | |||
| 0x02 || OnlineViaTexas || This value is set if you are a MSN Explorer 8 user, but it is sometimes used when the client resets its capabilities (Texas is the codename for MSN 8) | |||
|- | |||
| 0x04 || SupportsGifInk || Your client can send/receive Ink (GIF format) | |||
|- | |||
| 0x08 || SupportsIsfInk || Your client can send/receive Ink (ISF format) | |||
|- | |||
| 0x10 || WebCamDetected || This option is set when you are able to participate in video conversations. In reality, it is only set when you have a webcam connected and have it set to 'shared'. | |||
|- | |||
| 0x20 || SupportsChunking || This value is being used with Multi-Packet Messaging. | |||
|- | |||
| 0x40 || MobileEnabled || This is used when the client is running on a MSN Mobile device. This is equivalent to the MOB setting in the BPR list. | |||
|- | |||
| 0x80 || WebWatchEnabled || This is used when the client is running on a MSN Direct device. This is equivalent to the WWE setting in the BPR list. | |||
|- | |||
| 0x100 || SupportsActivities || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x200 || OnlineViaWebIM || This is used when someone signs in on the official Web-based MSN Messenger. It will show a new icon in other people's contact list. | |||
|- | |||
| 0x400 || MobileDevice || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x800 || OnlineViaFederatedInterface || Internal Microsoft client and/or Microsoft Office Live client (TGWClient). | |||
|- | |||
| 0x1000 || HasSpace || This means you have a MSN Space. | |||
|- | |||
| 0x2000 || IsMceUser || This means you are using Windows XP Media Center Edition. | |||
|- | |||
| 0x4000 || SupportsDirectIM || This means you support 'DirectIM' (creating direct connections for conversations rather than using the traditional switchboard) | |||
|- | |||
| 0x8000 || SupportsWinks || This means you support Winks receiving (If not set the official Client will warn with 'contact has an older client and is not capable of receiving Winks') | |||
|- | |||
| 0x10000 || SupportsSharedSearch || Your client supports the MSN Search feature | |||
|- | |||
| 0x20000 || IsBot || The client is bot (provisioned account) | |||
|- | |||
| 0x40000 || SupportsVoiceIM || This means you support Voice Clips receiving | |||
|- | |||
| 0x80000 || SupportsSChannel || This means you support Secure Channel Communications | |||
|- | |||
| 0x100000 || SupportsSipInvite || Supports SIP Invitations | |||
|- | |||
| 0x200000 || SupportsMultipartyMedia || Supports Tunneled SIP | |||
|- | |||
| 0x400000 || SupportsSDrive || Supports Sharing Folders / SkyDrive | |||
|- | |||
| 0x800000 || SupportsPageModeMessaging || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x1000000 || HasOneCare || The client has OneCare | |||
|- | |||
| 0x2000000 || SupportsTurn || Supports P2P TURN | |||
|- | |||
| 0x4000000 || SupportsDirectBootstrapping || Supports P2P Bootstrap via UUN | |||
|- | |||
| 0x8000000 || UsingAlias || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x10000000 || AppVersion60 || Supports MSNC1 (MSN Messenger 6.0) | |||
|- | |||
| 0x20000000 || AppVersion61 || Supports MSNC2 (MSN Messenger 6.1) | |||
|- | |||
| 0x30000000 || AppVersion62 || Supports MSNC3 (MSN Messenger 6.2) | |||
|- | |||
| 0x40000000 || AppVersion70 || Supports MSNC4 (MSN Messenger 7.0) | |||
|- | |||
| 0x50000000 || AppVersion75 || Supports MSNC5 (MSN Messenger 7.5) | |||
|- | |||
| 0x60000000 || AppVersion80 || Supports MSNC6 (Windows Live Messenger 8.0) | |||
|- | |||
| 0x70000000 || AppVersion81 || Supports MSNC7 (Windows Live Messenger 8.1) | |||
|- | |||
| 0x80000000 || AppVersion85 || Supports MSNC8 (Windows Live Messenger 8.5) | |||
|- | |||
| 0x90000000 || AppVersion90 || Supports MSNC9 (Windows Live Messenger 9.0 [not to be confused with 2009]) | |||
|- | |||
| 0xA0000000 || AppVersion2009 || Supports MSNC10 (Windows Live Messenger 2009) | |||
|- | |||
| 0xB0000000 || AppVersion2011 || Supports MSNC11 (Windows Live Messenger 2012) | |||
|- | |||
| 0xC0000000 || AppVersion2012 || Supports MSNC12 (Windows Live Messenger 2012) | |||
|} | |||
Note: If you support an MSNC protocol, the official client assumes that you also support all previous MSNC protocols. | Note: If you support an MSNC protocol, the official client assumes that you also support all previous MSNC protocols. | ||
Line 52: | Line 103: | ||
== Extended Client Capabilities (from MSNP16) == | == Extended Client Capabilities (from MSNP16) == | ||
{| class="wikitable" | |||
|- | |||
! # !! Name !! Description | |||
|- | |||
| 0x00 || None || Self Explanatory | |||
|- | |||
| 0x01 || IsSmsOnly || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x02 || SupportsVoiceOverMsnp || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x04 || SupportsUucpSipStack || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x08 || SupportsApplicationMessages || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x10 || RTCVideoEnabled || RTC Video is enabled | |||
|- | |||
| 0x20 || SupportsPeerToPeerV2 || Client supports P2Pv2 | |||
|- | |||
| 0x40 || IsAuthenticatedWebIMUser || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x80 || Supports1On1ViaGroup || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x100 || SupportsOfflineIM || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x200 || SupportsSharingVideo || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x400 || SupportsNudges || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x800 || CircleVoiceIMEnabled || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x1000 || SharingEnabled || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x2000 || MobileSuspendIMFanoutDisable || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x4000 || Unknown || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x8000 || SupportsPeerToPeerMixerRelay || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x10000 || Unknown || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x20000 || ConvWindowFileTransfer || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x40000 || VideoCallSupports16x9 || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x80000 || SupportsPeerToPeerEnveloping || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x100000 || Unknown || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x200000 || Unknown || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x400000 || YahooIMDisabled || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x800000 || SIPTunnelVersion2 || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x1000000 || VoiceClipSupportsWMAFormat || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x2000000 || VoiceClipSupportsCircleIM || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x4000000 || SupportsSocialNewsObjectTypes || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x8000000 || CustomEmoticonsCapable || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x10000000 || SupportsUTF8MoodMessages || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x20000000 || FTURNCapable || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x40000000 || SupportsP4Activity || NOT CURRENTLY DOCUMENTED | |||
|- | |||
| 0x80000000 || SupportsMultipartyConversations || NOT CURRENTLY DOCUMENTED | |||
|} | |||
Extended capabilities are written after the 'basic' capabilities, seperated by a colon. (capab:excapab) | Extended capabilities are written after the 'basic' capabilities, seperated by a colon. (capab:excapab) |
Revision as of 13:58, 12 December 2022
MSNP Protocol |
MSNC |
Overview • MSNObject |
Client Capabilities |
P2P protocol |
Transports • MSNSLP |
Headers |
P2Pv1 Binary headers |
P2Pv2 Binary headers |
Transfers |
Display Pictures |
Custom Emoticons |
File Transfer |
Overview |
Introduction • Terms • Clients |
Reference |
Error List • Commands • Relying Party Suite • Spotlife |
Services |
XMPP • HTTP Gateway • Tabs • Activities |
Documentation |
Development Tools • MSNP Grid |
Polygamy • URLs used by MSN |
Documents |
Protocol Versions |
Version 21 |
Version 18 |
Version 16 |
Version 15 |
Version 14 |
Version 13 |
Version 12 |
Version 11 |
Version 9 |
Version 8 |
Version 2 |
MSNC |
Introduction • P2P • Object Descriptor • Display Pictures • File Transfer |
Scenarios |
Microsoft Messenger for Mac |
MSNP on WebTV (MSNTV) |
Client Capabilities
In order to properly understand how client capabilities work in MSN Messenger, you would need a basic understanding binary arithmetic. This site assumes no knowledge of binary, so this discussion of client capabilities numbers is quite shallow. Client capabilities are very similar to list numbers, only a little bit more complicated.
The client capabilities are the sum of several values specifying capabilities advertised by the client.
Client Capabilities
Here are the values that we know to be used in client identification:
# | Name | Description |
---|---|---|
0x00 | None | Self Explanatory |
0x01 | OnlineViaMobile | This means you are running a Windows Mobile device. The official client changes the little icon to a little man with a phone, and puts the status 'Phone' next to your name. |
0x02 | OnlineViaTexas | This value is set if you are a MSN Explorer 8 user, but it is sometimes used when the client resets its capabilities (Texas is the codename for MSN 8) |
0x04 | SupportsGifInk | Your client can send/receive Ink (GIF format) |
0x08 | SupportsIsfInk | Your client can send/receive Ink (ISF format) |
0x10 | WebCamDetected | This option is set when you are able to participate in video conversations. In reality, it is only set when you have a webcam connected and have it set to 'shared'. |
0x20 | SupportsChunking | This value is being used with Multi-Packet Messaging. |
0x40 | MobileEnabled | This is used when the client is running on a MSN Mobile device. This is equivalent to the MOB setting in the BPR list. |
0x80 | WebWatchEnabled | This is used when the client is running on a MSN Direct device. This is equivalent to the WWE setting in the BPR list. |
0x100 | SupportsActivities | NOT CURRENTLY DOCUMENTED |
0x200 | OnlineViaWebIM | This is used when someone signs in on the official Web-based MSN Messenger. It will show a new icon in other people's contact list. |
0x400 | MobileDevice | NOT CURRENTLY DOCUMENTED |
0x800 | OnlineViaFederatedInterface | Internal Microsoft client and/or Microsoft Office Live client (TGWClient). |
0x1000 | HasSpace | This means you have a MSN Space. |
0x2000 | IsMceUser | This means you are using Windows XP Media Center Edition. |
0x4000 | SupportsDirectIM | This means you support 'DirectIM' (creating direct connections for conversations rather than using the traditional switchboard) |
0x8000 | SupportsWinks | This means you support Winks receiving (If not set the official Client will warn with 'contact has an older client and is not capable of receiving Winks') |
0x10000 | SupportsSharedSearch | Your client supports the MSN Search feature |
0x20000 | IsBot | The client is bot (provisioned account) |
0x40000 | SupportsVoiceIM | This means you support Voice Clips receiving |
0x80000 | SupportsSChannel | This means you support Secure Channel Communications |
0x100000 | SupportsSipInvite | Supports SIP Invitations |
0x200000 | SupportsMultipartyMedia | Supports Tunneled SIP |
0x400000 | SupportsSDrive | Supports Sharing Folders / SkyDrive |
0x800000 | SupportsPageModeMessaging | NOT CURRENTLY DOCUMENTED |
0x1000000 | HasOneCare | The client has OneCare |
0x2000000 | SupportsTurn | Supports P2P TURN |
0x4000000 | SupportsDirectBootstrapping | Supports P2P Bootstrap via UUN |
0x8000000 | UsingAlias | NOT CURRENTLY DOCUMENTED |
0x10000000 | AppVersion60 | Supports MSNC1 (MSN Messenger 6.0) |
0x20000000 | AppVersion61 | Supports MSNC2 (MSN Messenger 6.1) |
0x30000000 | AppVersion62 | Supports MSNC3 (MSN Messenger 6.2) |
0x40000000 | AppVersion70 | Supports MSNC4 (MSN Messenger 7.0) |
0x50000000 | AppVersion75 | Supports MSNC5 (MSN Messenger 7.5) |
0x60000000 | AppVersion80 | Supports MSNC6 (Windows Live Messenger 8.0) |
0x70000000 | AppVersion81 | Supports MSNC7 (Windows Live Messenger 8.1) |
0x80000000 | AppVersion85 | Supports MSNC8 (Windows Live Messenger 8.5) |
0x90000000 | AppVersion90 | Supports MSNC9 (Windows Live Messenger 9.0 [not to be confused with 2009]) |
0xA0000000 | AppVersion2009 | Supports MSNC10 (Windows Live Messenger 2009) |
0xB0000000 | AppVersion2011 | Supports MSNC11 (Windows Live Messenger 2012) |
0xC0000000 | AppVersion2012 | Supports MSNC12 (Windows Live Messenger 2012) |
Note: If you support an MSNC protocol, the official client assumes that you also support all previous MSNC protocols.
Extended Client Capabilities (from MSNP16)
# | Name | Description |
---|---|---|
0x00 | None | Self Explanatory |
0x01 | IsSmsOnly | NOT CURRENTLY DOCUMENTED |
0x02 | SupportsVoiceOverMsnp | NOT CURRENTLY DOCUMENTED |
0x04 | SupportsUucpSipStack | NOT CURRENTLY DOCUMENTED |
0x08 | SupportsApplicationMessages | NOT CURRENTLY DOCUMENTED |
0x10 | RTCVideoEnabled | RTC Video is enabled |
0x20 | SupportsPeerToPeerV2 | Client supports P2Pv2 |
0x40 | IsAuthenticatedWebIMUser | NOT CURRENTLY DOCUMENTED |
0x80 | Supports1On1ViaGroup | NOT CURRENTLY DOCUMENTED |
0x100 | SupportsOfflineIM | NOT CURRENTLY DOCUMENTED |
0x200 | SupportsSharingVideo | NOT CURRENTLY DOCUMENTED |
0x400 | SupportsNudges | NOT CURRENTLY DOCUMENTED |
0x800 | CircleVoiceIMEnabled | NOT CURRENTLY DOCUMENTED |
0x1000 | SharingEnabled | NOT CURRENTLY DOCUMENTED |
0x2000 | MobileSuspendIMFanoutDisable | NOT CURRENTLY DOCUMENTED |
0x4000 | Unknown | NOT CURRENTLY DOCUMENTED |
0x8000 | SupportsPeerToPeerMixerRelay | NOT CURRENTLY DOCUMENTED |
0x10000 | Unknown | NOT CURRENTLY DOCUMENTED |
0x20000 | ConvWindowFileTransfer | NOT CURRENTLY DOCUMENTED |
0x40000 | VideoCallSupports16x9 | NOT CURRENTLY DOCUMENTED |
0x80000 | SupportsPeerToPeerEnveloping | NOT CURRENTLY DOCUMENTED |
0x100000 | Unknown | NOT CURRENTLY DOCUMENTED |
0x200000 | Unknown | NOT CURRENTLY DOCUMENTED |
0x400000 | YahooIMDisabled | NOT CURRENTLY DOCUMENTED |
0x800000 | SIPTunnelVersion2 | NOT CURRENTLY DOCUMENTED |
0x1000000 | VoiceClipSupportsWMAFormat | NOT CURRENTLY DOCUMENTED |
0x2000000 | VoiceClipSupportsCircleIM | NOT CURRENTLY DOCUMENTED |
0x4000000 | SupportsSocialNewsObjectTypes | NOT CURRENTLY DOCUMENTED |
0x8000000 | CustomEmoticonsCapable | NOT CURRENTLY DOCUMENTED |
0x10000000 | SupportsUTF8MoodMessages | NOT CURRENTLY DOCUMENTED |
0x20000000 | FTURNCapable | NOT CURRENTLY DOCUMENTED |
0x40000000 | SupportsP4Activity | NOT CURRENTLY DOCUMENTED |
0x80000000 | SupportsMultipartyConversations | NOT CURRENTLY DOCUMENTED |
Extended capabilities are written after the 'basic' capabilities, seperated by a colon. (capab:excapab) For example 4:48 means that the client can send/receive Ink (GIF format) + RTC Video enabled + Supports P2PV2
Getting and setting Client Capabilities
To create a client capability number, sum the values in the above list which apply to your client. For example, if your client is a mobile phone supporting Protocols/MSNP/MSNC0, your client number is 1. Whereas if your client supports Protocols/MSNP/MSNC2, is able to receive ink messages and would like to advertise voice chat support, your client capacity number would be 0x20000014 (0x20000000 + 0x10 + 0x4), decimal 536870932 (536870912 + 16 + 4). Note: you can only specify one supported client protocol - both 0x10000000 and 0x20000000 means 0x30000000 (MSNC3).
Just like with list numbers, you can extract values from another principal's client capability number by bitwise ANDing the client capability with the value. This is the advised method for getting client capabilities, but it's better to get the client version number by dividing the client capability by 268435456 (hex 0x10000000) and rounding down to the nearest integer. This is called 'modulo division', and most programming languages have a function or mathematical operator for it. For Protocols/MSNP/MSNC0 clients, modulo division will always return 0, for Protocols/MSNP/MSNC1 clients, it'll always return 1, and for Protocols/MSNP/MSNC2 clients, it'll always return 2.
Example
WLM Messenger 2009 (build 14.0.8064.206) by default uses the value 0xa63cd03c:0x30 (2789003324:48).
- Can send/receive Ink (GIF format)
- Can send/receive Ink (ISF format)
- Can participate in video conversations
- Support multi-packet Messaging
- Has MSN spaces
- Support 'DirectIM'
- Can send/receive winks
- Can send/receive voice clips
- Support secure channel communications
- Support SIP Invitations
- Support Tunneled SIP
- Support P2P TURN
- Support P2P Bootstrap via UUN
- Uses client protocol Protocols/MSNP/MSNC10
- : (colon)
- RTC Video enabled
- Support P2PV2