summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_agent.c9
-rw-r--r--channels/chan_dahdi.c34
-rw-r--r--channels/chan_gtalk.c4
-rw-r--r--channels/chan_h323.c6
-rw-r--r--channels/chan_iax2.c4
-rw-r--r--channels/chan_jingle.c4
-rw-r--r--channels/chan_mgcp.c6
-rw-r--r--channels/chan_misdn.c4
-rw-r--r--channels/chan_phone.c4
-rw-r--r--channels/chan_sip.c6
-rw-r--r--channels/chan_skinny.c4
-rw-r--r--channels/chan_unistim.c24
-rw-r--r--channels/chan_vpb.cc4
-rw-r--r--channels/console_video.c6
-rw-r--r--channels/sig_analog.c2
-rw-r--r--channels/sig_pri.c26
-rw-r--r--channels/sig_ss7.c2
17 files changed, 74 insertions, 75 deletions
diff --git a/channels/chan_agent.c b/channels/chan_agent.c
index 3c8073b81..4ce43a5a3 100644
--- a/channels/chan_agent.c
+++ b/channels/chan_agent.c
@@ -321,11 +321,12 @@ static AST_LIST_HEAD_STATIC(agents, agent_pvt); /*!< Holds the list of agents (l
#define CLEANUP(ast, p) do { \
int x; \
if (p->chan) { \
- for (x=0;x<AST_MAX_FDS;x++) {\
- if (x != AST_TIMING_FD) \
- ast_channel_set_fd(ast, x, p->chan->fds[x]); \
+ for (x = 0; x < AST_MAX_FDS; x++) { \
+ if (x != AST_TIMING_FD) { \
+ ast_channel_set_fd(ast, x, ast_channel_fd(p->chan, x)); \
+ } \
} \
- ast_channel_set_fd(ast, AST_AGENT_FD, p->chan->fds[AST_TIMING_FD]); \
+ ast_channel_set_fd(ast, AST_AGENT_FD, ast_channel_fd(p->chan, AST_TIMING_FD)); \
} \
} while(0)
diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c
index c160ae8f1..59d65e395 100644
--- a/channels/chan_dahdi.c
+++ b/channels/chan_dahdi.c
@@ -3078,7 +3078,7 @@ static void my_pri_fixup_chans(void *chan_old, void *chan_new)
old_chan->owner = NULL;
if (new_chan->owner) {
ast_channel_tech_pvt_set(new_chan->owner, new_chan);
- new_chan->owner->fds[0] = new_chan->subs[SUB_REAL].dfd;
+ ast_channel_fd_set(new_chan->owner, 0, new_chan->subs[SUB_REAL].dfd);
new_chan->subs[SUB_REAL].owner = old_chan->subs[SUB_REAL].owner;
old_chan->subs[SUB_REAL].owner = NULL;
}
@@ -3936,7 +3936,7 @@ static void dahdi_r2_on_protocol_error(openr2_chan_t *r2chan, openr2_protocol_er
ast_log(LOG_ERROR, "MFC/R2 protocol error on chan %d: %s\n", openr2_chan_get_number(r2chan), openr2_proto_get_error(reason));
if (p->owner) {
ast_channel_hangupcause_set(p->owner, AST_CAUSE_PROTOCOL_ERROR);
- p->owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(p->owner, AST_SOFTHANGUP_DEV);
}
ast_mutex_lock(&p->lock);
p->mfcr2call = 0;
@@ -4110,7 +4110,7 @@ static void dahdi_r2_on_call_disconnect(openr2_chan_t *r2chan, openr2_call_disco
/* when we have an owner we don't call dahdi_r2_disconnect_call here, that will
be done in dahdi_hangup */
if (ast_channel_state(p->owner) == AST_STATE_UP) {
- p->owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(p->owner, AST_SOFTHANGUP_DEV);
ast_mutex_unlock(&p->lock);
} else if (openr2_chan_get_direction(r2chan) == OR2_DIR_FORWARD) {
/* being the forward side we must report what happened to the call to whoever requested it */
@@ -4127,7 +4127,7 @@ static void dahdi_r2_on_call_disconnect(openr2_chan_t *r2chan, openr2_call_disco
p->subs[SUB_REAL].needcongestion = 1;
break;
default:
- p->owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(p->owner, AST_SOFTHANGUP_DEV);
}
ast_mutex_unlock(&p->lock);
} else {
@@ -7297,8 +7297,8 @@ static enum ast_bridge_result dahdi_bridge(struct ast_channel *c0, struct ast_ch
op0 = p0 = ast_channel_tech_pvt(c0);
op1 = p1 = ast_channel_tech_pvt(c1);
- ofd0 = c0->fds[0];
- ofd1 = c1->fds[0];
+ ofd0 = ast_channel_fd(c0, 0);
+ ofd1 = ast_channel_fd(c1, 0);
oc0 = p0->owner;
oc1 = p1->owner;
@@ -7503,8 +7503,8 @@ static enum ast_bridge_result dahdi_bridge(struct ast_channel *c0, struct ast_ch
if (!timeoutms ||
(op0 != p0) ||
(op1 != p1) ||
- (ofd0 != c0->fds[0]) ||
- (ofd1 != c1->fds[0]) ||
+ (ofd0 != ast_channel_fd(c0, 0)) ||
+ (ofd1 != ast_channel_fd(c1, 0)) ||
(p0->subs[SUB_REAL].owner && (os0 > -1) && (os0 != ast_channel_state(p0->subs[SUB_REAL].owner))) ||
(p1->subs[SUB_REAL].owner && (os1 > -1) && (os1 != ast_channel_state(p1->subs[SUB_REAL].owner))) ||
(oc0 != p0->owner) ||
@@ -7730,7 +7730,7 @@ static int attempt_transfer(struct dahdi_pvt *p)
} else {
ast_debug(1, "Neither %s nor %s are in a bridge, nothing to transfer\n",
ast_channel_name(p->subs[SUB_REAL].owner), ast_channel_name(p->subs[SUB_THREEWAY].owner));
- p->subs[SUB_THREEWAY].owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_set(p->subs[SUB_THREEWAY].owner, ast_channel_softhangup_internal_flag(p->subs[SUB_THREEWAY].owner) | AST_SOFTHANGUP_DEV);
return -1;
}
return 0;
@@ -8208,7 +8208,7 @@ static struct ast_frame *dahdi_handle_event(struct ast_channel *ast)
hanging up. Hangup both channels now */
if (p->subs[SUB_THREEWAY].owner)
ast_queue_hangup_with_cause(p->subs[SUB_THREEWAY].owner, AST_CAUSE_NO_ANSWER);
- p->subs[SUB_THREEWAY].owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(p->subs[SUB_THREEWAY].owner, AST_SOFTHANGUP_DEV);
ast_debug(1, "Looks like a bounced flash, hanging up both calls on %d\n", p->channel);
ast_channel_unlock(p->subs[SUB_THREEWAY].owner);
} else if ((ast_channel_pbx(ast)) || (ast_channel_state(ast) == AST_STATE_UP)) {
@@ -8226,7 +8226,7 @@ static struct ast_frame *dahdi_handle_event(struct ast_channel *ast)
dahdi_ring_phone(p);
} else {
if ((res = attempt_transfer(p)) < 0) {
- p->subs[SUB_THREEWAY].owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(p->subs[SUB_THREEWAY].owner, AST_SOFTHANGUP_DEV);
if (p->subs[SUB_THREEWAY].owner)
ast_channel_unlock(p->subs[SUB_THREEWAY].owner);
} else if (res) {
@@ -8237,7 +8237,7 @@ static struct ast_frame *dahdi_handle_event(struct ast_channel *ast)
}
}
} else {
- p->subs[SUB_THREEWAY].owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(p->subs[SUB_THREEWAY].owner, AST_SOFTHANGUP_DEV);
if (p->subs[SUB_THREEWAY].owner)
ast_channel_unlock(p->subs[SUB_THREEWAY].owner);
}
@@ -8614,7 +8614,7 @@ static struct ast_frame *dahdi_handle_event(struct ast_channel *ast)
}
/* Drop the last call and stop the conference */
ast_verb(3, "Dropping three-way call on %s\n", ast_channel_name(p->subs[SUB_THREEWAY].owner));
- p->subs[SUB_THREEWAY].owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(p->subs[SUB_THREEWAY].owner, AST_SOFTHANGUP_DEV);
p->subs[SUB_REAL].inthreeway = 0;
p->subs[SUB_THREEWAY].inthreeway = 0;
} else {
@@ -8640,7 +8640,7 @@ static struct ast_frame *dahdi_handle_event(struct ast_channel *ast)
} else {
ast_verb(3, "Dumping incomplete call on on %s\n", ast_channel_name(p->subs[SUB_THREEWAY].owner));
swap_subs(p, SUB_THREEWAY, SUB_REAL);
- p->subs[SUB_THREEWAY].owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(p->subs[SUB_THREEWAY].owner, AST_SOFTHANGUP_DEV);
p->owner = p->subs[SUB_REAL].owner;
if (p->subs[SUB_REAL].owner && ast_bridged_channel(p->subs[SUB_REAL].owner))
ast_queue_control(p->subs[SUB_REAL].owner, AST_CONTROL_UNHOLD);
@@ -8895,7 +8895,7 @@ static struct ast_frame *__dahdi_exception(struct ast_channel *ast)
return f;
}
if (!(p->radio || (p->oprmode < 0)))
- ast_debug(1, "Exception on %d, channel %d\n", ast->fds[0],p->channel);
+ ast_debug(1, "Exception on %d, channel %d\n", ast_channel_fd(ast, 0), p->channel);
/* If it's not us, return NULL immediately */
if (ast != p->owner) {
ast_log(LOG_WARNING, "We're %s, not %s\n", ast_channel_name(ast), ast_channel_name(p->owner));
@@ -9738,8 +9738,8 @@ static struct ast_channel *dahdi_new(struct dahdi_pvt *i, int state, int startpb
ast_channel_tech_pvt_set(tmp, i);
if ((i->sig == SIG_FXOKS) || (i->sig == SIG_FXOGS) || (i->sig == SIG_FXOLS)) {
/* Only FXO signalled stuff can be picked up */
- tmp->callgroup = i->callgroup;
- tmp->pickupgroup = i->pickupgroup;
+ ast_channel_callgroup_set(tmp, i->callgroup);
+ ast_channel_pickupgroup_set(tmp, i->pickupgroup);
}
if (!ast_strlen_zero(i->parkinglot))
ast_channel_parkinglot_set(tmp, i->parkinglot);
diff --git a/channels/chan_gtalk.c b/channels/chan_gtalk.c
index 1f967adb5..9e8425692 100644
--- a/channels/chan_gtalk.c
+++ b/channels/chan_gtalk.c
@@ -1176,8 +1176,8 @@ static struct ast_channel *gtalk_new(struct gtalk *client, struct gtalk_pvt *i,
ast_format_copy(ast_channel_rawreadformat(tmp), &tmpfmt);
ast_channel_tech_pvt_set(tmp, i);
- tmp->callgroup = client->callgroup;
- tmp->pickupgroup = client->pickupgroup;
+ ast_channel_callgroup_set(tmp, client->callgroup);
+ ast_channel_pickupgroup_set(tmp, client->pickupgroup);
ast_channel_caller(tmp)->id.name.presentation = client->callingpres;
ast_channel_caller(tmp)->id.number.presentation = client->callingpres;
if (!ast_strlen_zero(client->accountcode))
diff --git a/channels/chan_h323.c b/channels/chan_h323.c
index 49a5e2029..5feb1e740 100644
--- a/channels/chan_h323.c
+++ b/channels/chan_h323.c
@@ -352,7 +352,7 @@ static void __oh323_update_info(struct ast_channel *c, struct oh323_pvt *pvt)
if (pvt->needhangup) {
if (h323debug)
ast_debug(1, "Process pending hangup for %s\n", ast_channel_name(c));
- c->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(c, AST_SOFTHANGUP_DEV);
ast_channel_hangupcause_set(c, pvt->hangupcause);
ast_queue_hangup_with_cause(c, pvt->hangupcause);
pvt->needhangup = 0;
@@ -2456,7 +2456,7 @@ static void cleanup_connection(unsigned call_reference, const char *call_token)
pvt->alreadygone = 1;
/* Send hangup */
if (pvt->owner) {
- pvt->owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(pvt->owner, AST_SOFTHANGUP_DEV);
ast_queue_hangup(pvt->owner);
ast_channel_unlock(pvt->owner);
}
@@ -2480,7 +2480,7 @@ static void hangup_connection(unsigned int call_reference, const char *token, in
return;
}
if (pvt->owner && !ast_channel_trylock(pvt->owner)) {
- pvt->owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(pvt->owner, AST_SOFTHANGUP_DEV);
ast_channel_hangupcause_set(pvt->owner, pvt->hangupcause = cause);
ast_queue_hangup_with_cause(pvt->owner, cause);
ast_channel_unlock(pvt->owner);
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index b0b041645..ff95cd73f 100644
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -5547,8 +5547,8 @@ static enum ast_bridge_result iax2_bridge(struct ast_channel *c0, struct ast_cha
if (ast_tvzero(waittimer)) {
waittimer = now;
} else if (now.tv_sec - waittimer.tv_sec > IAX_LINGER_TIMEOUT) {
- c0->_softhangup |= AST_SOFTHANGUP_DEV;
- c1->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(c0, AST_SOFTHANGUP_DEV);
+ ast_channel_softhangup_internal_flag_add(c1, AST_SOFTHANGUP_DEV);
*fo = NULL;
*rc = c0;
res = AST_BRIDGE_COMPLETE;
diff --git a/channels/chan_jingle.c b/channels/chan_jingle.c
index 8a1bfdc1a..32c53bb5e 100644
--- a/channels/chan_jingle.c
+++ b/channels/chan_jingle.c
@@ -888,8 +888,8 @@ static struct ast_channel *jingle_new(struct jingle *client, struct jingle_pvt *
ast_format_copy(ast_channel_rawreadformat(tmp), &tmpfmt);
ast_channel_tech_pvt_set(tmp, i);
- tmp->callgroup = client->callgroup;
- tmp->pickupgroup = client->pickupgroup;
+ ast_channel_callgroup_set(tmp, client->callgroup);
+ ast_channel_pickupgroup_set(tmp, client->pickupgroup);
ast_channel_caller(tmp)->id.name.presentation = client->callingpres;
ast_channel_caller(tmp)->id.number.presentation = client->callingpres;
if (!ast_strlen_zero(client->accountcode))
diff --git a/channels/chan_mgcp.c b/channels/chan_mgcp.c
index be8ecbf39..ae7acedfc 100644
--- a/channels/chan_mgcp.c
+++ b/channels/chan_mgcp.c
@@ -1531,8 +1531,8 @@ static struct ast_channel *mgcp_new(struct mgcp_subchannel *sub, int state, cons
ast_channel_amaflags_set(tmp, i->amaflags);
sub->owner = tmp;
ast_module_ref(ast_module_info->self);
- tmp->callgroup = i->callgroup;
- tmp->pickupgroup = i->pickupgroup;
+ ast_channel_callgroup_set(tmp, i->callgroup);
+ ast_channel_pickupgroup_set(tmp, i->pickupgroup);
ast_channel_call_forward_set(tmp, i->call_forward);
ast_channel_context_set(tmp, i->context);
ast_channel_exten_set(tmp, i->exten);
@@ -3258,7 +3258,7 @@ static int attempt_transfer(struct mgcp_endpoint *p)
} else {
ast_debug(1, "Neither %s nor %s are in a bridge, nothing to transfer\n",
ast_channel_name(p->sub->owner), ast_channel_name(p->sub->next->owner));
- p->sub->next->owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(p->sub->next->owner, AST_SOFTHANGUP_DEV);
if (p->sub->next->owner) {
p->sub->next->alreadygone = 1;
mgcp_queue_hangup(p->sub->next);
diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c
index 62aa020d2..de807774a 100644
--- a/channels/chan_misdn.c
+++ b/channels/chan_misdn.c
@@ -5983,8 +5983,8 @@ static int read_config(struct chan_list *ch)
misdn_cfg_get(port, MISDN_CFG_PICKUPGROUP, &pg, sizeof(pg));
misdn_cfg_get(port, MISDN_CFG_CALLGROUP, &cg, sizeof(cg));
chan_misdn_log(5, port, " --> * CallGrp:%s PickupGrp:%s\n", ast_print_group(buf, sizeof(buf), cg), ast_print_group(buf2, sizeof(buf2), pg));
- ast->pickupgroup = pg;
- ast->callgroup = cg;
+ ast_channel_pickupgroup_set(ast, pg);
+ ast_channel_callgroup_set(ast, cg);
if (ch->originator == ORG_AST) {
char callerid[BUFFERSIZE + 1];
diff --git a/channels/chan_phone.c b/channels/chan_phone.c
index c071793ac..6926a7d4f 100644
--- a/channels/chan_phone.c
+++ b/channels/chan_phone.c
@@ -318,7 +318,7 @@ static int phone_call(struct ast_channel *ast, const char *dest, int timeout)
ast_log(LOG_WARNING, "phone_call called on %s, neither down nor reserved\n", ast_channel_name(ast));
return -1;
}
- ast_debug(1, "Ringing %s on %s (%d)\n", dest, ast_channel_name(ast), ast->fds[0]);
+ ast_debug(1, "Ringing %s on %s (%d)\n", dest, ast_channel_name(ast), ast_channel_fd(ast, 0));
start = IXJ_PHONE_RING_START(cid);
if (start == -1)
@@ -893,7 +893,7 @@ static struct ast_channel *phone_new(struct phone_pvt *i, int state, char *cntx,
ast_module_ref(ast_module_info->self);
if (state != AST_STATE_DOWN) {
if (state == AST_STATE_RING) {
- ioctl(tmp->fds[0], PHONE_RINGBACK);
+ ioctl(ast_channel_fd(tmp, 0), PHONE_RINGBACK);
i->cpt = 1;
}
if (ast_pbx_start(tmp)) {
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index b3bb4eb55..961c7f4de 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -5845,7 +5845,7 @@ void __sip_destroy(struct sip_pvt *p, int lockowner, int lockdialoglist)
ast_debug(1, "Detaching from %s\n", ast_channel_name(p->owner));
ast_channel_tech_pvt_set(p->owner, NULL);
/* Make sure that the channel knows its backend is going away */
- p->owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(p->owner, AST_SOFTHANGUP_DEV);
if (lockowner)
ast_channel_unlock(p->owner);
/* Give the channel a chance to react before deallocation */
@@ -7240,8 +7240,8 @@ static struct ast_channel *sip_new(struct sip_pvt *i, int state, const char *tit
ast_channel_tech_pvt_set(tmp, dialog_ref(i, "sip_new: set chan->tech_pvt to i"));
- tmp->callgroup = i->callgroup;
- tmp->pickupgroup = i->pickupgroup;
+ ast_channel_callgroup_set(tmp, i->callgroup);
+ ast_channel_pickupgroup_set(tmp, i->pickupgroup);
ast_channel_caller(tmp)->id.name.presentation = i->callingpres;
ast_channel_caller(tmp)->id.number.presentation = i->callingpres;
if (!ast_strlen_zero(i->parkinglot)) {
diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c
index cfa63eea5..0323237e3 100644
--- a/channels/chan_skinny.c
+++ b/channels/chan_skinny.c
@@ -4915,8 +4915,8 @@ static struct ast_channel *skinny_new(struct skinny_line *l, struct skinny_subli
ast_channel_amaflags_set(tmp, l->amaflags);
ast_module_ref(ast_module_info->self);
- tmp->callgroup = l->callgroup;
- tmp->pickupgroup = l->pickupgroup;
+ ast_channel_callgroup_set(tmp, l->callgroup);
+ ast_channel_pickupgroup_set(tmp, l->pickupgroup);
/* XXX Need to figure out how to handle CFwdNoAnswer */
if (l->cfwdtype & SKINNY_CFWD_ALL) {
diff --git a/channels/chan_unistim.c b/channels/chan_unistim.c
index caee08670..fcde6e635 100644
--- a/channels/chan_unistim.c
+++ b/channels/chan_unistim.c
@@ -1916,13 +1916,13 @@ static void swap_subs(struct unistim_line *p, int a, int b)
p->subs[a]->rtp = p->subs[b]->rtp;
p->subs[b]->rtp = rtp;
- fds = p->subs[a]->owner->fds[0];
- p->subs[a]->owner->fds[0] = p->subs[b]->owner->fds[0];
- p->subs[b]->owner->fds[0] = fds;
+ fds = ast_channel_fd(p->subs[a]->owner, 0);
+ ast_channel_internal_fd_set(p->subs[a]->owner, 0, ast_channel_fd(p->subs[b]->owner, 0));
+ ast_channel_internal_fd_set(p->subs[b]->owner, 0, fds);
- fds = p->subs[a]->owner->fds[1];
- p->subs[a]->owner->fds[1] = p->subs[b]->owner->fds[1];
- p->subs[b]->owner->fds[1] = fds;
+ fds = ast_channel_fd(p->subs[a]->owner, 1);
+ ast_channel_internal_fd_set(p->subs[a]->owner, 1, ast_channel_fd(p->subs[b]->owner, 1));
+ ast_channel_internal_fd_set(p->subs[b]->owner, 1, fds);
}
static int attempt_transfer(struct unistim_subchannel *p1, struct unistim_subchannel *p2)
@@ -2113,8 +2113,8 @@ static void start_rtp(struct unistim_subchannel *sub)
}
ast_rtp_instance_set_prop(sub->rtp, AST_RTP_PROPERTY_RTCP, 1);
if (sub->owner) {
- sub->owner->fds[0] = ast_rtp_instance_fd(sub->rtp, 0);
- sub->owner->fds[1] = ast_rtp_instance_fd(sub->rtp, 1);
+ ast_channel_internal_fd_set(sub->owner, 0, ast_rtp_instance_fd(sub->rtp, 0));
+ ast_channel_internal_fd_set(sub->owner, 1, ast_rtp_instance_fd(sub->rtp, 1));
}
ast_rtp_instance_set_qos(sub->rtp, qos.tos_audio, qos.cos_audio, "UNISTIM RTP");
ast_rtp_instance_set_prop(sub->rtp, AST_RTP_PROPERTY_NAT, sub->parent->parent->nat);
@@ -4575,8 +4575,8 @@ static struct ast_channel *unistim_new(struct unistim_subchannel *sub, int state
if ((sub->rtp) && (sub->subtype == 0)) {
if (unistimdebug)
ast_verb(0, "New unistim channel with a previous rtp handle ?\n");
- tmp->fds[0] = ast_rtp_instance_fd(sub->rtp, 0);
- tmp->fds[1] = ast_rtp_instance_fd(sub->rtp, 1);
+ ast_channel_internal_fd_set(tmp, 0, ast_rtp_instance_fd(sub->rtp, 0));
+ ast_channel_internal_fd_set(tmp, 1, ast_rtp_instance_fd(sub->rtp, 1));
}
if (sub->rtp)
ast_jb_configure(tmp, &global_jbconf);
@@ -4599,8 +4599,8 @@ static struct ast_channel *unistim_new(struct unistim_subchannel *sub, int state
usecnt++;
ast_mutex_unlock(&usecnt_lock);
ast_update_use_count();
- tmp->callgroup = l->callgroup;
- tmp->pickupgroup = l->pickupgroup;
+ ast_channel_callgroup_set(tmp, l->callgroup);
+ ast_channel_pickupgroup_set(tmp, l->pickupgroup);
ast_channel_call_forward_set(tmp, l->parent->call_forward);
if (!ast_strlen_zero(l->cid_num)) {
char *name, *loc, *instr;
diff --git a/channels/chan_vpb.cc b/channels/chan_vpb.cc
index bca7e9be8..465c24408 100644
--- a/channels/chan_vpb.cc
+++ b/channels/chan_vpb.cc
@@ -2450,8 +2450,8 @@ static struct ast_channel *vpb_new(struct vpb_pvt *me, enum ast_channel_state st
ast_channel_tech_set(tmp, &vpb_tech);
}
- tmp->callgroup = me->callgroup;
- tmp->pickupgroup = me->pickupgroup;
+ ast_channel_callgroup_set(tmp, me->callgroup);
+ ast_channel_pickupgroup_set(tmp, me->pickupgroup);
/* Linear is the preferred format. Although Voicetronix supports other formats
* they are all converted to/from linear in the vpb code. Best for us to use
diff --git a/channels/console_video.c b/channels/console_video.c
index db07fccee..d53e6ec27 100644
--- a/channels/console_video.c
+++ b/channels/console_video.c
@@ -972,7 +972,6 @@ static void *video_thread(void *arg)
}
continue;
}
- fd = chan->alertpipe[1];
ast_channel_lock(chan);
/* AST_LIST_INSERT_TAIL is only good for one frame, cannot use here */
@@ -986,10 +985,9 @@ static void *video_thread(void *arg)
* more or less same as ast_queue_frame, but extra
* write on the alertpipe to signal frames.
*/
- if (fd > -1) {
- int blah = 1, l = sizeof(blah);
+ if (ast_channel_alertable(chan)) {
for (p = f; p; p = AST_LIST_NEXT(p, frame_list)) {
- if (write(fd, &blah, l) != l)
+ if (ast_channel_alert(chan)) {
ast_log(LOG_WARNING, "Unable to write to alert pipe on %s, frametype/subclass %d/%d: %s!\n",
ast_channel_name(chan), f->frametype, f->subclass, strerror(errno));
}
diff --git a/channels/sig_analog.c b/channels/sig_analog.c
index 7f4d1a6da..78963bb56 100644
--- a/channels/sig_analog.c
+++ b/channels/sig_analog.c
@@ -3603,7 +3603,7 @@ struct ast_frame *analog_exception(struct analog_pvt *p, struct ast_channel *ast
f = &p->subs[idx].f;
return f;
}
- ast_debug(1, "Exception on %d, channel %d\n", ast->fds[0],p->channel);
+ ast_debug(1, "Exception on %d, channel %d\n", ast_channel_fd(ast, 0), p->channel);
/* If it's not us, return NULL immediately */
if (ast != p->owner) {
ast_log(LOG_WARNING, "We're %s, not %s\n", ast_channel_name(ast), ast_channel_name(p->owner));
diff --git a/channels/sig_pri.c b/channels/sig_pri.c
index b317284fd..f0a15d7ed 100644
--- a/channels/sig_pri.c
+++ b/channels/sig_pri.c
@@ -5550,7 +5550,7 @@ static void *pri_dchannel(void *vpri)
for (x = pri->numchans; x >= 0; x--) {
/* find a candidate channel */
if (pri->pvts[x] && pri->pvts[x]->owner && pri->pvts[x]->isidlecall) {
- pri->pvts[x]->owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(pri->pvts[x]->owner, AST_SOFTHANGUP_DEV);
haveidles++;
/* Stop if we have enough idle channels or
can't spare any more active idle ones */
@@ -5697,7 +5697,7 @@ static void *pri_dchannel(void *vpri)
p->call = NULL;
}
if (p->owner)
- p->owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(p->owner, AST_SOFTHANGUP_DEV);
}
sig_pri_set_alarm(p, 1);
}
@@ -5740,7 +5740,7 @@ static void *pri_dchannel(void *vpri)
}
/* Force soft hangup if appropriate */
if (pri->pvts[chanpos]->owner)
- pri->pvts[chanpos]->owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(pri->pvts[chanpos]->owner, AST_SOFTHANGUP_DEV);
sig_pri_unlock_private(pri->pvts[chanpos]);
}
} else {
@@ -5753,7 +5753,7 @@ static void *pri_dchannel(void *vpri)
pri->pvts[x]->call = NULL;
}
if (pri->pvts[x]->owner)
- pri->pvts[x]->owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(pri->pvts[x]->owner, AST_SOFTHANGUP_DEV);
sig_pri_unlock_private(pri->pvts[x]);
}
}
@@ -6732,10 +6732,10 @@ static void *pri_dchannel(void *vpri)
* AST_CONTROL_HANGUP frame to guarantee that frame gets read before hangup */
pri_queue_control(pri, chanpos, AST_CONTROL_HANGUP);
} else {
- pri->pvts[chanpos]->owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(pri->pvts[chanpos]->owner, AST_SOFTHANGUP_DEV);
}
#else
- pri->pvts[chanpos]->owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(pri->pvts[chanpos]->owner, AST_SOFTHANGUP_DEV);
#endif /* defined(HAVE_PRI_AOC_EVENTS) */
}
} else {
@@ -6885,10 +6885,10 @@ static void *pri_dchannel(void *vpri)
* to guarantee that frame gets read before hangup */
pri_queue_control(pri, chanpos, AST_CONTROL_HANGUP);
} else {
- pri->pvts[chanpos]->owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(pri->pvts[chanpos]->owner, AST_SOFTHANGUP_DEV);
}
#else
- pri->pvts[chanpos]->owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(pri->pvts[chanpos]->owner, AST_SOFTHANGUP_DEV);
#endif /* defined(HAVE_PRI_AOC_EVENTS) */
}
ast_verb(3, "Span %d: Channel %d/%d got hangup request, cause %d\n",
@@ -6986,7 +6986,7 @@ static void *pri_dchannel(void *vpri)
"Span %d: Got restart ack on channel %d/%d with owner\n",
pri->span, pri->pvts[chanpos]->logicalspan,
pri->pvts[chanpos]->prioffset);
- pri->pvts[chanpos]->owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(pri->pvts[chanpos]->owner, AST_SOFTHANGUP_DEV);
}
pri->pvts[chanpos]->resetting = 0;
ast_verb(3,
@@ -7012,7 +7012,7 @@ static void *pri_dchannel(void *vpri)
"Span %d: Got restart ack on channel %d/%d with owner\n",
pri->span, pri->pvts[chanpos]->logicalspan,
pri->pvts[chanpos]->prioffset);
- pri->pvts[chanpos]->owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(pri->pvts[chanpos]->owner, AST_SOFTHANGUP_DEV);
}
pri->pvts[chanpos]->resetting = 0;
ast_verb(3,
@@ -7863,7 +7863,7 @@ int sig_pri_indicate(struct sig_pri_chan *p, struct ast_channel *chan, int condi
case AST_CONTROL_BUSY:
if (p->priindication_oob || p->no_b_channel) {
ast_channel_hangupcause_set(chan, AST_CAUSE_USER_BUSY);
- chan->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(chan, AST_SOFTHANGUP_DEV);
res = 0;
break;
}
@@ -7956,7 +7956,7 @@ int sig_pri_indicate(struct sig_pri_chan *p, struct ast_channel *chan, int condi
default:
break;
}
- chan->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(chan, AST_SOFTHANGUP_DEV);
res = 0;
break;
}
@@ -8788,7 +8788,7 @@ void sig_pri_chan_alarm_notify(struct sig_pri_chan *p, int noalarm)
p->call = NULL;
}
if (p->owner)
- p->owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(p->owner, AST_SOFTHANGUP_DEV);
}
}
sig_pri_span_devstate_changed(p->pri);
diff --git a/channels/sig_ss7.c b/channels/sig_ss7.c
index 1a8a12b98..cebd6c808 100644
--- a/channels/sig_ss7.c
+++ b/channels/sig_ss7.c
@@ -444,7 +444,7 @@ static inline void ss7_hangup_cics(struct sig_ss7_linkset *linkset, int startcic
if (linkset->pvts[i] && (linkset->pvts[i]->dpc == dpc && ((linkset->pvts[i]->cic >= startcic) && (linkset->pvts[i]->cic <= endcic)))) {
sig_ss7_lock_private(linkset->pvts[i]);
if (linkset->pvts[i]->owner)
- linkset->pvts[i]->owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ ast_channel_softhangup_internal_flag_add(linkset->pvts[i]->owner, AST_SOFTHANGUP_DEV);
sig_ss7_unlock_private(linkset->pvts[i]);
}
}