[sr-dev] git:master:73e9139c: sca: exported functions to kemi framework

Daniel-Constantin Mierla miconda at gmail.com
Thu Dec 7 15:06:34 CET 2017


Module: kamailio
Branch: master
Commit: 73e9139c5246d3882474d8c9c613105bcbc6d90a
URL: https://github.com/kamailio/kamailio/commit/73e9139c5246d3882474d8c9c613105bcbc6d90a

Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date: 2017-12-07T15:05:54+01:00

sca: exported functions to kemi framework

---

Modified: src/modules/sca/sca.c
Modified: src/modules/sca/sca_subscribe.c
Modified: src/modules/sca/sca_subscribe.h

---

Diff:  https://github.com/kamailio/kamailio/commit/73e9139c5246d3882474d8c9c613105bcbc6d90a.diff
Patch: https://github.com/kamailio/kamailio/commit/73e9139c5246d3882474d8c9c613105bcbc6d90a.patch

---

diff --git a/src/modules/sca/sca.c b/src/modules/sca/sca.c
index f1dae14cb6..14dbf78ecb 100644
--- a/src/modules/sca/sca.c
+++ b/src/modules/sca/sca.c
@@ -41,6 +41,7 @@
 #include "../../core/timer.h"
 #include "../../core/timer_proc.h"
 #include "../../core/mod_fix.h"
+#include "../../core/kemi.h"
 
 #include "sca.h"
 #include "sca_appearance.h"
@@ -479,6 +480,19 @@ static int sca_call_info_update_3_f(sip_msg_t* msg,
 	return sca_call_info_update(msg, update_mask, &uri_to, &uri_from);
 }
 
+int ki_sca_call_info_update_default(sip_msg_t *msg)
+{
+	return sca_call_info_update(msg, SCA_CALL_INFO_SHARED_BOTH, NULL, NULL);
+}
+int ki_sca_call_info_update_mask(sip_msg_t *msg, int umask)
+{
+	return sca_call_info_update(msg, umask, NULL, NULL);
+}
+int ki_sca_call_info_update_turi(sip_msg_t *msg, int umask, str *sto)
+{
+	return sca_call_info_update(msg, umask, sto, NULL);
+}
+
 int fixup_ciu(void **param, int param_no)
 {
 	switch (param_no) {
@@ -504,3 +518,44 @@ int fixup_free_ciu(void **param, int param_no)
 			return E_UNSPEC;
 	}
 }
+
+/**
+ *
+ */
+/* clang-format off */
+static sr_kemi_t sr_kemi_sca_exports[] = {
+	{ str_init("sca"), str_init("handle_subscribe"),
+		SR_KEMIP_INT, ki_sca_handle_subscribe,
+		{ SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE,
+			SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
+	},
+	{ str_init("sca"), str_init("call_info_update_default"),
+		SR_KEMIP_INT, ki_sca_call_info_update_default,
+		{ SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE,
+			SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
+	},
+	{ str_init("sca"), str_init("call_info_update_mask"),
+		SR_KEMIP_INT, ki_sca_call_info_update_mask,
+		{ SR_KEMIP_INT, SR_KEMIP_NONE, SR_KEMIP_NONE,
+			SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
+	},
+	{ str_init("sca"), str_init("call_info_update_turi"),
+		SR_KEMIP_INT, ki_sca_call_info_update_turi,
+		{ SR_KEMIP_INT, SR_KEMIP_STR, SR_KEMIP_NONE,
+			SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
+	},
+	{ str_init("sca"), str_init("call_info_update"),
+		SR_KEMIP_INT, sca_call_info_update,
+		{ SR_KEMIP_INT, SR_KEMIP_STR, SR_KEMIP_STR,
+			SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
+	},
+
+	{ {0, 0}, {0, 0}, 0, NULL, { 0, 0, 0, 0, 0, 0 } }
+};
+/* clang-format on */
+
+int mod_register(char *path, int *dlflags, void *p1, void *p2)
+{
+	sr_kemi_modules_add(sr_kemi_sca_exports);
+	return 0;
+}
\ No newline at end of file
diff --git a/src/modules/sca/sca_subscribe.c b/src/modules/sca/sca_subscribe.c
index 48b0d58870..8040d49aab 100644
--- a/src/modules/sca/sca_subscribe.c
+++ b/src/modules/sca/sca_subscribe.c
@@ -1135,7 +1135,7 @@ int sca_subscription_from_request(sca_mod *scam, sip_msg_t *msg, int event_type,
 	return (-1);
 }
 
-int sca_handle_subscribe(sip_msg_t *msg, char *p1, char *p2)
+int ki_sca_handle_subscribe(sip_msg_t *msg)
 {
 	sca_subscription req_sub;
 	sca_subscription *sub = NULL;
@@ -1354,6 +1354,11 @@ int sca_handle_subscribe(sip_msg_t *msg, char *p1, char *p2)
 	return (rc);
 }
 
+int sca_handle_subscribe(sip_msg_t *msg, char *p1, char *p2)
+{
+	return ki_sca_handle_subscribe(msg);
+}
+
 int sca_subscription_reply(sca_mod *scam, int status_code, char *status_msg,
 		int event_type, int expires, sip_msg_t *msg)
 {
diff --git a/src/modules/sca/sca_subscribe.h b/src/modules/sca/sca_subscribe.h
index 2ef56d53da..e91971756e 100644
--- a/src/modules/sca/sca_subscribe.h
+++ b/src/modules/sca/sca_subscribe.h
@@ -88,5 +88,6 @@ void sca_subscription_state_to_str(int, str *);
 int sca_subscription_aor_has_subscribers(int, str *);
 int sca_subscription_delete_subscriber_for_event(sca_mod *, str *, str *, str *);
 int sca_subscription_terminate(sca_mod *, str *, int, str *, int, int);
+int ki_sca_handle_subscribe(sip_msg_t *msg);
 
 #endif // SCA_SUBSCRIBE_H




More information about the sr-dev mailing list