Intel IXP400 User Manual
Intel IXP400 User Manual

Intel IXP400 User Manual

Intel car stereo system user manual
Table of Contents

Advertisement

Quick Links

®
Intel
IXP400 Digital Signal
Processing (DSP) Software
Version 2.5
API Reference Manual
December 2004
Document Number:
273811-007a

Advertisement

Table of Contents
loading

Summary of Contents for Intel IXP400

  • 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.
  • Page 3: Table Of Contents

    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...
  • Page 7: Introduction

    ® 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...
  • Page 9: Architectural Overview

    ® 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.
  • Page 10: Media Processing Resource Components

    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.
  • Page 11: Decoder Resource Component

    XEVT_NET_HOOK_STATE — Hook state change detected. • XEVT_NET_TIMER — Timer expired. Decoder Resource Component Resource Type: XMPR_DEC API Reference Manual ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Media Processing Resource Components Description, Values XPARM_NET_ALAW XPARM_NET_MULAW XPARM_ON XPARM_OFF XPARM_ON XPARM_OFF...
  • Page 12 ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Media Processing Resource Components Media Processing Functions • Decoding • Automatic level control and/or volume control • Comfort noise generation • Jitter compensation Resource-Specific Control Messages • XMSG_CODER_START (inbound) •...
  • Page 13: Encoder Resource Component

    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.
  • Page 15: Tone Generation Resource Component

    Default: 72 RFC2833 enable flag. XPARMID_TNGEN_RFC2833 Default: Events None. API Reference Manual ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Media Processing Resource Components Description and values XPARM_TNGEN_FSK_V23 XPARM_TNGEN_FSK_B202 COUNTRY_CODE_US , otherwise 0. COUNTRY_CODE_US , otherwise 100. XPARM_TNGEN_FSK_R1200...
  • Page 16: Tone Detection Resource Component

    ® 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) •...
  • Page 17: Audio Player Resource Component

    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.
  • Page 18: T.38 Fax Resource Component

    ® 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.
  • Page 19: Message Agent Resource Component

    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.
  • Page 20: Message Format And Delivery Mechanism

    ® 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.
  • Page 21: Message Header Format

    ((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 */...
  • Page 22: Message Type List

    ® 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,...
  • Page 23: Common Control Message

    • 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...
  • Page 24: Stop 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),\...
  • Page 25: Set-Multiple-Parameter Message

    • General acknowledgement message (XMSG_ACK) Response • Error message (XMSG_ERROR) if error. API Reference Manual ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 /* message header */ /* parameter id */ /* parameter value */ head; /* message header */ numParms;...
  • Page 26: Get-Parameter Message

    ® 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) \...
  • Page 27: Get-All-Parameters Acknowledge Message

    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 */...
  • Page 28: Error Message

    ® 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;...
  • Page 29: Resource-Specific Control Messages

    #define XMSG_FIELD_EVENT(pMsg, num, numBad)\ Macro num = ((XMsgCoderStopAck_t *)(pMsg))->numFrames;\ numBad = ((XMsgCoderStopAck_t *)(pMsg))->numBadFrames;\ API Reference Manual ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Resource-Specific Control Messages head; /* message header */ codecType; /* codec type */ frmsPerPkt;...
  • Page 30: Tone Generator Play Message

    ® 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{...
  • Page 31: Tone Generator Play-Completed Message

    ((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.
  • Page 32: Tone Detector Receive-Completed Message

    ® 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];...
  • Page 33: Tone Detector Fsk-Receive-Completed Message

    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 */...
  • Page 34: Player Play-Completed Message

    ® 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;...
  • Page 35: Get-Jitter-Buffer-Statistics Message

    #define XMSG_FIELD_GET_JBSTAT_CMPLT(pMsg, pStat)\ Macro pStat = &(((XMsgGetJBStatCmplt_t *)(pMsg))->stat);\ API Reference Manual ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Resource-Specific Control Messages head; /* message header */ reset; /* reset flag, 1: reset statistics after retrieve the information */ XMSG_GET_JBSTAT_CMPLT head;...
  • Page 36: Packet Data Interface

    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).
  • Page 37: Packet Delivery Mechanism

    /* 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.
  • Page 38: Configuration And Initialization

    ® 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) */...
  • Page 40: Adding Tones To Tone Generator

    ® 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.
  • Page 41: Adding Tones To Tone Detector

    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 */...
  • Page 42: Getting Dsp Resource Configuration And Routing Information

    ® 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 */...
  • Page 44: Complementary Functions

    ® 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.
  • Page 45: Cache Prompt Registration

    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.
  • Page 46: Get Version Number

    ® 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.
  • Page 47: Constant Data

    #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 */...
  • Page 48: Event Codes

    ® 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...
  • Page 49 #define NTT_TID_BT #define NTT_TID_PDT #define NTT_TID_SDT #define NTT_TID_CPT #define NTT_TID_HST #define NTT_TID_IIT #define NTT_TID_SIIT #define NTT_TID_HOW API Reference Manual ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 RFC_TID_DIAL RFC_TID_RING RFC_TID_BUSY RFC_TID_PBX_DIAL RFC_TID_2ND_DIAL RFC_TID_POS_IND RFC_TID_HOLD RFC_TID_CALL_WT RFC_TID_OFFHK_WARN Constant Data...
  • Page 50 ® Intel IXP400 Digital Signal Processing (DSP) Software Version 2.5 Constant Data United States Call-Progress Tones #define COUNTRY_CODE_US #define US_TID_DIAL #define US_TID_RING #define US_TID_BUSY #define US_TID_RC_DIAL #define US_TID_PBX_DIAL #define US_TID_CONGESTION #define US_TID_CALL_WT #define US_TID_WARN_OPER China Call-Progress Tones #define COUNTRY_CODE_PRC #define PRC_TID_DIAL...
  • Page 51: Other Constants

    #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...

Table of Contents