Hi Daniel, I won't have time before the freeze either. Any time I do get I plan to spend on outbound support. I may get around to this next year, if no-one ends up needing it sooner than me and does it first.
The Crocodile Javascript MSRP stack behaves a little more nicely than a lot of clients and relays out there. Specifically, it limits the size of chunks it sends and limits the number of chunks that can be outstanding (not received a 200 for) at any time. This means that our client has its own flow control logic designed to avoid overloading the network. Discussions with other people recently has convinced me that other MSRP clients and relays are not always quite as nice and often just throw the data onto the network as quickly as possible. My initial requirement is to use the Kamailio relay with our stack, so re-chunking/flow control is important to me but not yet urgent. The good news is that, based on discussions I've had with people and testing I've done, I believe that the only two things still required to make Kamailio suitable for large-scale deployment as an MSRP relay is this re-chunking/flow control and failure REPORT generation. Regards, Peter > 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 >> [email protected] >> 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 > > -- Peter Dunkley Technical Director Crocodile RCS Ltd _______________________________________________ sr-dev mailing list [email protected] http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
