summaryrefslogtreecommitdiff
path: root/res
diff options
context:
space:
mode:
authorTorrey Searle <torrey@voxbone.com>2017-03-14 14:49:54 +0100
committerTorrey Searle <torrey@voxbone.com>2017-03-15 10:38:41 +0100
commit48447313b6591a98f9fb8dedf890fe9a9c261556 (patch)
tree1949a79c2e4b86d545ac7bbaa84d5525e6e5b2ca /res
parent523de8eb8e0f7283b6c9210d5da0df541684e784 (diff)
res/res_pjsip_refer: call xfer w/o extension
When transfering to a URI without an extension, ensure that the s extension of the dialplan is entered ASTERISK-26869 #close Change-Id: I07403df66cf93f09e00a40ab5b41bfc6f72b1525
Diffstat (limited to 'res')
-rw-r--r--res/res_pjsip_refer.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/res/res_pjsip_refer.c b/res/res_pjsip_refer.c
index d52a922fd..db5061249 100644
--- a/res/res_pjsip_refer.c
+++ b/res/res_pjsip_refer.c
@@ -822,6 +822,13 @@ static int refer_incoming_blind_request(struct ast_sip_session *session, pjsip_r
*/
AST_SIP_USER_OPTIONS_TRUNCATE_CHECK(exten);
+ /* Uri without exten */
+ if (ast_strlen_zero(exten)) {
+ ast_copy_string(exten, "s", sizeof(exten));
+ ast_debug(3, "Channel '%s' from endpoint '%s' attempted blind transfer to a target without extension. Target was set to 's@%s'\n",
+ ast_channel_name(session->channel), ast_sorcery_object_get_id(session->endpoint), context);
+ }
+
if (!ast_exists_extension(NULL, context, exten, 1, NULL)) {
ast_log(LOG_ERROR, "Channel '%s' from endpoint '%s' attempted blind transfer to '%s@%s' but target does not exist\n",
ast_channel_name(session->channel), ast_sorcery_object_get_id(session->endpoint), exten, context);