OK, I worked today on this issue and I found it comes from JML API.
In fact, I also checked out JML API and changed it a little in order to be able to listen at low level MsnSession.
I activated my listener in your org.jivesoftware.wildfire.gateway.protocols.msn.MSNSession class, and I got this debug log :
2006.10.05 00:21:28 Creating MSN session for user=lionheart@clansk.org
2006.10.05 00:21:28 Loging in to MSN session for user=lionheart@clansk.org
2006.10.05 00:21:29 An existing resource has changed status: sk_lionheart@ik63005.ikexpress.com/Psi
2006.10.05 00:21:29 MSN : Session messageSent for user=lionheart@clansk.org : VER 1 MSNP12 MSNP11 MSNP10 MSNP9 MSNP8 CVR0
2006.10.05 00:21:29 MSN : Session messageSent for user=lionheart@clansk.org : CVR 2 0x0409 win 2.6.12-15mdk-i686-up-4GB i386 MSNMSGR 6.2.0205 MSMSGS lionheart@clansk.org
2006.10.05 00:21:29 MSN : Session messageSent for user=lionheart@clansk.org : USR 3 TWN I lionheart@clansk.org
2006.10.05 00:21:29 MSN : Session established for user=lionheart@clansk.org
2006.10.05 00:21:29 MSN : Session Idle for user=lionheart@clansk.org
2006.10.05 00:21:29 MSN : Session messageReceived for user=lionheart@clansk.org : VER 1 MSNP12 MSNP11 MSNP10 MSNP9 MSNP8 CVR0
2006.10.05 00:21:29 MSN : Session closed for user=lionheart@clansk.org
-
As you can see, the MSN session is closed, but MSNSession was unable to trap this close event since there isn’'t any listener at the MsnSession level. To add this listener, I had to modify the BasicMessenger class in JML API, because this listener is not accessible directly. I can send you the modified classes that properly close the session.
-
It seams the JML API has a bug as you can see because the session stopped after the first message received from the MSN server. It’'s quite hard to solve. Are you sure that JML API works well ?
Message was edited by: sk_lionheart