Subject: [Simple] Few queries in regards to MSRP

From: prasun bheri <[email-masked]>
Date: Wed, 25 Jan 2012 22:03:32 +0530

Hello Group,

I have these following queries with respect to MSRP:

   1. Section 5.4 says "*active endpoint MUST immediately issue a SEND
   request"* however no timeout period is specified so hoping its
   application specific, I would like to know on what factors does this
   timeout value depend on? I am using MSRP to deliver and/or receive MMS
   messages, so any suggestions on initial timeout value in this case? What
   would be the right thing to do when initial message is not received
   immediately?
   2. In case of active end point, if no payload is immediately available,
   protocol requires that active endpoint sends an empty send message with
   byte-range 1-0/0, Could this send message have same message-id as that of
   payload's message-id that follows this initial send? My understanding is
   that both of these should have different message id, but I would like to
   hear your comment on this.
   3. Once a session is created, is there a way to know if this
   communication is only one way or half duplex or full duplex?

Thanks & Regards
Prasun Bheri

---

From: Ben Campbell <[email-masked]>
Date: Wed, 25 Jan 2012 14:58:01 -0600

Hi, see inline:

On Jan 25, 2012, at 10:33 AM, prasun bheri wrote:

> Section 5.4 says "active endpoint MUST immediately issue a SEND request" however no timeout period is specified so hoping its application specific, I would like to know on what factors does this timeout value depend on? I am using MSRP to deliver and/or receive MMS messages, so any suggestions on initial timeout value in this case? What would be the right thing to do when initial message is not received immediately?

There's not a timeout per se for this. The idea is that, if the active party doesn't have an actual message ready to send when it sets up the connection, it should send a dummy message.

The passive party should not assume anything about the identity of the active party until it receives at least the header fields for a Send request. Afterwards, it can determine the connected party by comparing the received MSRP URI to the one it handed out in the SDP. If it doesn't get something in a timely matter, it could drop the connection (and tear down the SIP dialog)--but timely manner here probably means minutes, not seconds.

> In case of active end point, if no payload is immediately available, protocol requires that active endpoint sends an empty send message with byte-range 1-0/0, Could this send message have same message-id as that of payload's message-id that follows this initial send? My understanding is that both of these should have different message id, but I would like to hear your comment on this.
Since it would not be part of any subsequent message payload, it should have a different message-id.
> Once a session is created, is there a way to know if this communication is only one way or half duplex or full duplex?
This would normally be part of the session setup--i.e. in the SDP exchange. See section 8.9 of RFC 4975.

Hope this helps!

Ben.