提交 e4cddad0 authored 作者: Mathieu Rene's avatar Mathieu Rene

Merge branch 'nsg-4.3' of git.sangoma.com:smg_freeswitch into nsg-4.3

......@@ -121,9 +121,10 @@ switch_status_t mg_send_end_of_axn(SuId suId, MgMgcoTransId* transId, MgMgcoCont
void mgco_print_sdp(CmSdpInfoSet *sdp);
void mg_util_set_ctxt_string ( MgStr *errTxt, MgMgcoContextId *ctxtId);
switch_status_t handle_mg_add_cmd(MgMgcoAmmReq *addReq);
switch_status_t mg_stack_free_mem(MgMgcoMsg* msg);
switch_status_t mg_stack_free_mem(MgMgcoMsg* msg);
switch_status_t mg_stack_free_mem(void* msg);
switch_status_t mg_stack_alloc_mem( Ptr* _memPtr, Size _memSize );
MgMgcoMediaDesc* get_default_media_desc(void);
switch_status_t handle_media_audit( SuId suId, MgMgcoCommand *auditReq);
switch_status_t mg_send_add_rsp(SuId suId, MgMgcoCommand *req);
S16 mg_fill_mgco_termid ( MgMgcoTermId *termId, CONSTANT U8 *str, CmMemListCp *memCp);
void mg_util_set_txn_string(MgStr *errTxt, U32 *txnId);
......@@ -137,6 +138,7 @@ void mg_util_set_term_string ( MgStr *errTxt, MgMgcoTermId *termId);
MgMgcoTermIdLst *mg_get_term_id_list(MgMgcoCommand *cmd);
switch_status_t handle_pkg_audit( SuId suId, MgMgcoCommand *auditReq);
switch_status_t mg_build_pkg_desc(MgMgcoPkgsDesc* pkg);
switch_status_t mg_send_heartbeat_audit_rsp( SuId suId, MgMgcoCommand *auditReq);
......
......@@ -64,7 +64,7 @@ switch_status_t mg_stack_get_mem(MgMgcoMsg* msg, Ptr* _memPtr, Size _memSize )
/*****************************************************************************************************************************/
switch_status_t mg_stack_free_mem(MgMgcoMsg* msg)
switch_status_t mg_stack_free_mem(void* msg)
{
if ( !msg )
{
......@@ -432,3 +432,66 @@ void mg_util_set_term_string ( MgStr *errTxt, MgMgcoTermId *termId)
"info, error-text is: %s\n", __PRETTY_FUNCTION__,errTxt->val);
}
/*****************************************************************************************************************************/
MgMgcoMediaDesc* get_default_media_desc()
{
MgMgcoMediaDesc *media = NULL;
MgMgcoMediaPar *mediaPar = NULL;
MgMgcoTermStateParm *trmStPar = NULL;
mg_stack_alloc_mem((Ptr)&media, sizeof(MgMgcoMediaDesc));
if (!media) {
switch_log_printf(SWITCH_CHANNEL_LOG_CLEAN, SWITCH_LOG_ERROR, "failed, memory alloc\n");
return NULL;
}
media->num.pres = PRSNT_NODEF;
media->num.val = 1;
mg_stack_alloc_mem((Ptr)&mediaPar, sizeof(MgMgcoMediaPar));
if (!mediaPar) {
switch_log_printf(SWITCH_CHANNEL_LOG_CLEAN, SWITCH_LOG_ERROR, "failed, memory alloc\n");
mg_stack_free_mem(media);
return NULL;
}
mg_stack_alloc_mem((Ptr)&media->parms, sizeof(MgMgcoMediaPar *));
if (!media->parms) {
switch_log_printf(SWITCH_CHANNEL_LOG_CLEAN, SWITCH_LOG_ERROR, "failed, memory alloc\n");
mg_stack_free_mem((void*)mediaPar);
mg_stack_free_mem((void*)media);
return NULL;
}
mediaPar->type.pres = PRSNT_NODEF;
mediaPar->type.val = MGT_MEDIAPAR_TERMST;
mediaPar->u.tstate.numComp.pres = PRSNT_NODEF;
mediaPar->u.tstate.numComp.val = 1;
mg_stack_alloc_mem((Ptr)&trmStPar, sizeof(MgMgcoTermStateParm));
if (!trmStPar) {
switch_log_printf(SWITCH_CHANNEL_LOG_CLEAN, SWITCH_LOG_ERROR, "failed, memory alloc\n");
mg_stack_free_mem((void*)mediaPar);
mg_stack_free_mem((void*)media->parms);
mg_stack_free_mem((void*)media);
return NULL;
}
mg_stack_alloc_mem((Ptr)&mediaPar->u.tstate.trmStPar, sizeof(MgMgcoTermStateParm *));
if (!mediaPar->u.tstate.trmStPar) {
switch_log_printf(SWITCH_CHANNEL_LOG_CLEAN, SWITCH_LOG_ERROR, "failed, memory alloc\n");
mg_stack_free_mem((void*)trmStPar);
mg_stack_free_mem((void*)mediaPar);
mg_stack_free_mem((void*)media->parms);
mg_stack_free_mem((void*)media);
return NULL;
}
trmStPar->type.pres = PRSNT_NODEF;
trmStPar->type.val = MGT_TERMST_SVCST;
trmStPar->u.svcState.pres = PRSNT_NODEF;
/*TODO - ADD CHECK if term is in svc or not */
trmStPar->u.svcState.val = MGT_SVCST_INSVC;
mediaPar->u.tstate.trmStPar[0] = trmStPar;
media->parms[0] = mediaPar;
return media;
}
/*****************************************************************************************************************************/
......@@ -571,9 +571,6 @@ void handle_mgco_cmd_ind(Pst *pst, SuId suId, MgMgcoCommand* cmd)
{
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Received Audit-Value Method \n");
handle_mg_audit_cmd(suId, cmd);
/*need to call this for other types of audit..
* ideally from the request apis we should send response..keeping now here just to send dummy responses*/
mg_send_audit_rsp(suId, cmd);
break;
}
break;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论