Play File Start 0x011B

SwitchKit Name

PlayFileStart

Type

EXS API and SwitchKit API message

Description

Play File Start 0x011B

NOTE: This message applies to the DSP Series 2 card only.

Use this message to start playing a file.

You can either specify the channel and the DSP Series 2 card, or let the Matrix Controller choose the DSP card by leaving the DSP slot set to 0xFF. The Matrix Controller reports back which DSP Series 2 card has been selected.

If you are accessing files from an external server, you must send the Generic Card Configure message (0x0122) to set the Vocabulary Index File before you send this message, because you must identify a file’s ID and location before you can play it. Internal recordings are an exception to this rule. Internal recordings can be played without having their IDs in the Vocabulary Index File.

The Play File Start message may use File IDs from 0x00 to 0xFFFFFFFE. 0xFFFFFFFF is reserved by Cantata for internal use, except when using media streaming over RTP, when the range is up to 0x0100000.

When recording a conference or playing a file to a conference, use the Conference AIB instead of the Channel AIB.

Sent by

Host Application

Related API Messages

Play File Modify, Play File Stop

SwitchKit Code

C Structure

typedef struct {

UBYTE AddrInfo[30];

UBYTE FileCount;

UBYTE DataType;

UBYTE TLVCount;

UBYTE Data[220];

} XL_PlayFileStart;

C Structure Response

typedef struct {

unsigned short Status;

UBYTE reserved[13];

UBYTE AddrInfo[251];

} XL_PlayFileStartAck;

 

C++ Class

class XLC_PlayFileStart : public XLC_OutboundMessage {

public:

 

const UBYTE *getAddrInfo() const;

UBYTE *getAddrInfo();

void setAddrInfo(UBYTE *x);

UBYTE getChannelSlot() const;

void setChannelSlot(UBYTE x);

XBYTE getConferenceID() const;

void setConferenceID(XBYTE x);

 

UBYTE getConferenceSlot() const;
void setConferenceSlot(UBYTE x);
XBYTE getParentConferenceID() const;

void setParentConferenceID(XBYTE x);

XBYTE getChildConferenceID() const;

void setChildConferenceID(XBYTE x);

XBYTE getSpan() const ;

void setSpan(XBYTE x) ;

UBYTE getChannel() const;

void setChannel(UBYTE x);

UBYTE getFileCount() const ;

void setFileCount(UBYTE x) {;

UBYTE getDataType() const ;

void setDataType(UBYTE x) ;

UBYTE getTLVCount() const ;

void setTLVCount(UBYTE x) ;

const UBYTE *getData() const ;

UBYTE *getData() ;

void setData(UBYTE *x) ;

};

 

C++ Class Response

class XLC_PlayFileStartAck : public XLC_OutboundMessage {

public:

 

unsigned short getStatus() const

void setStatus(unsigned short x)

const UBYTE *getAddrInfo() const;

UBYTE *getAddrInfo();

void setAddrInfo(UBYTE *x);

UBYTE getChannelSlot() const;

void setChannelSlot(UBYTE x);

XBYTE getConferenceID() const;

void setConferenceID(XBYTE x);

XBYTE getParentConferenceID() const;

void setParentConferenceID(XBYTE x);

XBYTE getChildConferenceID() const;

void setChildConferenceID(XBYTE x);

UBYTE getConferenceSlot() const ;

void setConferenceSlot(UBYTE x);

XBYTE getSpan() const ;

void setSpan(XBYTE x) ;

UBYTE getChannel() const;

void setChannel(UBYTE x);

;

 

Hex API Message Format

MESSAGE (White)

RESPONSE (Gray)

Byte

Field Description

Byte

Field Description

0

Frame (0xFE)

0

Frame (0xFE)

1, 2

Length (0x00NN)

1, 2

Length (0x00NN)

3, 4

Message Type (0x011B)

3, 4

Message Type (0x011B)

5

Reserved (0x00)

5

Reserved (0x00)

6

Sequence Number

6

Same Sequence Number

7

Logical Node ID

7

Logical Node ID

:

AIB

Address Method

0x00 - Individual AEs

Number of AEs to follow

AEs

Use one of the following:

0x0D Channel

0x55 Conference ID

0x45 Child Conference ID

 

Mandatory AE
0x01 Slot

 

Note: If the slot is set to 0xFF, the Matrix Controller chooses the slot.

8, 9

Status (MSB, LSB)

0x0001 Invalid TLV Data

Software can't find the TLV Data Buffer. This can also
occur if the Data for a TLV is out of range.

0x0003 Invalid number of TLVs

There are no TLVs in the message.

0x0004 Invalid TLV Length

The TLV length is different from what is expected.

0x0006 Invalid TLV

Unknown TLV

0x000D Mandatory TLVs missing

One or more mandatory TLVs are missing

 

Also see Common Response Status Values in the API Reference

10-14

AIB (same as message)

15

Checksum

:

Number of files

:

Data Type

0x00 TLVs

:

Number of TLVs to Follow

:

TLVs

 

Mandatory:

For a single file:

0x05E0 File ID

 

If the File ID is 0x00100000 or higher, you must also send:

0x05E1 File Format

0x05E2 File Location

0x05E4 Speed

For multiple files:

You must send one 0x05E0 File ID TLV for each file, and all File IDs must be lower than 0x00100000.

 

Optional

0x05E3 Gain

0x05E4 Speed

0x05E5 Barge In

0x05E6 File Event Descriptor

0x05E7 Playback Repeat

0x05F2 Play File Queue

0x0604 DTMF Clamping/Filtering Enable

0x0614 Offset and Length

0x05F2 Play File Queue

 

 

Media Streaming over RTP

Mandatory TLVs

0x0687 - Enable RTP for Play/Record File

0x29FF Media Local End Point Information

0x2A00 Media Remote End Point Information

0x2A01 Media Per Stream Information

0x2A02 Media Per Codec Information

0x2A07 Media Port

0x2A0E Media Connection Address

 

NOTE: if using RTP, the File ID must be below 0x00100000, so the File Format and File Location TLVs are

not required.

 

:

Checksum