Index: protocols/msn/msn.c
===================================================================
--- protocols/msn/msn.c	(revision b46769d05371e501800a4658a0faf82c4ccdb0dd)
+++ protocols/msn/msn.c	(revision 50b8978f0662fc83aa2e3db1d40081c315c9e6cf)
@@ -106,4 +106,5 @@
 		g_free( md->tokens[0] );
 		g_free( md->tokens[1] );
+		g_free( md->tokens[2] );
 		g_free( md->lock_key );
 		
Index: protocols/msn/msn.h
===================================================================
--- protocols/msn/msn.h	(revision b46769d05371e501800a4658a0faf82c4ccdb0dd)
+++ protocols/msn/msn.h	(revision 50b8978f0662fc83aa2e3db1d40081c315c9e6cf)
@@ -49,6 +49,11 @@
 */
 
-#define MSNP11_PROD_KEY "RG@XY*28Q5QHS%Q5"
-#define MSNP11_PROD_ID  "PROD0113H11T8$X_"
+#define MSNP11_PROD_KEY "ILTXC!4IXB5FB*PX"
+//PK}_A_0N_K%O?A9S"
+#define MSNP11_PROD_ID  "PROD0119GSJUC$18"
+//PROD0114ES4Z%Q5W"
+#define MSNP_VER        "MSNP15"
+#define MSNP_BUILD      "8.5.1288"
+//"8.1.0178"
 
 #define MSN_SB_NEW         -24062002
@@ -79,5 +84,5 @@
 	
 	int trId;
-	char *tokens[2];
+	char *tokens[3];
 	char *lock_key;
 	
Index: protocols/msn/ns.c
===================================================================
--- protocols/msn/ns.c	(revision b46769d05371e501800a4658a0faf82c4ccdb0dd)
+++ protocols/msn/ns.c	(revision 50b8978f0662fc83aa2e3db1d40081c315c9e6cf)
@@ -74,5 +74,5 @@
 	md->handler->rxq = g_new0( char, 1 );
 	
-	g_snprintf( s, sizeof( s ), "VER %d MSNP15 CVR0\r\n", ++md->trId );
+	g_snprintf( s, sizeof( s ), "VER %d %s CVR0\r\n", ++md->trId, MSNP_VER );
 	if( msn_write( ic, s, strlen( s ) ) )
 	{
@@ -114,5 +114,5 @@
 	if( strcmp( cmd[0], "VER" ) == 0 )
 	{
-		if( cmd[2] && strncmp( cmd[2], "MSNP15", 5 ) != 0 )
+		if( cmd[2] && strncmp( cmd[2], MSNP_VER, 5 ) != 0 )
 		{
 			imcb_error( ic, "Unsupported protocol" );
Index: protocols/msn/soap.c
===================================================================
--- protocols/msn/soap.c	(revision b46769d05371e501800a4658a0faf82c4ccdb0dd)
+++ protocols/msn/soap.c	(revision 50b8978f0662fc83aa2e3db1d40081c315c9e6cf)
@@ -178,8 +178,10 @@
 	    	sd->secret = g_strdup( p->text );
 	
-	if( *id == '1' )
-		md->tokens[0] = g_strdup( node->text );
-	else if( *id == '2' )
-		md->tokens[1] = g_strdup( node->text );
+	*id -= '1';
+	if( *id >= 0 && *id <= 2 )
+	{
+		g_free( md->tokens[(int)*id] );
+		md->tokens[(int)*id] = g_strdup( node->text );
+	}
 	
 	return XT_HANDLED;
@@ -310,10 +312,11 @@
 	char *display_name_b64;
 	
-	display_name_b64 = tobase64( ic->displayname );
+	display_name_b64 = tobase64( set_getstr( &ic->acc->set, "display_name" ) );
 	
 	soap_req->url = g_strdup( SOAP_OIM_SEND_URL );
 	soap_req->action = g_strdup( SOAP_OIM_SEND_ACTION );
 	soap_req->payload = g_markup_printf_escaped( SOAP_OIM_SEND_PAYLOAD,
-		ic->acc->user, display_name_b64, oim->to, "bla", //md->passport_token,
+		ic->acc->user, display_name_b64, MSNP_VER, MSNP_BUILD,
+		oim->to, md->tokens[2],
 		MSNP11_PROD_ID, md->lock_key ? md->lock_key : "",
 		oim->number, oim->number, oim->msg );
Index: protocols/msn/soap.h
===================================================================
--- protocols/msn/soap.h	(revision b46769d05371e501800a4658a0faf82c4ccdb0dd)
+++ protocols/msn/soap.h	(revision 50b8978f0662fc83aa2e3db1d40081c315c9e6cf)
@@ -111,4 +111,13 @@
                "<wsse:PolicyReference xmlns=\"http://schemas.xmlsoap.org/ws/2003/06/secext\" URI=\"MBI\"></wsse:PolicyReference>" \
            "</wst:RequestSecurityToken>" \
+           "<wst:RequestSecurityToken Id=\"RST3\">" \
+               "<wst:RequestType>http://schemas.xmlsoap.org/ws/2004/04/security/trust/Issue</wst:RequestType>" \
+               "<wsp:AppliesTo>" \
+                   "<wsa:EndpointReference>" \
+                       "<wsa:Address>messengersecure.live.com</wsa:Address>" \
+                   "</wsa:EndpointReference>" \
+               "</wsp:AppliesTo>" \
+               "<wsse:PolicyReference xmlns=\"http://schemas.xmlsoap.org/ws/2003/06/secext\" URI=\"MBI_SSL\"></wsse:PolicyReference>" \
+           "</wst:RequestSecurityToken>" \
        "</ps:RequestMultipleSecurityTokens>" \
    "</Body>" \
@@ -119,5 +128,5 @@
 
 #define SOAP_OIM_SEND_URL "https://ows.messenger.msn.com/OimWS/oim.asmx"
-#define SOAP_OIM_SEND_ACTION "http://messenger.msn.com/ws/2004/09/oim/Store"
+#define SOAP_OIM_SEND_ACTION "http://messenger.live.com/ws/2006/09/oim/Store2"
 
 #define SOAP_OIM_SEND_PAYLOAD \
@@ -125,5 +134,5 @@
 "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" \
 "<soap:Header>" \
-  "<From memberName=\"%s\" friendlyName=\"=?utf-8?B?%s?=\" xml:lang=\"nl-nl\" proxy=\"MSNMSGR\" xmlns=\"http://messenger.msn.com/ws/2004/09/oim/\" msnpVer=\"MSNP13\" buildVer=\"8.0.0328\"/>" \
+  "<From memberName=\"%s\" friendlyName=\"=?utf-8?B?%s?=\" xml:lang=\"nl-nl\" proxy=\"MSNMSGR\" xmlns=\"http://messenger.msn.com/ws/2004/09/oim/\" msnpVer=\"%s\" buildVer=\"%s\"/>" \
   "<To memberName=\"%s\" xmlns=\"http://messenger.msn.com/ws/2004/09/oim/\"/>" \
   "<Ticket passport=\"%s\" appid=\"%s\" lockkey=\"%s\" xmlns=\"http://messenger.msn.com/ws/2004/09/oim/\"/>" \
