diff options
author | rizzo <rizzo@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-04-16 19:41:12 +0000 |
---|---|---|
committer | rizzo <rizzo@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-04-16 19:41:12 +0000 |
commit | a6168443555c9f13eddb7c8ec7d4a1a4a77075e0 (patch) | |
tree | 77a1a297a0bfdd7d0b94b7b51b8e2325efad901d /res/res_features.c | |
parent | 1a6e1ef9899255085f8e3f6af62949c720f09b19 (diff) |
s/pu->chan/chan in a few places;
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@20626 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res/res_features.c')
-rw-r--r-- | res/res_features.c | 68 |
1 files changed, 31 insertions, 37 deletions
diff --git a/res/res_features.c b/res/res_features.c index d5a604892..6fcf002f5 100644 --- a/res/res_features.c +++ b/res/res_features.c @@ -565,8 +565,7 @@ static int builtin_blindtransfer(struct ast_channel *chan, struct ast_channel *p set_peers(&transferer, &transferee, peer, chan, sense); transferer_real_context = real_ctx(transferer, transferee); - /* Start autoservice on chan while we talk - to the originator */ + /* Start autoservice on chan while we talk to the originator */ ast_indicate(transferee, AST_CONTROL_HOLD); ast_autoservice_start(transferee); ast_moh_start(transferee, NULL); @@ -680,8 +679,7 @@ static int builtin_atxfer(struct ast_channel *chan, struct ast_channel *peer, st ast_log(LOG_DEBUG, "Executing Attended Transfer %s, %s (sense=%d) XXX\n", chan->name, peer->name, sense); set_peers(&transferer, &transferee, peer, chan, sense); transferer_real_context = real_ctx(transferer, transferee); - /* Start autoservice on chan while we talk - to the originator */ + /* Start autoservice on chan while we talk to the originator */ ast_indicate(transferee, AST_CONTROL_HOLD); ast_autoservice_start(transferee); ast_moh_start(transferee, NULL); @@ -1459,6 +1457,7 @@ static void *do_parking_thread(void *ignore) pl = NULL; pu = parkinglot; while(pu) { + struct ast_channel *chan = pu->chan; /* shorthand */ int tms; /* timeout for this item */ int x; /* fd index in channel */ struct ast_context *con; @@ -1472,8 +1471,8 @@ static void *do_parking_thread(void *ignore) tms = ast_tvdiff_ms(ast_tvnow(), pu->start); if (tms > pu->parkingtime) { /* Stop music on hold */ - ast_moh_stop(pu->chan); - ast_indicate(pu->chan, AST_CONTROL_UNHOLD); + ast_moh_stop(chan); + ast_indicate(chan, AST_CONTROL_UNHOLD); /* Get chan, exten from derived kludge */ if (pu->peername[0]) { peername = ast_strdupa(pu->peername); @@ -1492,16 +1491,11 @@ static void *do_parking_thread(void *ignore) snprintf(returnexten, sizeof(returnexten), "%s||t", peername); ast_add_extension2(con, 1, peername, 1, NULL, NULL, "Dial", strdup(returnexten), FREE, registrar); } - ast_copy_string(pu->chan->exten, peername, sizeof(pu->chan->exten)); - ast_copy_string(pu->chan->context, parking_con_dial, sizeof(pu->chan->context)); - pu->chan->priority = 1; - + set_c_e_p(chan, parking_con_dial, peername, 1); } else { /* They've been waiting too long, send them back to where they came. Theoretically they should have their original extensions and such, but we copy to be on the safe side */ - ast_copy_string(pu->chan->exten, pu->exten, sizeof(pu->chan->exten)); - ast_copy_string(pu->chan->context, pu->context, sizeof(pu->chan->context)); - pu->chan->priority = pu->priority; + set_c_e_p(chan, pu->context, pu->exten, pu->priority); } manager_event(EVENT_FLAG_CALL, "ParkedCallTimeOut", @@ -1509,16 +1503,16 @@ static void *do_parking_thread(void *ignore) "Channel: %s\r\n" "CallerID: %s\r\n" "CallerIDName: %s\r\n" - ,pu->parkingnum, pu->chan->name - ,(pu->chan->cid.cid_num ? pu->chan->cid.cid_num : "<unknown>") - ,(pu->chan->cid.cid_name ? pu->chan->cid.cid_name : "<unknown>") + ,pu->parkingnum, chan->name + ,(chan->cid.cid_num ? chan->cid.cid_num : "<unknown>") + ,(chan->cid.cid_name ? chan->cid.cid_name : "<unknown>") ); if (option_verbose > 1) - ast_verbose(VERBOSE_PREFIX_2 "Timeout for %s parked on %d. Returning to %s,%s,%d\n", pu->chan->name, pu->parkingnum, pu->chan->context, pu->chan->exten, pu->chan->priority); + ast_verbose(VERBOSE_PREFIX_2 "Timeout for %s parked on %d. Returning to %s,%s,%d\n", chan->name, pu->parkingnum, chan->context, chan->exten, chan->priority); /* Start up the PBX, or hang them up */ - if (ast_pbx_start(pu->chan)) { - ast_log(LOG_WARNING, "Unable to restart the PBX for user on '%s', hanging them up...\n", pu->chan->name); + if (ast_pbx_start(chan)) { + ast_log(LOG_WARNING, "Unable to restart the PBX for user on '%s', hanging them up...\n", chan->name); ast_hangup(pu->chan); } /* And take them out of the parking lot */ @@ -1540,16 +1534,16 @@ static void *do_parking_thread(void *ignore) for (x = 0; x < AST_MAX_FDS; x++) { struct ast_frame *f; - if (pu->chan->fds[x] < 0 || (!FD_ISSET(pu->chan->fds[x], &rfds) && !FD_ISSET(pu->chan->fds[x], &efds))) + if (chan->fds[x] < 0 || (!FD_ISSET(chan->fds[x], &rfds) && !FD_ISSET(chan->fds[x], &efds))) continue; - if (FD_ISSET(pu->chan->fds[x], &efds)) - ast_set_flag(pu->chan, AST_FLAG_EXCEPTION); + if (FD_ISSET(chan->fds[x], &efds)) + ast_set_flag(chan, AST_FLAG_EXCEPTION); else - ast_clear_flag(pu->chan, AST_FLAG_EXCEPTION); - pu->chan->fdno = x; + ast_clear_flag(chan, AST_FLAG_EXCEPTION); + chan->fdno = x; /* See if they need servicing */ - f = ast_read(pu->chan); + f = ast_read(chan); if (!f || ((f->frametype == AST_FRAME_CONTROL) && (f->subclass == AST_CONTROL_HANGUP))) { if (f) ast_frfree(f); @@ -1558,15 +1552,15 @@ static void *do_parking_thread(void *ignore) "Channel: %s\r\n" "CallerID: %s\r\n" "CallerIDName: %s\r\n" - ,pu->parkingnum, pu->chan->name - ,(pu->chan->cid.cid_num ? pu->chan->cid.cid_num : "<unknown>") - ,(pu->chan->cid.cid_name ? pu->chan->cid.cid_name : "<unknown>") + ,pu->parkingnum, chan->name + ,(chan->cid.cid_num ? chan->cid.cid_num : "<unknown>") + ,(chan->cid.cid_name ? chan->cid.cid_name : "<unknown>") ); /* There's a problem, hang them up*/ if (option_verbose > 1) - ast_verbose(VERBOSE_PREFIX_2 "%s got tired of being parked\n", pu->chan->name); - ast_hangup(pu->chan); + ast_verbose(VERBOSE_PREFIX_2 "%s got tired of being parked\n", chan->name); + ast_hangup(chan); /* And take them out of the parking lot */ if (pl) pl->next = pu->next; @@ -1586,9 +1580,9 @@ static void *do_parking_thread(void *ignore) } else { /* XXX Maybe we could do something with packets, like dial "0" for operator or something XXX */ ast_frfree(f); - if (pu->moh_trys < 3 && !pu->chan->generatordata) { + if (pu->moh_trys < 3 && !chan->generatordata) { ast_log(LOG_DEBUG, "MOH on parked call stopped by outside source. Restarting.\n"); - ast_moh_start(pu->chan, NULL); + ast_moh_start(chan, NULL); pu->moh_trys++; } goto std; /* XXX Ick: jumping into an else statement??? XXX */ @@ -1598,11 +1592,11 @@ static void *do_parking_thread(void *ignore) if (x >= AST_MAX_FDS) { std: for (x=0; x<AST_MAX_FDS; x++) { /* Keep this one for next one */ - if (pu->chan->fds[x] > -1) { - FD_SET(pu->chan->fds[x], &nrfds); - FD_SET(pu->chan->fds[x], &nefds); - if (pu->chan->fds[x] > max) - max = pu->chan->fds[x]; + if (chan->fds[x] > -1) { + FD_SET(chan->fds[x], &nrfds); + FD_SET(chan->fds[x], &nefds); + if (chan->fds[x] > max) + max = chan->fds[x]; } } /* Keep track of our longest wait */ |