...Open Service Platforms & Technologies For the New Network


 
About Us
 
Products
 
Newsletter
 
Customer Service
 
Contact Us
 
Site Map
 
News
 
Press Kit
 
White Papers
 
Employment

Search this site:
 

T.38 Interoperability Lab Testing Overview

In January 2002, Commetrex offered the telecommunications industry a no-charge T.38 interoperability testing service. Why? Commetrex licenses T.38 and fax-modem technologies and believes that, among other reasons, the demand for these products will increase as interoperability increases. But until Commetrex' announcement, there has been no industry-wide interoperability clearing house. Now there is. Today, enterprises and service providers cannot purchase T.38-capable equipment from multiple vendors and assume interoperability. Our goal is for users to be able to assume T.38 interoperability.

Another reason for making it a no-charge service is that it's quite easy for Commetrex to do with our terminating T.38 product. TerminatingT38 is a combination of Commetrex' T.38 and T.30 technologies. This allows us to terminate hundreds of T.38 sessions into one server. No gateways required. And TerminatingT38 is heavily instrumented, giving us the kind of insight into your implementation needed to offer sound interop advice.

The response has been gratifying, so much so that we've had to tighten up a little on the no-charge offer. It's only available to vendors of fielded equipment. So, if you're still in development, sorry, we'll have to charge for the service. But it's pretty good service. No, we don't have a stimulus system that executes test cases. We use the debug version of our off-the-shelf TerminatingT38. We run through a check-list, given below, of tests with you. If there are any problems, it's easy to identify the cause. We provide an analysis of the trace logs, an example of which follows:

1) v21-preamble indicator needs only be sent once. It appears that you are sending it for each detected flag character.

Cisco sends only one indicator.

Lucent send one at start and one between frames.

2) Field length value for a data field should start with 0 for a single data octet. Thus, a field containing 3 octets would have the length field set to 2.

3) The Cisco boxes send no-signal at the end of the V21 sequence and appears not to work without it.

4) The v17-14400 long-training signal is sent multiple times. It appears that you are sending the indicator every 40 milliseconds while the training is present. This is not required.

5) Image data bits appear to be reversed.

6) First packet sent should be no-signal (Probably will not affect interoperability, but is common practice.)

7) The format of the "Open type" is not correctly interpreted. The length of the frame should preceed the frame. For example:
++-- length of primary
VV
00 04 06 c0 01 80 00 00 c0 00 02 06 c0 01 80 00
00 ff 01 06 ^^ ^^ ^^
|| || ++-- length of first 2ndary
|| ++----- Number of redundant frames
++-------- Type of 2ndary frames (Redundant)

This problem existed in older versions of Telogy T.38, but has since been corrected.

The Steps

OK, what are the steps? First, we exchange contact info on the lead engineer at each company. They then decide on how the connection will be established and what testing is to be done.

We have found that establishing a connection can sometimes be a significant part of the effort. Here are the options we offer:

1) No call-control negotiation - Lacking compatible signaling protocols, we can manually establish the T.38 session over either UDP or TCP. With this method, both sides simply use agreed-upon port numbers and IP addresses.

2) H.323: Two H.323 endpoints first establish a voice call (i.e. G.711) session. Upon the detection of fax tone, one side commands the session switchover to T.38 fax. Commetrex supports either V3 & V4 standard negotiation or the earlier V2 non- standard negotiation (UDP only). Typically, the call originator needs the IP address of the remote gateway or gatekeeper and the number of a fax terminal.

Once the sessions can be established, we run through the following tests:

Transmit UDP & TCP

1) FEC (2 and 3 FEC frames) (3 and 2 span)

2) redundancy level 0 and 3

3) Poll Rx

4) ECM

5) Local TCF

6) Pass TCF

7) hundred-page

8) very long page (1MB)

Receive UDP & TCP

8) FEC (2 and 3 FEC frames) (3 and 2 span)

9) redundancy level 0 and 3

10) Poll TX

11) ECM

12) Local TCF

13) Pass TCF

14) 100-page

15) One-byte page

We then analyze the results, make any necessary modifications, retest as required, and issue a press release when complete. Test completion is published on this site.

Here's a sample trace log:

(026:288) Send_Net: dly: 0 sz: 312
(026:288)
(026:288) <<<<---- outgoing T.38 ____________________
(026:288) Sequence Number: 36
(026:288) Number of bits: 48
(026:288) UDPTL:[0000] 00 24 01 00 00 00 | .$....
(026:288)
(026:288) UDPTL: Frame Sequence Number: 36
(026:288) UDPTL: Primary length: 1
(026:288) Primary: Message type: no_signal (0x00)
(026:288) Primary: ECC type: Redundant
(026:288) Primary: RED Cnt: 0
(026:288) <<<<---- outgoing T.38 ____________________
(026:288) ENC_Fill_Data_Buffer: ECC_Depth: 0 flags: 0x000a
(026:288) Encode queue is empty return True
(026:288) Processing Event. code: 0x4 del_time: 6203 delay: 2025
(026:288) Do callback: RT: 6.209 qsiz: 84 Sim: 6.203 lag: 6
(026:288)
==> Process Event HW_V21_TX_END data: 0
(026:288) Uncased Event: SIM_HW_V21_TX_END
(026:288) $ --- Raw Event=4(HW_V21_TX_END ) fsm=4015 sp=0
(026:288)
===
(1020191914.292)
(026:288) FSM old: WT_DIS cmd: TX_V21_DONE rtn: WDISNT21 new: WT_TRN_RESP
(026:288) Start timer for 6000 ms for event 4003 (EVT_TMR_INT_EXP)
(026:288)
back from rtn: WDISNT21 new: WT_TRN_RESP
===
(026:288) It is now 1020191914 sec 292000000 nsec
(026:288) Sleeping till 1020191914 sec 376000000 nsec
(026:288) Sleeping, queue len: 84 pause: 84 next event @ 6293 now: 6209
(026:378) Sleep returned, queue len: 84, next event @ 6293
(026:378) Processing Event. code: 0xcb del_time: 6293 delay: 2115
(026:378) Do callback: RT: 6.299 qsiz: 83 Sim: 6.293 lag: 6
(026:378) Got event: SIM_EPT_1700
(026:378) Data size: 8
(026:378) ================ Modem Packet processing ===============
(026:378) >>>>>> Incoming Modem __________________
(026:378) ENC code: ENC_SIG_TONE_DETECTED
(026:378) ENC : 3
(026:378) ENC data; 0x0005
(026:378) ENC size: 0
(026:378) Dump buffer @ 0x02a8fe18
(026:378) ________________________________________
(026:378) Process single modem signal
(026:378) ENC_Put_Signal: signal 1 qualifier: 3 data: 0x0005
(026:378) ENC_Put_Signal: flags: 0x000a
(026:378) ENC_Put_Signal: Put ENC_TONE_DETECTED
(026:378) ENC_Fill_Data_Buffer: ECC_Depth: 0 flags: 0x000a


Home | About Us | News | Products | Papers | Employment
Contact Us | Customer Support | Site Map

Copyright © 1997-2008 Commetrex Corporation. All rights reserved.