return SWITCH_STATUS_FALSE;
}
+ stream->write_function(stream, "Total Number of IN-Service Service change sent = %d \n",
+ mg_profile->mg_stats->total_num_of_term_in_service_change_sent);
+ stream->write_function(stream, "Total Number of Out-Of-Service Service change sent = %d \n",
+ mg_profile->mg_stats->total_num_of_term_oos_service_change_sent);
stream->write_function(stream, "Total Number of Physical ADD received = %d \n", mg_profile->mg_stats->total_num_of_phy_add_recvd);
stream->write_function(stream, "Total Number of RTP ADD received = %d \n", mg_profile->mg_stats->total_num_of_rtp_add_recvd);
stream->write_function(stream, "Total Number of SUB received = %d \n", mg_profile->mg_stats->total_num_of_sub_recvd);
ret = sng_mgco_send_cmd( mg_profile->idx, &rsp);
-
- if(is_rtp){
- /* releasing memory allocated for term->lcl.val */
- MG_STACK_MEM_FREE(out_termId->name.lcl.val, ((sizeof(U8)* strlen(term->name))));
- }
}
/*************************************************************************************************************************/
"Sending In-Service Service Change for termination[%s] configured in mg profile[%s], suId[%d]\n",
term_name, mg_profile->name, mg_profile->idx);
+ mg_profile->mg_stats->total_num_of_term_in_service_change_sent++;
return mg_send_service_change(mg_profile->idx, term_name, MGT_SVCCHGMETH_RESTART, MG_SVC_REASON_900_RESTORED, wild);
}
"Sending Out-Of-Service Service Change for termination[%s] configured in mg profile[%s], suId[%d]\n",
term_name, mg_profile->name, mg_profile->idx);
+ mg_profile->mg_stats->total_num_of_term_oos_service_change_sent++;
+
return mg_send_service_change(mg_profile->idx, term_name, MGT_SVCCHGMETH_FORCED, MG_SVC_REASON_905_TERM_OOS, wild);
}
/*****************************************************************************************************************************/
sng_mgco_send_cmd(suId, &request);
- /* releasing memory allocated for term->lcl.val */
- MG_STACK_MEM_FREE(termId->name.lcl.val, ((sizeof(U8)* strlen(term_name))));
-
return SWITCH_STATUS_SUCCESS;
err:
sng_mgco_send_cmd(mg_profile->idx, &request);
- /* releasing memory allocated for term->lcl.val */
- MG_STACK_MEM_FREE(termId->name.lcl.val, ((sizeof(U8)* strlen(term_name))));
-
return SWITCH_STATUS_SUCCESS;
}
/*****************************************************************************************************************************/
Size size;
#endif
S16 ret = ROK;
+ Ptr* ptr = NULL;
+
memset(&prnt_buf,0,sizeof(prnt_buf));
termId->type.pres = PRSNT_NODEF;
termId->type.val = MGT_TERMID_OTHER;
+ termId->name.pres.pres = PRSNT_NODEF;
+
+ /* domain */
termId->name.dom.pres = NOTPRSNT;
- termId->name.dom.len = 0x00;
+ termId->name.dom.len = 0x00;
- termId->name.pres.pres = PRSNT_NODEF;
+ ptr = (Ptr*)&termId->name.dom.val;
+ if( cmGetMem(memCp, 128, ptr) != ROK ){
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR,"cmGetMem failed \n");
+ RETVALUE(RFAILED);
+ }
+ /* term name */
termId->name.lcl.pres = PRSNT_NODEF;
- termId->name.lcl.len = cmStrlen((U8*)term_str);
- size = ((sizeof(U8)* term_len));
- MG_STACK_MEM_ALLOC(&termId->name.lcl.val, size);
- cmMemcpy((U8*)(termId->name.lcl.val),(CONSTANT U8*)term_str,termId->name.lcl.len);
+ termId->name.lcl.len = cmStrlen((CONSTANT U8*)term_str);
+
+ ptr = (Ptr*)&termId->name.lcl.val;
+ if( cmGetMem(memCp, termId->name.lcl.len, ptr) != ROK ){
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR,"cmGetMem failed \n");
+ RETVALUE(RFAILED);
+ }
+
+ cmMemset((U8 *)(termId->name.lcl.val), (U8)0, (PTR)(termId->name.lcl.len));
+
+ cmMemcpy((U8*)(termId->name.lcl.val), (CONSTANT U8*)term_str,termId->name.lcl.len);
- MG_MEM_COPY(&prnt_buf, termId->name.lcl.val, sizeof(U8) * termId->name.lcl.len);
+ cmMemcpy((U8*)(prnt_buf), (CONSTANT U8*)termId->name.lcl.val,termId->name.lcl.len);
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG,
"mg_fill_mgco_termid: Megaco termination name[%s], len[%d], input_term_str[%s], input_term_len[%d]\n",
typedef struct mg_stats_s{
uint32_t total_num_of_phy_add_recvd;
+ uint32_t total_num_of_term_in_service_change_sent;
+ uint32_t total_num_of_term_oos_service_change_sent;
uint32_t total_num_of_rtp_add_recvd;
uint32_t total_num_of_sub_recvd;
uint32_t total_num_of_call_recvd;