You are here: CSP API Reference > 1 EXS & SwitchKit API Messages > Play File Start 0x011B

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 CSP Matrix Series 3 Card choose the DSP card by leaving the DSP slot set to 0xFF. The CSP Matrix Series 3 Card 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 Dialogic 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;
v oid 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 CSP Matrix Series 3 Card 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

Digital Signal Processor
Real-Time Transport Protocol. Supports transport of real-time data like interactive voice and video over packet-switched networks.
See Address Information Block.
A computer, attached to the Excel platform through an RS-232 or Ethernet link, from which you run the telecommunications application that controls the Excel platform.
A group of data bits in a specific format, with a flag at each end to indicate the beginning and the end of the frame.
Most Significant Bit
Least Significant Bit
Tag-Length-Value block. A standardized block that allows data to inserted in a standard way into API messages.