All pastes #128889 Raw Edit

Stuff

public text v1 · immutable
#128889 ·published 2006-08-13 07:16 UTC
rendered paste body
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, &reg);
+                       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, &reg);
+                               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();
+
+                       }
+
+               }
+
        }