Moved qsig cleanup code to qsig core file.
parent
cc90f574e6
commit
04d4580bc4
13
chan_capi.c
13
chan_capi.c
|
@ -891,18 +891,7 @@ static void interface_cleanup(struct capi_pvt *i)
|
|||
i->rtp = NULL;
|
||||
}
|
||||
|
||||
/* some QSIG stuff */
|
||||
if (i->qsigfeat) {
|
||||
i->qsig_data.callmark = 0;
|
||||
i->qsig_data.partner_ch = NULL;
|
||||
i->qsig_data.calltransfer_active = 0;
|
||||
i->qsig_data.calltransfer_onring = 0;
|
||||
if (i->qsig_data.pr_propose_cid)
|
||||
free(i->qsig_data.pr_propose_cid);
|
||||
if (i->qsig_data.pr_propose_pn)
|
||||
free(i->qsig_data.pr_propose_pn);
|
||||
|
||||
}
|
||||
interface_cleanup_qsig(i);
|
||||
|
||||
i->peer = NULL;
|
||||
i->owner = NULL;
|
||||
|
|
|
@ -168,6 +168,8 @@ extern int pbx_capi_qsig_ssct(struct ast_channel *c, char *param);
|
|||
extern int pbx_capi_qsig_ct(struct ast_channel *c, char *param);
|
||||
extern int pbx_capi_qsig_callmark(struct ast_channel *c, char *param);
|
||||
|
||||
extern void interface_cleanup_qsig(struct capi_pvt *i);
|
||||
|
||||
/*
|
||||
*** ECMA QSIG Functions
|
||||
*/
|
||||
|
|
|
@ -918,4 +918,21 @@ int pbx_capi_qsig_callmark(struct ast_channel *c, char *param)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* cleanup QSIG stuff on interface
|
||||
*/
|
||||
void interface_cleanup_qsig(struct capi_pvt *i)
|
||||
{
|
||||
if (i->qsigfeat) {
|
||||
i->qsig_data.callmark = 0;
|
||||
i->qsig_data.partner_ch = NULL;
|
||||
i->qsig_data.calltransfer_active = 0;
|
||||
i->qsig_data.calltransfer_onring = 0;
|
||||
if (i->qsig_data.pr_propose_cid)
|
||||
free(i->qsig_data.pr_propose_cid);
|
||||
if (i->qsig_data.pr_propose_pn)
|
||||
free(i->qsig_data.pr_propose_pn);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue