[sr-dev] Possible MSRP enhancement

Daniel-Constantin Mierla miconda at gmail.com
Tue Dec 4 19:14:05 CET 2012


Hi Peter,

my plan is to add an internal hash table to keep the details about 
connections and make routing in the config possible without using 
htable. This is for next major release, for other things I'm not sure I 
have time, considering it's very likely to freeze quite soon. If you 
want to work on it, there should be no conflicts.

Cheers,
Daniel

On 12/4/12 6:48 PM, Peter Dunkley wrote:
> 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
>
>
>
>
> _______________________________________________
> sr-dev mailing list
> sr-dev at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

-- 
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda

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


More information about the sr-dev mailing list