MSNP10 Protocol
 FrontPage|FindPage|TitleIndex|RecentChanges|UserPreferences E D R S P I M H RSS

Linux-PAMProgrammingLocaleÁ¤º¸MD5¾Ë°í¸®ÁòMSNFTPProtocolMSNMessenger › MSNP10Protocol
<!> UnderConstruction

Contents:
1 MSNP10 ¶õ?
2 Áֿ丵ũ
3 ·Î±×ÀÎ
3.1 DS ¼­¹ö Á¢¼Ó
3.2 NS ¼­¹ö Á¢¼Ó
3.3 PS ¼­¹ö Á¢¼Ó
3.4 SB ¼­¹ö Á¢¼Ó
3.5 Ŭ¶óÀÌ¾ðÆ® ID ³Ñ¹ö
4 ÀÚ½ÅÀÇ Á¤º¸ °ü¸®
5 ±×·ì °ü¸®
5.1 ±×·ì ¸ñ·Ï ¹Þ±â


1 MSNP10 ¶õ? #



2 Áֿ丵ũ #


3 ·Î±×ÀÎ #


3.1 DS ¼­¹ö Á¢¼Ó #


Dispatch Server ( DS )

3.2 NS ¼­¹ö Á¢¼Ó #


Notification Server ( NS )

3.3 PS ¼­¹ö Á¢¼Ó #


Passport Server ( PS : SSL )

3.4 SB ¼­¹ö Á¢¼Ó #


Switch-board Server( SB )

3.5 Ŭ¶óÀÌ¾ðÆ® ID ³Ñ¹ö #


10 Áø¼ö 16 Áø¼ö ¼³ ¸í
1 0x00000001The client is running on a Windows Mobile device, such as a smartphone or Pocket PC. The official client changes the icon of a buddy with this bit set from a little man to a little man with a phone, and puts "(phone)" next to their name.
2 0x00000002We don't know what this means, but the official client sometimes sets it when resetting its capabilities.
4 0x00000004The client is capable of viewing "ink" messages.
8 0x00000008The client is capable of viewing and creating "ink" messages.
16 0x00000010The client can participate in video conversations. The official client only sets this when you have a webcam connected and have chosen to share your webcam with others.
32 0x00000020We don't yet know what this means, but version 6.0 and above of the official client always sets this bit (it's hardcoded into the client), so it must be something that can't be turned off.
64 0x00000040The client has a MSN Mobile device you can page them on. This is equivalent to the MOB value in the principal's BPR list, and nothing to do with Windows Mobile.
128 0x00000080The client has an MSN Direct device you can direct-page them on. This is equivalent to the WWE value in the principal's BPR list.
2684354560x10000000The client supports client protocols up to and including MSNC1.
5368709120x20000000The client supports client protocols up to and including MSNC2.


4 ÀÚ½ÅÀÇ Á¤º¸ °ü¸® #


»óÅ ÄÚµå ¼³ ¸í
NLN Make the client Online (after logging in) and send and receive notifications about buddies.
FLN Make the client Offline. If the client is already online, offline notifications will be sent to users on the RL. No message activity is allowed. In this state, the client can only synchronize the lists as described above.
HDN Make the client Hidden/Invisible. If the client is already online, offline notifications will be sent to users on the RL. The client will appear as Offline to others but can receive online/offline notifications from other users, and can also synchronize the lists. Clients cannot receive any instant messages in this state.
All other States are treated as sub-states of NLN (online). The other States currently supported are:
BSY Busy.
IDL Idle.
BRB Be Right Back.
AWY Away From Computer.
PHN On The Phone.
LUN Out To Lunch.


5 ±×·ì °ü¸® #


5.1 ±×·ì ¸ñ·Ï ¹Þ±â #


S -> C: LSG {±×·ì_À̸§} {±×·ì_GUID}\r\n

5.2 ±×·ì Ãß°¡ #


5.3 ±×·ì »èÁ¦ #



6 Ä£±¸ °ü¸® #


  • Ä£±¸ »óÅ ÄÚµå
      4   3   2   1   0
    +---+---+---+---+---+
    | 0 | 0 | 0 | 0 | 0 |
    +---+---+---+---+---+
    

    ºñÆ® °ª ¼³ ¸í
    4 0x10 »õ Ä£±¸ Ãß°¡
    3 0x08 »ó´ëÆí ¸ñ·Ï ÀÚ½ÅÀÌ µî·ÏµÇ¾î ÀÖÀ½
    2 0x04 »óÅ Àü¼Û°ú ¸Þ¼¼Áö Â÷´Ü
    1 0x02 »óÅ Àü¼Û°ú ¸Þ¼¼Áö Çã¿ë
    0 0x01 ÀÚ½ÅÀÇ ´ëÈ­ »ó´ë ¸ñ·Ï¿¡ µî·ÏµÇ¾î ÀÖÀ½

6.1 Ä£±¸ ¸ñ·Ï ¹Þ±â #


S -> C: LST N={Ä£±¸_¸ÞÀÏ} F={MSN_´ëÈ­¸í} C={Ä£±¸_GUID} {»óÅÂ_ÄÚµå} {±×·ì_GUID}\r\n
  or
S -> C: LST N={Ä£±¸_¸ÞÀÏ} {»óÅÂ_ÄÚµå}\r\n

6.2 Ä£±¸ Ãß°¡ #


6.2.1 ¿äû #


C -> S: ADC {TrID_01} FL N={Ä£±¸_¸ÞÀÏ} F={MSN_´ëÈ­¸í}\r\n
S -> C: ADC {TrID_01} FL N={Ä£±¸_¸ÞÀÏ} F={MSN_´ëÈ­¸í} C={Ä£±¸_GUID}\r\n
C -> S: ADC {TrID_02} AL N={Ä£±¸_¸ÞÀÏ}\r\n
S -> C: ADC {TrID_02} AL N={Ä£±¸_¸ÞÀÏ}\r\n

6.2.2 ½Â³« #


S -> C: LST N={Ä£±¸_¸ÞÀÏ} F={MSN_´ëÈ­¸í} {»óÅÂ_ÄÚµå: 16}\r\n
C -> S: ADC {TrID_01} FL N={Ä£±¸_¸ÞÀÏ} F={MSN_´ëÈ­¸í}\r\n
S -> C: ADC {TrID_01} FL N={Ä£±¸_¸ÞÀÏ} F={MSN_´ëÈ­¸í} C={Ä£±¸_GUID}\r\n
C -> S: ADC {TrID_02} AL N={Ä£±¸_¸ÞÀÏ}\r\n
S -> C: ADC {TrID_02} AL N={Ä£±¸_¸ÞÀÏ}\r\n
C -> S: ADC {TrID_03} RL N={Ä£±¸_¸ÞÀÏ}\r\n
S -> C: ADC {TrID_03} RL N={Ä£±¸_¸ÞÀÏ}\r\n

6.3 Ä£±¸ »èÁ¦ #


6.4 Ä£±¸ »óÅ ¹Þ±â #


S -> C: ILN {TrID} NLN {Ä£±¸_¸ÞÀÏ} {MSN_´ëÈ­¸í} {Ŭ¶óÀ̾ðÆ®_ID} {msnobj_ű×}\r\n


7 ÀνºÅÏÆ® ¸Þ¼¼Áö #


7.1 ´ëÈ­ ½Åû #


  • ´ëÈ­ ½Â¶ô ( Ä£±¸ -> ÀڽŠ)
    NS -> C: RNG {¼¼¼ÇID} {SB¼­¹ö_IP}:{Æ÷Æ®} CKI {ÀÎÁõŰ} {Ä£±¸_¸ÞÀÏ} {MSN_´ëÈ­¸í}\r\n
    
    >>> SB ¼­¹ö·Î TCP ¿¬°á
    C -> SB: ANS {TrID_01} {ÀÚ½Å_¸ÞÀÏ} {ÀÎÁõŰ} {¼¼¼ÇID}\r\n
    SB -> C: IRO {TrID_01} 1 1 {Ä£±¸_¸ÞÀÏ} {MSN_´ëÈ­¸í}\r\n
    SB -> C: ANS {TrID_01} OK\r\n
    

  • ´ëÈ­ ½Åû1 ( ÀڽŠ-> Ä£±¸ )
    C -> NS: XFR {TrID_a} SB\r\n
    NS -> C: XFR {TrID_a} SB {SB¼­¹ö_IP}:{Æ÷Æ®} CKI {¼¼¼ÇID}.{ÀÎÁõŰ}\r\n
    
    >>> SB ¼­¹ö·Î TCP ¿¬°á
    C -> SB: USR {TrID_01} {ÀÚ½Å_¸ÞÀÏ} {¼¼¼ÇID}.{ÀÎÁõŰ}\r\n
    SB -> C: USR {TrID_01} OK {ÀÚ½Å_¸ÞÀÏ} {MSN_´ëÈ­¸í}\r\n
    C -> SB: CAL {TrID_02} {Ä£±¸_¸ÞÀÏ}\r\n
    SB -> C: CAL {TrID_02} RINGING {¼¼¼ÇID}\r\n
    SB -> C: JOI {Ä£±¸_¸ÞÀÏ} {MSN_´ëÈ­¸í}\r\n
    

  • ´ëÈ­ ½Åû2 ( ¼¼¼Ç À¯ÁöµÈ »óÅ¿¡¼­ Àç¿äû )
    C -> SB: CAL {TrID_01} {Ä£±¸_¸ÞÀÏ}\r\n
    SB -> C: CAL {TrID_01} RINGING {¼¼¼ÇID}\r\n
    SB -> C: JOI {Ä£±¸_¸ÞÀÏ} {MSN_´ëÈ­¸í}\r\n
    

7.2 ´ëÈ­ ´Ý±â #


  • Ä£±¸ÀÇ ´ëÈ­ ´Ý±â ( ¼¼¼Ç À¯Áö )
    SB -> C: BYE {Ä£±¸_¸ÞÀÏ}\r\n
    

  • ÀÚ½ÅÀÇ ´ëÈ­ ´Ý±â
    C -> SB: OUT
    >>> SB ¼­¹öÀÇ TCP ´Ý±â
    

7.3 ŰÀÔ·Â #


  • Ŭ¶óÀÌ¾ðÆ® -> SB ¼­¹ö ( Àü¼Û )
    MSG {TrID} U {¸Þ¼¼Áö_Å©±â}\r\n
    MIME-Version: 1.0\r\n
    Content-Type: text/x-msmsgscontrol\r\n
    TypingUser: {¸ÞÀÏ}\r\n
    \r\n
    \r\n
    

  • SB ¼­¹ö -> Ŭ¶óÀÌ¾ðÆ® ( ¼ö½Å )
    MSG {Ä£±¸_¸ÞÀÏ} {MSN_´ëÈ­¸í} {¸Þ¼¼Áö_Å©±â}\r\n
    MIME-Version: 1.0\r\n
    Content-Type: text/x-msmsgscontrol\r\n
    TypingUser: {Ä£±¸_¸ÞÀÏ}\r\n
    \r\n
    \r\n
    

7.4 ´ëÈ­ #


  • Ŭ¶óÀÌ¾ðÆ® -> SB ¼­¹ö ( Àü¼Û )
    MSG {TrID} N {¸Þ¼¼Áö_Å©±â}\r\n
    MIME-Version: 1.0\r\n
    Content-Type: text/plain; charset=UTF-8\r\n
    X-MMS-IM-Format: FN={±Û²Ã}; EF={¸ð¾ç}; CO={»ö»ó}; CS={¹®ÀÚ¼Â}; PF={ÇÇÄ¡}\r\n
    \r\n
    {¸Þ¼¼Áö}
    

  • SB ¼­¹ö -> Ŭ¶óÀÌ¾ðÆ® ( ¼ö½Å )
    MSG {Ä£±¸_¸ÞÀÏ} {MSN_´ëÈ­¸í} {¸Þ¼¼Áö_Å©±â}\r\n
    MIME-Version: 1.0\r\n
    Content-Type: text/plain; charset=UTF-8\r\n
    X-MMS-IM-Format: FN={±Û²Ã}; EF={¸ð¾ç}; CO={»ö»ó}; CS={¹®ÀÚ¼Â}; PF={ÇÇÄ¡}\r\n
    \r\n
    {¸Þ¼¼Áö}
    

7.4.1 ÆùÆ® Á¤º¸ #


FN
URL-encoded name of font ( ¿¹: %EA%B5%B4%EB%A6%BC(±¼¸²) ).
EF
which of the four effects are being used (Bold, Italic, Strikeout, and Underline). If multiple effects are used, they are concatenated together, like BISU. If no effects are used, just leave no space between the = and the ;.
CO
hexidecimal BBGGRR color of the font. Note that this is the other way round to HTML's RRGGBB values. Also, 0's on the left are optional, so "0000FF", "00FF" and "FF" all mean "red" ( ¿¹: 800080 ).
CS
Charset (refer to the table below) ( ¿¹: 81 ).
PF
Hexadecimal value for pitch and family used in both richedit and logfont. I really don't know anything about this, but Tristan explains this very well on the Discussion Forum. If this link becomes at sometime broken (like I change forums), feel free to contact me ( ¿¹: 32 ).
RL
Right-to-left script. Language is written right-to-left (e.g. Arabic, Hebrew) instead of left-to-right (English, French).

EditText|FindPage|DeletePage|LikePages| Valid XHTML 1.0! Valid CSS! powered by MoniWiki