You are here: CSP API Reference > 4 Tag Length Value Blocks > Introduction to TLVs
In Call Control, the TLV is used to send data to, and receive data from, the CSP within API messages.
A TLV is an internal data structure consisting of the following elements:
• Tag - a label identifying the format of the TLV
• Length - the length of the data to follow
• Value - the data
The generic format of a TLV is shown below:
Byte |
Description |
---|---|
1 |
Tag (MSB) |
2 |
Tag (LSB) |
3 |
Length (MSB) |
4 |
Length (LSB) |
5 |
Value[0] (Data) |
: |
: |
: |
Value[n] |
The Call Agent feature and the DSP/RTP feature use nested TLVs. The following provides an overview and example of nested TLVs. An API message can contain nested TLVs. These TLVs are nested into the value field of another TLV in order to capture multiple properties of a call within one TLV.
The following applies to these nested TLVs.
• The TLV Count fields in the API message accounts for the top level TLVs but not the nested TLVs.
• The same TLV can be used multiple times within the same message depending on the context of the nested TLVs.
• The Length field in any "parent" TLV counts the bytes in all of its nested TLVs.
Example:
Interworking TLVs
This chapter contains TLVs used for Interworking and are indicated as such. Some of these Interworking TLVs can also be used in Standard environments and that is indicated as well.
Refer to Interworking in the Developer’s Guide: Internet Protocol.
Interworking TLVs are used in the following API messages:
Host to CSP
• Outseize Control
• Route Control
• Inseize Control
• Connect with Data
• Release Channel with Data
• Outpulse Digits
• PPL Event Request
CSP to Host
• Request for Service with Data
• Channel Released with Data
• PPL Event Indication
• Channel Release Request