Moved qsig cleanup code to qsig core file.

This commit is contained in:
MelwareDE 2007-04-19 06:55:44 +00:00
parent cc90f574e6
commit 04d4580bc4
3 changed files with 20 additions and 12 deletions

View File

@ -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;

View File

@ -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
*/

View File

@ -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);
}
}