From 5f21fdb06088e8d37e277075ef01228cf05ac713 Mon Sep 17 00:00:00 2001 From: Wenpeng Song <wenpeng.song@iopsys.eu> Date: Thu, 23 May 2024 14:10:51 +0000 Subject: [PATCH] Add config parameter "allow_tx_hash_in_uri" in pjsip, REF 14468 --- res/res_pjsip/config_global.c | 7 +++++++ schemas/uci/asterisk.json | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/res/res_pjsip/config_global.c b/res/res_pjsip/config_global.c index 8fef34e252..0148116f7f 100644 --- a/res/res_pjsip/config_global.c +++ b/res/res_pjsip/config_global.c @@ -124,6 +124,9 @@ struct global_config { unsigned int accept_proxy_req_only; /*! Nonzero if we should return all codecs on empty re-INVITE */ unsigned int all_codecs_on_empty_reinvite; + /*! Allow hash ('#') to appear in outgoing URIs. Default: NO */ + unsigned int allow_tx_hash_in_uri; + }; static void global_destructor(void *obj) @@ -213,6 +216,8 @@ static int global_apply(const struct ast_sorcery *sorcery, void *obj) return -1; } + pjsip_cfg()->endpt.allow_tx_hash_in_uri = cfg->allow_tx_hash_in_uri; + ao2_t_global_obj_replace_unref(global_cfg, cfg, "Applying global settings"); return 0; } @@ -784,6 +789,8 @@ int ast_sip_initialize_sorcery_global(void) ast_sorcery_object_field_register(sorcery, "global", "all_codecs_on_empty_reinvite", DEFAULT_ALL_CODECS_ON_EMPTY_REINVITE ? "yes" : "no", OPT_BOOL_T, 1, FLDSET(struct global_config, all_codecs_on_empty_reinvite)); + ast_sorcery_object_field_register(sorcery, "global", "allow_tx_hash_in_uri", "no", + OPT_YESNO_T, 1, FLDSET(struct global_config, allow_tx_hash_in_uri)); if (ast_sorcery_instance_observer_add(sorcery, &observer_callbacks_global)) { return -1; diff --git a/schemas/uci/asterisk.json b/schemas/uci/asterisk.json index e7297ee375..b94dd19ced 100644 --- a/schemas/uci/asterisk.json +++ b/schemas/uci/asterisk.json @@ -389,6 +389,13 @@ "required": "", "default": "", "description": "Server details which allows NAT clients" + }, + { + "name": "allow_tx_hash_in_uri", + "type": "integer", + "required": "", + "default": "0", + "description": "Allows unescaped '#' in outgoing SIP URI. " } ] }, -- GitLab