|
I have done some extensive testing with the
application sharing and whiteboarding
components of the MS Messenger product (version
4.6.0082). They indeed do some
peculiar things. First, if you
use Messenger out of the box, it
is configured to
use the MSN's .NET passport.
If you leave this as such, then any attempt to start a whiteboarding (or app sharing)
session starts
some non-SIP signalling
(through the .NET servers) between the
initiator and recipient of the
request (Messenger in this configuration does not
listen for SIP messages on a
permanent port). This out-of-band-signalling causes the
recipient to open
a port to listen for a SIP INVITE. It also does the offer-answer
negotiation normally done in SIP
via SDP, so the SIP INVITE dialog is actually
pointless.
There is another configuration of
Messenger, which uses a SIP proxy. In this
configuration Messenger listens for invites on the default SIP port
(non-configurable) and
responds to requests for audio and video in
a SIP-compliant way (within context of
the
older RFC). It does not, however,
respond to appshare/whiteboard requests
in the same way.
Rather, this is the call flow for a
whiteboarding session:
Initiator
Recipient
|
|
|---------MSG
1------------->|
|
|
|<--------MSG
2--------------|
|
|
|---------MSG
3------------->|
|
|
|<--------MSG
4--------------|
|
|
|
|
|---------INVITE------------>|
|
|
|<---------200
OK------------|
|
|
|----------ACK-------------->|
Where MSG 1 through MSG 4 are SIP MESSAGEs
that negotiate the
medium (whiteboarding vs. application
sharing), the host IP
addresses at each end, and the SIP
listen port on the recipient
end. The content type of these MESSAGEs is a proprietary
text/x-msmsgsinvite,
and it is a list of name-value pairs that
include Application GUID's
to determine media type.
The INVITE is actually quite redundant at
this point, but contains
simple sdp negotiating a tcp
connection using media application/msdata.
One thing to note, this INVITE is sent to
the host:port obtained from
the content of MSG 4, and that
this port is different from that used
in the MSG negotiation prior! Also,
if you want to add another media
to your call, Messenger starts an entirely
new call.
Furthermore, if you attempt to initiate a
session directly (by sending
an INVITE), Messenger will reject your
request with a 406 Not Acceptable
error.
Dan Schauer
Cisco Systems, Inc.
|
Title: MS messenger SIP session is very strange???
- [Sip-implementors] MS messenger SIP session is very stra... Roland Zheng
- [Sip-implementors] How to merge a re-INVITE? Pekka Pessi
- Re: [Sip-implementors] MS messenger SIP session is ... David Li
- Daniel L. Schauer
