|
Home >
Analysis (T1/E1/T3/OC-3/STM-1) >
Software Applications >
Protocol Emulation >
Windows Client/Server for T1/E1
Overview
The Multi-Channel TRAU Tx/Rx Emulation and Analysis (TrauTerr) module is an optional application that allows testing TRAU frames. As
depicted in the figure above, frames will be generated based on the codec type, impairments and time alignment (if specified) and
transmitted through the 16 or 8 kbps channels. On the receiving side the fragments will be decoded to retrieve the control flags and
other framing information like codec type, data transmission rate etc. These frames will be compared with the predefined patterns
and the results will be logged into a log file.
Features:
- Displays the command syntax,
- Sends TRAU frames with or without impairments,
- Sends TRAU frames with or without time alignment,
- Receives TRAU frames and logs the errors
Key Features:
- Codec Type:It is the codec type used to generate the TRAU frames such as GSM 610 (Full Rate), EFR (Enhanced
Full Rate), AMR (Adaptive Multi rate) or HR (Half Rate).
- 16kbps data rate: GSM610, EFR, AMR (4.75kbps, 5.15kbps, 5.90kbps, 6.70kbps, 7.4kbps,
7.95kbps, 10.2kbps, 12.2kbps) and HR
- 8kbps data rate: HR, AMR Lower Codec (4.75kbps, 5.15kbps, 5.90kbps), AMR6.4kbps and
AMR7.4kbps.
- Direction: It is the direction of frame transmission, which can be network-side (Uplink) or user-side (Downlink).
- Data Transmission Rate: depending on the frame type selected transmission rate can be 16kbps or 8 kbps.
For transmit /receive a full rate frames (40 bytes), 16kbps links are used, and for half rate (20 bytes) 8 kbps links are used.
- Time Alignment: Any frame transmitted on a link can either be advanced (125usec or 250usec) or be delayed
(from 250usec to 19.5msec in multiple of 500usec). For uplink, even if time alignment is applied, the frames will not be time aligned,
instead some control fields are set so that the actual time alignment is done in the next downlink frame. For downlink, if the time
alignment is applied, the transmitted frame itself will be time aligned.
- Encode and Decode: Based on all the information like data, codec type, frame transmit direction, data
transmission rate and other control information, TRAU frames will be generated before the transmission. At the receiving end, the
TRAU frames are decoded to get all the control and the frame information back.
- Adding New Stream: We can add a new unused stream to the currently running task. This new stream can use
different data source, codec type, direction, etc.
- Error Impairment: Frame sync error and CRC errors are possible to impair on specified frames of specified
codec type.
- Log: Used on receiving side to log the results of matching the received frames with predefined patterns.
It permits transmission of: (Data Source)
- Memory generated sequences of length 20 or 40 bytes TRAU frames using sequential numbers
- Memory generated sequences of length 20 or 40 bytes TRAU frames using hex octet pattern
- Memory generated sequences of length 20 or 40 bytes TRAU frames using flat Binary File data
- GL HDL Trace file frames containing TRAU frames
Various Memory Pattern and File Based Tests
The application allows receiving HDL frames and comparing with the predefined patterns defined by:
- Sequence numbers (1,2,4 or 8 least significant byte first (LSB) or most significant byte first (MSB) with configurable start sequence
numbers and increments.
- Hex octet patterns
- Binary flat files
- GL HDL trace files containing TRAU frames.
- The differences between received and expected frames can be logged into a log file
Impairments
Various impairments can be introduced before frames are transmitted. Impairments will be specified for a stream. The frames
transmitted on that link will be impaired.
One can specify a limited number of impairments or continuous impairment in each frame or applied to each Nth frame leaving
some frames intact.
Impairments can modify some octets in a frame at a certain offset and can include CRC errors. In addition the frame sync error
impairments can also be introduced.
Time Alignment (TA):
Time alignment can be applied to the specified TRAU frames with specified interval. Time alignment, if specified in the uplink frames,
will be applied to the forth-coming downlink frame. If specified for the downlink frames, the specified TRAU frames are delayed and
transmitted. One can specify TA for limited number/continuous to apply to each Nth frame leaving some frames intact. Minimum TRAU
frames interval between two consecutive TA is 3 frames.
When specified for the TA, the C6, C7, C8, C9. C10, C11 control bits are set/reset in the TRAU frame, as specified in the below
table:
| The following values apply for the coding |
| C6C7 . . . C11 |
| 0 0 0 0 0 0 No change in frame timing |
| 0 0 0 0 0 1 Delay frame 1 x 500 µs |
| 0 0 0 0 1 0 Delay frame 2 x 500 µs |
| . . . .... |
| . . . .... |
| 1 0 0 1 1 1 Delay frame 39 x 500 µs |
| 1 0 1 0 0 0 Not used |
| . . . .... |
| 1 1 1 1 0 1 Not used |
| 1 1 1 1 1 0 Delay frame 1 x 250 µs |
| 1 1 1 1 1 1 Advance frame 250 µs |
Detailed Logging Facility
The optional log file produced by the WCS task shows the hex data dump allowing understanding exactly what was the source of errors and the time alignment information that can be useful to diagnose problems.
Real-time Counters
The application has many attributes to query while the task is in progress. The attributes include:
- Number of total and running streams
- Number of underruns
- Number of received frames equal to transmitted frames
- Modified frame count (rx not equal to tx)
- Total received frame count
- Time aligned frame count
Examples:
- To generate & receive limited number of TRAU frames using 16kbps for GSM6.10
Rx:
run task"TrauTerrE1:Rx" using "FRAMES 100 SEQNUM MSB1 CODEC FR DIRECTION uplink 16K LOG 'C:\Lim.LOG'" #2:1:1..2;
// Duration: Receive 100 TRAU frames
// Source: Sequence numbers MSB 1 byte, frames of length 40 bytes (Full Rate)
// Codec Type: GSM 6.10 (Full Rate) in direction Uplink
// Data Transmission Rate: 16kbps.
// LOG: The results will be logged into LIM.log file
// Use port 2 and timeslots 1 and the sub channels 1 to 2 for this task
inform task 1 "start"; // start receiving
Tx:
run task"TrauTerrE1:Tx" using "FRAMES 100 SEQNUM MSB1 CODEC FR DIRECTION uplink 16K " #1:1:1..2;
// Duration: Transmit 100 TRAU frames
// Source: Sequence numbers MSB 1 byte frames of length 40 bytes (Full Rate)
// Codec Type: GSM 6.10 (Full Rate) in direction Uplink
// Data Transmission Rate: 16kbps.
// Use port 1 and timeslots 1 and the sub channels 1 to 2 for this task
inform task 2"start"; // start transmission
query task 1;
// Get run time information about, how many streams are running, equal frame count, modified frame count… etc.
The contents of the log file: (LIM.log)
15:38:10.625000 SYNC 2:1:C0. Received x02020202-02020202-02020202-02020202-02020202-02020202-02020202-02020202-32303030-30303030-30303030-30303030-30303030-30303030-30303030-30303030-30
15:38:10.625000 Codec type = FR uplink
15:38:10.625000 Transmission Rate = 16 kbps
15:38:12.562000 Exiting ...
15:38:12.562000 Total rx streams = 1
15:38:12.562000 Underrun count = 0
15:38:12.562000 Sync stream count = 1
15:38:12.562000 Out of sync stream count = 0
15:38:12.562000 Sync loss count = 0
15:38:12.562000 CRC error count = 0
15:38:12.562000 Total Time aligned frames = 0
15:38:12.562000 Equal frames count = 49
15:38:12.562000 Mismatched frames count = 1
15:38:12.562000 Total received frames = 50
Note:
- Windows GSM 610 codec frame consists 65 bytes of data, but the TRAUTerr GSM 610 codec frame consists
32bytes+lower nibble of 33rd byte data. Hence a windows GSM 610 frame will take 2 TRAUTerr GSM610 frame to transmit/receive.
Hence transmitting 100 TRAUTerr GSM610 frames, will result reception of only 50 windows GSM610 frames.
- TRAU will start receiving the frames, once it gets sync. To achieve sync, TRAU should receive 3 consecutive frames
of the same codec type. TRAU consumes first two frames to get sync. Hence in the above log file “Mismatched frames count= 1”.
- To generate & receive limited number of TRAU frames using 16kbps for AMR 7.4 and EFR frames.
Rx:
run task"TrauTerrE1:Rx" using "FRAMES 100 SEQNUM MSB1 CODEC EFR DIRECTION uplink 16K LOG 'C:\Lim.LOG'" #2:1:1..2;
// Duration: Receive 100 frames
// Source: Sequence numbers MSB 1 byte, frames of length 40 bytes (Full Rate)
// Codec Type: EFR (Enhanced Full Rate) in direction Uplink
// Data Transmission Rate: 16kbps.
// LOG: The results will be logged into LIM.log file
// Use port 2 and timeslots 1 and the subchannels 1 and 2 for this task
inform task 1 "SC #2:2:3..4 FRAMES 1000 SEQNUM MSB4 CODEC AMR 7.4 DIRECTION uplink 16K";
// Use port 2 and timeslot 2 and subchannels 3-4 to receive frame containing sequence numbers MSB4
inform task 1 "start"; // start receiving
Tx:
run task"TrauTerrE1:Tx" using "FRAMES 100 SEQNUM MSB1 CODEC EFR DIRECTION uplink 16K " #1:1:1..2;
// Duration: Transmit 100 frames
// Source: Sequence numbers MSB 1 byte frames of length 40 bytes (Full Rate)
// Codec Type: EFR (Enhanced Full Rate) in direction Uplink
// Data Transmission Rate: 16kbps.
// Use port 1 and timeslots 1 and the sub channels 1 and 2 for this task
inform task 2 "SC #1:2:3..4 FRAMES 1000 SEQNUM MSB4 CODEC AMR 7.4 DIRECTION uplink 16K ";
// Use port 1 and timeslot 2 and sub channels 3-4 to transmit frame with sequence numbers MSB4
inform task 2"start"; // start transmission
query task 1;
// Get run time information about, the number of streams running, equal frame count, modified frame count, etc.
The contents of the log file: (LIM.log)
16:13:10.062000 SYNC 2:1:C0. Received x02020202-02020202-02020202-02020202-02020202-02020202-02020202-020200
16:13:10.062000 Codec type = EFR uplink
16:13:10.062000 Transmission Rate = 16 kbps
16:13:10.078000 SYNC 2:2:30. Received x00000002-00000002-00000002-00000002-00000000-00000000-00000000-00000040
16:13:10.078000 Codec type = AMR 7.4 uplink
16:13:10.078000 Transmission Rate = 16 kbps
16:13:30.031000 Exiting ...
16:13:30.031000 Total rx streams = 2
16:13:30.031000 Underrun count = 0
16:13:30.031000 Sync stream count = 2
16:13:30.031000 Out of sync stream count = 0
16:13:30.031000 Sync loss count = 0
16:13:30.031000 CRC error count = 0
16:13:30.031000 Total Time aligned frames = 0
16:13:30.031000 Equal frames count = 1096
16:13:30.031000 Mismatched frames count = 4
16:13:30.031000 Total received frames = 1100
- Transmitting and Receiving Hex string frames, Time alignment is applied
Rx:
run task"TrauTerrE1:Rx" using "CONT HEXSTR ABCDEF CODEC AMR 12.2 DIRECTION downlink 16K LOG 'C:\cont_delay.LOG'" #2:1:1..2;
// Duration: Continuous transmission.
// Source: Hex string 0xABCDEF
// Codec type: AMR 12.2 in downlink direction
// Data transmission Rate: 16kbps.
// Frame length: 40 bytes
// Log: Log the results in the given file.
// Receive frames on port 2 and timeslots 1 and the sub channels 1-2.
inform task 1 "start"; // Start receiving.
Tx:
run task"TrauTerrE1:Tx" using "CONT HEXSTR ABCDEF CODEC AMR 12.2 DIRECTION downlink 16K " #1:1:1..2;
// Duration: Continuous transmission.
// Source: Hex string 0xABCDEF
// Codec type: AMR 12.2 in downlink direction
// Data transmission Rate: 16kbps.
// Frame length: 40 bytes
// Receive frames on port 1 and timeslots 1 and the sub channels 1-2.
inform task 2 "TA REP 4 FRAMES 10 #1:1:1..2 DELAY 1";
// 8 frames are delayed by 1 msec. Frames 10 indicates that keep 10 frames intact ///and apply delay for the 11th, and repeat same thing for 4 times.
inform task 2 "start"; // start transmission.
end task*; // end the task’s explicitly
The contents of the log file: cont_delay.LOG
16:23:10.703000 SYNC 2:1:C0. Received x0BCDEFAB-CDEFABCD-EFABCDEF-ABCDEFAB-CDEFABCD-EFABCDEF-ABCDEFAB-CDEFAB70
16:23:10.703000 Codec type = AMR 12.2 downlink
16:23:10.703000 Transmission Rate = 16 kbps
16:23:30.484000 Exiting ...
16:23:30.484000 Total rx streams = 1
16:23:30.484000 Underrun count = 0
16:23:30.484000 Sync stream count = 1
16:23:30.484000 Out of sync stream count = 0
16:23:30.484000 Sync loss count = 0
16:23:30.484000 CRC error count = 0
16:23:30.484000 Total Time aligned frames = 4
16:23:30.484000 Equal frames count = 989
16:23:30.484000 Mismatched frames count = 0
16:23:30.484000 Total received frames = 989
Note:
- In the above example, the mismatched frame count is zero, because, all the received frames will be having same data.
- Similarly as Delay is applied, advance (0.125msec, 0.25msec only) of the TRAU frames can also be applied according to the specifications.
- Introducing impairments
Rx:
run task"TrauTerrE1:Rx" using "FRAMES 100 SEQNUM MSB1 CODEC AMR 7.4 DIRECTION uplink 16K LOG 'C:\ syncloss.LOG'" #2:1:1..2;
inform task 1 "start";
Tx:
run task"TrauTerrE1:Tx" using "FRAMES 100 SEQNUM MSB1 CODEC AMR 7.4 DIRECTION uplink 16K " #1:1:1..2;
inform task 2 "start";
inform task 2 "ERROR REP 4 FRAMES 10 #1:1:1..2 SYNC";
// Impairment: 4 frames are impaired by altering the Trau frame sync bits
// Frames 10 indicates that keep 10 frames intact and impair 11th, and repeat it //thing for 4 times.
query task 1;
end task*;
The contents of the log file:
17:09:06.968000 SYNC 2:1:C0. Received x02020202-02020202-02020202-02020202-02020200-00000000-00000000-00000040
17:09:06.968000 Codec type = AMR 7.4 uplink
17:09:06.968000 Transmission Rate = 16 kbps
17:09:07.203000 SYNC 2:1:C0. Received x0D0D0D0D-0D0D0D0D-0D0D0D0D-0D0D0D0D-0D0D0D00-00000000-00000000-00000040
17:09:07.203000 Codec type = AMR 7.4 uplink
17:09:07.203000 Transmission Rate = 16 kbps
17:09:07.406000 SYNC 2:1:C0. Received x08181818-18181818-18181818-18181818-18181800-00000000-00000000-00000040
17:09:07.406000 Codec type = AMR 7.4 uplink
17:09:07.406000 Transmission Rate = 16 kbps
17:09:07.625000 SYNC 2:1:C0. Received x03232323-23232323-23232323-23232323-23232300-00000000-00000000-00000040
17:09:07.625000 Codec type = AMR 7.4 uplink
17:09:07.625000 Transmission Rate = 16 kbps
17:09:07.843000 SYNC 2:1:C0. Received x0E2E2E2E-2E2E2E2E-2E2E2E2E-2E2E2E2E-2E2E2E00-00000000-00000000-00000040
17:09:07.843000 Codec type = AMR 7.4 uplink
17:09:07.843000 Transmission Rate = 16 kbps
17:09:08.937000 Exiting ...
17:09:08.937000 Total rx streams = 1
17:09:08.937000 Underrun count = 0
17:09:08.937000 Sync stream count = 1
17:09:08.937000 Out of sync stream count = 0
17:09:08.937000 Sync loss count = 4
17:09:08.937000 CRC error count = 0
17:09:08.937000 Total Time aligned frames = 0
17:09:08.937000 Equal frames count = 86
17:09:08.937000 Mismatched frames count = 14
17:09:08.937000 Total received frames = 100
Each sync loss will result in the loss of 3 frames. The first frame loss will be due to sync loss and the other 2 frames for the re-sync. So in the above case, total of 14 frames are mismatched.
For additional syntax click
here to
download the sample script
Buyer's Guide:
Please Note: The XX in the Item No. refers to the hardware platform, listed at the bottom of the Buyer's Guide,
which the software will be running on. Therefore, XX can either be DPT, DPE, PCT, PCE, HDT, HDE, DLT, DLE or UTE depending upon
the hardware.
Back to Client/Server Scripted Control Software Page
|