After reviewing some old notes and looking into some of the configuration issues with Messenger some of the XML files will be required just to enable some features. The system.xml file is responsible for a lot of option enable flags with newer versions controlling things like yahoo chat, sms, yahoo360, launchcast, pingbox, and avatars. Enabling/disabling some features can be done via a set of flags passed in the user profile packet but not all. The good thing is that so far the default settings used when the file is not available seem to be working ok but I’m not expecting that to hold out when I hit 8.1
The biggest blocker for this is the signing requirements of the files which carry over to other files such as filter.xml (packet field filtering - you want this, trust me!), imvironments.xml, and partner.xml. Later versions have other options for avatars, plugins, etc. that are found in the XML files. There are additional files downloaded to support the features enabled by system.xml. The newer the version the more files will be required - guess where the emoticons are defined in newer versions For example in the videos I posted Messenger 5.6 had Net2Phone enabled but 5.6 introduced messaging to mobile devices. I managed to swap the two but the approach is a bit unstable. Being able to include and modify that file would be a much better approach.
Supporting the feature is possible but requires validating the carrier via validate.msg.yahoo.com (dead domain) and an SMS provider with an API. I’ll map out the packet for completeness but plan on removing both Net2Phone and mobile messaging until I start supporting 8.1. Other features like IMVironments and Audibles are a lot more practical but will require a bit of tedious investigation and may require you to create you own. At least for Messenger 6.0 IMVironments are required if you want to support features like file or photo sharing. Messenger 5.6 appears to have 3 IMVironments embedded in res_msgr.dll so if you can figure out how to point to them from the configuration file you’ll at least be able to support the ones available.
Interestingly enough there are also some dialogs that point to features that aren’t readily available.
- Support for logging into AIM servers
- Support for logging into ICQ servers.
- Alternate logins for company portals
- Parental control
- Creating a poll
- Message Box / Answering Machine
- Creating custom tabs
Some like the company portals, AIM and ICQ services are probably registry hacks although they could require an active session for enabling AIM and ICQ support. The only one I’m interested in is the portal login as it’s a possible solution for alternate authentication methods.