فهرست منبع

siputils: functions to compare uri and aor exported to kemi

Daniel-Constantin Mierla 4 سال پیش
والد
کامیت
f614c39a69
3فایلهای تغییر یافته به همراه36 افزوده شده و 0 حذف شده
  1. 24 0
      src/modules/siputils/sipops.c
  2. 2 0
      src/modules/siputils/sipops.h
  3. 10 0
      src/modules/siputils/siputils.c

+ 24 - 0
src/modules/siputils/sipops.c

@@ -40,6 +40,18 @@
 
 #include "sipops.h"
 
+int ki_cmp_uri(sip_msg_t *msg, str *uri1, str *uri2)
+{
+	int ret;
+
+	ret = cmp_uri_str(uri1, uri2);
+	if(ret==0)
+		return 1;
+	if(ret>0)
+		return -1;
+	return -2;
+}
+
 int w_cmp_uri(struct sip_msg *msg, char *uri1, char *uri2)
 {
 	str s1;
@@ -64,6 +76,18 @@ int w_cmp_uri(struct sip_msg *msg, char *uri1, char *uri2)
 	return -2;
 }
 
+int ki_cmp_aor(sip_msg_t *msg, str *uri1, str *uri2)
+{
+	int ret;
+
+	ret = cmp_aor_str(uri1, uri2);
+	if(ret==0)
+		return 1;
+	if(ret>0)
+		return -1;
+	return -2;
+}
+
 int w_cmp_aor(struct sip_msg *msg, char *uri1, char *uri2)
 {
 	str s1;

+ 2 - 0
src/modules/siputils/sipops.h

@@ -34,7 +34,9 @@
 
 #include "../../core/parser/msg_parser.h"
 
+int ki_cmp_uri(sip_msg_t *msg, str *uri1, str *uri2);
 int w_cmp_uri(struct sip_msg *msg, char *uri1, char *uri2);
+int ki_cmp_aor(sip_msg_t *msg, str *uri1, str *uri2);
 int w_cmp_aor(struct sip_msg *msg, char *uri1, char *uri2);
 int ki_cmp_hdr_name(sip_msg_t *msg, str *shname1, str *shname2);
 int w_cmp_hdr_name(sip_msg_t *msg, char *hname1, char *hname2);

+ 10 - 0
src/modules/siputils/siputils.c

@@ -740,6 +740,16 @@ static sr_kemi_t sr_kemi_siputils_exports[] = {
 		{ SR_KEMIP_INT, SR_KEMIP_NONE, SR_KEMIP_NONE,
 			SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
 	},
+	{ str_init("siputils"), str_init("cmp_uri"),
+		SR_KEMIP_INT, ki_cmp_uri,
+		{ SR_KEMIP_STR, SR_KEMIP_STR, SR_KEMIP_NONE,
+			SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
+	},
+	{ str_init("siputils"), str_init("cmp_aor"),
+		SR_KEMIP_INT, ki_cmp_aor,
+		{ SR_KEMIP_STR, SR_KEMIP_STR, SR_KEMIP_NONE,
+			SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
+	},
 	{ str_init("siputils"), str_init("cmp_hdr_name"),
 		SR_KEMIP_INT, ki_cmp_hdr_name,
 		{ SR_KEMIP_STR, SR_KEMIP_STR, SR_KEMIP_NONE,