Module: kamailio Branch: master Commit: 2ee8fef95b3dcd4b3aa42f2068277c84fbe53bd5 URL: https://github.com/kamailio/kamailio/commit/2ee8fef95b3dcd4b3aa42f2068277c84...
Author: Daniel-Constantin Mierla miconda@gmail.com Committer: GitHub noreply@github.com Date: 2016-10-28T15:44:33+02:00
Merge pull request #830 from tverlaan/use_default_port_on_loose_route
rr: default to port 5060 if port is omitted in route header
---
Modified: modules/rr/loose.c Modified: socket_info.h
---
Diff: https://github.com/kamailio/kamailio/commit/2ee8fef95b3dcd4b3aa42f2068277c84... Patch: https://github.com/kamailio/kamailio/commit/2ee8fef95b3dcd4b3aa42f2068277c84...
---
diff --git a/modules/rr/loose.c b/modules/rr/loose.c index ef68545..4248a2e 100644 --- a/modules/rr/loose.c +++ b/modules/rr/loose.c @@ -827,8 +827,9 @@ static inline int after_loose(struct sip_msg* _m, int preloaded) }
if (!use_ob) { - si = grep_sock_info( &puri.host, puri.port_no, puri.proto); - if (si) { + if ((si = grep_sock_info( &puri.host, puri.port_no?puri.port_no:proto_default_port(puri.proto), puri.proto)) != 0) { + set_force_socket(_m, si); + } else if ((si = grep_sock_info( &puri.host, puri.port_no, puri.proto)) != 0) { set_force_socket(_m, si); } else { if (enable_socket_mismatch_warning) { diff --git a/socket_info.h b/socket_info.h index eec9dd4..03225ac 100644 --- a/socket_info.h +++ b/socket_info.h @@ -44,6 +44,8 @@ int socket2str(char* s, int* len, struct socket_info* si); int socketinfo2str(char* s, int* len, struct socket_info* si, int mode);
+/* Helper macro that results in the default port based on the protocol */ +#define proto_default_port(proto) ((proto==PROTO_TLS)?SIPS_PORT:SIP_PORT)
/* struct socket_info is defined in ip_addr.h */