summaryrefslogtreecommitdiff
path: root/apps/app_dial.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/app_dial.c')
-rw-r--r--apps/app_dial.c118
1 files changed, 59 insertions, 59 deletions
diff --git a/apps/app_dial.c b/apps/app_dial.c
index 20747c0f6..d12ea9c58 100644
--- a/apps/app_dial.c
+++ b/apps/app_dial.c
@@ -802,10 +802,10 @@ static void senddialevent(struct ast_channel *src, struct ast_channel *dst, cons
"DestUniqueID: %s\r\n"
"Dialstring: %s\r\n",
ast_channel_name(src), ast_channel_name(dst),
- S_COR(src->caller.id.number.valid, src->caller.id.number.str, "<unknown>"),
- S_COR(src->caller.id.name.valid, src->caller.id.name.str, "<unknown>"),
- S_COR(src->connected.id.number.valid, src->connected.id.number.str, "<unknown>"),
- S_COR(src->connected.id.name.valid, src->connected.id.name.str, "<unknown>"),
+ S_COR(ast_channel_caller(src)->id.number.valid, ast_channel_caller(src)->id.number.str, "<unknown>"),
+ S_COR(ast_channel_caller(src)->id.name.valid, ast_channel_caller(src)->id.name.str, "<unknown>"),
+ S_COR(ast_channel_connected(src)->id.number.valid, ast_channel_connected(src)->id.number.str, "<unknown>"),
+ S_COR(ast_channel_connected(src)->id.name.valid, ast_channel_connected(src)->id.name.str, "<unknown>"),
ast_channel_uniqueid(src), ast_channel_uniqueid(dst),
dialstring ? dialstring : "");
}
@@ -897,33 +897,33 @@ static void do_forward(struct chanlist *o,
ast_rtp_instance_early_bridge_make_compatible(c, in);
}
- ast_channel_set_redirecting(c, &original->redirecting, NULL);
+ ast_channel_set_redirecting(c, ast_channel_redirecting(original), NULL);
ast_channel_lock(c);
while (ast_channel_trylock(in)) {
CHANNEL_DEADLOCK_AVOIDANCE(c);
}
- if (!c->redirecting.from.number.valid
- || ast_strlen_zero(c->redirecting.from.number.str)) {
+ if (!ast_channel_redirecting(c)->from.number.valid
+ || ast_strlen_zero(ast_channel_redirecting(c)->from.number.str)) {
/*
* The call was not previously redirected so it is
* now redirected from this number.
*/
- ast_party_number_free(&c->redirecting.from.number);
- ast_party_number_init(&c->redirecting.from.number);
- c->redirecting.from.number.valid = 1;
- c->redirecting.from.number.str =
+ ast_party_number_free(&ast_channel_redirecting(c)->from.number);
+ ast_party_number_init(&ast_channel_redirecting(c)->from.number);
+ ast_channel_redirecting(c)->from.number.valid = 1;
+ ast_channel_redirecting(c)->from.number.str =
ast_strdup(S_OR(ast_channel_macroexten(in), ast_channel_exten(in)));
}
- c->dialed.transit_network_select = in->dialed.transit_network_select;
+ ast_channel_dialed(c)->transit_network_select = ast_channel_dialed(in)->transit_network_select;
/* Determine CallerID to store in outgoing channel. */
- ast_party_caller_set_init(&caller, &c->caller);
+ ast_party_caller_set_init(&caller, ast_channel_caller(c));
if (ast_test_flag64(peerflags, OPT_ORIGINAL_CLID)) {
caller.id = *stored_clid;
ast_channel_set_caller_event(c, &caller, NULL);
- } else if (ast_strlen_zero(S_COR(c->caller.id.number.valid,
- c->caller.id.number.str, NULL))) {
+ } else if (ast_strlen_zero(S_COR(ast_channel_caller(c)->id.number.valid,
+ ast_channel_caller(c)->id.number.str, NULL))) {
/*
* The new channel has no preset CallerID number by the channel
* driver. Use the dialplan extension and hint name.
@@ -938,9 +938,9 @@ static void do_forward(struct chanlist *o,
ast_party_connected_line_init(&connected);
connected.id = *forced_clid;
- ast_party_connected_line_copy(&c->connected, &connected);
+ ast_party_connected_line_copy(ast_channel_connected(c), &connected);
} else {
- ast_connected_line_copy_from_caller(&c->connected, &in->caller);
+ ast_connected_line_copy_from_caller(ast_channel_connected(c), ast_channel_caller(in));
}
ast_channel_accountcode_set(c, ast_channel_accountcode(in));
@@ -954,7 +954,7 @@ static void do_forward(struct chanlist *o,
* here.
*/
ast_party_redirecting_init(&redirecting);
- ast_party_redirecting_copy(&redirecting, &c->redirecting);
+ ast_party_redirecting_copy(&redirecting, ast_channel_redirecting(c));
ast_channel_unlock(c);
if (ast_channel_redirecting_sub(c, in, &redirecting, 0) &&
ast_channel_redirecting_macro(c, in, &redirecting, 1, 0)) {
@@ -1047,7 +1047,7 @@ static struct ast_channel *wait_for_answer(struct ast_channel *in,
if (!ast_test_flag64(peerflags, OPT_IGNORE_CONNECTEDLINE) && !ast_test_flag64(outgoing, DIAL_CALLERID_ABSENT)) {
ast_channel_lock(outgoing->chan);
- ast_connected_line_copy_from_caller(&connected_caller, &outgoing->chan->caller);
+ ast_connected_line_copy_from_caller(&connected_caller, ast_channel_caller(outgoing->chan));
ast_channel_unlock(outgoing->chan);
connected_caller.source = AST_CONNECTED_LINE_UPDATE_SOURCE_ANSWER;
ast_channel_update_connected_line(in, &connected_caller, NULL);
@@ -1112,7 +1112,7 @@ static struct ast_channel *wait_for_answer(struct ast_channel *in,
}
} else if (!ast_test_flag64(o, DIAL_CALLERID_ABSENT)) {
ast_channel_lock(c);
- ast_connected_line_copy_from_caller(&connected_caller, &c->caller);
+ ast_connected_line_copy_from_caller(&connected_caller, ast_channel_caller(c));
ast_channel_unlock(c);
connected_caller.source = AST_CONNECTED_LINE_UPDATE_SOURCE_ANSWER;
ast_channel_update_connected_line(in, &connected_caller, NULL);
@@ -1183,7 +1183,7 @@ static struct ast_channel *wait_for_answer(struct ast_channel *in,
}
} else if (!ast_test_flag64(o, DIAL_CALLERID_ABSENT)) {
ast_channel_lock(c);
- ast_connected_line_copy_from_caller(&connected_caller, &c->caller);
+ ast_connected_line_copy_from_caller(&connected_caller, ast_channel_caller(c));
ast_channel_unlock(c);
connected_caller.source = AST_CONNECTED_LINE_UPDATE_SOURCE_ANSWER;
ast_channel_update_connected_line(in, &connected_caller, NULL);
@@ -1714,9 +1714,9 @@ static int setup_privacy_args(struct privacy_args *pa,
int res;
char *l;
- if (chan->caller.id.number.valid
- && !ast_strlen_zero(chan->caller.id.number.str)) {
- l = ast_strdupa(chan->caller.id.number.str);
+ if (ast_channel_caller(chan)->id.number.valid
+ && !ast_strlen_zero(ast_channel_caller(chan)->id.number.str)) {
+ l = ast_strdupa(ast_channel_caller(chan)->id.number.str);
ast_shrink_phone_number(l);
if (ast_test_flag64(opts, OPT_PRIVACY) ) {
ast_verb(3, "Privacy DB is '%s', clid is '%s'\n", opt_args[OPT_ARG_PRIVACY], l);
@@ -2044,18 +2044,18 @@ static int dial_exec_full(struct ast_channel *chan, const char *data, struct ast
if (ast_test_flag64(&opts, OPT_ORIGINAL_CLID)) {
if (ast_strlen_zero(opt_args[OPT_ARG_ORIGINAL_CLID])) {
ast_channel_lock(chan);
- ast_party_id_set_init(&stored_clid, &chan->caller.id);
- if (!ast_strlen_zero(chan->caller.id.name.str)) {
- stored_clid.name.str = ast_strdupa(chan->caller.id.name.str);
+ ast_party_id_set_init(&stored_clid, &ast_channel_caller(chan)->id);
+ if (!ast_strlen_zero(ast_channel_caller(chan)->id.name.str)) {
+ stored_clid.name.str = ast_strdupa(ast_channel_caller(chan)->id.name.str);
}
- if (!ast_strlen_zero(chan->caller.id.number.str)) {
- stored_clid.number.str = ast_strdupa(chan->caller.id.number.str);
+ if (!ast_strlen_zero(ast_channel_caller(chan)->id.number.str)) {
+ stored_clid.number.str = ast_strdupa(ast_channel_caller(chan)->id.number.str);
}
- if (!ast_strlen_zero(chan->caller.id.subaddress.str)) {
- stored_clid.subaddress.str = ast_strdupa(chan->caller.id.subaddress.str);
+ if (!ast_strlen_zero(ast_channel_caller(chan)->id.subaddress.str)) {
+ stored_clid.subaddress.str = ast_strdupa(ast_channel_caller(chan)->id.subaddress.str);
}
- if (!ast_strlen_zero(chan->caller.id.tag)) {
- stored_clid.tag = ast_strdupa(chan->caller.id.tag);
+ if (!ast_strlen_zero(ast_channel_caller(chan)->id.tag)) {
+ stored_clid.tag = ast_strdupa(ast_channel_caller(chan)->id.tag);
}
ast_channel_unlock(chan);
} else {
@@ -2127,7 +2127,7 @@ static int dial_exec_full(struct ast_channel *chan, const char *data, struct ast
char *tech = strsep(&number, "/");
/* find if we already dialed this interface */
struct ast_dialed_interface *di;
- AST_LIST_HEAD(, ast_dialed_interface) *dialed_interfaces;
+ AST_LIST_HEAD(,ast_dialed_interface) *dialed_interfaces;
num_dialed++;
if (ast_strlen_zero(number)) {
ast_log(LOG_WARNING, "Dial argument takes format (technology/[device:]number1)\n");
@@ -2157,7 +2157,7 @@ static int dial_exec_full(struct ast_channel *chan, const char *data, struct ast
* previously acquired connected line info could have been set
* through the CONNECTED_LINE dialplan function.
*/
- ast_party_connected_line_copy(&tmp->connected, &chan->connected);
+ ast_party_connected_line_copy(&tmp->connected, ast_channel_connected(chan));
ast_channel_unlock(chan);
if (datastore)
@@ -2255,44 +2255,44 @@ static int dial_exec_full(struct ast_channel *chan, const char *data, struct ast
ast_channel_appl_set(tc, "AppDial");
ast_channel_data_set(tc, "(Outgoing Line)");
- memset(&tc->whentohangup, 0, sizeof(tc->whentohangup));
+ memset(ast_channel_whentohangup(tc), 0, sizeof(*ast_channel_whentohangup(tc)));
/* Determine CallerID to store in outgoing channel. */
- ast_party_caller_set_init(&caller, &tc->caller);
+ ast_party_caller_set_init(&caller, ast_channel_caller(tc));
if (ast_test_flag64(peerflags, OPT_ORIGINAL_CLID)) {
caller.id = stored_clid;
ast_channel_set_caller_event(tc, &caller, NULL);
ast_set_flag64(tmp, DIAL_CALLERID_ABSENT);
- } else if (ast_strlen_zero(S_COR(tc->caller.id.number.valid,
- tc->caller.id.number.str, NULL))) {
+ } else if (ast_strlen_zero(S_COR(ast_channel_caller(tc)->id.number.valid,
+ ast_channel_caller(tc)->id.number.str, NULL))) {
/*
* The new channel has no preset CallerID number by the channel
* driver. Use the dialplan extension and hint name.
*/
caller.id = stored_clid;
if (!caller.id.name.valid
- && !ast_strlen_zero(S_COR(chan->connected.id.name.valid,
- chan->connected.id.name.str, NULL))) {
+ && !ast_strlen_zero(S_COR(ast_channel_connected(chan)->id.name.valid,
+ ast_channel_connected(chan)->id.name.str, NULL))) {
/*
* No hint name available. We have a connected name supplied by
* the dialplan we can use instead.
*/
caller.id.name.valid = 1;
- caller.id.name = chan->connected.id.name;
+ caller.id.name = ast_channel_connected(chan)->id.name;
}
ast_channel_set_caller_event(tc, &caller, NULL);
ast_set_flag64(tmp, DIAL_CALLERID_ABSENT);
- } else if (ast_strlen_zero(S_COR(tc->caller.id.name.valid, tc->caller.id.name.str,
+ } else if (ast_strlen_zero(S_COR(ast_channel_caller(tc)->id.name.valid, ast_channel_caller(tc)->id.name.str,
NULL))) {
/* The new channel has no preset CallerID name by the channel driver. */
- if (!ast_strlen_zero(S_COR(chan->connected.id.name.valid,
- chan->connected.id.name.str, NULL))) {
+ if (!ast_strlen_zero(S_COR(ast_channel_connected(chan)->id.name.valid,
+ ast_channel_connected(chan)->id.name.str, NULL))) {
/*
* We have a connected name supplied by the dialplan we can
* use instead.
*/
caller.id.name.valid = 1;
- caller.id.name = chan->connected.id.name;
+ caller.id.name = ast_channel_connected(chan)->id.name;
ast_channel_set_caller_event(tc, &caller, NULL);
}
}
@@ -2301,16 +2301,16 @@ static int dial_exec_full(struct ast_channel *chan, const char *data, struct ast
if (ast_test_flag64(peerflags, OPT_FORCECLID) && !force_forwards_only) {
struct ast_party_connected_line connected;
- ast_party_connected_line_set_init(&connected, &tc->connected);
+ ast_party_connected_line_set_init(&connected, ast_channel_connected(tc));
connected.id = forced_clid;
ast_channel_set_connected_line(tc, &connected, NULL);
} else {
- ast_connected_line_copy_from_caller(&tc->connected, &chan->caller);
+ ast_connected_line_copy_from_caller(ast_channel_connected(tc), ast_channel_caller(chan));
}
- ast_party_redirecting_copy(&tc->redirecting, &chan->redirecting);
+ ast_party_redirecting_copy(ast_channel_redirecting(tc), ast_channel_redirecting(chan));
- tc->dialed.transit_network_select = chan->dialed.transit_network_select;
+ ast_channel_dialed(tc)->transit_network_select = ast_channel_dialed(chan)->transit_network_select;
if (!ast_strlen_zero(ast_channel_accountcode(chan))) {
ast_channel_peeraccount_set(tc, ast_channel_accountcode(chan));
@@ -2672,8 +2672,8 @@ static int dial_exec_full(struct ast_channel *chan, const char *data, struct ast
if (gosub_argstart) {
const char *what_is_s = "s";
*gosub_argstart = 0;
- if (!ast_exists_extension(peer, opt_args[OPT_ARG_CALLEE_GOSUB], "s", 1, S_COR(peer->caller.id.number.valid, peer->caller.id.number.str, NULL)) &&
- ast_exists_extension(peer, opt_args[OPT_ARG_CALLEE_GOSUB], "~~s~~", 1, S_COR(peer->caller.id.number.valid, peer->caller.id.number.str, NULL))) {
+ if (!ast_exists_extension(peer, opt_args[OPT_ARG_CALLEE_GOSUB], "s", 1, S_COR(ast_channel_caller(peer)->id.number.valid, ast_channel_caller(peer)->id.number.str, NULL)) &&
+ ast_exists_extension(peer, opt_args[OPT_ARG_CALLEE_GOSUB], "~~s~~", 1, S_COR(ast_channel_caller(peer)->id.number.valid, ast_channel_caller(peer)->id.number.str, NULL))) {
what_is_s = "~~s~~";
}
if (asprintf(&gosub_args, "%s,%s,1(%s)", opt_args[OPT_ARG_CALLEE_GOSUB], what_is_s, gosub_argstart + 1) < 0) {
@@ -2683,8 +2683,8 @@ static int dial_exec_full(struct ast_channel *chan, const char *data, struct ast
*gosub_argstart = ',';
} else {
const char *what_is_s = "s";
- if (!ast_exists_extension(peer, opt_args[OPT_ARG_CALLEE_GOSUB], "s", 1, S_COR(peer->caller.id.number.valid, peer->caller.id.number.str, NULL)) &&
- ast_exists_extension(peer, opt_args[OPT_ARG_CALLEE_GOSUB], "~~s~~", 1, S_COR(peer->caller.id.number.valid, peer->caller.id.number.str, NULL))) {
+ if (!ast_exists_extension(peer, opt_args[OPT_ARG_CALLEE_GOSUB], "s", 1, S_COR(ast_channel_caller(peer)->id.number.valid, ast_channel_caller(peer)->id.number.str, NULL)) &&
+ ast_exists_extension(peer, opt_args[OPT_ARG_CALLEE_GOSUB], "~~s~~", 1, S_COR(ast_channel_caller(peer)->id.number.valid, ast_channel_caller(peer)->id.number.str, NULL))) {
what_is_s = "~~s~~";
}
if (asprintf(&gosub_args, "%s,%s,1", opt_args[OPT_ARG_CALLEE_GOSUB], what_is_s) < 0) {
@@ -2763,8 +2763,8 @@ static int dial_exec_full(struct ast_channel *chan, const char *data, struct ast
if (!res) {
if (!ast_tvzero(calldurationlimit)) {
- struct timeval whentohangup = calldurationlimit;
- peer->whentohangup = ast_tvadd(ast_tvnow(), whentohangup);
+ struct timeval whentohangup = ast_tvadd(ast_tvnow(), calldurationlimit);
+ ast_channel_whentohangup_set(peer, &whentohangup);
}
if (!ast_strlen_zero(dtmfcalled)) {
ast_verb(3, "Sending DTMF '%s' to the called party.\n", dtmfcalled);
@@ -2839,7 +2839,7 @@ static int dial_exec_full(struct ast_channel *chan, const char *data, struct ast
if (ast_test_flag64(&opts, OPT_PEER_H)
&& ast_exists_extension(peer, ast_channel_context(peer), "h", 1,
- S_COR(peer->caller.id.number.valid, peer->caller.id.number.str, NULL))) {
+ S_COR(ast_channel_caller(peer)->id.number.valid, ast_channel_caller(peer)->id.number.str, NULL))) {
int autoloopflag;
int found;
int res9;
@@ -2851,7 +2851,7 @@ static int dial_exec_full(struct ast_channel *chan, const char *data, struct ast
while ((res9 = ast_spawn_extension(peer, ast_channel_context(peer), ast_channel_exten(peer),
ast_channel_priority(peer),
- S_COR(peer->caller.id.number.valid, peer->caller.id.number.str, NULL),
+ S_COR(ast_channel_caller(peer)->id.number.valid, ast_channel_caller(peer)->id.number.str, NULL),
&found, 1)) == 0) {
ast_channel_priority_set(peer, ast_channel_priority(peer) + 1);
}
@@ -2908,7 +2908,7 @@ out:
if ((ast_test_flag64(peerflags, OPT_GO_ON)) && !ast_check_hangup(chan) && (res != AST_PBX_INCOMPLETE)) {
if (!ast_tvzero(calldurationlimit))
- memset(&chan->whentohangup, 0, sizeof(chan->whentohangup));
+ memset(ast_channel_whentohangup(chan), 0, sizeof(*ast_channel_whentohangup(chan)));
res = 0;
}