From 38ebd439f7e6b5efa4b0f94983fcd96c902a0fd6 Mon Sep 17 00:00:00 2001 From: Terry Wilson <twilson@digium.com> Date: Fri, 16 Nov 2007 23:44:14 +0000 Subject: [PATCH] Fix broken parking dial-back git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89347 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- res/res_features.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/res/res_features.c b/res/res_features.c index b0bea0b549..4a73cf4512 100644 --- a/res/res_features.c +++ b/res/res_features.c @@ -2091,6 +2091,13 @@ static void *do_parking_thread(void *ignore) char *cp = strrchr(peername, '-'); if (cp) *cp = 0; + char peername_flat[AST_MAX_EXTENSION]; /* using something like Zap/52 for an extension name is NOT a good idea */ + ast_copy_string(peername_flat,peername,sizeof(peername_flat)); + int i; + for(i=0; peername_flat[i] && i < AST_MAX_EXTENSION; i++) { + if (peername_flat[i] == '/') + peername_flat[i]= '0'; + } con = ast_context_find(parking_con_dial); if (!con) { con = ast_context_create(NULL, parking_con_dial, registrar); @@ -2099,23 +2106,16 @@ static void *do_parking_thread(void *ignore) } if (con) { char returnexten[AST_MAX_EXTENSION]; - char peername_flat[AST_MAX_EXTENSION]; /* using something like Zap/52 for an extension name is NOT a good idea */ - int i; - ast_copy_string(peername_flat,peername,sizeof(peername_flat)); - for(i=0; peername_flat[i] && i < AST_MAX_EXTENSION; i++) { - if (peername_flat[i] == '/') - peername_flat[i]= '0'; - } snprintf(returnexten, sizeof(returnexten), "%s,,t", peername); ast_add_extension2(con, 1, peername_flat, 1, NULL, NULL, "Dial", ast_strdup(returnexten), ast_free_ptr, registrar); } if (comebacktoorigin) { - set_c_e_p(chan, parking_con_dial, peername, 1); + set_c_e_p(chan, parking_con_dial, peername_flat, 1); } else { ast_log(LOG_WARNING, "now going to parkedcallstimeout,s,1 | ps is %d\n",pu->parkingnum); snprintf(parkingslot, sizeof(parkingslot), "%d", pu->parkingnum); pbx_builtin_setvar_helper(pu->chan, "PARKINGSLOT", parkingslot); - set_c_e_p(chan, "parkedcallstimeout", peername, 1); + set_c_e_p(chan, "parkedcallstimeout", peername_flat, 1); } } else { /* They've been waiting too long, send them back to where they came. Theoretically they -- GitLab