[sr-dev] git:master:416d79b4: topos: allow various replies for INVITE without contact

Daniel-Constantin Mierla miconda at gmail.com
Tue Nov 20 08:49:04 CET 2018


Module: kamailio
Branch: master
Commit: 416d79b462986317f2c3a3ed8aa30a502d116095
URL: https://github.com/kamailio/kamailio/commit/416d79b462986317f2c3a3ed8aa30a502d116095

Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date: 2018-11-20T08:11:18+01:00

topos: allow various replies for INVITE without contact

- GH #1720

---

Modified: src/modules/topos/tps_storage.c

---

Diff:  https://github.com/kamailio/kamailio/commit/416d79b462986317f2c3a3ed8aa30a502d116095.diff
Patch: https://github.com/kamailio/kamailio/commit/416d79b462986317f2c3a3ed8aa30a502d116095.patch

---

diff --git a/src/modules/topos/tps_storage.c b/src/modules/topos/tps_storage.c
index 69d5c7c2b5..83d81172dd 100644
--- a/src/modules/topos/tps_storage.c
+++ b/src/modules/topos/tps_storage.c
@@ -353,6 +353,18 @@ int tps_storage_link_msg(sip_msg_t *msg, tps_data_t *td, int dir)
 			/* no mandatory contact unless is INVITE - done */
 			return 0;
 		}
+		if(msg->first_line.type==SIP_REPLY) {
+			if(msg->first_line.u.reply.statuscode>=100
+					&& msg->first_line.u.reply.statuscode<200
+					&& msg->first_line.u.reply.statuscode!=183) {
+				/* provisional response with no mandatory contact header */
+				return 0;
+			}
+			if(msg->first_line.u.reply.statuscode>=400) {
+				/* failure response with no mandatory contact header */
+				return 0;
+			}
+		}
 		LM_ERR("bad sip message or missing Contact hdr\n");
 		goto error;
 	}




More information about the sr-dev mailing list