Index: 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(); + + } + + } + }