rendered paste bodyIndex: src/mod/endpoints/mod_exosip/mod_exosip.c
===================================================================
--- src/mod/endpoints/mod_exosip/mod_exosip.c (revision 2246)
+++ src/mod/endpoints/mod_exosip/mod_exosip.c (working copy)
@@ -2057,6 +2057,51 @@
}
}
}
+ for (param = switch_xml_child(settings, "registrations"); param; param = param->next) {
+ char *identity = (char *) switch_xml_attr(param, "identity");
+ char *registrar = (char *) switch_xml_attr(param, "registrar");
+
+
+ eXosip_lock ();
+ reg_id = eXosip_register_build_initial_register (identity, registrar, NULL,1800, ®);
+ eXosip_unlock ();
+
+ if ( reg_id < 0 ) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Invalid registrar format %s for identity %s, please che
ck your config\n");
+ continue;
+ }
+
+ for (param = switch_xml_child(settings, "registrations"); param; param = param->next) {
+ osip_message_t *reg = NULL;
+
+ char *fromuser = (char *) switch_xml_attr(param, "fromuser");
+ char *proxy = (char *) switch_xml_attr(param, "proxy");
+ char *contact = (char *) switch_xml_attr(param, "contact");
+
+ osip_message_t *reg = NULL;
+
+ eXosip_lock();
+ eXosip_register_build_initial_register (fromuser, proxy, contact, 3600, ®);
+ eXosip_unlock();
+
+#if 0
+ // Is this needed?
+ osip_message_set_supported (reg, "path");
+#endif
+ eXosip_reg_t *jreg;
+
+ eXosip_lock();
+
+ jreg = eXosip.j_reg;
+ while(jreg->next != NULL) {}
+ jreg->next = *reg;
+
+ eXosip_unlock();
+
+ }
+
+ }
+
}