[sip-comm-dev] File transfer functionality for the SIP-Communicator


#1

Good morning,

my name is Patrick Lamber. I'm a Computer Science student at the Free

University of Bolzano (Italy). I'm visiting a Programming course with

some other colleagues and form a project group where we are supposed

to take an open source project and add some functionalities to it. Our

group have chosen as open source project the Sip Communicator and as a

feature to add the file transfer between two MSN clients. Today, I saw

that you already have implemented some file transfer functionalities

for the SIP-Communicator some months ago. Now I would like to ask you,

if you could give us some advices or help how to implement the file

transfer feature for the MSN protocol.

Have a nice day

Patrick Lamber


#2

Hi Patrick,

Welcome on the ML!

I don't know exactly what has been implemented in SC so far, but for sure
somebody will be able to answer this question ;).

Concerning the file transfer for MSN, AFAIK, there are 2 versions of it. At
least it was like this when I worked on this 3 years, so it might have changed
in fact.

I've worked on the implementation (for another IM client) of the file transfer
which uses an external TCP connexion to transfer the data. We refered to this
file transfer as the "old file transfer" (even if I'm not sure whether or not it
was really much older than the second one). In this file transfer, an invitation
message is first sent on the switchboard (with content type: x-msmsgsinvite,
application name key set to "File Transfer" and some other fields like cookie,
filename, filesize, etc if I remember well). The two clients then agree on who
will initiate the connection (a bit like the active/passive FTP system), and the
transfer starts in a separate TCP connection (after a quick handshake in this
stream too, to avoid sending the wrong file to the wrong buddy). The blocks are
then organized in a special way I can't remember.

The other file transfer transmits the file directly on the switchboard and uses
the so-called MSNP2P protocol. It was quite messy and I must admit that I don't
remember much about it since I only helped a friend which was in charge of its
implementation. If you need more information about it, I can put you in relation
with him.

It was quite tricky to find useful information about the file transfer protocol
3 years ago, so we worked a lot by doing reverse-engineering on packet captures.
Still, there were some sources on the net which were more or less complete:

. There should be a very old draft paper from microsoft giving very little
detail on the MSN protocol.
. Refer to www.hypothetic.org . It was quite incomplete 3 years ago, but I just
took a look at it, and there seems to be much more information now.
. Maybe google a bit and try to find a website called MSN Fanatics or something
like this.

If you have any question about the MSN FT (especially the one I refer as "the
old one"), feel free to contact me.

Hope this helps :).

Cheers,
Chris.

Selon Lamber Patrick <Patrick.Lamber@unibz.it>:

···

Good morning,

my name is Patrick Lamber. I'm a Computer Science student at the Free

University of Bolzano (Italy). I'm visiting a Programming course with

some other colleagues and form a project group where we are supposed

to take an open source project and add some functionalities to it. Our

group have chosen as open source project the Sip Communicator and as a

feature to add the file transfer between two MSN clients. Today, I saw

that you already have implemented some file transfer functionalities

for the SIP-Communicator some months ago. Now I would like to ask you,

if you could give us some advices or help how to implement the file

transfer feature for the MSN protocol.

Have a nice day

Patrick Lamber

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#3

Hi,

the file transfer for msn protocol is implemented in the lib we are using
you can check it at http://java-jml.sourceforge.net/
also you can check the mailing list as there were some discussions of this.

damencho

Chris wrote:

···

Hi Patrick,

Welcome on the ML!

I don't know exactly what has been implemented in SC so far, but for sure
somebody will be able to answer this question ;).

Concerning the file transfer for MSN, AFAIK, there are 2 versions of it. At
least it was like this when I worked on this 3 years, so it might have changed
in fact.

I've worked on the implementation (for another IM client) of the file transfer
which uses an external TCP connexion to transfer the data. We refered to this
file transfer as the "old file transfer" (even if I'm not sure whether or not it
was really much older than the second one). In this file transfer, an invitation
message is first sent on the switchboard (with content type: x-msmsgsinvite,
application name key set to "File Transfer" and some other fields like cookie,
filename, filesize, etc if I remember well). The two clients then agree on who
will initiate the connection (a bit like the active/passive FTP system), and the
transfer starts in a separate TCP connection (after a quick handshake in this
stream too, to avoid sending the wrong file to the wrong buddy). The blocks are
then organized in a special way I can't remember.

The other file transfer transmits the file directly on the switchboard and uses
the so-called MSNP2P protocol. It was quite messy and I must admit that I don't
remember much about it since I only helped a friend which was in charge of its
implementation. If you need more information about it, I can put you in relation
with him.

It was quite tricky to find useful information about the file transfer protocol
3 years ago, so we worked a lot by doing reverse-engineering on packet captures.
Still, there were some sources on the net which were more or less complete:

. There should be a very old draft paper from microsoft giving very little
detail on the MSN protocol.
. Refer to www.hypothetic.org . It was quite incomplete 3 years ago, but I just
took a look at it, and there seems to be much more information now.
. Maybe google a bit and try to find a website called MSN Fanatics or something
like this.

If you have any question about the MSN FT (especially the one I refer as "the
old one"), feel free to contact me.

Hope this helps :).

Cheers,
Chris.

Selon Lamber Patrick <Patrick.Lamber@unibz.it>:

Good morning,

my name is Patrick Lamber. I'm a Computer Science student at the Free

University of Bolzano (Italy). I'm visiting a Programming course with

some other colleagues and form a project group where we are supposed

to take an open source project and add some functionalities to it. Our

group have chosen as open source project the Sip Communicator and as a

feature to add the file transfer between two MSN clients. Today, I saw

that you already have implemented some file transfer functionalities

for the SIP-Communicator some months ago. Now I would like to ask you,

if you could give us some advices or help how to implement the file

transfer feature for the MSN protocol.

Have a nice day

Patrick Lamber

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#4

Hello,
Thank you a lot. A question to emil about the work that you already have
done about the file transfer.
What went wrong or what is missing in your file transfer implementation?
Why is this version not already part
of sip-communicator?

Have a nice day
patrick

···

-----Original Message-----

From: Damian Minkov [mailto:damencho@damencho.com]

Sent: Friday, 02 November, 2007 14:04
To: dev@sip-communicator.dev.java.net
Subject: Re: [sip-comm-dev] File transfer functionality for the
SIP-Communicator

Hi,

the file transfer for msn protocol is implemented in the lib we are
using
you can check it at http://java-jml.sourceforge.net/
also you can check the mailing list as there were some discussions of
this.

damencho

Chris wrote:

Hi Patrick,

Welcome on the ML!

I don't know exactly what has been implemented in SC so far, but for

sure

somebody will be able to answer this question ;).

Concerning the file transfer for MSN, AFAIK, there are 2 versions of

it. At

least it was like this when I worked on this 3 years, so it might have

changed

in fact.

I've worked on the implementation (for another IM client) of the file

transfer

which uses an external TCP connexion to transfer the data. We refered

to this

file transfer as the "old file transfer" (even if I'm not sure whether

or not it

was really much older than the second one). In this file transfer, an

invitation

message is first sent on the switchboard (with content type:

x-msmsgsinvite,

application name key set to "File Transfer" and some other fields like

cookie,

filename, filesize, etc if I remember well). The two clients then

agree on who

will initiate the connection (a bit like the active/passive FTP

system), and the

transfer starts in a separate TCP connection (after a quick handshake

in this

stream too, to avoid sending the wrong file to the wrong buddy). The

blocks are

then organized in a special way I can't remember.

The other file transfer transmits the file directly on the switchboard

and uses

the so-called MSNP2P protocol. It was quite messy and I must admit

that I don't

remember much about it since I only helped a friend which was in

charge of its

implementation. If you need more information about it, I can put you

in relation

with him.

It was quite tricky to find useful information about the file transfer

protocol

3 years ago, so we worked a lot by doing reverse-engineering on packet

captures.

Still, there were some sources on the net which were more or less

complete:

. There should be a very old draft paper from microsoft giving very

little

detail on the MSN protocol.
. Refer to www.hypothetic.org . It was quite incomplete 3 years ago,

but I just

took a look at it, and there seems to be much more information now.
. Maybe google a bit and try to find a website called MSN Fanatics or

something

like this.

If you have any question about the MSN FT (especially the one I refer

as "the

old one"), feel free to contact me.

Hope this helps :).

Cheers,
Chris.

Selon Lamber Patrick <Patrick.Lamber@unibz.it>:

Good morning,

my name is Patrick Lamber. I'm a Computer Science student at the Free

University of Bolzano (Italy). I'm visiting a Programming course with

some other colleagues and form a project group where we are supposed

to take an open source project and add some functionalities to it.

Our

group have chosen as open source project the Sip Communicator and as

a

feature to add the file transfer between two MSN clients. Today, I

saw

that you already have implemented some file transfer functionalities

for the SIP-Communicator some months ago. Now I would like to ask

you,

if you could give us some advices or help how to implement the file

transfer feature for the MSN protocol.

Have a nice day

Patrick Lamber

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail:

dev-help@sip-communicator.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net