On 4/7/14 5:53 PM, Alex Balashov wrote:
Hello,
I don't know a lot about SIP with TCP, so I thought I'd ask for some opinions
here. I've been testing Kamailio with TCP against the Android SIP client (4.4.2)
and have found, to my annoyance, that it sends a RURI with a transport attribute in its
INVITEs:
INVITE sip:14045551212@sip.evaristesys.com;transport=tcp
My upstream gateways are all UDP, so this causes Kamailio to attempt to contact them all
via TCP (and fail).
I know how to bend the transport with Kamailio, and I can strip this attribute. My
question is more methodological: is this "correct" for a client to do?
Think of it as a hop-by-hop attribute expressing its next-hop (i.e. proxy) transport
preference
for outbound request, K is free to rewrite it to its liking.
In my opinion, the answer is no. The client should not be so presumptuous. It should
specify the transport in its Contact, to indicate how it wants to be
reached, and leave other decisions about transport to the UAS. But is there something I
am perhaps missing?
You are right for inbound.
If a "reasonably behaving" application has choice of transport, I would
be perfectly fine with indicating it explicitely both in outbound
request-URIs and Contacts that "attract" inbound requests.
-jiri