mirror of
https://git.freebsd.org/ports.git
synced 2025-06-10 23:30:29 -04:00
66 lines
1.6 KiB
C
66 lines
1.6 KiB
C
|
|
$FreeBSD$
|
|
|
|
--- modules/registrar/reg_mod.c.orig
|
|
+++ modules/registrar/reg_mod.c
|
|
@@ -70,6 +70,7 @@
|
|
int use_domain = 0;
|
|
char* realm_pref = ""; /* Realm prefix to be removed */
|
|
str realm_prefix;
|
|
+int use_tm = 0;
|
|
|
|
#define RCV_NAME "received"
|
|
#define RCV_NAME_LEN (sizeof(RCV_NAME) - 1)
|
|
@@ -84,6 +85,9 @@
|
|
int (*sl_reply)(struct sip_msg* _m, char* _s1, char* _s2);
|
|
|
|
|
|
+struct tm_binds tmb;
|
|
+
|
|
+
|
|
/*
|
|
* Exported functions
|
|
*/
|
|
@@ -115,6 +119,7 @@
|
|
{"use_domain", INT_PARAM, &use_domain },
|
|
{"max_contacts", INT_PARAM, &max_contacts },
|
|
{"retry_after", INT_PARAM, &retry_after },
|
|
+ {"use_tm", INT_PARAM, &use_tm },
|
|
{0, 0, 0}
|
|
};
|
|
|
|
@@ -140,17 +145,26 @@
|
|
static int mod_init(void)
|
|
{
|
|
bind_usrloc_t bind_usrloc;
|
|
+ load_tm_f load_tm;
|
|
|
|
DBG("registrar - initializing\n");
|
|
|
|
- /*
|
|
- * We will need sl_send_reply from stateless
|
|
- * module for sending replies
|
|
- */
|
|
- sl_reply = find_export("sl_send_reply", 2, 0);
|
|
- if (!sl_reply) {
|
|
- LOG(L_ERR, "registrar: This module requires sl module\n");
|
|
- return -1;
|
|
+ if (use_tm != 0) {
|
|
+ load_tm = (load_tm_f)find_export("load_tm", NO_SCRIPT, 0);
|
|
+ if (load_tm == NULL || load_tm(&tmb) == -1) {
|
|
+ LOG(L_ERR, "Can't import tm\n");
|
|
+ return -1;
|
|
+ }
|
|
+ } else {
|
|
+ /*
|
|
+ * We will need sl_send_reply from stateless
|
|
+ * module for sending replies
|
|
+ */
|
|
+ sl_reply = find_export("sl_send_reply", 2, 0);
|
|
+ if (!sl_reply) {
|
|
+ LOG(L_ERR, "registrar: This module requires sl module\n");
|
|
+ return -1;
|
|
+ }
|
|
}
|
|
|
|
realm_prefix.s = realm_pref;
|