On Tue, Jul 12, 2016 at 11:48 AM, Dale R. Worley <wor...@ariadne.com> wrote:
> Roman Shpount <ro...@telurix.com> writes: > > We actually always use UDP like re-transmits even when sending SIP > messages > > over TCP or TLS. There are enough implementations that connect TCP or TLS > > interface with UDP using a stateless proxy which make it necessary. > > Just last night, I found this requirement, which I had long forgotten: > > RFC 3261, section 16.1 > > Requests forwarded between different types of transports where the > proxy's TU must take an active role in ensuring reliable delivery on > one of the transports MUST be forwarded transaction statefully. > > That is, a stateless proxy is not allowed to send via UDP a request it > received via TCP. > I am actually well familiar with this requirement, but a lot of implementations do not follow this in practice. One of the reason are difficulties associated with fail-over of state-full transactions. Another issue you get when reusing long duration TCP connections is that end point can get a network error after SIP message is transmitted over TCP. At this point it is unclear if message was received by remote party or not. Re-transmitting the message on the timer can be the simplest solution since it also allows you to deal gracefully with short duration connectivity disruptions. Regards, _____________ Roman Shpount _______________________________________________ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors