[sr-dev] git:master:2ee8fef9: Merge pull request #830 from tverlaan/use_default_port_on_loose_route

GitHub noreply at github.com
Fri Oct 28 15:44:39 CEST 2016


Module: kamailio
Branch: master
Commit: 2ee8fef95b3dcd4b3aa42f2068277c84fbe53bd5
URL: https://github.com/kamailio/kamailio/commit/2ee8fef95b3dcd4b3aa42f2068277c84fbe53bd5

Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: GitHub <noreply at 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/2ee8fef95b3dcd4b3aa42f2068277c84fbe53bd5.diff
Patch: https://github.com/kamailio/kamailio/commit/2ee8fef95b3dcd4b3aa42f2068277c84fbe53bd5.patch

---

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 */
 




More information about the sr-dev mailing list