Page 1
® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 API Reference Manual December 2004 Document Number: 273811-007a...
Page 2
Intel products are not intended for use in medical, life saving, life sustaining, critical control or safety systems, or in nuclear facility applications. Intel may make changes to specifications and product descriptions at any time, without notice.
Tone Generator Play-FSK Message ... 30 Tone Generator Play-Completed Message... 31 Tone Detector Receive-Digit Message... 31 Tone Detector Receive-Completed Message ... 32 API Reference Manual ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 ... 9 ... 23 ... 29 ... 10 ... 20...
Page 4
® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Tone Detector Receive-FSK Message...32 Tone Detector FSK-Receive-Completed Message ...33 6.10 Player-Start Message...33 6.11 Player Play-Completed Message ...34 6.12 Get-Jitter-Buffer-Statistics Message ...35 6.13 Complete Message of Getting Jitter Buffer Statistics ...35 Packet Data Interface Packet Formats ...36...
Page 5
March 2003 January 2003 API Reference Manual ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Revision Updated product branding. Further updates for the release of Intel v2.5. Change bars indicate areas of change. Updates for the release of Intel Updates for the release of Intel Version 2.4.
Page 6
® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 This page intentionally left blank. API Reference Manual...
® The Intel IXP400 DSP Software v2.5 is a software module that provides the basic voice processing functionalities for VoIP residential gateway applications. It can be viewed as a completed media pro- cessing layer with control and data interfaces as its API.
Page 8
® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Introduction Non-linear Processing (for EC) Signal Processing Voice Activity Detection API Reference Manual...
® Intel IXP400 DSP Software is implemented as an independent module having its own tasks and runtime environment. The software architecture is of a two-layer hierarchy – a control layer that pro- vides the control interface and control logic, and a data processing layer where the media data streams are processed by appropriate algorithms.
As shown in Figure processing resource (MPR) components similar to those defined in many Intel Dialogic compute te- lephony system architecture. There are nine resource components, working together to provide all the media processing needed by a gateway or server channel. Each resource component has a unique identifier as shown below.
XMSG_CODER_STOP_ACK API Reference Manual ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Media Processing Resource Components Description and Values RTP payload type for G.726 40-Kbps coder. The payload type is negotiated and set by the call stack. The range of values is 96 to 127.
Page 14
® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Media Processing Resource Components Parameters Identifier XPARMID_RES_STATE XPARMID_ENC_LP_STREAM XPARMID_ENC_AGC XPARMID_ENC_VAD XPARMID_ENC_CTYPE XPARMID_ENC_MFPP XPARMID_ENC_EVT_PKT XPARMID_ENC_G726_40_RTP_PLD XPARMID_ENC_G726_32_RTP_PLD XPARMID_ENC_G726_24_RTP_PLD XPARMID_ENC_G726_16_RTP_PLD XPARMID_ENC_G726_PACK XPARMID_ENC_VOL Events • XEVT_LOST_PACKET — Bad packet. • XEVT_DEC_PACKET_CHNG — Received RTP payload type changed.
® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Media Processing Resource Components Tone Detection Resource Component Resource Type: XMPR_TNDET Media Processing Functions • Receiving DTMF digits • Detecting individual tone event Resource-Specific Control Messages • XMSG_TD_RCV (inbound) •...
Audio Mixer Resource Component Resource Type: XMPR_MIX API Reference Manual ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Media Processing Resource Components Description and values Minimum CS-bit length required by FSK receiver. Default: 200 COUNTRY_CODE_US if country code set to COUNTRY_CODE_PRC , otherwise 0.
® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Media Processing Resource Components Media Processing Functions Mixing multiple audio streams for three-way call or small audio conference. The maximum number of parties to the mixer is currently five. Resource-Specific Control Messages None.
Enable trace during processing user’s messages. XPARM_OFF XPARMID_MA_DEBUG Default: XPARM_OFF Default: XPARM_OFF Events None. API Reference Manual ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Media Processing Resource Components Description and Values XPARM_T38_RATE_NEG_REMOTE XPARM_T38_RATE_NEG_LOCAL XPARMID_T38_TRANS_UDP XPARM_T38_MODE_ITU XPARM_T38_MODE_ITU Description and values XPARM_ON Direct Attr.
® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Message Format and Delivery Mechanism Message Format and Delivery Mechanism There are two message queues (in-bound and out-bound) for the user application to send control messages and to receive response and event messages, respectively. The message queues are created from pre-allocated memory buffers in consideration of maximum message size and total number of messages.
((XMsgRef_t)(pMsg))->size ((XMsgRef_t)(pMsg))->type ((XMsgRef_t)(pMsg))->attribute API Reference Manual ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Message Format and Delivery Mechanism — If successful — If errors /* instance ID (1-0xffff), 0:reserved */ /* MPR resource type */ /* reserved for future */...
® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Message Format and Delivery Mechanism Message Type List All message types are pre-defined as: Typedef enum{ XMSG_BEGIN =0, XMSG_RESET, XMSG_START, XMSG_STOP, XMSG_PING, XMSG_SET_PARM, XMSG_SET_MPARMS, XMSG_GET_PARM, XMSG_GET_PARM_ACK, XMSG_GET_ALLPARMS, XMSG_GET_ALLPARMS_ACK, XMSG_ACK, XMSG_ERROR,...
• General acknowledgement message (XMSG_ACK) Response • Error message (XMSG_ERROR) if error. Caution This message is not applicable to Tone Generator and Player resources. API Reference Manual ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 ) if error. Common Control Message...
® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Common Control Message Stop Message Type XMSG_STOP Direction Inbound Description Stops the current action. typedef struct{ Format XMsgHdr_t head; } XMsgStop_t; #define XMSG_MAKE_STOP(pMsg, trans, res, inst)\ Macro XMSG_MAKE_HEAD(pMsg, trans, res, inst, sizeof(XMsgStop_t),\...
® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Common Control Message Get-Parameter Message Type XMSG_GET_PARM Direction Inbound Description Gets a parameter from a resource. typedef struct{ XMsgHdr_t Format UINT16 } XMsgGetParm_t; #define XMSG_MAKE_GET_PARM(pMsg, trans, res, inst, id) \...
Format XMsgHdr_t head; } XMsgAck_t; API Reference Manual ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 /* message header */ /* message header */ Common Control Message /* message header */ /* number of parameters */ /* array of parameter IDs */...
® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Common Control Message 5.12 Error Message Type XMSG_ERROR Direction Outbound Description Resource reports an error condition. (See constant data section for error codes.) typedef struct{ XMsgHdr_t UINT32 Format UINT32 UINT32 } XMsgError_t;...
® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Resource-Specific Control Messages Tone Generator Play Message Type XMSG_TG_PLAY Direction Inbound Description Requires Tone Generator to play a tone string. (Tone ID’s are listed in the constant data section.) typedef struct{...
((XMsgTDRcv_t *)(pMsg))->interDigitTimeout = intTm;\ Response Tone detector receives completed message ( API Reference Manual ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Resource-Specific Control Messages /* message header */ /* the reason of completion: */ /* XMSG_STOP_REASON_USER(1) */ /* XMSG_STOP_REASON_EOD(2) */ /* number of tones played.
® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Resource-Specific Control Messages Tone Detector Receive-Completed Message Type XMSG_TD_RCV_CMPLT Direction Outbound Description Tone detector indicates the completion of receiving DTMF tones. typedef struct{ XMsgHdr_t head; UINT16 reason; UINT8 numDigits; UINT8 digits[XMAX_DIGITBUFSIZE];...
Direction Inbound Description Start Player to play back pre-recorded audio data API Reference Manual ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Resource-Specific Control Messages head; reason; numBytes; data[XMAX_FSKDATASIZE]; /* message header */ /* the reason of completion */...
® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Resource-Specific Control Messages Type XMSG_PLY_START (Sheet 2 of 2) typedef struct{ XMsgHdr_t XPlyMediaDesc_t UINT8 } XMsgPlyStart_t; where the media segment data structure is defined as typedef struct{ Format INT32 offset;...
Packet Data Interface Packet Data Interface The packet data interface is a protocol for the Intel data packets with IP stack. This interface is defined as a packet format and two callback functions – one is provided by DSP software release and another is provided by the user (IP stack).
/* media type */ /* payload length */ /* local or remote time stamp */ ® IXP400 DSP Software and IP stack via the callback func- – memory address of the packet – Channel numbers – If successful – If the packet receptor is unable to process the packet.
® The Intel IXP400 DSP Software is configurable at initialization time, allowing the user to specify the HSS parameters, the number of resource instances to be created and the country-specific fea- tures. The user-supplied call back functions are also registered at that time.
Page 39
API Reference Manual ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 /* number of channels of TDM termination(1~4) */ /* number of channels of IP termination (1~4) */ /* number of Player instances (1~4) */ /* number of Audio Mixers (must be 1) */...
® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Configuration and Initialization Then the array that describes such configuration is given as: XDSPChanTdmSlots_t chanTsMapping[2] = {0, 16}, {2, XCHAN_TDM_SLOT_NULL} If the pChanTsMap figured to the narrowband mode and are linked to the active time slots sequentially.
API Reference Manual ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 or the modulated carry frequency if AM wave, in 1Hz or the modulating frequency if AM wave, ignored if single frequency wave */...
® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Configuration and Initialization /* segment data for tone detection template. */ typedef struct { UINT16 type; UINT16 criteria; UINT16 freqLowA; UINT16 freqHighA; UINT16 freqLowB; UINT16 freqHighB; INT16 ampLowA; INT16 ampHighA;...
Page 43
API Reference Manual ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 /* number of TDM termination channels */ /* number of IP termination channels */ /* number of player instances */ /* number of Audio Mixers */...
® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Complementary Functions Complementary Functions Direct Parameter Access The user’s applications can bypass the message and directly access the DSP parameters. This allows quicker access without having to send a message and receive a response. All parameters can be di- rectly read but only some of them can be directly modified.
INT32 XCoderType_t type; } XCachePromptDesc_t; API Reference Manual ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 XHookState_t hookState, XUINT32 transId); if successful XERROR – The pointer to structure XCachePromptDesc_t. — Returns XMEDIA_HANDLE_NULL in the error case. describes the data required to register a cached prompt.
® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Complementary Functions Get Version Number Prototype char * xDspGetVersion(void ); Input None Output None Return Pointer to the version string. This function returns a six-digit version string in ASCII format hard coded in each release uniquely.
#define XERR_RESOURCE_BUSY #define XERR_RESOURCE_IDLE #define XERR_MA_DEEP_RECURSIVE API Reference Manual ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 message with an error code and two error data. The common XMSG_ERROR 0x0001 /* system error */ 0x0002 /* HSS interface error */...
® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Constant Data 10.2 Event Codes Events are reported via specific event codes are defined as: #define XEVT_CODE_TD_TONEON #define XEVT_CODE_TD_TONEOFF #define XEVT_LOST_PACKET #define XEVT_DEC_PACKET_CHNG #define XEVT_NET_HOOK_STATE #define XEVT_NET_TIMER 10.3 Tone IDs...
#define XPARM_DEC_AUTOSW_G729A #define XPARM_DEC_AUTOSW_G723 #define XPARM_DEC_AUTOSW_G722 #define XPARM_DEC_AUTOSW_G726_40 #define XPARM_DEC_AUTOSW_G726_32 #define XPARM_DEC_AUTOSW_G726_24 #define XPARM_DEC_AUTOSW_G726_16 #define XPARM_DEC_AUTOSW_ALL API Reference Manual ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Constant Data 0x0000 0x0001 0x0002 0x0004 0x0008 0x0010 0x0020 0x0040 0x0080...
Page 52
® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Constant Data Mask bits used to specify the termination digits in the #define XTD_TERM_DIGIT_NONE #define XTD_TERM_DIGIT_0 #define XTD_TERM_DIGIT_1 #define XTD_TERM_DIGIT_2 #define XTD_TERM_DIGIT_3 #define XTD_TERM_DIGIT_4 #define XTD_TERM_DIGIT_5 #define XTD_TERM_DIGIT_6 #define XTD_TERM_DIGIT_7...