[asterisk-commits] gtjoseph: branch 13 r429653 - /branches/13/res/res_pjsip_config_wizard.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue Dec 16 11:53:31 CST 2014


Author: gtjoseph
Date: Tue Dec 16 11:53:25 2014
New Revision: 429653

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=429653
Log:
res_pjsip_config_wizard: fix test breakage

Fix test breakage caused by not checking for res_pjsip before
calling ast_sip_get_sorcery.

Tested-by: George Joseph

Review: https://reviewboard.asterisk.org/r/4269/


Modified:
    branches/13/res/res_pjsip_config_wizard.c

Modified: branches/13/res/res_pjsip_config_wizard.c
URL: http://svnview.digium.com/svn/asterisk/branches/13/res/res_pjsip_config_wizard.c?view=diff&rev=429653&r1=429652&r2=429653
==============================================================================
--- branches/13/res/res_pjsip_config_wizard.c (original)
+++ branches/13/res/res_pjsip_config_wizard.c Tue Dec 16 11:53:25 2014
@@ -801,7 +801,7 @@
 	struct ast_category *category = NULL;
 	struct object_type_wizard *otw = NULL;
 	char *filename = "pjsip_wizard.conf";
-	struct ast_flags flags = { reloaded ? CONFIG_FLAG_FILEUNCHANGED : 0 };
+	struct ast_flags flags = { CONFIG_FLAG_NOCACHE };
 	struct ast_config *cfg;
 
 	if (!strstr("auth aor endpoint identify registration phoneprov", object_type)) {
@@ -813,6 +813,10 @@
 	if (!otw) {
 		ast_log(LOG_ERROR, "There was no wizard for object type '%s'\n", object_type);
 		return;
+	}
+
+	if (reloaded) {
+		flags.flags |= CONFIG_FLAG_FILEUNCHANGED;
 	}
 
 	cfg = ast_config_load2(filename, object_type, flags);
@@ -938,7 +942,7 @@
 
 static int load_module(void)
 {
-	struct ast_sorcery *sorcery = ast_sip_get_sorcery();
+	struct ast_sorcery *sorcery = NULL;
 	int i;
 
 	AST_VECTOR_INIT(&object_type_wizards, 12);
@@ -948,16 +952,20 @@
 	 * and map the wizards because the observers will never get triggered.
 	 * The we neeed to schedule a reload.
 	 */
-	if (sorcery) {
-		/* CLean up and add the observer. */
-		ast_sorcery_instance_observer_remove(sorcery, &observer);
-		ast_sorcery_instance_observer_add(sorcery, &observer);
-
-		for (i = 0; object_types[i]; i++) {
-			ast_sorcery_apply_wizard_mapping(sorcery, object_types[i], "memory", "pjsip_wizard", 0);
-		}
-
-		ast_module_reload("res_pjsip");
+	if (ast_module_check("res_pjsip.so") && ast_sip_get_pjsip_endpoint()) {
+		sorcery = ast_sip_get_sorcery();
+		if (sorcery) {
+			/* Clean up and add the observer. */
+			ast_sorcery_instance_observer_remove(sorcery, &observer);
+			ast_sorcery_instance_observer_add(sorcery, &observer);
+
+			for (i = 0; object_types[i]; i++) {
+				ast_sorcery_apply_wizard_mapping(sorcery, object_types[i], "memory",
+					"pjsip_wizard", 0);
+			}
+
+			ast_module_reload("res_pjsip.so");
+		}
 	}
 
 	return AST_MODULE_LOAD_SUCCESS;




More information about the asterisk-commits mailing list