Data Sheet
MT92220
96
Zarlink Semiconductor Inc.
10.0
After packets have gone through the look-up process on the reception side, they can be routed to the packet
disassembly module, which will transform RTP and AAL2 packets into PCM bytes, ADPCM samples, or
HDLC/CPU-destined CPS-packets. The packet disassembly is not responsible for any header verification except
for RTP headers (this is done in the network or AAL2 disassembly module) but it performs PDV monitoring to
diagnose and reduce delay, packet loss compensation (for connections using RTP/AAL2) and some RTCP
functions in hardware.
Packet Disassembly
The module logs all of its errors and events into the RX disassembly Event Report Queue. This queue contains
structures that may be generated by RTP connections, AAL2 connections, xxPCM channels, HDLC channels and
CPU channels. Each event type has its own status bits and errors that may be flagged. The Event Report queue is
contained in SSRAM B and is of a variable size between 256 events (4 K bytes) and 32 K events (512 K bytes).
The format of the RX disassembly Event Report Queue is the following:
Figure 53 - RX Disassembly Event Report Queue
10.1
RTP Treatment
The disassembly module performs a 2-step process when treating received RTP packets: the first portion is
performing all UDP/RTP de-encapsulation. The packet may be discarded if the UDP checksum is incorrect,
depending on the polarity of the UDP Checksum Discard bit. Next, if RTP is present, the RTP version is checked
and the packet is discarded if it is not equal to 2. Finally, the RTP headers are parsed if they are present and the
packet is discarded if the headers extend beyond the end of the packet (i.e. the length of the packet and the info
indicated in the headers cannot concord).
If a packet passes all of these tests, then the general RTP functions are performed. The packet is sent to an RX
RTP Connection Structure; firstly, the packet's Payload Type and Marker bit are used to index in a Payload Type
/Marker Bit Table, to determine what is the type of the received packet. Note that in RTP, payload types are often
determined dynamically, and thus one table per connection might be required.
Packets received by the disassembly module may be tagged as xxPCM, HDLC or CPU packets, all depending on
their payload type and marker bit. The information associated to the extension address also indicates, for xxPCM
packets, what type of compression rate the packet is coded at (PCM, ADPCM 40, 32, 24, 16, or CN/SID packet), as
well as whether law translation should take place. For some combinations of payload type and marker bit, the table
indicates that a report structure should be generated for this packet; this structure will report the payload type and
marker bit in it. The table also indicates, for each payload type in RTP, if it should be included in the Network Jitter
calculations (described in greater detail below), and which RX RTP Channel Structure Address it should use. Each
disassembly structure can point to up to 16 RX RTP Channel Structure Addresses, and each of these can route
packets to a different destination. Since a single connection will usually only carry a single voice channel (or
aggregation of channels), this can use up to 6 extension structures (1 per voice coding rate), leaving 9 extension
The RX Disassembly Event Report Queue is a circular buffer in SSRAM B used to report
disassembly events to the host processor. It can be programmed to sizes of 4 K bytes to 512
K bytes in steps of 2^k. It must be mapped on a base address of its size. The position and
size of this queue can be programmed at register address 0x720.
+0
Event 0
+10
Event 1
+(N-2)*10h
Event N-2
+(N-1)*10h
Event N-1