I have a sip application that receives a message over TLS and proxies
it.
The message has a Route header:
Route: <sip:192.168.1.1;transport=tls;lr>
When mobicents receives this and the application tries to proxy it,
it's being proxied to port 5060 and not 5061 as I believe should be
(since there is no port but the transport is TLS).
2011-06-14 17:38:14,981 DEBUG [DefaultDNSServerLocator] (SIP-TCP-Core-
PipelineThreadpool-1) Resolving 192.168.1.1 transport tls
2011-06-14 17:38:14,982 DEBUG [DefaultDNSServerLocator] (SIP-TCP-Core-
PipelineThreadpool-1) host 192.168.1.1 is a numeric IP address, no DNS
SRV lookup to be done, using the hop given in param
2011-06-14 17:38:14,982 DEBUG [SipServletRequestImpl] (SIP-TCP-Core-
PipelineThreadpool-1) session transport is tls
2011-06-14 17:38:14,983 DEBUG [SipApplicationDispatcherImpl] (SIP-TCP-
Core-PipelineThreadpool-1) the triplet host/port/transport :
192.168.1.1/5060/tls is external : true
shouldn't the default port used here be 5061?
Perhaps the following code is wrong in DefaultDNSServerLocator:
// If the URI also contains a port, it uses
that port. If no port is
// specified, it uses the default port for the
particular transport
// protocol.numeric IP address, no DNS lookup
to be done
if(hopPort == -1) {
if(ListeningPoint.TLS.equals(transport) ||
(ListeningPoint.TCP.equals(transport) && sipURI.isSecure())) {
hopPort = 5061;
} else {
hopPort = 5060;
}
}
thanks,
H