MSN Protocol documentation

Youness Alaoui kakaroto at kakaroto.homelinux.net
Sat Feb 9 23:35:49 EST 2008


arghh.. not intentional.. I just hit 'r' and didn't notice it sent it in private.. forwarding to the ML now, so guys, read the previous 2 mails 
before continuing...

ok, I see about vv==av :p yes, a dedicated section is definitely necessary, considering the amount of data we'll have to put in there.. 

On a side note, I've just (5 minutes ago) been able to decode a WMV3 stream received from WLM in the audio/video conference thingy :D 
The audio is the problem now because of the stupid snack extension for tcl opening/closing the audio device on every chunk of sound (every 
50ms).. and now, I have to write a Tcl extension for libavcodec... apart from that, the only remaining challenge is encoding WMV3 (no encoder 
exists in open source), but I'll try to send ML20 frames and see if WLM uses the FCC in the header to decode, or if it uses the WMV3 
decoder hardcoded and skips the FCC field... if it works, then aMSN might be the first open source solution with interop audio/video 
conversations :D 


KaKaRoTo

On Sat, Feb 09, 2008 at 11:53:55PM -0300, Dx wrote:
> vv == voice/video, what you've just explained. "vv" is just a
> protocol-independent name used in pidgin/adium, and maybe jabber. Uhm,
> it's also the same as A/V :P
> 
> BTW, you did not send this to the mailing list, was that intentional?
> 
> 
> On 2/9/08, Youness Alaoui <kakaroto at kakaroto.homelinux.net> wrote:
> > cool, nice idea.
> > About webcam, there are multiple A/V protocols, there's the 'webcam', the 'video conference', the 'computer call', and the old style style video
> > conference. webcam is unidirectional video and uses msnp2p, video conference is bidirectional audio and video and uses the same protocol as
> > webcam (EXACT same in every little detail) the only thing that changes is the Context field when sending an invite (amsn now has a branch
> > supporting video conference and it's just an 'if/else' changing the context field, everything else is the same and it works just fine), the only
> > other difference is of course the codecs being used being different (+ some payloading for specifying if it's an audio or a video frame
> > received...), so that only applies on what you receive once you established a connection.
> > old style invitations (video conference and file transfers, whiteboard sharing, etc..) are not used anymore unless your client id has the msncX
> > (for FT) capabilities flags disabled (windows messenger 5.x interop) or the 'sip' flag (for computer call).
> > What's the "vv features" ?
> >
> > KaKaRoTo
> >
> > On Sat, Feb 09, 2008 at 06:56:08PM -0300, Dx wrote:
> > > Added an "index" section filled with nice red links inviting people to
> > > write something in there.
> > >
> > > What could be improved/added/modified:
> > > -The location of the Login and SOAP sections. Login requires SOAP
> > > -Webcam: I added it in the Other features section. I'm not sure if it
> > > uses SLP for session initiation, then it would fit in P2P.
> > > -Old-style invitations, not just file transfer. Some audio/video
> > > features in the latest versions of the official client still use this.
> > > -Maybe a dedicated section for vv features?
> > >
> > > Also, navigation, anyone with leet wiki skillz here?
> > >
> > >
> > > On 2/5/08, Youness Alaoui <kakaroto at kakaroto.homelinux.net> wrote:
> > > > Hi,
> > > > http://imfreedom.org/wiki/index.php/MSN
> > > >
> > > > Initial page set up in there.. should be improved and data copied from the other sites into that one (link where necessary like for the ISF
> > > > format, no need to duplicate that one).
> > > > We should also divide the page into the different sub protocols. All MSN related pages should be in the MSN category. So we would have :
> > > > MSN:MSNP2P
> > > > MSN:SSO
> > > > MSN:Webcam
> > > > MSN:Commands
> > > > MSN:Gateway
> > > > etc...
> > > >
> > > > more organisation can come later if necessary.
> > > > If you feel at easy with a part of the protocol, just create your own page (after checking the recent changes and making sure it's not already
> > > > started) and start documenting it.. we could link all those pages to the main MSN page, and format everything correctly after..
> > > >
> > > >
> > > > KaKaRoTo
> > > >
> > > > On Fri, Feb 01, 2008 at 09:57:49PM -0500, Youness Alaoui wrote:
> > > > > Hi,
> > > > > I agree on keeping the latest only, I don't like the 'transition' thing on msnpiki, it's useful when you have a preivous implementation but it's
> > > > > a pain in the a** if you want to start implementing a new client. What I would suggest is having the latest documented, when we move from one
> > > > > protocol version to another, we couldcopy the MSNP15 to MSNP16, set MSNP15 as obsolete, and modify the MSNP16 to show the changes, in order to
> > > > > always have one full spec for one protocol. And we should maybe also add a 'changes' page so that already existing clients can look up the
> > > > > differences, instead of rereading the whole msnp16 thing and looking for changes..
> > > > > in short :
> > > > > MSNP15 (obsolete)
> > > > > Changes from MSNP15 to MSNP16
> > > > > MSNP16 (full spec)
> > > > >
> > > > > About documentation, I pretty much know everything there is to know about the protocol, hehe.. I've been reverse engineering and implementing the
> > > > > protocol for 6 years now so anything you can't do, I can take care of it. I know the http gateway stuff, msnp2p, file transfers, webcam, etc..
> > > > > I can document what I see missing, but I could get webcam protocol assigned to me if you want, as well as OIM, Spaces... As well as MSNP2P if
> > > > > there's something missing.
> > > > > Is it ok with everyone ?
> > > > >
> > > > > KaKaRoTo
> > > > >
> > > > > On Sat, Feb 02, 2008 at 01:21:37AM +0200, Felipe Contreras wrote:
> > > > > > On Feb 2, 2008 12:14 AM, Mariano Guerra <luismarianoguerra at gmail.com> wrote:
> > > > > > > On Feb 1, 2008 10:58 PM, Dx <dx at dxzone.com.ar> wrote:
> > > > > > > > Also I would love to see those things left apart in msnpiki, such as
> > > > > > > > the HTTP method documentation, which is only available in hypothetic.
> > > > > > >
> > > > > > > I implemented once a hackish http support for emesenelib and now I have to
> > > > > > > make it right, so I can document the http method while I rewrite that
> > > > > > > if no one oppose :D.
> > > > > >
> > > > > > I would say; go ahead!
> > > > > >
> > > > > > I also just implemented http method so I can help you with that :)
> > > > > >
> > > > > > Did you do it a single connection for ns/sb's or one per each?
> > > > > >
> > > > > > --
> > > > > > Felipe Contreras
> > > > > > _______________________________________________
> > > > > > Openim mailing list
> > > > > > Openim at imfreedom.org
> > > > > > http://pidgin.im/cgi-bin/mailman/listinfo/openim
> > > > > _______________________________________________
> > > > > Openim mailing list
> > > > > Openim at imfreedom.org
> > > > > http://pidgin.im/cgi-bin/mailman/listinfo/openim
> > > > _______________________________________________
> > > > Openim mailing list
> > > > Openim at imfreedom.org
> > > > http://pidgin.im/cgi-bin/mailman/listinfo/openim
> > > >
> > >
> > >
> > > --
> > > dx
> > >
> > > (disclaimer: my english grammar may or may not be bad, that depends on
> > > lots of variables that I am too lazy to consider, thanks)
> >
> 
> 
> -- 
> dx


More information about the Openim mailing list