# Defining the telephony bus

In the PPX configuration file, each telephony bus (H.110 or H.100) in the switch fabric must be defined and assigned a name.

Note: CT Bus is an industry standard telephony bus, defined by the ECTF H.100 and H.110 specifications. CT Bus is an interoperable superset of MVIP-90, H-MVIP, and SCbus. Therefore, references to CT Bus are inclusive of H.110, H.100, MVIP-90, and H-MVIP.

A bus is defined with either a bus specification or a bus declaration statement:

Bus name
bus_specification | bus_declaration
End Bus

A bus_specification has the following syntax:

bus : streams [ (increment) ] :timeslots [ (increment)]

The following table describes how each element is used:

Element | Description
--- | ---
bus | CTBUS, for H.100 or H.110 bus.
streams | Stream assignment. Can be one stream (for example, CTBUS:0:0), multiple streams (for example, CTBUS:0,2,4:0), or a range of streams (for example, CTBUS:0..7:0).
timeslots | Timeslot assignment. Can be one timeslot (for example, CTBUS:0:0), multiple timeslots (for example, CTBUS:0:0,2,4), or a range of timeslots (for example, CTBUS:0:0..7).
increment | Specifies a value to increment (for example, CTBUS:0..4(2):0 specifies streams 0, 2, 4).

For example, a bus specification statement for the H.100 bus (8 streams at 2 Mbps; 24 streams at 8 Mbps) is:

Bus my_H100_bus
CTBUS:0..7:0..31
CTBUS:8..31:0..127
End Bus

A bus_declaration defines a bus as it relates to a previously defined bus and has the following syntax:

Bus new_bus_name
existing_bus_name ([bus_specification])
End Bus

The brackets following the bus name can include a range of timeslots, indicating that the bus is a subset of another bus. For example:

Bus my_2MBPS_bus
Bus my_H100_bus (CTBUS:0..7:0..31)
End Bus

There can be only one top-level bus definition. Specify a top-level bus with the following syntax:

CTBUS:streams:timeslots

A bus can be defined as a sub-bus of the top-level bus to indicate how buses connect. In the following example, the bus streams clocked at 2 Mbps are defined as a subset of the H.100 bus:

[PPX]
Fabric
Bus my_H100_bus # H.100 bus definition
CTBUS:0..15:0..31 # streams clocked at 2 MHz, 32 timeslots
CTBUS:16..23:0..63 # streams clocked at 4 MHz, 64 timeslots
CTBUS:24..31:0..127 # streams clocked at 8 MHz, 128 timeslots
End Bus
Bus my_2MBPS_bus
Bus my_H100_bus (CTBUS:0..15:0..31)
End Bus
End Fabric

## Reserving bus streams and timeslots

If there are specific streams and timeslots on the telephony bus that are used by another application, the streams and timeslots can be reserved by specifying a subset of timeslots in the bus definition. The reserved streams and timeslots are not available to the PPX service.

For example, to reserve the first four streams on the CT Bus, define a bus as:

Bus my_CT_bus
CTBUS:0..15:0..31
End Bus
Bus PPX_AVAILABLE
Bus my_CT_bus (CTBUS:4..15:0..31)
EndBus

Reference the bus, PPX_AVAILABLE, when defining the boards connected to the bus.