diff options
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_agent.c | 9 | ||||
-rw-r--r-- | channels/chan_dahdi.c | 34 | ||||
-rw-r--r-- | channels/chan_gtalk.c | 4 | ||||
-rw-r--r-- | channels/chan_h323.c | 6 | ||||
-rw-r--r-- | channels/chan_iax2.c | 4 | ||||
-rw-r--r-- | channels/chan_jingle.c | 4 | ||||
-rw-r--r-- | channels/chan_mgcp.c | 6 | ||||
-rw-r--r-- | channels/chan_misdn.c | 4 | ||||
-rw-r--r-- | channels/chan_phone.c | 4 | ||||
-rw-r--r-- | channels/chan_sip.c | 6 | ||||
-rw-r--r-- | channels/chan_skinny.c | 4 | ||||
-rw-r--r-- | channels/chan_unistim.c | 24 | ||||
-rw-r--r-- | channels/chan_vpb.cc | 4 | ||||
-rw-r--r-- | channels/console_video.c | 6 | ||||
-rw-r--r-- | channels/sig_analog.c | 2 | ||||
-rw-r--r-- | channels/sig_pri.c | 26 | ||||
-rw-r--r-- | channels/sig_ss7.c | 2 |
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]); } } |