Skip to content
Snippets Groups Projects
Commit 42b191ad authored by Alexei Gradinari's avatar Alexei Gradinari Committed by Joshua Colp
Browse files

res_pjsip_dialog_info_body_generator: Set LOCAL target URI as local URI

The change "Add LOCAL/REMOTE tags in dialog-info+xml" set both "local"
Identity Element URI and Target Element URI to the same value -
the channel Caller Number.
For Identity Element it's ok to set as Caller ID.
But Local Target URI should be set as local URI.

In this case the Local Target URI can be used for Directed Call Pickup
by Polycom ip-phones (parameter useLocalTargetUriforLegacyPickup).

Also XML sanitized Display names.

ASTERISK-24601

Change-Id: If130a2f2f3b2339b14dca0ec0ebeea3a87b34343
parent 7dcea19c
No related branches found
No related tags found
3 merge requests!138Merge branch asterisk-20.3.0 into devel properly,!123Merge asterisk '20.3.0' into devel,!118Draft: manager: AOC-S support for AOCMessage
......@@ -234,7 +234,10 @@ static int dialog_info_generate_body_content(void *body, void *data)
pj_strdup2(state_data->pool, &remote_identity_node->content, remote_target);
if (!ast_strlen_zero(remote_cid_name)) {
ast_sip_presence_xml_create_attr(state_data->pool, remote_identity_node, "display", remote_cid_name);
char display_sanitized[PJSIP_MAX_URL_SIZE];
ast_sip_sanitize_xml(remote_cid_name, display_sanitized, sizeof(display_sanitized));
ast_sip_presence_xml_create_attr(state_data->pool, remote_identity_node, "display", display_sanitized);
}
ast_sip_presence_xml_create_attr(state_data->pool, remote_target_node, "uri", remote_target);
}
......@@ -247,9 +250,13 @@ static int dialog_info_generate_body_content(void *body, void *data)
/* If a channel is not available we fall back to the sanitized local URI instead */
pj_strdup2(state_data->pool, &local_identity_node->content, S_OR(local_target, sanitized));
if (!ast_strlen_zero(local_cid_name)) {
ast_sip_presence_xml_create_attr(state_data->pool, local_identity_node, "display", local_cid_name);
char display_sanitized[PJSIP_MAX_URL_SIZE];
ast_sip_sanitize_xml(local_cid_name, display_sanitized, sizeof(display_sanitized));
ast_sip_presence_xml_create_attr(state_data->pool, local_identity_node, "display", display_sanitized);
}
ast_sip_presence_xml_create_attr(state_data->pool, local_target_node, "uri", S_OR(local_target, sanitized));
ast_sip_presence_xml_create_attr(state_data->pool, local_target_node, "uri", sanitized);
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment