chlog: freetdm ISDN: Increased T200 timer to 3 sec.

This commit is contained in:
David Yat Sin 2011-07-18 18:12:46 -04:00
parent 2c9bccbfc8
commit 157a89adef
4 changed files with 20 additions and 5 deletions

View File

@ -422,7 +422,7 @@ ftdm_status_t sngisdn_stack_cfg_q921_dlsap(ftdm_span_t *span, uint8_t management
cfg.t.cfg.s.bdDLSAP.n200 = 3; /* n200 */ cfg.t.cfg.s.bdDLSAP.n200 = 3; /* n200 */
cfg.t.cfg.s.bdDLSAP.congTmr = 300; /* congestion timer */ cfg.t.cfg.s.bdDLSAP.congTmr = 300; /* congestion timer */
cfg.t.cfg.s.bdDLSAP.t200Tmr = 1; /* t1 changed from 25 */ cfg.t.cfg.s.bdDLSAP.t200Tmr = 3; /* t1 changed from 25 */
cfg.t.cfg.s.bdDLSAP.t203Tmr = 10; /* t3 changed from 50 */ cfg.t.cfg.s.bdDLSAP.t203Tmr = 10; /* t3 changed from 50 */
cfg.t.cfg.s.bdDLSAP.mod = 128; /* modulo */ cfg.t.cfg.s.bdDLSAP.mod = 128; /* modulo */
cfg.t.cfg.s.bdDLSAP.selector = 0; /* Selector 0 */ cfg.t.cfg.s.bdDLSAP.selector = 0; /* Selector 0 */
@ -798,8 +798,10 @@ ftdm_status_t sngisdn_stack_cfg_q931_dlsap(ftdm_span_t *span)
cfg.t.cfg.s.inDLSAP.tmr.t322.val = 4; cfg.t.cfg.s.inDLSAP.tmr.t322.val = 4;
cfg.t.cfg.s.inDLSAP.tmr.t332.enb = FALSE; cfg.t.cfg.s.inDLSAP.tmr.t332.enb = FALSE;
cfg.t.cfg.s.inDLSAP.tmr.t332.val = 35; cfg.t.cfg.s.inDLSAP.tmr.t332.val = 35;
cfg.t.cfg.s.inDLSAP.tmr.tRst.enb = TRUE; cfg.t.cfg.s.inDLSAP.tmr.tRst.enb = TRUE;
cfg.t.cfg.s.inDLSAP.tmr.tRst.val = 8; cfg.t.cfg.s.inDLSAP.tmr.tRst.val = 8;
cfg.t.cfg.s.inDLSAP.tmr.tAns.enb = FALSE; /* non-standard timer */ cfg.t.cfg.s.inDLSAP.tmr.tAns.enb = FALSE; /* non-standard timer */
cfg.t.cfg.s.inDLSAP.tmr.t396.enb = FALSE; /* non-standard timer */ cfg.t.cfg.s.inDLSAP.tmr.t396.enb = FALSE; /* non-standard timer */
cfg.t.cfg.s.inDLSAP.tmr.t397.enb = TRUE; /* non-standard timer */ cfg.t.cfg.s.inDLSAP.tmr.t397.enb = TRUE; /* non-standard timer */

View File

@ -491,7 +491,18 @@ void sngisdn_snd_data(ftdm_channel_t *dchan, uint8_t *data, ftdm_size_t len)
/* Should we trigger congestion here? */ /* Should we trigger congestion here? */
l1_frame.flags |= SNG_L1FRAME_QUEUE_FULL; l1_frame.flags |= SNG_L1FRAME_QUEUE_FULL;
} }
#if 0
if (1) {
int i;
char string [2000];
unsigned string_len = 0;
for (i = 0; i < l1_frame.len; i++) {
string_len += sprintf(&string[string_len], "0x%02x ", l1_frame.data[i]);
}
ftdm_log_chan(dchan, FTDM_LOG_CRIT, "\nL1 RX [%s] flags:%x\n", string, l1_frame.flags);
}
#endif
sng_isdn_data_ind(signal_data->dchan_id, &l1_frame); sng_isdn_data_ind(signal_data->dchan_id, &l1_frame);
} }

View File

@ -911,7 +911,7 @@ int16_t sngisdn_rcv_l1_data_req(uint16_t spId, sng_l1_frame_t *l1_frame)
string_len += sprintf(&string[string_len], "0x%02x ", l1_frame->data[i]); string_len += sprintf(&string[string_len], "0x%02x ", l1_frame->data[i]);
} }
ftdm_log_chan(signal_data->dchan, FTDM_LOG_CRIT, "\nTX [%s]\n", string); ftdm_log_chan(signal_data->dchan, FTDM_LOG_CRIT, "\nL1 TX [%s]\n", string);
#endif #endif
status = signal_data->dchan->fio->write(signal_data->dchan, l1_frame->data, (ftdm_size_t*)&length); status = signal_data->dchan->fio->write(signal_data->dchan, l1_frame->data, (ftdm_size_t*)&length);

View File

@ -114,7 +114,7 @@ void sngisdn_trace_interpreted_q921(sngisdn_span_data_t *signal_data, ftdm_trace
{ {
char *data_str = ftdm_calloc(1,200); /* TODO Find a proper size */ char *data_str = ftdm_calloc(1,200); /* TODO Find a proper size */
sngisdn_decode_q921(data_str, data, data_len); sngisdn_decode_q921(data_str, data, data_len);
ftdm_log(FTDM_LOG_INFO, "[SNGISDN Q921] %s FRAME %s:%s\n", signal_data->ftdm_span->name, ftdm_trace_dir2str(dir), data_str); ftdm_log(FTDM_LOG_INFO, "[SNGISDN Q921] %s FRAME %s:\n%s\n", signal_data->ftdm_span->name, ftdm_trace_dir2str(dir), data_str);
ftdm_safe_free(data_str); ftdm_safe_free(data_str);
} }
@ -144,7 +144,7 @@ void sngisdn_trace_raw_q921(sngisdn_span_data_t *signal_data, ftdm_trace_dir_t d
void sngisdn_decode_q921(char* str, uint8_t* data, uint32_t data_len) void sngisdn_decode_q921(char* str, uint8_t* data, uint32_t data_len)
{ {
int str_len; uint32_t str_len;
uint32_t i; uint32_t i;
uint8_t sapi, cr, ea, tei, ns, nr, pf, p, cmd; uint8_t sapi, cr, ea, tei, ns, nr, pf, p, cmd;
uint8_t frame_format = 0; uint8_t frame_format = 0;
@ -211,6 +211,8 @@ void sngisdn_decode_q921(char* str, uint8_t* data, uint32_t data_len)
break; break;
} }
} }
print_hex_dump(str, &str_len, (uint8_t*) data, 0, data_len);
return; return;
} }
@ -219,7 +221,7 @@ void sngisdn_trace_interpreted_q931(sngisdn_span_data_t *signal_data, ftdm_trace
{ {
char *data_str = ftdm_calloc(1,MAX_DECODE_STR_LEN); /* TODO Find a proper size */ char *data_str = ftdm_calloc(1,MAX_DECODE_STR_LEN); /* TODO Find a proper size */
sngisdn_decode_q931(data_str, data, data_len); sngisdn_decode_q931(data_str, data, data_len);
ftdm_log(FTDM_LOG_INFO, "[SNGISDN Q931] %s FRAME %s:%s\n", signal_data->ftdm_span->name, ftdm_trace_dir2str(dir), data_str); ftdm_log(FTDM_LOG_INFO, "[SNGISDN Q931] %s FRAME %s:\n%s\n", signal_data->ftdm_span->name, ftdm_trace_dir2str(dir), data_str);
ftdm_safe_free(data_str); ftdm_safe_free(data_str);
} }