[sr-dev] Possible MSRP enhancement

Peter Dunkley peter.dunkley at crocodile-rcs.com
Tue Dec 4 18:48:36 CET 2012


Hi Daniel,

I know you were thinking of looking at the MSRP module before the next
release, and during discussions here at Crocodile we realised that there
was another enhancement that would be useful.

An MSRP relay has the option of splitting large MSRP messages (including
those that are already chunked) into smaller chunks.  The reason is that
there is no maximum size for an MSRP chunk, so it is entirely possible
for a client to attempt to send a large file in a single, very-large,
MSRP message.  In this cases it becomes important to pull the message
from the receive buffer in small pieces (instead of waiting for a
complete message to arrive and over-flowing the receive buffer) and
relaying it in smaller chunks.

Also, the flow control for MSRP is based around TCP windowing, so if you
want to limit the rate that someone is sending you MSRP messages (for
example during the transfer of a large file) you do so by pulling from
the TCP buffer at a lower rate.  One way of avoiding overloading an MSRP
relay is to have fairly small TCP receive buffers thereby limiting the
rate at which clients and relays can send data.  However, if the TCP
buffers are small the chances of a client sending a message or chunk
that is too large (and needs to be chunked by the relay) increases
further.

Of course, to do this the MSRP module will need to be able to remember
the (From|To)-Path, transaction ID, and so on from the start of the MSRP
message so that it can use these (along with calculated Byte-Range) in
each additional chunk.

I was thinking a new parameter indicating the maximum MSRP send chunk
size is required.  If an MSRP message in the receive buffer reaches that
number then it has to be pulled from the buffer in parts and relayed as
multiple chunks.  This maximum send chunk size should be set to be much
smaller than the TCP receive buffer size.

Regards,

Peter

-- 
Peter Dunkley
Technical Director
Crocodile RCS Ltd

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20121204/06e09f3c/attachment.htm>


More information about the sr-dev mailing list