summaryrefslogtreecommitdiff
path: root/res
diff options
context:
space:
mode:
authorTerry Wilson <twilson@digium.com>2007-11-16 23:44:14 +0000
committerTerry Wilson <twilson@digium.com>2007-11-16 23:44:14 +0000
commit38ebd439f7e6b5efa4b0f94983fcd96c902a0fd6 (patch)
tree4b5cc5cc37fe8ccc6a55a3202ff35c9872bcabe8 /res
parent7953c2c46f2d4b3201f69dc8c87dd95da8dca92a (diff)
Fix broken parking dial-back
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'res')
-rw-r--r--res/res_features.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/res/res_features.c b/res/res_features.c
index b0bea0b54..4a73cf451 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