Route Control 0x00E8

SwitchKit Name

Route Control

Type

EXS API and SwitchKit API message

Description

Route Control 0x00E8

Use this message to outseize to a channel using the CSP Call Control. If you want to the host application to choose the span/channel, use the Outseize Control message instead of this message.

Contact Dialogic Technical Support if you want to send a Route Control message greater than 512 bytes.

Sent by

Host

Protocol-Specific Considerations

This section provides protocol-specific considerations to help you use this message for VoIP calls. Note that these are examples and that there are several other ways to use the Route Control message.

 

The mandatory TLVs are listed for each ICB, but other protocol specific TLVs are mandatory in order to initiate an outbound call. Moreover, you may include additional optional TLVs as needed.

SIP

For physical SIP calls, the Route Control message must contain the following:

AIB - 0x0029 - Generic Router

Extended ICBs

0x001E Generic PPL ICB

 

0x0013 Routing Method TLV

Value: 0x0008 Criteria Type

 

0x000F Router Protocol ID TLV
Value: 0x000B Default Router

 

0x0008 Criteria Type TLV

Value: 0x0065 Physical VoIP Channel

 

0x0065 Physical VoIP Channel TLV

Value: 0x0000 (reserved)

 

0x0033 NPDI Universal ICB

0x277E Remote Side Protocol TLV

Value: 0x08 - SIP

 

H.323

For H.323 calls, the Route Control message must contain the following:

AIB - 0x0029 - Generic Router

Extended ICBs

0x001E Generic PPL ICB

 

0x0013 Routing Method TLV

Value: 0x0008 Criteria Type

 

0x000F Router Protocol ID TLV

Value: 0x000B Default Router

 

0x0008 Criteria Type TLV

Value: 0x0065 Physical VoIP Channel

 

0x0065 Physical VoIP Channel TLV

Value: 0x0000 (reserved)

 

0x0033 NPDI Universal ICB

 

0x277E Remote Side Protocol TLV

Value: 0x09 H.323

 

0x27C2 Remote End Signaling IP Address (Q.931) TLV

Value: IP Address

SIP Call Agent

For Call Agent calls, the Route Control message must contain the following:

AIB - 0x0029 - Generic Router

Extended ICBs

0x001E Generic PPL ICB

 

0x0013 Routing Method TLV

Value: 0x0008 Criteria Type

 

0x000F Router Protocol ID TLV

Value: 0x000B Default Router

0x0008 Criteria Type TLV

Value: 0x0071 Virtual VoIP Channel

 

0x0071 Virtual VoIP Channel TLV

Value: 0x0000 (reserved)

 

0x0033 - NPDI Universal ICB

 

0x277E Remote Side Protocol TLV

Value: 0x08 SIP

Interworking

For Interworking calls, the Route Control message must contain the following:

AIB - 0x0029 - Generic Router

Extended ICBs

0x001E Generic PPL ICB

0x0013 Routing Method TLV

Value: 0x0008 Criteria Type

 

0x000F Router Protocol ID TLV

Value: 0x000B Default Router

 

0x0008 Criteria Type TLV

Value: 0x0065 Physical VoIP Channel

 

0x0065 Physical VoIP Channel TLV

Value: 0x0000 (reserved)

 

0x0033 NPDI Universal ICB

0x277E Remote Side Protocol TLV

Value: 0x08 SIP

 

Clear Channel VoIP

For Clear Channel VoIP calls, the Route Control message must contain the following:

 

ICBs

0x001E Generic PPL ICB or 0x1E Generic PPL ICB

0x0013 Routing Method TLV

Value: 0x0009 Terminating Channel

 

0x0009 Terminating Channel TLV

Refer to the Developer’s Guides for examples that include the Route Control message.

SwitchKit Code

C Structure

typedef struct {

UBYTE AddrInfo[30];

UBYTE ICBCount;

UBYTE Data[222];

} XL_RouteControl;

C Structure Response

typedef struct {

unsigned short Status;

UBYTE Data[251];

} XL_RouteControlAck;

C++ Class

class XLC_RouteControl : public XLC_OneChannelOutbound {

public:

const UBYTE *getAddrInfo() const;

UBYTE *getAddrInfo();

void setAddrInfo(UBYTE *x);

XBYTE getSpan() const;

void setSpan(XBYTE x);

UBYTE getChannel() const;

void setChannel(UBYTE x);

XBYTE getRouterHandle() const;

void setRouterHandle(unsigned short x);

UBYTE getICBCount() const;

void setICBCount(UBYTE x);

const UBYTE *getData() const;

UBYTE *getData();

void setData(UBYTE *x);

};

C++ Class Response

class XLC_RouteControlAck : public XLC_AcknowledgeMessage {

public:

unsigned short getStatus() const;

void setStatus(unsigned short x);

const UBYTE *getData() const;

UBYTE *getData();

void setData(UBYTE *x);

};

 

 

Overview of message

The following table provides an overview of this message. The table following it, provides the detail for each byte.

MESSAGE (White)

RESPONSE (Gray)

Byte

Field Description

Byte

Field Description

0

Frame (0xFE)

0

Frame (0xFE)

1, 2

Length (0xNNNN)

1, 2

Length (0xNNNN)

3, 4

Message Type (0x00E8)

3, 4

Message Type (0x00E8)

5

Reserved (0x00)

5

Reserved (0x00)

6

Sequence Number

6

Same Sequence Number

7

Logical Node ID

7

Logical Node ID

8

:

AIB

Address Method

8, 9

Status MSB, LSB

Number of AEs to follow

10

ICB

AEs

:

Checksum

:

ICB

 

 

:

:

 

 

:

Checksum

 

 

EXS API Hex Format - Detailed

MESSAGE (White)

RESPONSE (Gray)

Byte

Field Description

Byte

Field Description

0

Frame (0xFE)

0

Frame (0xFE)

1, 2

Length (0xNNNN)

1, 2

Length (0xNNNN)

3, 4

Message Type (0x00E8)

3, 4

Message Type (0x00E8)

5

Reserved (0x00)

5

Reserved (0x00)

6

Sequence Number

6

Same Sequence Number

7

Logical Node ID

7

Logical Node ID

8

:

AIB

Address Method

0x00 - Individual AEs

8, 9

Status MSB, LSB

 

:

Number of ICBs to follow

Number of AEs to follow

:

ICB

0x02 Data ICBs

0x1E Generic PPL

 

:

Number of TLVs to follow.

 

:

Only the following TLVs are included
in this ICB in this response:

 

0x0009 Address Element TLV
(For Expanded Span/Channel AIB)

 

0x2950 SIP Call ID

(For call ID reporting of outbound
calls.)

AEs

0x0D Channel

Do not use this AIB. You must use the Router AIB below:

0x29 Router

Using this AIB, the CSP
seizes the outbound channel but does not connect. The host must establish the connection with a separate Connect message. This AIB indicates
the RTR handle (always 0xFFFE), the CSP resolves the "B" channel using Route Tables and outseizes, then notifies the host, which connects.

Use this AIB if you want the
internal Router component to
find a destination channel.

 

:

State

If the preceding Status field is a positive acknowledgement, this field does not apply.

:

Number of ICBs to follow

:

Checksum

:

ICB

0x01 Action ICBs

0x00 Null *

0x01 Scan For Wink N

0x02 Scan for ANI Request Off-Hook *

0x03 Scan for Dial Tone *

0x04 Report Call Processing Event

0x05 Outpulse Stage N Address Data

0x06 Wait for Host Address Data *

0x07 Wait For Host Control *

 

0x08 Send Host Acknowledgment *
(the ISDN PRI card ignores the Send Host Acknowledgment)

0x09 Do Call Progress Analysis (T-ONE calls only)

0x0A Seize *

0x0B Use Instruction List

0x0C Reserved *

0x0D Cancel R2 Receiver *

0x0E Scan for Backward R2 Signal *

0x0F Wait for Host Control with Answer Supervision *

0x10 Do Call Progress Analysis Without Line Signaling

0x11 Delay N Milliseconds

 

* The ICB has no data, so you will always use 0x00 for the value of the Data Length field.

0x02 Data ICBs

0x01 Stage N Address Data

0x02 Stage N Address Data

0x10 ISDN Formatted IEs

0x11 ISDN Raw IEs

0x12 SS7 Parameters

0x15 DASS2/DPNSS Raw Data

0x1A Call Type

0x1C SS7 TUP Formatted Fields
0x1E Generic PPL

0x25 ISDN Segmented Message

 

0x03 Extended Data ICBs

0x001E Generic PPL (H.323 / SIP)

0x0026 Channel Pad Value

0x0029 V5 Formatted IEs

0x002C V5 User Port Range

0x002F V5 Statistics Query

0x0030 V5 Statistics Data

0x0031 V5 Status Indication

0x0033 NPDI Universal ICB (H.323 / SIP)

 

 

 

Refer to Interworking TLVs if you have enabled interworking from the VoIP Protocol Configure 0x00EE message.

:

Checksum