Turns on error reporting statistics in the H.223 demultiplexer. Use the statistics to determine the quality of the inbound radio link from the H.324 terminal to the demultiplexer.
DWORD h324LineErrorReporting ( MSPHD msphd, DWORD command, WORD param1, WORD param2)
Argument |
Description |
||||||||
msphd |
MSPP handle associated with the MUX. |
||||||||
command |
Valid values are: H324_LINE_STAT_CMD_ERROR_EVENT - Sends an error event when the specified error is detected. H324_LINE_STAT_CMD_PERIODIC - Periodically reports line error counts. H324_LINE_STAT_CMD_RESET_STAT - Resets all line error counts to zero. |
||||||||
param1 |
param1 value depends upon the value selected for command:
|
||||||||
param2 |
param2 value depends upon the value selected for command:
|
Return value |
Description |
SUCCESS |
|
CTAERR_NOT_FOUND |
msphd was not found. Either h324Start was not called or h324Delete was called. |
H324ERR_INTERNAL_ERROR |
Internal error in the 3G-324M Middleware. |
H324ERR_MUTEX_LOCK_FAILED |
Internal error trying to lock mutex. |
H324ERR_NOT_INITIALIZED |
h324Initialize was not called first. |
printf("\n\tEnable/Disable Periodic Statistics (0=Disable, 1=Enable) > ");
fflush(stdin);
scanf("%hd", &value1);
printf("\n\tSet Periodic Statistics Interval (1-10 seconds X 10) > ");
fflush(stdin);
scanf("%hd", &value2);
h324LineErrorReporting( GwConfig[0].MuxEp.hd,
H324_LINE_STAT_CMD_PERIODIC,
value1,
value2);
...
// received an asynchronous event: CTA_EVENT *pevent
switch (pevent->value)
{
case (MSPEVN_DEMUX_PERIODIC_STATS):
if((GwConfig[nGw].MuxEp.hd == pevent->objHd) && (pevent->buffer != NULL)
&& (pevent->size > 0))
ShowDemuxPeriodicStats(nGw, (msp_ENDPOINT_DEMUX_PERIODIC_STATS *)pevent->buffer);
break;
case (MSPEVN_DEMUX_CRC_ERR_REPORT):
if(GwConfig[nGw].MuxEp.hd == pevent->objHd)
{
msp_ENDPOINT_DEMUX_CRC_ERROR_REPORTS *err = (msp_ENDPOINT_DEMUX_CRC_ERROR_REPORTS*)pevent->buffer;
switch( NMS2H_DWORD(err->error_check_type
{
case 1: // Video CRC Error
printf("VIDEO CRC ERROR Received at Demux,
Error Count = %d\n",
NMS2H_DWORD(err->total_num_errors) );
break;
case 2: // Audio CRC Error
printf("AUDIO CRC ERROR Received at Demux, Error Count = %d\n",
NMS2H_DWORD(err->total_num_errors) );
break;
case 4: // Golay
printf("HEADER GOLAY CODING ERROR Received at Demux,
Error Count = %d\n",
NMS2H_DWORD(err->total_num_errors) );
break;
}
}
break;