]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res_pjsip/configuration: Fix a variety of default value problems 73/873/1
authorMatt Jordan <mjordan@digium.com>
Wed, 8 Jul 2015 21:35:36 +0000 (16:35 -0500)
committerMatt Jordan <mjordan@digium.com>
Sat, 11 Jul 2015 17:22:25 +0000 (12:22 -0500)
This patch fixes some bad default value handling in the following
settings:

* The 'message_context' and 'accountcode' settings are not mandatory. As
  such, we can allow their stringfield values to be empty.
* The 'media_encryption' setting applies a default value of 'none' to
  the setting, which it then can't parse or understand. Since the value
  is documented to be 'no', this will now apply that as the default
  value.

Change-Id: Ib9be7f97a7a5b9bc7aee868edf5acf38774cff83

res/res_pjsip/pjsip_configuration.c

index d4fa1521b95347a08057e091f0fb4897da924422..e2e5e06b9eb639303cd80c2527a69daf6d2a486d 100644 (file)
@@ -700,7 +700,7 @@ static int media_encryption_handler(const struct aco_option *opt, struct ast_var
 
 static const char *media_encryption_map[] = {
        [AST_SIP_MEDIA_TRANSPORT_INVALID] = "invalid",
-       [AST_SIP_MEDIA_ENCRYPT_NONE] = "none",
+       [AST_SIP_MEDIA_ENCRYPT_NONE] = "no",
        [AST_SIP_MEDIA_ENCRYPT_SDES] = "sdes",
        [AST_SIP_MEDIA_ENCRYPT_DTLS] = "dtls",
 };
@@ -1926,8 +1926,8 @@ int ast_res_pjsip_initialize_configuration(void)
        ast_sorcery_object_field_register(sip_sorcery, "endpoint", "g726_non_standard", "no", OPT_BOOL_T, 1, FLDSET(struct ast_sip_endpoint, media.g726_non_standard));
        ast_sorcery_object_field_register_custom(sip_sorcery, "endpoint", "redirect_method", "user", redirect_handler, NULL, NULL, 0, 0);
        ast_sorcery_object_field_register_custom(sip_sorcery, "endpoint", "set_var", "", set_var_handler, set_var_to_str, set_var_to_vl, 0, 0);
-       ast_sorcery_object_field_register(sip_sorcery, "endpoint", "message_context", "", OPT_STRINGFIELD_T, 1, STRFLDSET(struct ast_sip_endpoint, message_context));
-       ast_sorcery_object_field_register(sip_sorcery, "endpoint", "accountcode", "", OPT_STRINGFIELD_T, 1, STRFLDSET(struct ast_sip_endpoint, accountcode));
+       ast_sorcery_object_field_register(sip_sorcery, "endpoint", "message_context", "", OPT_STRINGFIELD_T, 0, STRFLDSET(struct ast_sip_endpoint, message_context));
+       ast_sorcery_object_field_register(sip_sorcery, "endpoint", "accountcode", "", OPT_STRINGFIELD_T, 0, STRFLDSET(struct ast_sip_endpoint, accountcode));
 
        if (ast_sip_initialize_sorcery_transport()) {
                ast_log(LOG_ERROR, "Failed to register SIP transport support with sorcery\n");