[OpenSIPS-Users] Transport follow up

Daniel Goepp dan at goepp.net
Wed Apr 14 18:41:18 CEST 2010


I had a previous question regarding default transport, and the response I
got was that the RFC says the order should be UDP, TCP then TLS.  However
after reading into this further (and some recent experiences with other
platforms) I'm wondering if I have a new feature request for OpenSIPS.  From
the RFC 3263 - Section 4.1 Selecting a Transport Protocol, I read it as
saying:

1.  If specified in the RURI it SHOULD use this (but doesn't have to)
2.  Bunch of stuff on NAPTR (which we are not doing)
3.  The section related to what we are doing:

-----clip-----
If no NAPTR records are found, the client constructs SRV queries for
those transport protocols it supports, and does a query for each.
Queries are done using the service identifier "_sip" for SIP URIs and
"_sips" for SIPS URIs. A particular transport is supported if the
query is successful. The client MAY use any transport protocol it
desires which is supported by the server.

This is a change from RFC 2543. It specified that a client would
lookup SRV records for all transports it supported, and merge the
priority values across those records. Then, it would choose the
most preferred record.

If no SRV records are found, the client SHOULD use TCP for a SIPS
URI, and UDP for a SIP URI. However, another transport protocol,
such as TCP, MAY be used if the guidelines of SIP mandate it for this
particular request. That is the case, for example, for requests that
exceed the path MTU.
-----clip-----

The way I read this is that OpenSIPS MAY select whatever transport it likes,
and if no DNS SRV is found, then it would default to using UDP first for
SIP.  But in our set, DNS SRV does exist, and there are both TCP and UDP
records.  We would like to decide the default transport order to use,
starting with TLS then TCP then UDP.  I think I can try to write something
in the script to do this, but I'm not sure yet.  I don't want to rewrite the
RURI, I just want to specify the transport.  It would be great if there was
a global variable defined in the config that was something like
"transport_order=TLS,TCP,UDP"

Thoughts?

-dg
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.opensips.org/pipermail/users/attachments/20100414/f1eb5e37/attachment.htm 


More information about the Users mailing list