Packetizer Logo
 

Choking the Multiplexer (Q50)

The information in this article applies to:

There has to be very tight control over which multiplex table entry is selected for each MUX-PDU so that the data on all out-going logical channels is continually being sent and none are blocked due to the lack of data on another out-going logical channel. In particular, a single, general-purpose multiplex table entry cannot be used when there is more than one out-going logical channel.

Here is an example of a multiplex entry that shows what I mean.

Entry 1: {{repeat LCN3 25 times, repeat LCN2 100 times}, repeat until closing flag}

So let's say that, for some reason, the source for logical channel 3 has stopped generating data, but that there is plenty of data for logical channel 2. With this table entry, logical channel 2 would not be multiplexed until at least 25 AL-SDUs showed up on logical channel 3. The solution is to constantly monitor the logical channels and switch table entries on a per-MUX-PDU basis depending on whether channels would be blocked because of early termination of a table entry due to insufficient data on a logical channel to make it to the end of the table entry.

In general, a non-blocking multiplex table requires that the multiplex table contain at least one entry per logical channel that starts with that logical channel. Note that for segmentable logical channels, multiplex table entries can be switched on any octet boundary.

For you example, the following table would work:

Entry 1: {{repeat LCN3 25 times, repeat LCN2 100 times}, repeat until closing flag}

Entry 2: {repeat LCN2 until closing flag}

While multiplexing, if there are at least 25 octets ready to be transmitted on logical channel 3, entry 1 could be used; however, if there are less than 25 octets or none at all, entry 2 should be used.