Pārlūkot izejas kodu

kex: added K dst uri related functions

- setdsturi(uri)/resetdsturi()/isdsturiset()
Daniel-Constantin Mierla 16 gadi atpakaļ
vecāks
revīzija
6b9d28ee10
3 mainītis faili ar 39 papildinājumiem un 0 dzēšanām
  1. 6 0
      modules_k/kex/kex_mod.c
  2. 30 0
      modules_k/kex/km_core.c
  3. 3 0
      modules_k/kex/km_core.h

+ 6 - 0
modules_k/kex/kex_mod.c

@@ -68,6 +68,12 @@ static cmd_export_t cmds[]={
 			0, REQUEST_ROUTE | FAILURE_ROUTE },
 			0, REQUEST_ROUTE | FAILURE_ROUTE },
 	{"km_append_branch", (cmd_function)w_km_append_branch, 1, fixup_spve_null,
 	{"km_append_branch", (cmd_function)w_km_append_branch, 1, fixup_spve_null,
 			0, REQUEST_ROUTE | FAILURE_ROUTE },
 			0, REQUEST_ROUTE | FAILURE_ROUTE },
+	{"setdsturi", (cmd_function)w_setdsturi,     1, 0,
+			0, ANY_ROUTE },
+	{"resetdsturi", (cmd_function)w_resetdsturi, 0, 0,
+			0, ANY_ROUTE },
+	{"isdsturiset", (cmd_function)w_isdsturiset, 0, 0,
+			0, ANY_ROUTE },
 
 
 	{0,0,0,0,0,0}
 	{0,0,0,0,0,0}
 };
 };

+ 30 - 0
modules_k/kex/km_core.c

@@ -65,3 +65,33 @@ int w_km_append_branch(struct sip_msg *msg, char *uri, str *sq)
 	return ret;
 	return ret;
 }
 }
 
 
+int w_setdsturi(struct sip_msg *msg, char *uri, str *s2)
+{
+	str s;
+
+	/* todo: fixup */
+	s.s = uri;
+	s.len = strlen(uri);
+	
+	if(set_dst_uri(msg, &s)!=0)
+		return -1;
+	return 1;
+
+}
+
+int w_resetdsturi(struct sip_msg *msg, char *uri, str *s2)
+{
+	if(msg->dst_uri.s!=0)
+		pkg_free(msg->dst_uri.s);
+	msg->dst_uri.s = 0;
+	msg->dst_uri.len = 0;
+	return 1;
+}
+
+int w_isdsturiset(struct sip_msg *msg, char *uri, str *s2)
+{
+	if(msg->dst_uri.s==0 || msg->dst_uri.len<=0)
+		return -1;
+	return 1;
+}
+

+ 3 - 0
modules_k/kex/km_core.h

@@ -26,5 +26,8 @@
 #include "../../sr_module.h"
 #include "../../sr_module.h"
 
 
 int w_km_append_branch(struct sip_msg *msg, char *uri, str *s2);
 int w_km_append_branch(struct sip_msg *msg, char *uri, str *s2);
+int w_setdsturi(struct sip_msg *msg, char *uri, str *s2);
+int w_resetdsturi(struct sip_msg *msg, char *uri, str *s2);
+int w_isdsturiset(struct sip_msg *msg, char *uri, str *s2);
 
 
 #endif
 #endif