[svn-commits] twilson: trunk r356042 - in /trunk: addons/ apps/ bridges/ cdr/ channels/ cha...
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Mon Feb 20 17:43:59 CST 2012
Author: twilson
Date: Mon Feb 20 17:43:27 2012
New Revision: 356042
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=356042
Log:
ast_channel opaquification of pointers and integral types
Review: https://reviewboard.asterisk.org/r/1753/
Modified:
trunk/addons/chan_mobile.c
trunk/addons/chan_ooh323.c
trunk/apps/app_alarmreceiver.c
trunk/apps/app_authenticate.c
trunk/apps/app_cdr.c
trunk/apps/app_chanisavail.c
trunk/apps/app_channelredirect.c
trunk/apps/app_chanspy.c
trunk/apps/app_confbridge.c
trunk/apps/app_dahdibarge.c
trunk/apps/app_dahdiras.c
trunk/apps/app_dial.c
trunk/apps/app_dictate.c
trunk/apps/app_directory.c
trunk/apps/app_disa.c
trunk/apps/app_dumpchan.c
trunk/apps/app_echo.c
trunk/apps/app_externalivr.c
trunk/apps/app_fax.c
trunk/apps/app_festival.c
trunk/apps/app_flash.c
trunk/apps/app_followme.c
trunk/apps/app_forkcdr.c
trunk/apps/app_ices.c
trunk/apps/app_ivrdemo.c
trunk/apps/app_macro.c
trunk/apps/app_meetme.c
trunk/apps/app_milliwatt.c
trunk/apps/app_minivm.c
trunk/apps/app_osplookup.c
trunk/apps/app_parkandannounce.c
trunk/apps/app_playback.c
trunk/apps/app_playtones.c
trunk/apps/app_privacy.c
trunk/apps/app_queue.c
trunk/apps/app_read.c
trunk/apps/app_readexten.c
trunk/apps/app_record.c
trunk/apps/app_rpt.c
trunk/apps/app_sayunixtime.c
trunk/apps/app_sendtext.c
trunk/apps/app_sms.c
trunk/apps/app_softhangup.c
trunk/apps/app_speech_utils.c
trunk/apps/app_stack.c
trunk/apps/app_talkdetect.c
trunk/apps/app_test.c
trunk/apps/app_transfer.c
trunk/apps/app_verbose.c
trunk/apps/app_voicemail.c
trunk/apps/app_waitforsilence.c
trunk/apps/app_while.c
trunk/apps/app_zapateller.c
trunk/bridges/bridge_builtin_features.c
trunk/bridges/bridge_multiplexed.c
trunk/bridges/bridge_simple.c
trunk/cdr/cdr_custom.c
trunk/cdr/cdr_manager.c
trunk/cdr/cdr_sqlite3_custom.c
trunk/cdr/cdr_syslog.c
trunk/channels/chan_agent.c
trunk/channels/chan_alsa.c
trunk/channels/chan_bridge.c
trunk/channels/chan_console.c
trunk/channels/chan_dahdi.c
trunk/channels/chan_gtalk.c
trunk/channels/chan_h323.c
trunk/channels/chan_iax2.c
trunk/channels/chan_jingle.c
trunk/channels/chan_local.c
trunk/channels/chan_mgcp.c
trunk/channels/chan_misdn.c
trunk/channels/chan_multicast_rtp.c
trunk/channels/chan_nbs.c
trunk/channels/chan_oss.c
trunk/channels/chan_phone.c
trunk/channels/chan_sip.c
trunk/channels/chan_skinny.c
trunk/channels/chan_unistim.c
trunk/channels/chan_usbradio.c
trunk/channels/chan_vpb.cc
trunk/channels/sig_analog.c
trunk/channels/sig_pri.c
trunk/channels/sig_ss7.c
trunk/channels/sip/dialplan_functions.c
trunk/funcs/func_callerid.c
trunk/funcs/func_cdr.c
trunk/funcs/func_channel.c
trunk/funcs/func_jitterbuffer.c
trunk/funcs/func_timeout.c
trunk/include/asterisk/channel.h
trunk/include/asterisk/sched.h
trunk/main/abstract_jb.c
trunk/main/app.c
trunk/main/audiohook.c
trunk/main/bridging.c
trunk/main/ccss.c
trunk/main/cdr.c
trunk/main/cel.c
trunk/main/channel.c
trunk/main/channel_internal_api.c
trunk/main/cli.c
trunk/main/devicestate.c
trunk/main/dial.c
trunk/main/features.c
trunk/main/file.c
trunk/main/framehook.c
trunk/main/image.c
trunk/main/manager.c
trunk/main/message.c
trunk/main/pbx.c
trunk/main/rtp_engine.c
trunk/main/udptl.c
trunk/pbx/pbx_lua.c
trunk/pbx/pbx_realtime.c
trunk/res/res_adsi.c
trunk/res/res_agi.c
trunk/res/res_calendar.c
trunk/res/res_fax.c
trunk/res/res_monitor.c
trunk/res/res_musiconhold.c
trunk/res/res_rtp_asterisk.c
trunk/res/snmp/agent.c
Modified: trunk/addons/chan_mobile.c
URL: http://svnview.digium.com/svn/asterisk/trunk/addons/chan_mobile.c?view=diff&rev=356042&r1=356041&r2=356042
==============================================================================
--- trunk/addons/chan_mobile.c (original)
+++ trunk/addons/chan_mobile.c Mon Feb 20 17:43:27 2012
@@ -843,16 +843,16 @@
goto e_return;
}
- chn->tech = &mbl_tech;
- ast_format_cap_add(chn->nativeformats, &prefformat);
+ ast_channel_tech_set(chn, &mbl_tech);
+ ast_format_cap_add(ast_channel_nativeformats(chn), &prefformat);
ast_format_copy(&chn->rawreadformat, &prefformat);
ast_format_copy(&chn->rawwriteformat, &prefformat);
ast_format_copy(&chn->writeformat, &prefformat);
ast_format_copy(&chn->readformat, &prefformat);
- chn->tech_pvt = pvt;
+ ast_channel_tech_pvt_set(chn, pvt);
if (state == AST_STATE_RING)
- chn->rings = 1;
+ ast_channel_rings_set(chn, 1);
ast_channel_language_set(chn, "en");
pvt->owner = chn;
@@ -947,7 +947,7 @@
dest_dev = ast_strdupa(dest);
- pvt = ast->tech_pvt;
+ pvt = ast_channel_tech_pvt(ast);
if (pvt->type == MBL_TYPE_PHONE) {
dest_num = strchr(dest_dev, '/');
@@ -958,7 +958,7 @@
*dest_num++ = 0x00;
}
- if ((ast->_state != AST_STATE_DOWN) && (ast->_state != AST_STATE_RESERVED)) {
+ if ((ast_channel_state(ast) != AST_STATE_DOWN) && (ast_channel_state(ast) != AST_STATE_RESERVED)) {
ast_log(LOG_WARNING, "mbl_call called on %s, neither down nor reserved\n", ast_channel_name(ast));
return -1;
}
@@ -1001,11 +1001,11 @@
struct mbl_pvt *pvt;
- if (!ast->tech_pvt) {
+ if (!ast_channel_tech_pvt(ast)) {
ast_log(LOG_WARNING, "Asked to hangup channel not connected\n");
return 0;
}
- pvt = ast->tech_pvt;
+ pvt = ast_channel_tech_pvt(ast);
ast_debug(1, "[%s] hanging up device\n", pvt->id);
@@ -1024,7 +1024,7 @@
pvt->incoming = 0;
pvt->needring = 0;
pvt->owner = NULL;
- ast->tech_pvt = NULL;
+ ast_channel_tech_pvt_set(ast, NULL);
ast_mutex_unlock(&pvt->lock);
@@ -1039,7 +1039,7 @@
struct mbl_pvt *pvt;
- pvt = ast->tech_pvt;
+ pvt = ast_channel_tech_pvt(ast);
if (pvt->type == MBL_TYPE_HEADSET)
return 0;
@@ -1058,7 +1058,7 @@
static int mbl_digit_end(struct ast_channel *ast, char digit, unsigned int duration)
{
- struct mbl_pvt *pvt = ast->tech_pvt;
+ struct mbl_pvt *pvt = ast_channel_tech_pvt(ast);
if (pvt->type == MBL_TYPE_HEADSET)
return 0;
@@ -1080,7 +1080,7 @@
static struct ast_frame *mbl_read(struct ast_channel *ast)
{
- struct mbl_pvt *pvt = ast->tech_pvt;
+ struct mbl_pvt *pvt = ast_channel_tech_pvt(ast);
struct ast_frame *fr = &ast_null_frame;
int r;
@@ -1134,7 +1134,7 @@
static int mbl_write(struct ast_channel *ast, struct ast_frame *frame)
{
- struct mbl_pvt *pvt = ast->tech_pvt;
+ struct mbl_pvt *pvt = ast_channel_tech_pvt(ast);
struct ast_frame *f;
ast_debug(3, "*** mbl_write\n");
@@ -1162,7 +1162,7 @@
static int mbl_fixup(struct ast_channel *oldchan, struct ast_channel *newchan)
{
- struct mbl_pvt *pvt = newchan->tech_pvt;
+ struct mbl_pvt *pvt = ast_channel_tech_pvt(newchan);
if (!pvt) {
ast_debug(1, "fixup failed, no pvt on newchan\n");
Modified: trunk/addons/chan_ooh323.c
URL: http://svnview.digium.com/svn/asterisk/trunk/addons/chan_ooh323.c?view=diff&rev=356042&r1=356041&r2=356042
==============================================================================
--- trunk/addons/chan_ooh323.c (original)
+++ trunk/addons/chan_ooh323.c Mon Feb 20 17:43:27 2012
@@ -382,26 +382,26 @@
if (ch) {
ast_channel_lock(ch);
- ch->tech = &ooh323_tech;
+ ast_channel_tech_set(ch, &ooh323_tech);
if (cap)
ast_best_codec(cap, &tmpfmt);
if (!tmpfmt.id)
ast_codec_pref_index(&i->prefs, 0, &tmpfmt);
- ast_format_cap_add(ch->nativeformats, &tmpfmt);
+ ast_format_cap_add(ast_channel_nativeformats(ch), &tmpfmt);
ast_format_copy(&ch->rawwriteformat, &tmpfmt);
ast_format_copy(&ch->rawreadformat, &tmpfmt);
ast_jb_configure(ch, &global_jbconf);
if (state == AST_STATE_RING)
- ch->rings = 1;
-
- ch->adsicpe = AST_ADSI_UNAVAILABLE;
+ ast_channel_rings_set(ch, 1);
+
+ ast_channel_adsicpe_set(ch, AST_ADSI_UNAVAILABLE);
ast_set_write_format(ch, &tmpfmt);
ast_set_read_format(ch, &tmpfmt);
- ch->tech_pvt = i;
+ ast_channel_tech_pvt_set(ch, i);
i->owner = ch;
ast_module_ref(myself);
@@ -439,7 +439,7 @@
ast_channel_context_set(ch, i->context);
ast_channel_exten_set(ch, i->exten);
- ch->priority = 1;
+ ast_channel_priority_set(ch, 1);
if(!ast_test_flag(i, H323_OUTGOING)) {
@@ -464,7 +464,7 @@
ast_channel_accountcode_set(ch, i->accountcode);
if (i->amaflags)
- ch->amaflags = i->amaflags;
+ ast_channel_amaflags_set(ch, i->amaflags);
ast_setstate(ch, state);
if (state != AST_STATE_DOWN) {
@@ -860,7 +860,7 @@
static int ooh323_digit_begin(struct ast_channel *chan, char digit)
{
char dtmf[2];
- struct ooh323_pvt *p = (struct ooh323_pvt *) chan->tech_pvt;
+ struct ooh323_pvt *p = (struct ooh323_pvt *) ast_channel_tech_pvt(chan);
int res = 0;
if (gH323Debug)
@@ -893,7 +893,7 @@
static int ooh323_digit_end(struct ast_channel *chan, char digit, unsigned int duration)
{
- struct ooh323_pvt *p = (struct ooh323_pvt *) chan->tech_pvt;
+ struct ooh323_pvt *p = (struct ooh323_pvt *) ast_channel_tech_pvt(chan);
int res = 0;
if (gH323Debug)
@@ -922,7 +922,7 @@
static int ooh323_call(struct ast_channel *ast, const char *dest, int timeout)
{
- struct ooh323_pvt *p = ast->tech_pvt;
+ struct ooh323_pvt *p = ast_channel_tech_pvt(ast);
char destination[256];
int res=0, i;
const char *val = NULL;
@@ -938,7 +938,7 @@
ast_verb(0, "--- ooh323_call- %s\n", dest);
- if ((ast->_state != AST_STATE_DOWN) && (ast->_state != AST_STATE_RESERVED)) {
+ if ((ast_channel_state(ast) != AST_STATE_DOWN) && (ast_channel_state(ast) != AST_STATE_RESERVED)) {
ast_log(LOG_WARNING, "ooh323_call called on %s, neither down nor "
"reserved\n", ast_channel_name(ast));
return -1;
@@ -994,7 +994,7 @@
destination[sizeof(destination)-1]='\0';
- opts.transfercap = ast->transfercapability;
+ opts.transfercap = ast_channel_transfercapability(ast);
opts.fastStart = p->faststart;
opts.tunneling = p->h245tunneling;
@@ -1019,7 +1019,7 @@
static int ooh323_hangup(struct ast_channel *ast)
{
- struct ooh323_pvt *p = ast->tech_pvt;
+ struct ooh323_pvt *p = ast_channel_tech_pvt(ast);
int q931cause = AST_CAUSE_NORMAL_CLEARING;
if (gH323Debug)
@@ -1028,8 +1028,8 @@
if (p) {
ast_mutex_lock(&p->lock);
- if (ast->hangupcause) {
- q931cause = ast->hangupcause;
+ if (ast_channel_hangupcause(ast)) {
+ q931cause = ast_channel_hangupcause(ast);
} else {
const char *cause = pbx_builtin_getvar_helper(ast, "DIALSTATUS");
if (cause) {
@@ -1051,7 +1051,7 @@
if (gH323Debug)
ast_verb(0, " hanging %s with cause: %d\n", p->username, q931cause);
- ast->tech_pvt = NULL;
+ ast_channel_tech_pvt_set(ast, NULL);
if (!ast_test_flag(p, H323_ALREADYGONE)) {
ooHangCall(p->callToken,
ooh323_convert_hangupcause_asteriskToH323(q931cause), q931cause);
@@ -1061,7 +1061,7 @@
ast_set_flag(p, H323_NEEDDESTROY);
/* detach channel here */
if (p->owner) {
- p->owner->tech_pvt = NULL;
+ ast_channel_tech_pvt_set(p->owner, NULL);
p->owner = NULL;
ast_module_unref(myself);
}
@@ -1086,7 +1086,7 @@
static int ooh323_answer(struct ast_channel *ast)
{
- struct ooh323_pvt *p = ast->tech_pvt;
+ struct ooh323_pvt *p = ast_channel_tech_pvt(ast);
char *callToken = (char *)NULL;
if (gH323Debug)
@@ -1096,7 +1096,7 @@
ast_mutex_lock(&p->lock);
callToken = (p->callToken ? strdup(p->callToken) : NULL);
- if (ast->_state != AST_STATE_UP) {
+ if (ast_channel_state(ast) != AST_STATE_UP) {
ast_channel_lock(ast);
if (!p->alertsent) {
if (gH323Debug) {
@@ -1129,7 +1129,7 @@
{
struct ast_frame *fr;
static struct ast_frame null_frame = { AST_FRAME_NULL, };
- struct ooh323_pvt *p = ast->tech_pvt;
+ struct ooh323_pvt *p = ast_channel_tech_pvt(ast);
if (!p) return &null_frame;
@@ -1145,7 +1145,7 @@
static int ooh323_write(struct ast_channel *ast, struct ast_frame *f)
{
- struct ooh323_pvt *p = ast->tech_pvt;
+ struct ooh323_pvt *p = ast_channel_tech_pvt(ast);
int res = 0;
char buf[256];
@@ -1171,12 +1171,12 @@
}
- if (!(ast_format_cap_iscompatible(ast->nativeformats, &f->subclass.format))) {
- if (!(ast_format_cap_is_empty(ast->nativeformats))) {
+ if (!(ast_format_cap_iscompatible(ast_channel_nativeformats(ast), &f->subclass.format))) {
+ if (!(ast_format_cap_is_empty(ast_channel_nativeformats(ast)))) {
ast_log(LOG_WARNING,
"Asked to transmit frame type %s, while native formats is %s (read/write = %s/%s)\n",
ast_getformatname(&f->subclass.format),
- ast_getformatname_multiple(buf, sizeof(buf), ast->nativeformats),
+ ast_getformatname_multiple(buf, sizeof(buf), ast_channel_nativeformats(ast)),
ast_getformatname(&ast->readformat),
ast_getformatname(&ast->writeformat));
@@ -1212,7 +1212,7 @@
static int ooh323_indicate(struct ast_channel *ast, int condition, const void *data, size_t datalen)
{
- struct ooh323_pvt *p = (struct ooh323_pvt *) ast->tech_pvt;
+ struct ooh323_pvt *p = (struct ooh323_pvt *) ast_channel_tech_pvt(ast);
char *callToken = (char *)NULL;
int res = -1;
@@ -1256,7 +1256,7 @@
ast_moh_stop(ast);
break;
case AST_CONTROL_PROGRESS:
- if (ast->_state != AST_STATE_UP) {
+ if (ast_channel_state(ast) != AST_STATE_UP) {
if (!p->progsent) {
if (gH323Debug) {
ast_debug(1, "Sending manual progress for %s, res = %d\n", callToken,
@@ -1269,7 +1269,7 @@
}
break;
case AST_CONTROL_RINGING:
- if (ast->_state == AST_STATE_RING || ast->_state == AST_STATE_RINGING) {
+ if (ast_channel_state(ast) == AST_STATE_RING || ast_channel_state(ast) == AST_STATE_RINGING) {
if (!p->alertsent) {
if (gH323Debug) {
ast_debug(1, "Sending manual ringback for %s, res = %d\n",
@@ -1391,7 +1391,7 @@
static int ooh323_queryoption(struct ast_channel *ast, int option, void *data, int *datalen)
{
- struct ooh323_pvt *p = (struct ooh323_pvt *) ast->tech_pvt;
+ struct ooh323_pvt *p = (struct ooh323_pvt *) ast_channel_tech_pvt(ast);
int res = -1;
enum ast_t38_state state = T38_STATE_UNAVAILABLE;
char* cp;
@@ -1452,7 +1452,7 @@
static int ooh323_fixup(struct ast_channel *oldchan, struct ast_channel *newchan)
{
- struct ooh323_pvt *p = newchan->tech_pvt;
+ struct ooh323_pvt *p = ast_channel_tech_pvt(newchan);
if (!p) return -1;
@@ -1513,7 +1513,7 @@
if (gH323Debug)
ast_verb(0, "Writeformat before update %s/%s\n",
ast_getformatname(&p->owner->writeformat),
- ast_getformatname_multiple(formats, sizeof(formats), p->owner->nativeformats));
+ ast_getformatname_multiple(formats, sizeof(formats), ast_channel_nativeformats(p->owner)));
if (txframes)
ast_codec_pref_setsize(&p->prefs, fmt, txframes);
ast_rtp_codecs_packetization_set(ast_rtp_instance_get_codecs(p->rtp), p->rtp, &p->prefs);
@@ -1526,7 +1526,7 @@
p->rtp, p->dtmfcodec, "audio", "cisco-telephone-event", 0);
}
- ast_format_cap_set(p->owner->nativeformats, fmt);
+ ast_format_cap_set(ast_channel_nativeformats(p->owner), fmt);
ast_set_write_format(p->owner, &p->owner->writeformat);
ast_set_read_format(p->owner, &p->owner->readformat);
ast_channel_unlock(p->owner);
@@ -1572,7 +1572,7 @@
if (gH323Debug)
ast_verb(0, "Readformat before update %s\n",
ast_getformatname(&p->owner->readformat));
- ast_format_cap_set(p->owner->nativeformats, fmt);
+ ast_format_cap_set(ast_channel_nativeformats(p->owner), fmt);
ast_set_read_format(p->owner, &p->owner->readformat);
ast_channel_unlock(p->owner);
} else
@@ -1628,7 +1628,7 @@
connected.source = AST_CONNECTED_LINE_UPDATE_SOURCE_ANSWER;
ast_channel_queue_connected_line_update(c, &connected, &update_connected);
}
- if (c->_state != AST_STATE_UP)
+ if (ast_channel_state(c) != AST_STATE_UP)
ast_setstate(c, AST_STATE_RINGING);
ast_queue_control(c, AST_CONTROL_RINGING);
@@ -1684,7 +1684,7 @@
connected.source = AST_CONNECTED_LINE_UPDATE_SOURCE_ANSWER;
ast_channel_queue_connected_line_update(c, &connected, &update_connected);
}
- if (c->_state != AST_STATE_UP)
+ if (ast_channel_state(c) != AST_STATE_UP)
ast_setstate(c, AST_STATE_RINGING);
ast_queue_control(c, AST_CONTROL_PROGRESS);
@@ -2154,14 +2154,14 @@
if (!ast_test_flag(p, H323_ALREADYGONE)) {
ast_set_flag(p, H323_ALREADYGONE);
- p->owner->hangupcause = call->q931cause;
+ ast_channel_hangupcause_set(p->owner, call->q931cause);
p->owner->_softhangup |= AST_SOFTHANGUP_DEV;
ast_queue_hangup_with_cause(p->owner,call->q931cause);
}
}
if(p->owner) {
- p->owner->tech_pvt = NULL;
+ ast_channel_tech_pvt_set(p->owner, NULL);
ast_channel_unlock(p->owner);
p->owner = NULL;
ast_module_unref(myself);
@@ -3419,7 +3419,7 @@
/*! \brief OOH323 Dialplan function - reads ooh323 settings */
static int function_ooh323_read(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len)
{
- struct ooh323_pvt *p = chan->tech_pvt;
+ struct ooh323_pvt *p = ast_channel_tech_pvt(chan);
ast_channel_lock(chan);
if (!p) {
@@ -3427,8 +3427,8 @@
return -1;
}
- if (strcmp(chan->tech->type, "OOH323")) {
- ast_log(LOG_ERROR, "This function is only supported on OOH323 channels, Channel is %s\n", chan->tech->type);
+ if (strcmp(ast_channel_tech(chan)->type, "OOH323")) {
+ ast_log(LOG_ERROR, "This function is only supported on OOH323 channels, Channel is %s\n", ast_channel_tech(chan)->type);
ast_channel_unlock(chan);
return -1;
}
@@ -3464,7 +3464,7 @@
/*! \brief OOH323 Dialplan function - writes ooh323 settings */
static int function_ooh323_write(struct ast_channel *chan, const char *cmd, char *data, const char *value)
{
- struct ooh323_pvt *p = chan->tech_pvt;
+ struct ooh323_pvt *p = ast_channel_tech_pvt(chan);
int res = -1;
ast_channel_lock(chan);
@@ -3473,8 +3473,8 @@
return -1;
}
- if (strcmp(chan->tech->type, "OOH323")) {
- ast_log(LOG_ERROR, "This function is only supported on OOH323 channels, Channel is %s\n", chan->tech->type);
+ if (strcmp(ast_channel_tech(chan)->type, "OOH323")) {
+ ast_log(LOG_ERROR, "This function is only supported on OOH323 channels, Channel is %s\n", ast_channel_tech(chan)->type);
ast_channel_unlock(chan);
return -1;
}
@@ -3857,7 +3857,7 @@
DEADLOCK_AVOIDANCE(&cur->lock);
}
ast_debug(1, "Detaching from %s\n", ast_channel_name(cur->owner));
- cur->owner->tech_pvt = NULL;
+ ast_channel_tech_pvt_set(cur->owner, NULL);
ast_channel_unlock(cur->owner);
cur->owner = NULL;
ast_module_unref(myself);
@@ -4092,7 +4092,7 @@
struct ooh323_pvt *p = NULL;
enum ast_rtp_glue_result res = AST_RTP_GLUE_RESULT_LOCAL;
- if (!(p = (struct ooh323_pvt *) chan->tech_pvt))
+ if (!(p = (struct ooh323_pvt *) ast_channel_tech_pvt(chan)))
return AST_RTP_GLUE_RESULT_FORBID;
if (!(p->rtp)) {
@@ -4115,7 +4115,7 @@
struct ooh323_pvt *p = NULL;
enum ast_rtp_glue_result res = AST_RTP_GLUE_RESULT_LOCAL;
- if (!(p = (struct ooh323_pvt *) chan->tech_pvt))
+ if (!(p = (struct ooh323_pvt *) ast_channel_tech_pvt(chan)))
return AST_RTP_GLUE_RESULT_FORBID;
if (!(p->rtp)) {
@@ -4200,7 +4200,7 @@
ast_log(LOG_WARNING, "Unknown format.\n");
return -1;
}
- p = (struct ooh323_pvt *) chan->tech_pvt;
+ p = (struct ooh323_pvt *) ast_channel_tech_pvt(chan);
if (!p) {
ast_log(LOG_ERROR, "No Private Structure, this is bad\n");
return -1;
@@ -4415,7 +4415,7 @@
struct ooh323_pvt *p;
struct ast_udptl *udptl = NULL;
- p = chan->tech_pvt;
+ p = ast_channel_tech_pvt(chan);
if (!p)
return NULL;
@@ -4430,7 +4430,7 @@
{
struct ooh323_pvt *p;
- p = chan->tech_pvt;
+ p = ast_channel_tech_pvt(chan);
if (!p)
return -1;
ast_mutex_lock(&p->lock);
@@ -4589,7 +4589,7 @@
struct ast_frame *f;
struct ast_frame *dfr = NULL;
static struct ast_frame null_frame = { AST_FRAME_NULL, };
- switch (ast->fdno) {
+ switch (ast_channel_fdno(ast)) {
case 0:
f = ast_rtp_instance_read(p->rtp, 0); /* RTP Audio */
break;
@@ -4616,9 +4616,9 @@
if (f && p->owner && !p->faxmode && (f->frametype == AST_FRAME_VOICE)) {
/* We already hold the channel lock */
- if (!(ast_format_cap_iscompatible(p->owner->nativeformats, &f->subclass.format))) {
+ if (!(ast_format_cap_iscompatible(ast_channel_nativeformats(p->owner), &f->subclass.format))) {
ast_debug(1, "Oooh, voice format changed to %s\n", ast_getformatname(&f->subclass.format));
- ast_format_cap_set(p->owner->nativeformats, &f->subclass.format);
+ ast_format_cap_set(ast_channel_nativeformats(p->owner), &f->subclass.format);
ast_set_read_format(p->owner, &p->owner->readformat);
ast_set_write_format(p->owner, &p->owner->writeformat);
}
Modified: trunk/apps/app_alarmreceiver.c
URL: http://svnview.digium.com/svn/asterisk/trunk/apps/app_alarmreceiver.c?view=diff&rev=356042&r1=356041&r2=356042
==============================================================================
--- trunk/apps/app_alarmreceiver.c (original)
+++ trunk/apps/app_alarmreceiver.c Mon Feb 20 17:43:27 2012
@@ -266,7 +266,7 @@
/* If they hung up, leave */
if ((f->frametype == AST_FRAME_CONTROL) && (f->subclass.integer == AST_CONTROL_HANGUP)) {
if (f->data.uint32) {
- chan->hangupcause = f->data.uint32;
+ ast_channel_hangupcause_set(chan, f->data.uint32);
}
ast_frfree(f);
res = -1;
@@ -597,7 +597,7 @@
/* Answer the channel if it is not already */
ast_verb(4, "AlarmReceiver: Answering channel\n");
- if (chan->_state != AST_STATE_UP) {
+ if (ast_channel_state(chan) != AST_STATE_UP) {
if ((res = ast_answer(chan)))
return -1;
}
Modified: trunk/apps/app_authenticate.c
URL: http://svnview.digium.com/svn/asterisk/trunk/apps/app_authenticate.c?view=diff&rev=356042&r1=356041&r2=356042
==============================================================================
--- trunk/apps/app_authenticate.c (original)
+++ trunk/apps/app_authenticate.c Mon Feb 20 17:43:27 2012
@@ -133,7 +133,7 @@
return -1;
}
- if (chan->_state != AST_STATE_UP) {
+ if (ast_channel_state(chan) != AST_STATE_UP) {
if ((res = ast_answer(chan)))
return -1;
}
Modified: trunk/apps/app_cdr.c
URL: http://svnview.digium.com/svn/asterisk/trunk/apps/app_cdr.c?view=diff&rev=356042&r1=356041&r2=356042
==============================================================================
--- trunk/apps/app_cdr.c (original)
+++ trunk/apps/app_cdr.c Mon Feb 20 17:43:27 2012
@@ -52,8 +52,8 @@
static int nocdr_exec(struct ast_channel *chan, const char *data)
{
- if (chan->cdr)
- ast_set_flag(chan->cdr, AST_CDR_FLAG_POST_DISABLED);
+ if (ast_channel_cdr(chan))
+ ast_set_flag(ast_channel_cdr(chan), AST_CDR_FLAG_POST_DISABLED);
return 0;
}
Modified: trunk/apps/app_chanisavail.c
URL: http://svnview.digium.com/svn/asterisk/trunk/apps/app_chanisavail.c?view=diff&rev=356042&r1=356041&r2=356042
==============================================================================
--- trunk/apps/app_chanisavail.c (original)
+++ trunk/apps/app_chanisavail.c Mon Feb 20 17:43:27 2012
@@ -169,7 +169,7 @@
}
snprintf(tmp, sizeof(tmp), "%d", status);
ast_str_append(&tmp_availstat, 0, "%s%s", ast_str_strlen(tmp_availstat) ? "&" : "", tmp);
- if ((inuse <= 1) && (tempchan = ast_request(tech, chan->nativeformats, chan, number, &status))) {
+ if ((inuse <= 1) && (tempchan = ast_request(tech, ast_channel_nativeformats(chan), chan, number, &status))) {
ast_str_append(&tmp_availchan, 0, "%s%s", ast_str_strlen(tmp_availchan) ? "&" : "", ast_channel_name(tempchan));
snprintf(tmp, sizeof(tmp), "%s/%s", tech, number);
Modified: trunk/apps/app_channelredirect.c
URL: http://svnview.digium.com/svn/asterisk/trunk/apps/app_channelredirect.c?view=diff&rev=356042&r1=356041&r2=356042
==============================================================================
--- trunk/apps/app_channelredirect.c (original)
+++ trunk/apps/app_channelredirect.c Mon Feb 20 17:43:27 2012
@@ -96,7 +96,7 @@
return 0;
}
- if (chan2->pbx) {
+ if (ast_channel_pbx(chan2)) {
ast_set_flag(chan2, AST_FLAG_BRIDGE_HANGUP_DONT); /* don't let the after-bridge code run the h-exten */
}
Modified: trunk/apps/app_chanspy.c
URL: http://svnview.digium.com/svn/asterisk/trunk/apps/app_chanspy.c?view=diff&rev=356042&r1=356041&r2=356042
==============================================================================
--- trunk/apps/app_chanspy.c (original)
+++ trunk/apps/app_chanspy.c Mon Feb 20 17:43:27 2012
@@ -787,7 +787,7 @@
ast_channel_unlock(chan);
}
- if (chan->_state != AST_STATE_UP)
+ if (ast_channel_state(chan) != AST_STATE_UP)
ast_answer(chan);
ast_set_flag(chan, AST_FLAG_SPYING); /* so nobody can spy on us while we are spying */
Modified: trunk/apps/app_confbridge.c
URL: http://svnview.digium.com/svn/asterisk/trunk/apps/app_confbridge.c?view=diff&rev=356042&r1=356041&r2=356042
==============================================================================
--- trunk/apps/app_confbridge.c (original)
+++ trunk/apps/app_confbridge.c Mon Feb 20 17:43:27 2012
@@ -378,8 +378,8 @@
return NULL;
}
ast_format_set(&fmt, AST_FORMAT_SLINEAR, 0);
- tmp->tech = &record_tech;
- ast_format_cap_add_all(tmp->nativeformats);
+ ast_channel_tech_set(tmp, &record_tech);
+ ast_format_cap_add_all(ast_channel_nativeformats(tmp));
ast_format_copy(&tmp->writeformat, &fmt);
ast_format_copy(&tmp->rawwriteformat, &fmt);
ast_format_copy(&tmp->readformat, &fmt);
@@ -873,7 +873,7 @@
ast_mutex_destroy(&conference_bridge->playback_lock);
if (conference_bridge->playback_chan) {
- struct ast_channel *underlying_channel = conference_bridge->playback_chan->tech->bridged_channel(conference_bridge->playback_chan, NULL);
+ struct ast_channel *underlying_channel = ast_channel_tech(conference_bridge->playback_chan)->bridged_channel(conference_bridge->playback_chan, NULL);
if (underlying_channel) {
ast_hangup(underlying_channel);
}
@@ -1159,10 +1159,10 @@
ast_mutex_unlock(&conference_bridge->playback_lock);
return -1;
}
- underlying_channel = conference_bridge->playback_chan->tech->bridged_channel(conference_bridge->playback_chan, NULL);
+ underlying_channel = ast_channel_tech(conference_bridge->playback_chan)->bridged_channel(conference_bridge->playback_chan, NULL);
} else {
/* Channel was already available so we just need to add it back into the bridge */
- underlying_channel = conference_bridge->playback_chan->tech->bridged_channel(conference_bridge->playback_chan, NULL);
+ underlying_channel = ast_channel_tech(conference_bridge->playback_chan)->bridged_channel(conference_bridge->playback_chan, NULL);
ast_bridge_impart(conference_bridge->bridge, underlying_channel, NULL, NULL, 0);
}
@@ -1333,7 +1333,7 @@
);
ast_bridge_features_init(&conference_bridge_user.features);
- if (chan->_state != AST_STATE_UP) {
+ if (ast_channel_state(chan) != AST_STATE_UP) {
ast_answer(chan);
}
@@ -1729,14 +1729,14 @@
/*save off*/
exten = ast_strdupa(ast_channel_exten(bridge_channel->chan));
context = ast_strdupa(ast_channel_context(bridge_channel->chan));
- priority = bridge_channel->chan->priority;
- pbx = bridge_channel->chan->pbx;
- bridge_channel->chan->pbx = NULL;
+ priority = ast_channel_priority(bridge_channel->chan);
+ pbx = ast_channel_pbx(bridge_channel->chan);
+ ast_channel_pbx_set(bridge_channel->chan, NULL);
/*set new*/
ast_channel_exten_set(bridge_channel->chan, menu_action->data.dialplan_args.exten);
ast_channel_context_set(bridge_channel->chan, menu_action->data.dialplan_args.context);
- bridge_channel->chan->priority = menu_action->data.dialplan_args.priority;
+ ast_channel_priority_set(bridge_channel->chan, menu_action->data.dialplan_args.priority);
ast_channel_unlock(bridge_channel->chan);
@@ -1748,8 +1748,8 @@
ast_channel_exten_set(bridge_channel->chan, exten);
ast_channel_context_set(bridge_channel->chan, context);
- bridge_channel->chan->priority = priority;
- bridge_channel->chan->pbx = pbx;
+ ast_channel_priority_set(bridge_channel->chan, priority);
+ ast_channel_pbx_set(bridge_channel->chan, pbx);
ast_channel_unlock(bridge_channel->chan);
Modified: trunk/apps/app_dahdibarge.c
URL: http://svnview.digium.com/svn/asterisk/trunk/apps/app_dahdibarge.c?view=diff&rev=356042&r1=356041&r2=356042
==============================================================================
--- trunk/apps/app_dahdibarge.c (original)
+++ trunk/apps/app_dahdibarge.c Mon Feb 20 17:43:27 2012
@@ -127,7 +127,7 @@
goto outrun;
}
ast_indicate(chan, -1);
- retrydahdi = strcasecmp(chan->tech->type, "DAHDI");
+ retrydahdi = strcasecmp(ast_channel_tech(chan)->type, "DAHDI");
dahdiretry:
origfd = chan->fds[0];
if (retrydahdi) {
@@ -277,7 +277,7 @@
}
}
- if (chan->_state != AST_STATE_UP)
+ if (ast_channel_state(chan) != AST_STATE_UP)
ast_answer(chan);
while(!confno && (++retrycnt < 4)) {
Modified: trunk/apps/app_dahdiras.c
URL: http://svnview.digium.com/svn/asterisk/trunk/apps/app_dahdiras.c?view=diff&rev=356042&r1=356041&r2=356042
==============================================================================
--- trunk/apps/app_dahdiras.c (original)
+++ trunk/apps/app_dahdiras.c Mon Feb 20 17:43:27 2012
@@ -200,9 +200,9 @@
args = ast_strdupa(data);
/* Answer the channel if it's not up */
- if (chan->_state != AST_STATE_UP)
+ if (ast_channel_state(chan) != AST_STATE_UP)
ast_answer(chan);
- if (strcasecmp(chan->tech->type, "DAHDI")) {
+ if (strcasecmp(ast_channel_tech(chan)->type, "DAHDI")) {
/* If it's not a DAHDI channel, we're done. Wait a couple of
seconds and then hangup... */
ast_verb(2, "Channel %s is not a DAHDI channel\n", ast_channel_name(chan));
Modified: trunk/apps/app_dial.c
URL: http://svnview.digium.com/svn/asterisk/trunk/apps/app_dial.c?view=diff&rev=356042&r1=356041&r2=356042
==============================================================================
--- trunk/apps/app_dial.c (original)
+++ trunk/apps/app_dial.c Mon Feb 20 17:43:27 2012
@@ -658,8 +658,8 @@
OPT_CALLER_HANGUP | OPT_CALLEE_TRANSFER | OPT_CALLER_TRANSFER | \
OPT_CALLEE_MONITOR | OPT_CALLER_MONITOR | OPT_CALLEE_PARK | \
OPT_CALLER_PARK | OPT_ANNOUNCE | OPT_CALLEE_MACRO | OPT_CALLEE_GOSUB) && \
- !chan->audiohooks && !peer->audiohooks && \
- ast_framehook_list_is_empty(chan->framehooks) && ast_framehook_list_is_empty(peer->framehooks))
+ !ast_channel_audiohooks(chan) && !ast_channel_audiohooks(peer) && \
+ ast_framehook_list_is_empty(ast_channel_framehooks(chan)) && ast_framehook_list_is_empty(ast_channel_framehooks(peer)))
/*
* The list of active channels
@@ -695,7 +695,7 @@
/* The flag is used for local channel inheritance and stuff */
ast_set_flag(outgoing->chan, AST_FLAG_ANSWERED_ELSEWHERE);
/* This is for the channel drivers */
- outgoing->chan->hangupcause = AST_CAUSE_ANSWERED_ELSEWHERE;
+ ast_channel_hangupcause_set(outgoing->chan, AST_CAUSE_ANSWERED_ELSEWHERE);
}
ast_hangup(outgoing->chan);
}
@@ -719,7 +719,7 @@
static void handle_cause(int cause, struct cause_args *num)
{
- struct ast_cdr *cdr = num->chan->cdr;
+ struct ast_cdr *cdr = ast_channel_cdr(num->chan);
switch(cause) {
case AST_CAUSE_BUSY:
@@ -869,7 +869,7 @@
cause = AST_CAUSE_BUSY;
} else {
/* Setup parameters */
- c = o->chan = ast_request(tech, in->nativeformats, in, stuff, &cause);
+ c = o->chan = ast_request(tech, ast_channel_nativeformats(in), in, stuff, &cause);
if (c) {
if (single)
ast_channel_make_compatible(o->chan, in);
@@ -1039,7 +1039,7 @@
*/
*to = -1;
strcpy(pa->status, "CONGESTION");
- ast_cdr_failed(in->cdr);
+ ast_cdr_failed(ast_channel_cdr(in));
return NULL;
}
}
@@ -1100,7 +1100,7 @@
if (c == NULL)
continue;
- if (ast_test_flag64(o, DIAL_STILLGOING) && c->_state == AST_STATE_UP) {
+ if (ast_test_flag64(o, DIAL_STILLGOING) && ast_channel_state(c) == AST_STATE_UP) {
if (!peer) {
ast_verb(3, "%s answered %s\n", ast_channel_name(c), ast_channel_name(in));
if (!single && !ast_test_flag64(peerflags, OPT_IGNORE_CONNECTEDLINE)) {
@@ -1157,14 +1157,14 @@
}
f = ast_read(winner);
if (!f) {
- in->hangupcause = c->hangupcause;
+ ast_channel_hangupcause_set(in, ast_channel_hangupcause(c));
#ifdef HAVE_EPOLL
ast_poll_channel_del(in, c);
#endif
ast_hangup(c);
c = o->chan = NULL;
ast_clear_flag64(o, DIAL_STILLGOING);
- handle_cause(in->hangupcause, &num);
+ handle_cause(ast_channel_hangupcause(in), &num);
continue;
}
if (f->frametype == AST_FRAME_CONTROL) {
@@ -1196,9 +1196,9 @@
}
}
peer = c;
- if (peer->cdr) {
- peer->cdr->answer = ast_tvnow();
- peer->cdr->disposition = AST_CDR_ANSWERED;
+ if (ast_channel_cdr(peer)) {
+ ast_channel_cdr(peer)->answer = ast_tvnow();
+ ast_channel_cdr(peer)->disposition = AST_CDR_ANSWERED;
}
ast_copy_flags64(peerflags, o,
OPT_CALLEE_TRANSFER | OPT_CALLER_TRANSFER |
@@ -1214,12 +1214,12 @@
ast_channel_early_bridge(in, peer);
}
/* If call has been answered, then the eventual hangup is likely to be normal hangup */
- in->hangupcause = AST_CAUSE_NORMAL_CLEARING;
- c->hangupcause = AST_CAUSE_NORMAL_CLEARING;
+ ast_channel_hangupcause_set(in, AST_CAUSE_NORMAL_CLEARING);
+ ast_channel_hangupcause_set(c, AST_CAUSE_NORMAL_CLEARING);
break;
case AST_CONTROL_BUSY:
ast_verb(3, "%s is busy\n", ast_channel_name(c));
- in->hangupcause = c->hangupcause;
+ ast_channel_hangupcause_set(in, ast_channel_hangupcause(c));
ast_hangup(c);
c = o->chan = NULL;
ast_clear_flag64(o, DIAL_STILLGOING);
@@ -1227,7 +1227,7 @@
break;
case AST_CONTROL_CONGESTION:
ast_verb(3, "%s is circuit-busy\n", ast_channel_name(c));
- in->hangupcause = c->hangupcause;
+ ast_channel_hangupcause_set(in, ast_channel_hangupcause(c));
ast_hangup(c);
c = o->chan = NULL;
ast_clear_flag64(o, DIAL_STILLGOING);
@@ -1404,10 +1404,10 @@
/* Got hung up */
*to = -1;
strcpy(pa->status, "CANCEL");
- ast_cdr_noanswer(in->cdr);
+ ast_cdr_noanswer(ast_channel_cdr(in));
if (f) {
if (f->data.uint32) {
- in->hangupcause = f->data.uint32;
+ ast_channel_hangupcause_set(in, f->data.uint32);
}
ast_frfree(f);
}
@@ -1426,7 +1426,7 @@
if (onedigit_goto(in, context, (char) f->subclass.integer, 1)) {
ast_verb(3, "User hit %c to disconnect call.\n", f->subclass.integer);
*to = 0;
- ast_cdr_noanswer(in->cdr);
+ ast_cdr_noanswer(ast_channel_cdr(in));
*result = f->subclass.integer;
strcpy(pa->status, "CANCEL");
ast_frfree(f);
@@ -1444,7 +1444,7 @@
ast_verb(3, "User requested call disconnect.\n");
*to = 0;
strcpy(pa->status, "CANCEL");
- ast_cdr_noanswer(in->cdr);
+ ast_cdr_noanswer(ast_channel_cdr(in));
ast_frfree(f);
if (is_cc_recall) {
ast_cc_completed(in, "CC completed, but the caller hung up with DTMF");
@@ -1510,7 +1510,7 @@
if (!*to)
ast_verb(3, "Nobody picked up in %d ms\n", orig);
if (!*to || ast_check_hangup(in))
- ast_cdr_noanswer(in->cdr);
+ ast_cdr_noanswer(ast_channel_cdr(in));
}
#ifdef HAVE_EPOLL
@@ -1807,20 +1807,20 @@
time_t end;
struct ast_channel *chan = data;
- if (!chan->cdr) {
+ if (!ast_channel_cdr(chan)) {
return;
}
time(&end);
ast_channel_lock(chan);
- if (chan->cdr->answer.tv_sec) {
- snprintf(buf, sizeof(buf), "%ld", (long) end - chan->cdr->answer.tv_sec);
+ if (ast_channel_cdr(chan)->answer.tv_sec) {
+ snprintf(buf, sizeof(buf), "%ld", (long) end - ast_channel_cdr(chan)->answer.tv_sec);
pbx_builtin_setvar_helper(chan, "ANSWEREDTIME", buf);
}
- if (chan->cdr->start.tv_sec) {
- snprintf(buf, sizeof(buf), "%ld", (long) end - chan->cdr->start.tv_sec);
+ if (ast_channel_cdr(chan)->start.tv_sec) {
+ snprintf(buf, sizeof(buf), "%ld", (long) end - ast_channel_cdr(chan)->start.tv_sec);
pbx_builtin_setvar_helper(chan, "DIALEDTIME", buf);
}
ast_channel_unlock(chan);
@@ -1841,7 +1841,7 @@
return -1;
}
- ts = ast_get_indication_tone(chan->zone, str);
+ ts = ast_get_indication_tone(ast_channel_zone(chan), str);
if (ts && ts->data[0]) {
res = ast_playtones_start(chan, 0, ts->data, 0);
@@ -2081,8 +2081,8 @@
ast_channel_unlock(chan);
}
- if (ast_test_flag64(&opts, OPT_RESETCDR) && chan->cdr)
- ast_cdr_reset(chan->cdr, NULL);
+ if (ast_test_flag64(&opts, OPT_RESETCDR) && ast_channel_cdr(chan))
+ ast_cdr_reset(ast_channel_cdr(chan), NULL);
if (ast_test_flag64(&opts, OPT_PRIVACY) && ast_strlen_zero(opt_args[OPT_ARG_PRIVACY]))
opt_args[OPT_ARG_PRIVACY] = ast_strdupa(ast_channel_exten(chan));
@@ -2211,14 +2211,14 @@
AST_LIST_UNLOCK(dialed_interfaces);
}
- tc = ast_request(tech, chan->nativeformats, chan, numsubst, &cause);
+ tc = ast_request(tech, ast_channel_nativeformats(chan), chan, numsubst, &cause);
if (!tc) {
/* If we can't, just go on to the next call */
ast_log(LOG_WARNING, "Unable to create channel of type '%s' (cause %d - %s)\n",
tech, cause, ast_cause2str(cause));
handle_cause(cause, &num);
if (!rest) /* we are on the last destination */
- chan->hangupcause = cause;
+ ast_channel_hangupcause_set(chan, cause);
chanlist_free(tmp);
if (!ignore_cc && (cause == AST_CAUSE_BUSY || cause == AST_CAUSE_CONGESTION)) {
if (!ast_cc_callback(chan, tech, numsubst, ast_cc_busy_interface)) {
@@ -2312,8 +2312,8 @@
ast_channel_musicclass_set(tc, ast_channel_musicclass(chan));
/* Pass ADSI CPE and transfer capability */
- tc->adsicpe = chan->adsicpe;
- tc->transfercapability = chan->transfercapability;
+ ast_channel_adsicpe_set(tc, ast_channel_adsicpe(chan));
+ ast_channel_transfercapability_set(tc, ast_channel_transfercapability(chan));
/* If we have an outbound group, set this peer channel to it */
if (outbound_group)
@@ -2340,16 +2340,16 @@
ast_channel_lock(chan);
/* Save the info in cdr's that we called them */
- if (chan->cdr)
- ast_cdr_setdestchan(chan->cdr, ast_channel_name(tc));
+ if (ast_channel_cdr(chan))
+ ast_cdr_setdestchan(ast_channel_cdr(chan), ast_channel_name(tc));
/* check the results of ast_call */
if (res) {
/* Again, keep going even if there's an error */
ast_debug(1, "ast call on peer returned %d\n", res);
ast_verb(3, "Couldn't call %s/%s\n", tech, numsubst);
- if (tc->hangupcause) {
- chan->hangupcause = tc->hangupcause;
+ if (ast_channel_hangupcause(tc)) {
+ ast_channel_hangupcause_set(chan, ast_channel_hangupcause(tc));
}
ast_channel_unlock(chan);
ast_cc_call_failed(chan, tc, interface);
@@ -2370,7 +2370,7 @@
tmp->next = outgoing;
outgoing = tmp;
/* If this line is up, don't try anybody else */
- if (outgoing->chan->_state == AST_STATE_UP)
+ if (ast_channel_state(outgoing->chan) == AST_STATE_UP)
break;
}
@@ -2458,9 +2458,9 @@
hanguptree(outgoing, peer, 1);
outgoing = NULL;
/* If appropriate, log that we have a destination channel and set the answer time */
- if (chan->cdr) {
- ast_cdr_setdestchan(chan->cdr, ast_channel_name(peer));
- ast_cdr_setanswer(chan->cdr, peer->cdr->answer);
+ if (ast_channel_cdr(chan)) {
+ ast_cdr_setdestchan(ast_channel_cdr(chan), ast_channel_name(peer));
+ ast_cdr_setanswer(ast_channel_cdr(chan), ast_channel_cdr(peer)->answer);
}
if (ast_channel_name(peer))
[... 16154 lines stripped ...]
More information about the svn-commits
mailing list