Home
TASK-6000™ software reference guide
Contents
1. U E lt p n n w a a a D Q LE UP EVT PORT ASSIGNED UP EVT FAILURE UP EVT DSP RUNNING UP EVT ETHERNET ALARM UP EVT IOP RUNNING UP EVT ETHERNET CONFIGURED UP EVT STREAM CONNECTED UP EVT STREAM FAILURE UP_EVT_HDLC_REPOR UP EVENT ET UP ERROR ET An enumerated data type passed in a UP EVT FAILURE event that contains the specific source of the UPA command processing failure 137 TASK 6000 software reference guide 138 P_START_DSP_REPLY_ST A structure type passed in a UP EVT START REPLY event that contains the FIFO address locations to use for setting up Fast Packet services Receipt of the UP EVI START REPLY event signals successful initialization of a loaded DSP UP START DSP REPLY ST structure typedef struct RSYS_UINT RSYS_UINT RSYS_UINT RSYS_UINT RSYS_UINT RSYS_UINT 32 32 32 32 32 32 ulSendFifoAddr ulSendFifoSize ulRecvFifoAddr ulRecvFifoSizePerChannel ulRecvFifoChannels ulAltSendFifoAddr UP START DSP REPLY ST Appendix B Standard IOP functions upStart upStart Initializes the Universal Port subsystem To perform necessary system initialization call this function once before calling any other UPA function from the IOP At this
2. T8100 TI El 0 1 data 0 0 signaling 0 2 data 1 1 data 0 2 3 data 2 2 data 1 3 4 data 3 3 data 2 4 5 data 4 4 data 3 5 6 data 5 5 data 4 6 7 data 6 7 data 6 7 8 data 7 7 data 6 8 9 data 8 8 data 7 9 10 data 9 9 data 8 10 11 data 10 10 data 9 11 12 data 11 11 data 10 12 13 data 12 12 data 11 13 14 data 13 13 data 12 14 15 data 14 14 data 13 15 16 data 15 15 data 14 16 17 data 16 16 signaling 1 17 18 data 17 17 data 15 18 19 data 18 18 data 16 19 20 data 19 19 data 17 20 21 data 20 20 data 18 21 22 data 21 21 data 19 22 23 data 22 22 data 20 23 24 data 23 23 data 21 24 N A 24 data 22 25 N A 25 data 23 181 TASK 6000 software reference guide 182 Table D 2 Time slot numbers T8100 Tl El 26 N A 26 data 24 27 N A 27 data 25 28 N A 28 data 26 29 N A 29 data 27 30 N A 30 data 28 31 N A 31 data 29 Appendix D T1 E1 library Functions T1E linitCard Functions TlElinitCard Initializes the driver and initialize the framers on the option card The function accepts a pointer to a structure and fills the structure with information about the installed card You must call this function before using any other driver functions however the you do not need to call this function if iopInit is called since iopInit also makes the call
3. 112 upiConMsServieB aset tenete tren esee aee keek Fen ee eee e lanea a ep EE gebe ge XUI E 113 upContipsemgeeloBal oci resr c eer P ri tenebo cent reser ioia UE XE DE UR SR EYE FEE Ie Erbe Pe Siken ii 116 p Connect PkiReCY MM EEE 119 ap CMG CEP a o eet 121 ined rada M i 123 up Disconnect PER eeu usce cederent emet toner ee een de ua ccusshe EEEE ER ENEKE EE AEEA EEEREN a Ei 126 upLsconnectPletSetd iiir pn EE EUREN TE T 127 upbnable Chanel A e esperes ed eere ea eae PERS ERR E SDN SE ERI UY E Fee Ya ERR PES ER EU NE EE ERE FE eS Ser EFE Eee ERR ones 128 tap Enable Serye Em 130 2190282010514 70 MM 133 upSetEventHandler soriire rsisi eter tree ree aree teer E Ee ka ERE eene ERE eese dra erae dead EE 136 Tyr 139 iopiet N WDEBE reo ve si dan eesti ches re terere er PY o eer e uve wei eve eeu deg edi vv E eee teed 141 TASK 6000 software reference guide top hitter onis Ol EE 142 top Send NWP KEBUT 1 ceteri et ER RENE REL E rai PER Y URS i ERE E PRESE KESSA Eg veg 143 ieeenteli Cr M S 144 oret dnt rio rrr M UO 145 upb5etUserNIsgETandlet 1 iet ett tetro reu err reet espe ke EEE a aii 146 Appendix C HDLC driver library X SII E H
4. 246 ulmo NRI Wed sued O ONA ee te s 247 bcllo md s M 248 AVE elle eee ae etenim eite ia eei n A de eee eee n ee A cerni 249 t L8300C lockGontitg 4 eere reste YR RERUM YER RAE eR REN E EERE ia 250 STC OMY Tale oro A eer Leo E RENE EH DE EEPEE E EAS E NER EN SEEN PN Ee ES RENNES A A A FESTE ES YN Te eA e PET ET EE 252 t T8100StreamConfig iere ete rere ente aerea te eaa ti eR ETE ERE HE e FERRE HER e EE aia 253 somos a e E RE E ederet beste ee Ee vex eddbc eed UE b genera eed rere seed e uu cele ET 256 t lRIOOC eT e a cee 3 55 Sede ded se tet i er er PE e EE EE Ei coveted ence E E EE des Code XE ERE EE 257 BMS MOS rice a one oec RHEINE 258 Appendix F Service descriptions gu 260 QST ARM E M 260 Echo gancellation 5 i ere eret teer teo teo Erat Eee derer Dena LO e EE EX ee Urea e a PENES CREE a ue Rove e DEEP e ERR 263 I E a AAAA AEE AE AE ves eeu peer een ge cua eee vsetssestveandeesvevaueds 263 TOR SSRETOIORL o ert ai ose Eb tet aite A me preteen rr ert ERE terre eye 264 SET dr Tolet eT contetuer TOE Den LA M D 264 GEM fetu s CREDE TODO TDI E A 265 UP TONEGBN CONFIG ST nie EE FEE ES RE HEEE RS E REE ERREUR EE REEL EEERED RUE 265 Mere EGE CEH Soi A S EE E E EA ees vsnes EN A O S A EE 266 jo Bs BA E a EN AA ee AA te ere 266 UP DIMF CONTIG ST tei cesedec
5. RTP HEADER ST version Protocol version 2 bits p Padding type 1 bit x Header extension 1 bit cc CSRC count 4 bits m Marker bit 1 bit pt Payload type 7 bits seq Sequence number 16 bits ts Time stamp Ssrc Synchronization source csrc Optional CSRC list UP RTP SEND CONFIG ST typedef struct RTP_HEADER_ST stRtpSendHeader RSYS UINT32 ulPaddingLen RSYS UINT32 ulPayloadInterval RSYS UINT32 ulTimeElapsedForEachFrame UP RTP SEND CFG FLAG ET ulInitConfig j UP RTP SEND CONFIG ST stRtpSendHeader The RTP sender header 272 Appendix F Service descriptions RTP packetization stRtpEncode Events ulPaddingLen Desired length of the RTP packet Set the padding bit in stRtpHeader appropriately You can select one of these 0 No padding Other The number of bits in the RTP packet ulPayloadInterval The interval in milliseconds for payload duration For example if the ulPayloadIntervalis 15ms each RTP packet carries 15ms of voice ulPayloadinterval must be chosen based on the codec in use Frame based codecs G 723 1 G 729 etc require that the payload interval be an integer multiple of the codec frame size Sample based codecs G 711 require that the payload interval be an integer number of milliseconds ulTimeElapsedForEachFrame The frame duration of the codec in use in samples G 711 G 729 and G 7294 encode 10ms frame
6. vase 47 Message AP E 47 Paani n A dense deeceas covets 48 hestControlPeritenall ssrscascscesiseieaccesscecavecettades seevdebasseeesdbanasesdensuseuvay VERRE ERE NEVER ESSE EST 50 ord 2d NR 54 hostret ver igo lese PR 55 hostGetSystemlIBO ien rei e DO ERE ee RN riis i n eite ENEKE 57 min 59 ror ror rs bro 60 WOsELOAMIOD RR M 61 viii Contents TOSERESEED SD nM H M 62 hostReset DS MT E EEEN SN 63 Jer Pr E 64 hos RunLoadedlop 2 eet nete tt rre rette en cree e Ye gn Ere EEEE eee ENERO er ETHER enn 65 hostet Event Handler 1 2 etr etn eate Ree er eet e e Ee a Ye te ERR e eo eae RS 66 h stSetHotswapLTandlgt 2 eno terere reae REECE eee EE RR be YE eL URN Eua e ERN Er ge rede eva orent 67 lipstsetPeripheralDatalTandles ii ese rt er e rrr EE be einni biete ina beta Chee PEE EE SUE 68 plconfigServidb inni ires ee EUR ins EEHERE A PUTES RES UTER RESERVE RE e ER o SEHE ER EE SER need 69 upCantieserqibeGlobal iere ree tete rre niv eek Yee PE eL ERR esse eo ESENE EAEE ROEE etae PUR 72 wig ONTECEPKCRECY C evs 75 uptonnedb C Seni ioo eter e eerte OE E eiu
7. UP_CODEC_CONFIG_ST tCodecConfig UP_ECHO_CONFIG_ST tEchoCancConfig UP_AGC_CONFIG_ST tAGCConfig UP DTMF CONFIG ST tDTMFConfig UP CPT CONFIG ST tCPTConfig Appendix A Standard Host functions upConfigService UP_MF_CONFIG_ST tMFConfig UP_TONEGEN_CONFIG_ST tToneGenConfig UP RTP SEND CONFIG S tRtpSendConfig UP RTP RECV CONFIG S tRtpRecvConfig UP T38 CONFIG S tT38Config UP TI1EIALARM CONFIG ST tT1E1AlarmConfig UP CAS CONFIG ST tCasConfig UP PACKET BUILDER CONFIG ST tPBConfig UP PACKE PARSER CONFIG ST tPPConfig UP IOPINITCONFIG ST tlIopInitData UP CONFIG SVC UT Return values UP SUCCESS Successful completion If the function cannot return an error in real time for example the function sends a message to another processor to implement a configuration change the function returns this value indicating that the message was sent properly The processor implementing the function returns one of these values UP EVI CONFIG ACK Occurs in response to this function if the service is configured UP EVI CONFIG ERROR Occurs if the function fails for instance if the specified service is not configured UP FAILURE General failure 71 TASK 6000 software reference guide upConfigServiceGlobal 72 Configures a specified service based on service type for all channels Y For descriptions of available services
8. ie 189 Scd i ES ES e tul RR A 190 setT i ChannelConBig iussis eco tte HE rr a ERE FRENTE UNE HER TURNER THERE ERE EA E EE ea ES 191 set ET Configure eese perennes LI Ee ERE EO Pe YE ERE Na ERU E e Prae RR Re ES EEE EE HEPENE F R bel Yee YE eo as d Eco auno 192 MOI US igen aati IE 193 get T T51gnalilgt i cuceceee cse serrer epe bee RNEER EEE EEEE e ERE S ER ENE 194 Gt Hier M 195 gecT 151gnaliBg RW eee tee tte Ene ERR EE NEN VE ERE ET EY N ERE EAE Ea ERE SEN EEE E See E Esa ae ERE NEEE 196 getE Signale 1nd rede e FEE a Ree 3 PEE Ya d vest Eee REPE Pe ER EEFENER MR RE EYN F IE XY RE aya Rr ERE re REN tens 197 secTisieunalngrIandlers o eo atn o oet ear Par Ratte sedi re ER 198 pep A ET el ate oet ess counses ued aaycestenuaeeantccadetessqcecsdessteatatesscuctaceexsauevesecdseatese cated 199 setE Signaling Handler ics cccscivescccesavsecccosessenccstsassencdacasacsscccssaacscevesdeccecsenioosiedessdevidcenadeveccesadnends 200 Muri M 201 t TTEI framer Id 1 aee ette tette reae te eae ti HEY TERRE EDI EXE agise FERE H ER e EE n ee ER Se EE eR se 203 CWE erred ey 06 PER 204 GUE Jd Stabe en irm d eee erre dea eee eoe EROR e 3E E A abana Fee abe ru 205 i LIET user sienaling 1 Oe ee apetito RE IBI Re iis 206 t TIEM BOasdi SUME nc E S A ee erit eei rere yesto pu eet ee HU ERR EE EUE
9. typedef struct RSYS UINT32 ulTimeStamp UP ETHERNET ALARM ET eEthernetState UP ETHERNE ALARM DATA ST UP EVT ETHERNET ALAR enumEthernetUp enumEthernetDown Appendix F Service descriptions Alarming stT1E1Alarm stT1El Alarm Config data Events Notifies the user of an alarm signaled by a T1 or E1 framer and allows control of the LEDs associated with each span The user application must cause the LEDs to reflect the alarm status of the span UP TIETALARM CONFIG ST typedef enum enumLedsOff 0x05 both LEDs are off enumLedsNormal 0x07 one LED is off other is green enumLedsYellowAlarm 0x04 one LED is off other is yellow numLedsRedAlarm 0x01 one LED is off other is red enumLedsLoopback 0x0f both LEDs are green numLedsLineFault 0x00 one LED is red other is yellow Other possible combinations numLedsGrYellow 0x0c one LED is green other is yellow numLedsRedGr 0x03 one LED is red other is green enumLedsOffGr 0x0d one LED is off other is green UP T1El1 LED STATE ET typedef enum enumSendNothing 0 enumSendAIS enumSendYellowAlm enumSendLoopUp enumSendLoopDown UP TIEl SEND CMD ET typedef struct UP_T1E1_LED_STATE_ETtLedState UP E1 SEND C
10. UP SUCCESS IP address of Router IP address of Destination 6000 32 1Unit 1lChannel lt lt 1 RTP Port DSP Channel Fast Pkt Send Structure TopLogEvent IOP_EVENT_LOG_TYPE_APP_HIGH lUnit lChannel 0 CrFastPktOut ConPktSend Bad IopLogEvent IOP EVENT LOG TYPE APP HIGH lUnit lChannel 0 CrFastPktOut ConPktSend Good Enabling the receive direction on the channel Setup path from DSP to T1 t8100SwitchCfg number of connections 1 t8100SwitchCfg connections path path 0 connect src resource T8100 DSP path 0 connect src mode T8100 CONNECT CONST DELAY path 0 connect src ctbus connect num 0 path 0 connect src port DSP Port lUnit path 0 connect src timeslot lChannel path 0 connect dest resource T8100 T1 path 0 connect src mode T8100 CONNECT CONST DELAY path 0 connect dest ctbus connect num 0 path 0 connect dest port T1 Port lUnit path 0 connect dest timeslot lChannel iopControlPe ripheral TASK T8100 CONFIG T8100 SWITCHING t configArg amp t8100SwitchCfg epinb aduasajas 94D 3JOs omn Initializing the RTP decoder Setup RTP Decoder Servic Sy Configure Service if upConfigService lUnit lChannel stRtpDecode amp utConfigSvc IopLogEvent IOP EVENT LOG TYPE APP HIGH return UP FAILURE else T
11. UP PACKET BUILDER CONFIG ST typedef struct RSYS_UINT32 ulDestAddress RSYS_UINT32 ulDestPort RSYS_UINT32 ulSrcAddress RSYS_UINT32 ulSrcPort RSYS UINT32 ulRouterEtherAddr 2 RSYS UINT32 ulDestEtherAddr 2 RSYS UINT32 ulServiceType UP PACKET BUILDER CONFIG ST Elements ulDestAddress The destination IP address ulDestPortlhe destination UDP port ulSrcAddress The source IP address ulSrcPort The source UDP port ulRouterEtherAddr The router Ethernet address ulDestEtherAddr The destination Ethernet address ulServiceType A bit that indicates priority delay thruput and reliability This structure is internally used by UPA on the IOP to configure the stPacketBuilder on a particular DSP channel This structure is not directly accessed by the user but is populated with the contents of a UP PKT SEND CONFIG ST passed as an argument to the upConnectPktSend function There are no events associated with this service Appendix F Service descriptions Internal stPacketParser stPacketParser Config data Events Takes an IP UDP packet from the Etnernet pbsP FIFO checksums headers and data as appropriate strips headers and passes the payload to the next module usually stRtpDecode or stT38 in TASK2 This is an embedded service controlled by the upConnectPktRecv function Generally user applications should not directly access this service UP PACKET PARSER CONFIG ST
12. t_T1E1_BoardConfig Elements init_passed Determines whether to send AIS You can select one of these TRUE Initialization was successful FALSE The board was not intialized card_type Identifies the type of card installed For more information see t_T1E1_card_type on page 204 number_of_ports The number of T1 or E1 ports on the board 207 TASK 6000 software reference guide t TI line coding 208 Specifies the line coding for a framer port Syntax typedef enum AMI B8ZS t T1 line coding Elements AMI AMI alternate mark inversion line coding B8ZS B8ZS binary 8 zeros substitution line coding Appendix D T1 E1 library Structures t_T1_framing_mode t TI framing mode Specifies the line framing for a framer port Syntax typedef enum D4_SF ESF t_Tl_framing_mode Elements D4_SF D4 super frame ESF Extended super frame 209 TASK 6000 software reference guide t TI line buildout 210 Specifies the line buildout for a framer port Syntax typedef enum DSX1 0 to 133 ft DSX1 133 to 266 ft DSX1 266 to 399 ft DSX1 399 to 533 ft DSX1 533 to 655 ft CSU minus7p5 db CSU minusi5 db CSU minus22p5 db jt T1 line build out Elements DSX1 Sets line buildout to short haul mode CSU Sets line buildout to long haul mode Appendix D T1 E1 library Structures t Tl user config struct t TI user config struct Specifies the complete
13. 180 Table D 1 T1 E1 functions Type Function Description Status monitoring Polls the status of the framer and of each T T E1 span This status includes alarm conditions loop code receipt and robbed bit signaling These functions can also be used to collect status following the receipt of an interrupt event getT 1 Signaling Reads the values of the received robbed bit signaling bits on the specified T1 port getT 1 Status Reads the current receive and transmit status of a specified T port getT 1 SignalingRaw Reads the values of the received robbed bit signaling bits on the specified T1 port getE I Signaling Reads the values of the received CAS channel associated signaling bits on the specified El port Interrupt event controls Turns on and off alarm and signaling interrupt generation and allow the user to specify handlers callback functions to be called when the event occurs setT SignalingHandler Specifies the event handler to call after detecting a change in receive T1 signaling state setT 1 StatusHandler Specifies the event handler to call after detecting a change in receive line state setE 1 SignalingHandler Specifies the event handler to call after detecting a change in receive E1 signaling state Function prototypes and type definitions for the driver interface are contained in the following header files e iop to t1 h e iop to el h e jiop to tlel h e tlel common
14. About TASK 6000 You can find out more about TASK from these sources Release notes relnotes txt Lists features and issues that arose too late to include in other documentation World Wide Web RadiSys maintains an active site on the World Wide Web The site contains current information about the company and locations of sales offices new and existing products contacts for sales service and technical support information You can also send e mail to RadiSys using the web site v When sending e mail for technical support please include information about both the hardware and software plus a detailed description of the problem including how to reproduce it To access the RadiSys web site enter this URL in your web browser http www radisys com Requests for sales service and technical support information receive prompt response Other If you purchased your RadiSys product from a third party vendor you can contact that vendor for service and support Before you begin About related RadiSys products TASK software algorithms The RadiSys TASK software algorithms extend the functionality of your TASK software providing the tools you need for DSP programming TASK software algorithms include Algorithm Description AGC VOX software for Performs level estimation normalization of PCM TMS320C620x samples with respect to the user specified reference level and voice activity detection which are part of the
15. Table A 1 Host functions Function Description Standard functions hostControlPeripheral Configures and controls peripherals on SPIRIT boards hostExit Inform TASK of user application exit hostGetBoardlnfo Obtains information on a specific board hostGetSystemlInfo Obtains information about all boards in the system hostlnit Initializes the driver hostLoadDsp Loads C x application into C x memory hostLoadlop Loads and runs an IOP application hostResetBoard Resets the SPIRIT board hostResetDsp Reset and initialize a DSP hostRunDsp Runs C6x program hostRunLoadedlop Run all loaded IOPs hostSetEventHandler Register a handler for IOP DSP events hostSetHotSwapHandler Set user handler for Hot Swap events hostSetPeripheralDataHandler User handler for peripheral data callback Control API upEnableChannel Enables transmit and receive paths the specified channel upEnableService Enables a specified service based on the service type for a specific channel and also implicitly enables a service when it is configured upDisableService Disables a specified service based on service type for a specific channel upConfigService Configures a specified service based on service type for a specific channel upConfigServiceGlobal Configures a specified service based on service type for all channels upSet
16. void setTi1ClearChannels IN const t T1 user clear channel data clear channels struct Parameters clear channels struct A pointer to the t T1 user clear channel data structure For more information about this structure see 7 T1 user clear channel data on page 216 Outputs Return values SUCCESS Successful completion FAILURE Unsuccessful completion 189 TASK 6000 software reference guide setT 1 IdleChannels 190 Specifies which timeslots DSOs on the specified T1 port transmit the idle code and which transmit data normally By default channels are assigned as non idle The function also specifies the 8 bit idle code V Idle code data overwrites robbed bit signaling bits Syntax void setTlIdleChannels IN const t T1 user idle struct idle channels struct Parameters idle channels struct A pointer to the t T1 user idle struct structure For more information about this structure see T1 user idle struct on page 217 Outputs Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix D T1 E1 library Functions setT 1 ChannelConfig setT 1 ChannelConfig Configures individual timeslots DSOs on the specified T1 port You can specify these parameters e Insertion removal of idle code e Clear channel mode e ABCD robbed bits supervision Syntax void setT1ChannelConfig IN const t_Tl_user_channel_config channel_config Parame
17. 5 5th combination 480 620 Reorder tone enumCptRing 6 6th combination 440 480 Audible ring tone enumCptSpecialRing 7 7th comb 440 480Hz Special Audible ring tone enumCptCallWaiting 8 1st single 440Hz Call Waiting tone enumCptBusyVerify 9 2nd single 440Hz Busy Verification tone enumCptExecOverride 10 3rd single 440Hz Executive Override tone enumCptIntercept440 11 4th single tone 440Hz Intercept tone enumCptIntercept620 12 5th single tone 620Hz Intercept tone enumCptOffHook1040 13 6th single tone 1400Hz Off Hook enumCptOffHook2060 14 7 2060Hz Off Hook enumCptOffHook2450 15 8 9 S 5 th single tone th single tone 2450Hz Off Hook th single tone 2600Hz Off Hook i i enumCptOffHook2600 16 enumCptFaxTx 17 10th ngle tone 1100Hz fax TX tone enumCptFaxRx 18 11th single tone 2100Hz fax rx tone enumCptDataModem 19 12th single tone 2100Hz data modem tone enumCptLineTest 20 13th single tone 1004Hz line test tone enumCptss7 21 14th single tone 2010Hz SS7 tone j UP CPM TONES ET Appendix F Service descriptions Tone detection stCPTDet typedef struct RSYS_UINT32 ulTimeStamp UP_CPM_TONES_ET eTone UP CPT DETECTED DATA ST ulTimeStamp Contains the RTP timestamp when the tone was detected This denotes when
18. Tl port El definitions t El line coding Enumerate the line coding for a framer port t EI signaling mode Enumerates the signaling mode for a framer port t EI line buildout Enumerates the line buildout for a framer port 201 TASK 6000 software reference guide Table D 3 E1 T1 structures Type Call Description Specifies the complete configuration for a t El user config struct framer port t EI user signaling data Reads and writes signaling data 202 Appendix D T1 E1 library Structures t_T1E1_framer_id t TIEI framer id Specifies a framer port for functions which can operate on any port Syntax typedef enum framer 1 0 framer_2 framer_3 framer_4 3 t TIEl1 framer id mmn N Elements framer 1 The first port on the framer framer 2 The second port on the framer framer 3 The third port on the framer framer 4 The fourth port on the framer 203 TASK 6000 software reference guide t TIEI card type 204 Identifies the type of card installed Syntax typedef enum El T1 t_T1El_card_type Elements E1 The E1 card T1 The T1 card Appendix D T1 E1 library Structures t_T1E1_led_state t TIE led state Controls the LEDs for each port span Each port has two associated LEDs Each LED is bi colored with one LED either yellow or green and the other either red or green Syntax typedef enum leds_off leds_no
19. utConfigSvc tRtpSendConfig ulPaddingLen 0 utConfigSvc tRtpSendConfig ulPayloadInterval 10 utConfigSvc tRtpSendConfig ulTimeElapsedForEachFrame 80 utConfigSvc tRtpSendConfig ulInitConfig 0 Configure Service if upConfigService lUnit DSP Unit lChannel Channel stRtpEncode RTP Encoder Service Type Enumeration amp utConfigSvc UP SUCCESS Codec Configuration Settings TopLogEvent IOP EVENT LOG TYPE APP HIGH lUnit lChannel stRtpEncode CrFastPktOut ConfigSvc Bad return UP FAILURE else IopLogEvent IOP EVENT LOG TYPE APP HIGH lUnit lChannel stRtpEncode CrFastPktOut ConfigSvc Good Creating data paths Creating a data path between an outgoing RTP channel running on a DSP and the IOP driver s network packet routing component ulRouterAddr gulSrcAddress 1 toggle least significant bit IopLogEvent IOP EVENT LOG TYPE APP HIGH ulRouterAddr 0 0 ulRouterAddr stPktSendConfig ulInterface 0 Interface 0 fei0 suonpoi ddp go pup j1sop Buidojo4agq y 40 dDy vv stPktSendConfig ulRouterAddress stPktSendConfig ulDestAddress ulRouterAddr ulRouterAddr stPktSendConfig ulDestPort Configure Packet Builder Service if upConnectPktSend lUnit lChannel amp stPktSendConfig return UP FAILURE else Transmit direction is initialized
20. 147 Driver internals data structures and reSOUICEs 1 teorie estare nea inea EENE eee ek Cea e aeneis 147 EE SEPLODUDES Lees eee eroe ente eme eoe poe pee e SERE ES ES ESTE E ee eu ed ex tes esu eua o even YE NR E E NY Ee Re ke EY eub Fee reb xe esds 148 Processing modes uid i tinere teintes rrika EE e ee Ee ER a RE ad ee Eee DE E TENE ETNEN Ee ee Ree EEN ae 148 Processing packet transmission and reception i eee eene eiae reed eere eei eo eee a sad 149 Sample HDLC driver Sequence eee n etre re eroe ree a Eee eere Eee ea EHE EREE R ERR ENR SERERE 150 hte dfe OR ECTETUR 151 lj sd PME PHR R RR R 153 IUEN eco tear tene cs e e ier ec e c N 153 HOLCRESC T seeskaaets tess 154 PAT ET BI M P 155 SIB EG S duo R 156 FIDL Neri Tu E 157 HDLGConhBsChan el iioii tete Ernesti rete deu eer ede ure eese eU ETSE naisha 158 HDLCEnableChannel REER 159 HDUCDisableChanmel 22 c ette een noe nn cote t ec uen eae eh eaaet Ro teta ee ne reete n eco 160 HDLECResetChannel 2 itii etesee kun u tese coran nee aee ran rae errato ease eate ba see E Yao DE E aSa 161 VS DBO oer Ya Ae E ee euntis eA Se ep ere er 162 HDLC Oe ac ken P 163 ISI ERE IPIE L 164 TAT CG tC bannel ratis
21. CONFIG ERR Configuration error UP INVALID ARG Invalid argument Appendix B Standard IOP functions upEnableChannel Comments 1TxEnable and 1RxEnable may be used to separately control the transmit and receive path processing for a channel e g a channel which generates tones may not need any receive path processing However while this reduces the DSP processing time associated with transmit or receive algorithms it does not eliminate the overhead of loading the algorithm into DSP memory Only when 17xEnab1e and iRxEnable are both false is the channel entirely disabled which removes its overhead entirely 129 TASK 6000 software reference guide upEnableService 130 Enables a specified service based on service type for the specified channel upConfigService also implicitly enables a service when it is configured v Enabling the stCodec service disables the st dmToneGen and stPktToneGen services For descriptions of available services see Appendix F Service descriptions Syntax UP ERROR ET upEnableService RSYS INT32 lUnit RSYS INT32 IChannel UP SERVICE ET eService Parameters lUnit lChannel eService Specifies e For most services the DSP unit number e For IOP based services such as stCAS or stT1E1Alarm the framer unit number Specifies e For most services the virtual channel number e For IOP based services such as stCAS the time
22. FAILURE Returns an error if the driver does not have sufficient memory to queue the message or if an invalid channel or port is specified Appendix C HDLC driver library Functions HDLCGetPacket HDLCGetPacket Gets an HDLC packet from the driver The user was notified of the packet arrival by specifying a handler for received packets via HDLCSetRxPacketHandler You can also use this function to poll for receipt of packet in which case the function returns a HDLC NO RX DATA indication if no packet is available The function does not wait for a packet but instead returns immediately when no packet is available This function returns only valid packets that is packets received without any errors such as CRC Syntax UINT32 HDLCGetPacket IN const UINT32 port IN const UINT32 channel IN const UINT8 data ptr OUT UINT32 length Parameters port The HDLC controller port channel The HDLC channel data_ptr A pointer to the buffer from which to receive data length The number of bytes in the buffer Return values SUCCESS Successful completion FAILURE Unsuccessful completion 163 TASK 6000 software reference guide HDLCGetDeviceStatus Returns the status of the HDLC device and driver V This function is currently not implemented Syntax UINT32 HDCLGetDeviceStatus void status_ptr Parameters status_ptr No information available Return values SUCCESS Successful completion FAILURE Unsucc
23. Provides the tools required to write and debug TASK Host and IOP applications e TASK 6000 DSP development kit Provides the tools required to write and debug TASK DSP applications This software also includes the TASK 6000 development kit The installation program t6kinst exe installs the components needed for your TASK software Requirements Installing TASK software on your system requires e APC with a processor similar to or better than Pentium II 266 MHz e Aminimum 32 MB of DRAM e Aminimum 20 MB disk space e APC that runs Windows NT version 4 0 with Service Pack 5 Before you begin e Ensure that you are logged on with Administrator privileges e Exit all programs prior to installing TASK software e If your system already has TASK software installed you must uninstall it using one of these methods e If your system has TASK software version 2 x remove it when prompted during installation e If the system has an earlier version of TASK software follow the steps described in Uninstalling TASK software on page 17 After removing the software continue with the installation TASK 6000 software reference guide Running the install program To install TASK software Insert the TASK software CD ROM into the CD ROM drive Double click t6kinst exe from the Windows NT Explorer then select one of these 14 1 2 Read release notes Select this option to run Notepad and display relnotes txt the release notes
24. a Nt G Bin ue Include fies for Host E IncCommon aa a lop a CommonSre B Drivers zy Include Include Include files for JOP an VxWorks gevelpment iia Library fies for TOP Cg RunTimeLib apokcaton cg Tasklop Q Include Fig Upa Include EH Tomado2 G L target H config i Cal Tomado avectory EC sp amp k 2 saveobj H ste Figure 4 1 Location of files required to compile the application 33 TASK 6000 software reference guide Naming conventions The directory under which TASK6000 and Tornado2 directories are installed is referred to as InstallDir in the following sections The directory under which tornado was installed i e the directory under which the Tornado2 directory was installed by the original Tornado installation CD is referred to as TornadoDir Host application development The host example application is available under InstallDir TASK6000 Examples Upa UpaHostApp The Microsoft Visual C project file contains the configurations required for making the build Please make sure that you use similar configurations in the host application developed The include file directories are marked in the figure The following library files are available for Host application development Taskhost dll hsmgrint dll InstallDir TASK6000 Host Nt Bin Taskhost lib used to compile the application InstallDir TASK6000 Host Nt lib The VxWorks image to be used with the host application is avail
25. acceptable to modern digital PBXs and digital transmission systems It then converts 285 TASK 6000 software reference guide COFF CPT CPU COM Port CSMA CD CSU CT bus Default Driver DRAM DSP DSX DSX 1 286 those digital signals back to analog so that you can hear and understand what the other person is saying Common Object File Format Call Progress Tones Call Progress is a tonal signaling standard used to acquire connections between subscribers in telephone network systems Call Progress Tones indicate a call s status CPT signals consist of single frequency and dual frequency combinations of sinusoidal signals with specific ON OFF patterns Central Processing Unit A semiconductor device which performs the processing of data in a computer The CPU also referred to as the microprocessor consists of an arithmetic logic unit to perform the data processing and a control unit which provides timing and control signals necessary to execute instructions in a program A bi directional serial communication port which implements the RS 232 specification Carrier Sense Multiple Access with Collision Detect A method whereby workstations on a network listen for transmission in progress carrier sense before starting to transmit multiple access If two or more workstations transmit at the same time each workstation stops transmitting collision detection for a different amount of time before t
26. connect dest port 5 connections i connect dest timeslot i incrementing connections i connect dest ctbus connect num 0 fixed hostControlPeripheral ulopNum TASK T8100 CONFIG T8100 SWITCHING amp configStruct The ctbus connect numfor each of the broadcast members must be the same However this number must be different from the ctbus connect num of any other active connections 4 Either the source or destination or both of the connection is the CT BUS 233 TASK 6000 software reference guide 5 This number represents the maximum number of CT BUS related connections assuming that the source and destination of the connection are not both either even numbered CT BUS streams or odd number CT BUS streams If all CT BUS connections were to connect even streams to even streams or odd streams to odd streams the number of connections would be reduced in half Sample startup sequence 234 void initT8100 void Initialize the T8100 card and driver Not required if iopInit is being called int setT8100Handler void UserT8100Handler int status Set a callback function for errors state changes void setT8100ClockConfig IN const t_T8100ClockConfig T8100ClockConfig Set the configuration of the T8100 reference and bus clocks void set r8100StreamConfig IN const t T8100StreamConfig T8100StreamConfig Set the rates for the on board and CT Bus streams void setT8100SwitchConfig IN const
27. gt DSP FIFO checksums headers and data as appropriate strips headers and passes the payload to the next module usually stRtpDecode or stT38 in TASK2 stEthernetAlarm Detects Ethernet Link status changes and generates UP EVT ETHERNET ALARM events which notify a user application of the change stQDSOHdlc Concatenates four sub rate HDLC channels into a full DSO For detailed information about TASK services see Appendix F Service descriptions Return values UP SUCCESS Successful completion 80 Appendix A Standard Host functions upDisableService If the function cannot return an error in real time for example the function sends a message to another processor to implement a configuration change the function returns this value indicating that the message was sent properly The processor implementing the function returns one of these values UP_EVT_CONFIG_ACK Occurs in response to this function if the service is disabled UP_EVT_CONFIG_ERROR Occurs if the function fails for instance if the specified service remains enabled UP_FAILURE General failure 81 TASK 6000 software reference guide upDisconnectPktRecv 82 Stops the forwarding of packets from an IP socket to a DSP channel and de allocates all associated IOP and DSP resources Syntax UP_ERROR_ET upDisconnectPktRecv RSYS INT32 1Slot RSYS INT32 IUnit RSYS INT32 IChannel Parameters 1Slot The resource card uni
28. indicating that the message was sent properly The processor implementing the function returns one of these values 73 TASK 6000 software reference guide UP_EVT_CONFIG_ACK Occurs in response to this function if the service is configured UP_EVT_CONFIG_ERROR Occurs if the function fails for instance if the specified service is not configured UP_FAILURE General failure 74 Appendix A Standard Host functions upConnectPktRecv upConnectPktRecv Creates a data path from a UDP receive port to an RTP or T 38 decoder that runs on the specified DSP channel As each packet is received it is DMA d to a FIFO in the DSP specified by 1unit During the DSP s inter frame time the packets in the FIFO are sorted by channel and their payloads passed either to the RTP Receive Jitter Buffer service or to the appropriate T 38 FIFO Syntax UP_ERROR_ET upConnectPktRecv RSYS_INT32 I1Slot RSYS INT32 IUnit RSYS INT32 IChannel UP PKT RECV CONFIG ST pstPktRecvConfig Parameters 1Slot The resource card unit number lunit The DSP unit number 1Channel The DSP virtual channel number pstPktRecvConfig A pointer to the UP_PKT_RECV_CONFIG ST structure UP PKT RECV CONFIG ST structure typedef struct RSYS_UINT32 ulReceivePort RSYS_UINT32 ulInterface UP PKT RECV CONFIG ST ulReceivePort The 16 bit port number of the socket which receives the packets You can use one of the
29. lChannel t Channel RUE Tx RUE UP Enabled SUCCESS Rx Enabled IopLogEvent IOP_EVENT_LOG else t configArg amp t8100SwitchCfg TYPE APP HIGH lUnit lChannel 0 CrFastPktOut EnableChannel Bad IopLogEvent IOP EVENT LOG TYPE APP HIGH lUnit lChannel 0 CrFastPktOut EnableChannel Good suonpoiddp go pup soH Buidojaaag y 40 dDy 5 Configuring services Configuring DSP services for outbound direction toward the IP cloud Setup G711 Service Parameters utConfigSvc tCodecConfig eCodec ctG711 Set Codec to G711 utConfigSvc tCodecConfig eCodecParams tG711Param eBfmEnable FALSE BFM OFF utConfigSvc tCodecConfig eCodecParams tG711Param eLaw enumMULAW U Law utConfigSvc tCodecConfig eCodecParams tG711Param eVadEnable FALSE VAD OFF utConfigSvc tCodecConfig eCodecParams tG7llParam lVadLowSigThreshold 50 Configure Service if upConfigService lUnit DSP Unit 4 lChannel Channel stCodec CODEC Service Type Enumeration amp utConfigSvc UP SUCCESS Codec Configuration Settings TopLogEvent IOP EVENT LOG TYPE APP HIGH lUnit lChannel stCodec return UP FAILURE else TopLogEvent IOP EVENT LOG TYPE APP HIGH lUnit lChannel stCodec Setup Echo Cance
30. one word e Packet length one word e One or more words of packet data For details about the packet buffer contents see iopSendN WPktBuf on page 143 Syntax int iopGetNWPktBuf IN long dspNum IN long pBuf Parameters dspNum The DSP number pBuf A pointer to the buffer that receives network packets Return values SUCCESS Successful completion FAILURE Unsuccessful completion 141 TASK 6000 software reference guide iopJitterControl Updates the IP network buffer control parameters Syntax int iopJitterControl IN long dspNum IN long ChniNum IN t jitterParam pJitter Parameters dspNum The DSP number ChnlNum The channel number pJitter A pointer to the structure that contains jitter parameters t_jitterParam structure typedef struct long nJitterBuf t_jitterParam nJitterBuf The number of jitter buffers between Host and IOP DSP Return values SUCCESS Successful completion FAILURE Unsuccessful completion 142 Appendix B Advanced IOP functions iopSendNWPktBuf iopSendNWPktBuf Sends network packets to the DSP The packets are organized in the buffer as follows A Total length excluding length word L 32 bit words Channel number x Channel data length excluding length word dl x dl x 32 bit words 9 ta Channel x data L Channel number y Channel data length excluding length word dl yl dl
31. stPacketBullder ostio e tet E mede eee te te ee ie cete tees 282 SEPacketPO Sel pe tnabeedesecidnaipce Mave tob see ed eode enar ze deae lee tr een 283 259 TASK 6000 software reference guide Codec stCodec Config data 260 Converts voice fax or modem data between TDM and a packetized form In the voice case it takes a frame often 10ms of TDM audio data compresses it according to one of the voice codecs such as G 711 G 723 G 729 etc and outputs the compressed result In the reverse direction it takes a compressed packet corresponding to an audio frame and decompresses it into the full data frame for playout viaa TDM channel In addition to the standard compression decompression functions some codecs also support Voice Activity Detection and Comfort Noise Generation which allows suppression of packetized data during periods of silence V upEnableService and upConfigService disables the stTdmToneGen service if it is currently running on the same channel UP CODEC CONFIG ST typedef struct UP_CODEC_ET eCodec UP_CODEC_PARAM_UT tCodecParams UP_CODEC_CONFIG_ST eCodec The codec to enable and configure tCodecParams The parameters for this codec may be NULL for codecs which are not configured UP_CODEC_ET typedef enum ctG729A 1 ctG723 tG711Mu tG711A tG726_32 tG3Fax tV90 tNoCoder disabl tG729 ctGs UP CODEC ET codec used internally Q
32. t HDLC port config t HDLC port config Specifies a port s configuration Syntax typedef struct UINT UINT UINT UINT bool bool bool UIN CO OO CO tx channel assignment HDLC MAX TIMESLOTS PER PORT tx enabled bits HDLC MAX TIMESLOTS PER PORT rx channel assignment HDLC MAX TIMESLOTS PER PORT rx enabled bits HDLC MAX TIMESLOTS PER PORT update channel assignments enable port loopback nable frame length check 32 max frame length t HDLC port config Parameters tx channel assignment tx enabled bits Specifies the timeslot to data channel mapping for the port The element indices correspond with timeslot numbers These fields are an array of length 32 x channe1 assignment specifies the data channel to which a timeslot belongs while x enab1ed bits is a bitmask that determines which bits in a timeslot are enabled Examples tx channel assignment 5 7 Indicates that timeslot 5 belongs to data channel 7 tx channel assignment 5 7 tx enabled bits 5 OxFF Indicates that all 8 bits in timeslot 5 belong to data channel 7 forming a 64Kbps data channel tx channel assignment 5 7 tx enabled bits 5 0x03 Indicates that the first 2 bits of timeslot 5 belong to data channel 7 thus forming a 16Kbps channel rx channel assignment rx enabled bits Specifies the timeslot to data channel mapping for the po
33. 17 Uninstalling Hot SWap itte rettet rere RUE ERE EE Fore EE E E tae RE eee Ee EH REPE HDR 18 Mantal ams ball ticos 30r RE 19 BUR XU UNE me Ore teh E E EAE OEE E aE oe ee oe ee eee ee renee peer 20 UGE p INTENTIONIS 20 Runtime Kit P 21 Dovelopment RE isis e c nebst beeen kay PR Pe aya ERE REN XY FERE Ra gu REED Pe RR EE RM Raga ERR Pega FREE PER REN EN RR XV a Fa 23 DSP development kit ieri ettet eere tenenti cea e e eo aet the pr Eat eei E eo Ee RE ERE e Poe EEEa 26 Chapter 4 Developing Host and IOP applications Developing the Host application IopAppLoader c eese eere enne nennen enne nne 30 Initialize the Host d lVer ioo eran ener ee re FREE EE EE ETE RE CERE RE EYE Eo Ea iinnat 30 Set tip message handlers o eiue im eee e davon costs CH CER Ce NNE EKSENE REENE HE Le e ERE Ra 30 Initialize UPA sEFOGUBES vise iccdecctschedacceeteaeevessceeleceesssatacuctevegauedepveceededenuevecdveecsdaueiedesoeucecssoeneex 30 vii TASK 6000 software reference guide Load and rum applications i restet tetra nne ere th e eek rari eei Re EIS ERR e ER e EE RS eR HE TE ege 30 Developing the TOP application UpalopAppie i eerte eerie ett eth eterne eere doe e esee uitiis 31 Initialize the JOP drives iiec tte reete eruere aee eee eek eae ee rk a aii 31 Ser unanessape HAMELS iiu secet teer teer rit ena e ree Ee ESPERE EENE ER bel Yee reas d eno auae s 31 Configure Services 2 5 erret trn teta eene E
34. C4JC164 C16 O2 You can select one of these TRUE FALSE fallback enable Compatibility clocks and frame strobes go onto the H 100 110 bus Compatibility clocks and frame strobes do not go onto the H 100 110 bus Determines whether to engage the T8100 s fallback switch mode You can select one of these 1 Enables the fallback mode The T8100 will fallback switch to the reference clock specified in fallback_clk_select when an error is detected on the primary reference clock specified in reference c1k select Select this option if E1 or T1 option card is installed Disables the fallback mode Only SCLK SCLKx2 and FR_COMP are defined for use in H 110 systems 251 TASK 6000 software reference guide t_stream_rate Selects the CT BUS rate Syntax typedef enum TWO_MHZ 0 FOUR_MHZ 1 EIGHT_MHZ 2 DISABLE GROUP 3 t stream rate 252 Appendix E T8100 library Structures t T8100StreamConfig t T8100StreamConfig Used by the setT8100StreamConfig function to control the stream rates of the T8100 On board local stream rates are controlled in groups e BSP 0 DSP Buffered Serial Port BSP 0 group e BSP 1 DSP Buffered Serial Port BSP 1 group e E1 T1 SPIRIT board s option card site group For the H 100 110 bus each group is a set of four consecutive H 100 110 streams The streams rates correspond to 32 64 and 128 timeslots respectively Syntax typedef struct t strea
35. Eee reete see Een er HERE an ERE EEE EEEE ensued 39 Inabziap the TOP dwe 1i eite eorr er ee rk Ee Ere EXER ae IEEE ERR IRE 39 Callie 16 DRA e 39 eS dT T URS CE TIER cance vce DU DLE EID DLP 39 Configuring on board peripherals 2 rte rettet etn etae enne eani aii 40 Setting up message handler sursis rierren rini e NE aE EEEE EEEE ENERE EEEN EEEE 41 Installing event handlers callback functions erret rentrer 41 Connecting the TOM to GPS ceocec eee eve eren tive erbe ere edv es cree iret e AEE oe eee o epu E E a EUREN 41 Enabling bi directional voice data flow to and from the DSP esses 41 Coptipurite SERVICES ier ODIO OI epe t NO RE ERES 42 Configuring DSP services for outbound direction toward the IP cloud 42 Creatina dat QOIS eo sit EA tiem tee E na rer sd ee 43 Creating a data path between an outgoing RTP channel running on a DSP and the IOP driver s nenwork packet routing compone i oce sterne ire tree trie preter rre ES Ee NEEESE REE EEEak bg 43 Enabling the receive direction om the channel eese teeth eere eto erro ste anat 44 Iuicalisine the RIP decoders nene ROREM HD ERREICHEN 45 Creating a data path between an inbound RTP channel running on a DSP and the IOP driver s network packet routing Component nette eterne ener ee ied cshacasadacssanveceessansscecaanenss 45 Appendix A Host functions Jal P
36. SOFT RESET Resets only the driver In the current driver implementation both reset types result in a hard reset Return values SUCCESS Successful completion FAILURE Unsuccessful completion 154 Appendix C HDLC driver library Functions HDLCCloseDriver HDLCCloseDriver Shuts down the HDLC controller and device driver Call this function prior to exiting the user application to properly quiesce the device Syntax UINT32 HDLCCloseDriver void Parameters None Return values SUCCESS Successful completion FAILURE Unsuccessful completion 155 TASK 6000 software reference guide HDLCClosePort 156 Shuts down an HDLC controller port If multiple ports are in use this function can shut down a port that generates excessive errors while keeping the remaining ports active This function is currently not implemented Syntax UINT32 HDLCClosePort IN const UINT port Parameters port The HDLC controller port Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix C HDLC driver library Functions HDLCConfigPort HDLCConfigPort Specifies the configuration of any HDLC controller port primarily mapping a port s timeslots to data channels Syntax UINT32 HDLCConfigPort IN const UINT32 port IN const t HDLC port config port config Parameters port The HDLC controller port port config For a detailed description of configuration options
37. Sets the signaling bit to 1 Do not set both this field and enab1e ciear channel to this value FALSE Sets the signaling bit to 0 219 TASK 6000 software reference guide t Tl user raw signaling struct 220 Reads the signaling bit supervision bit values for each channel on the specified T1 port Use in conjunction with the getT1SignalingRaw function Syntax typedef struct t TI1El1 framer idframer id ucharsignaling bits 12 t T1 user raw signaling struct Elements framer id Specifies which framer or port to read signaling bits An array of 12 bytes each of which contain the signaling bits for two DSOs Example The high order nibble of each byte contains the signaling bits for the lower numbered channel For example signaling bits 0 bit 7 DS0 0 A bit signaling bits 0 bit 6 DS0 0 B bit signaling bits 0 bit 5 DS0 0 C bit signaling bits 0 bit 4 DS0 0 D bit signaling bits 0 bit 3 DSO 1 A bit signaling bits 0 bit 2 DSO 1 B bit signaling bits 0 bit 1 DSO 1 C bit signaling bits 0 bit 0 DSO 1 D bit signaling bits 11 bit 7 DS0 22 A bit signaling bits 1 bit 6 DS0 22 B bit signaling bits 11 bit 5 DS0O 22 C bit signaling bits 11 bit 4 DS0O 22 D bit signaling bits 11 bit 3 DS0 23 A bit signaling bits 11 bit 2 DS0 23 B bit signaling bits 11 bit 1 DS0O 23 C bit signaling bits 11 bit 0 DSO 23 D bit Appendix D T1 E1 library
38. Structures T1StatusHandler T1StatusHandler A type definition for a function pointer that points to a user handler that will receive a t_T1_user_status_data structure pointer as a parameter Syntax typedef void T1StatusHandler t_Tl_user_status_data status_struct Elements status_struct Provides line status For more information see t_T1_user_status_struct on page 215 22 TASK 6000 software reference guide T1SignalingHandler A type definition for a function pointer that points to a user handler that will receive a t_T1_user_signaling_data structure pointer as a parameter Syntax typedef void T1SignalingHandler t Tl user signaling data signaling struct Elements signaling struct Reads and writes signaling data For more information see L T1 user signaling data t T1 signaling data on page 213 222 Appendix D T1 E1 library Structures t El line coding t El line coding Enumerate the line coding for a framer port Syntax typedef enum NON_HDB3 HDB3 t El line coding Elements NON HDB3 The framer uses non HDB3 line coding HDB3 The framer uses HDB3 line coding 223 TASK 6000 software reference guide t EI signaling mode 224 Enumerates the signaling mode for a framer port Syntax typedef enum CAS CCS t El signaling mode Elements CAS Channel Associated Signaling CCS Common Channel Signaling Appendix D T1 E1 library St
39. Syntax typedef struct t_T1E1_framer_idframer_id ulong state_word ulong change_word ulong timestamp t_Tl_user_status_data Elements framer_id Identifies the framer that changed state state_word A bit mask which indicates the current transmit commands and receive line status It indicates the current line state same as in the get case The bit definitions for this field are contained in iop_to_t1 h change_word A bit mask which indicates which bit or bits in state_word caused the event to occur timestamp A 1 uS granularity time value indicating when the state change took place 215 TASK 6000 software reference guide t TI user clear channel data 216 Indicates which channels are clear channels 64Kbps and which are not 56Kbps Syntax typedef struct t_T1E1l_framer_idframer_id ulong clear_channels t_Tl_user_clear_channel_data Elements framer_id Specifies the framer or port to configure clear_channels A bit mask with the 24 lower bits representing the 24 DSOs 1 in any bit configures that DSO for clear channel operation 0 in any bit configure that DSO for non clear channel Bit 0 is associated with the first DSO of the DS1 line while bit 23 is associated with the last DSO Appendix D T1 E library Structures t Tl user idle struct t TI user idle struct Transmits an idle code on a selected DSO Syntax typedef struct t TI1El1 framer idframe
40. T1 and E1 channel associated signaling CAS Inter processor communication TASK 6000 software communicates between processors in the system and in certain circumstances between threads on the same processor via messages The messages structures are defined in the API and functions exist to send and receive messages on the Host IOP and DSP e Messages Messages are generally of these types Commands The application sends commands to configure enable and disable services and to request status from them Commands are also used to configure and operate the peripheral devices on the IOP Events TASK software uses events an asynchronous message mechanism to prevent the application thread from blocking on API functions When an API function requires another system processor to do some of the processing the API function creates a message sends it to the other processor using TASK s messaging feature and immediately returns to the application thread The message is delivered to the destination processor Chapter 2 Understanding TASK 6000 software architecture IOP or DSP where it is interpreted and acted upon In response to some of these messages the destination processor communicates back to the application by means of an event Host 1 IOP Application Application 2 6 Message 5 handler A 3 4 Y Application DSP A
41. TASK 6000 software reference guide HDLCDisableChannel 160 Disables all status interrupts and data received from the specified channel Syntax UINT32 HDLCDisableChannel IN const UINT32 port IN const UINT32 channel Parameters port The HDLC controller port channel The HDLC channel Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix C HDLC driver library Functions HDLCResetChannel HDLCResetChannel Resets the specified channel A soft reset occurs on the channel and the channel is disabled Channel configuration resets and all allocated memory for that channel is deallocated within the driver Syntax UINT32 HDLCResetChannel IN const UINT32 port IN const UINT32 channel Parameters port The HDLC controller port channel The HDLC channel Return values SUCCESS Successful completion FAILURE Unsuccessful completion 161 TASK 6000 software reference guide HDLCSendPacket Sends an HDLC packet on the specified channel 162 Syntax UINT32 HDLCSendPacket IN IN IN IN const const const const Parameters The HDLC controller port port channel data_ptr length UIN UIN T8 data ptr T32 length UIN UIN 32 port 32 channel The HDLC channel A pointer to the data The number of bytes in the data The current maximum packet length is 512 bytes Return values SUCCESS Successful completion
42. TASK6000 Dsp UpaApp src G7 1 1 InstallDir TASK6000 Dsp UpaApp src G7 1 1 Zg711Enc c InstallDir TASK6000 Dsp UpaApp src G7 1 1 Zg71 1 Dec c InstallDir TASK6000 Dsp UpaApp src G7 1 1 Vadtbl dat InstallDir TASK6000 Dsp UpaApp src G7 1 INaw dat InstallDir TASK6000 Dsp UpaApp src G7 1 1 Bfmtab h InstallDir TASK6000 Dsp UpaApp src pkt InstallDir TASK6000 Dsp UpaApp src pkt Zpktrecv c InstallDir TASK6000 Dsp UpaApp src pkt Zpktsend c InstallDir TASK6000 Dsp UpaApp src Echo InstallDir TASK6000 Dsp UpaApp src Echo zecho c InstallDir TASK6000 Dsp UpaApp src Dtmt InstallDir TASK6000 Dsp UpaApp src Dtmf Ztonedet c Install Dir TASK6000 Dsp UpaApp src Dtmf tonetbl dat InstallDir TASK6000 Dsp UpaApp src Serial InstallDir TASK6000 Dsp UpaApp src Serial zserial c InstallDir TASK6000 Dsp UpaApp src Tonegen InstallDir TASK6000 Dsp UpaApp src Tonegen dB2lin h InstallDir TASK6000 Dsp UpaApp src Tonegen Tonegen dat InstallDir TASK6000 Dsp UpaApp src Tonegen Ztonegen c InstallDir TASK6000 Dsp UpaApp src UpaDspCtrl InstallDir TASK6000 Dsp UpaApp src UpaDspCtrl UpaDspCtrl c Configuration files InstallDir TASK6000 Dsp UpaApp config cfg InstallDir TASK6000 Dsp UpaApp Board cfg Composer InstallDir TASK6000 Host Nt Bin compose exe InstallDir is the directory in which RadiSys TASK software is installed 28 Developing Host and IOP applications This chapter describes how to write a simple Voice Over Internet Protocol VoIP application It explain
43. UpaApp Lib R 1 r2mf lib InstallDir TASK6000 Dsp UpaApp Lib PktFifo lib InstallDir TASK6000 Dsp UpaApp Lib G7 1 1 lib InstallDir TASK6000 Dsp UpaApp Lib Echocanc lib InstallDir TASK6000 Dsp UpaApp Lib Cpm lib InstallDir TASK6000 Dsp UpaApp Lib Tonegen lib InstallDir TASK6000 Dsp UpaApp Lib Bfm lib InstallDir TASK6000 Dsp UpaApp Lib Agcvox lib Chapter 3 Installing and configuring TASK 6000 software Type Files Sources InstallDir TASK6000 Dsp UpaApp src include VOXTypedef h InstallDir TASK6000 Dsp UpaApp src include Vadstr h InstallDir TASK6000 Dsp UpaApp src include UpaPacket h InstallDir TASK6000 Dsp UpaApp src include upadsp h InstallDir TASK6000 Dsp UpaApp src include UpaDef h InstallDir TASK6000 Dsp UpaApp src include typedef h InstallDir TASK6000 Dsp UpaApp src include Tongen h Install Dir TASK6000 Dsp UpaApp src include tonedet h InstallDir TASK6000 Dsp UpaApp src include tasktapi h InstallDir TASK6000 Dsp UpaApp src include task h InstallDir TASK6000 Dsp UpaApp src include Tapi h InstallDir TASK6000 Dsp UpaApp src include rtpDsp h InstallDir TASK6000 Dsp UpaApp src include r1 r2proto h InstallDir TASK6000 Dsp UpaApp src include R 1 r2mf h Install Dir TASK6000 Dsp UpaApp src include R r2def h InstallDir TASK6000 Dsp UpaApp src include Proto h InstallDir TASK6000 Dsp UpaApp src include pUtil h InstallDir TASK6000 Dsp UpaApp src include G711 h InstallDir TASK6000 Dsp UpaApp src include Ecproto h InstallDir TASK6000
44. any time from the InstallDir TASK6000 doc directory 14 Restart your system using one of these methods Select OK at the last screen The install program restarts your system e Select Cancel to restart your system at a later time You must restart your system before you can run TASK user applications If you installed the DSP Development kit you must also define TASK DIR an environment variable as one of the System variables Set the variable to the InstallDir TASK6000 directory path by selecting Start Settings Control Panel System Environment If the variable is already defined change it to the new installation path Otherwise add the variable with the current installation path under the values field For example if the installation path was at C then set the TASK DIR to CATASK6000 Uninstalling TASK software Automatic uninstall recommended To automatically uninstall TASK software use one of these methods e Go to the Control panel and select Add Remove programs then select one of these from the list that displays e TASK6000 displays if Task 2 0 was previously installed e TASK 6000 and SPIRIT 6000 BSP displays if Task 1 2 Beta 10 was previously installed e During installation select Continue after Uninstall This option is available only if the TASK software you want to uninstall is version 2 0 or later The uninstall program removes all the files installed by the CD ROM including files with same
45. application of the change stQDSOHdlc Concatenates four sub rate HDLC channels into a full DSO For detailed information about TASK services see Appendix F Service descriptions Return values UP SUCCESS Successful completion If the function cannot return an error in real time for example the function sends a message to another processor to implement a configuration change the function returns this value indicating that the message was sent properly The processor implementing the function returns one of these values UP EVT CONFIG ACK 87 TASK 6000 software reference guide Occurs in response to this function if the service is enabled UP_EVT_CONFIG_ERROR Occurs if the function fails for instance if the specified service is not enabled UP_FAILURE General failure 88 Appendix A Standard Host functions upQueryQOSReport upQueryQOSReport Causes the specified DSP to send a Quality of Service report as an UP_EVT_STATISTICS_RPT event An RTCP stack may use the provided information to create Sender and Receiver Reports Syntax UP_ERROR_ET upQueryQOSReport RSYS INT32 I1Slot RSYS INT32 lUnit RSYS INT32 IChannel Parameters 1Slot The resource card unit number lunit The DSP number 1Channel The DSP virtual channel number Return values UP_SUCCESS Successful completion The function requests this event UP_EVT_STATISTICS_RPT Contains the statistics report requ
46. application termination if desired to reset the state of all boards in the system That is the IOP and DSPs are reset Appendix A Standard Host functions hostGetBoardlnfo hostGetBoardlnfo Provides a board s information structure as defined by the IOP monitor s SP6K BOARD INFO T structure This function reports the extents of the systemby identifying the number and type of processors T1 E1 framers HDLC codecs and TDM switches on the board Also you can use hostGetSystemInfo to determine the number and type of SPIRIT boards in the system For more information see the sp6k board info tsp6k h file Syntax int hostGetBoardInfo IN long iopNum IN OUT SP6K BOARD INFO T pBoardInfo Parameters iopNum The IOP number of the board for which you want information pBoardInfo A pointer to SPOK BOARD INFO T the structure that stores board information SP6K BOARD INFO T structure typedef struct UINT32 post results UINT32 free zone UINT32 flash size UINT32 memory size UCHAR board revision UCHAR num dsps UCHAR hmic present UCHAR board type UINT32 error code C6X INFO T dsp info MAX DSPS SP6K BOARD INFO T post results POST results free zone Address of host free memory zone flash size The Flash ROM size memory size The memory size board revision The board revision number num dsps The number of DSPs in the configuration hmic present 55 TASK 6000 so
47. config or update config j UP RTP RECV CONFIG ST ulAutoAdjustable You can use one of these values FALSE Controls the jitter buffer s target delay through the ulTargetJitterBufferDly element of the configuration structure TRUE Overrides the ulTargetJitterBufferDly element and automatically controls target jitter buffer delay based on the jitter measurements of arriving packets Note This element is not currently implemented Jitter does not automatically adjust regardless of the value you enter the jitter buffer s target delay is always controlled through the ulTargetJitterBufferDly element of the configuration structure ulMaxJitterBufferPDly The play out jitter buffer s maximum length in RTP packets The jitter buffer induced delay can never exceed this number The maximum usable value for this number depends on the memory allocated to the Jitter Buffer in the DSP application and the payload size of the codec in use the standard maximum is 120ms of G 711 data ulTargetJitterBufferDly The play out jitter buffer s target length in milliseconds Over long time periods the jitter buffer tries to average this many ms of delay and so can cope with this many milliseconds of packet arrival time jitter For best results this element should be set to an integer multiple of the codec frame size 30mS for G 723 and 10ms otherwise 274 Appendix F Service descriptions RTP packetization stRtpDec
48. decimal values 10 through 15 Initial Memory Image A structure in memory the i960 core requires to initialize internal registers before normal operation 287 TASK 6000 software reference guide INT IOP 1 0 IRQ ISR Jumper KB or KByte LIU Logical Address MAC MB or MByte Memory Memory shadowing Offset PAL PCI Peripheral Device 288 Interrupt Request A software generated interrupt request Input Output Processor A processing element on intelligent adapter boards used to off load a host processor Input Output The communication interface between system components and between the system and connected peripherals Interrupt Request In ISAbus systems a microprocessor input from the control bus used by I O devices to interrupt execution of the current program and cause the microprocessor to jump to a special program called the interrupt service routine The microprocessor executes this special program which normally involves servicing the interrupting device When the interrupt service routine is completed the microprocessor resumes execution of the program it was working on before the interruption occurred Interrupt Service Routine A program executed by the microprocessor upon receipt of an interrupt request from an I O device and containing instructions for servicing of the device A set of male connector pins on a circuit board over which can be placed coupling devices to ele
49. define HDLC RX SYNC ERROR 4 define HDLC UNKNOWN ERROR 5 define HDLC TX BUFFER ERROR 6 initialization return values define HDLC INIT COMPLETE 32X 1 device is 32X init successful define HDLC INIT COMPLETE 128X 2 device is 128X init successful define HDLC INIT FAILURE3 define HDLC INIT FAILURE NO DEV 4 define HDLC INIT INTR FAILURE 5 define HDLC INIT CONFIG FAILURE 6 define HDLC INIT INTR CONNECT FAIL7 define HDLC INIT RESET FAIL 8 return status from HDLCGetPacket define HDLC NO RX DATA d define HDLC RX DATA RETURNED 2 return status from HDLCSendPacket define HDLC TX CHAN NOT CONFIGUREDI define HDLC NO TX BUFFER AVAIL 2 define HDLC PACKET QUEUED 3 status word for Rx error handler define HDLC RX BUFFER ERROR 1 used in xx_channel_assignment field to indicate unassign timeslots define HDLC UNASSIGNED TIMESLOT Oxff 171 TASK 6000 software reference guide Structures 172 Use this table to identify the HDLC driver structures Use the structure description later in this appendix to obtain detailed information including syntax and parameter values Table C 2 HDLC structures Call Description t HDLC port config Specifies a port s configuration t HDLC channel config Specifies the configuration for each channel t HDLC channel status Specifies a channel s status Note This structure is not currently implemented Appendix C HDLC driver library Structures
50. er Erbe reves sass beer e bera e Porro teas 282 SiPackersPasser vector E LO DE E eO Ve EN Fee oe eee oe Eb Eee estt 283 UP PACKET PARSER CONFIG ST iii iiexseeseiteev eei sariri eeceb EEEn E EN rrish 283 CIIM 5 E no EEA 285 JEET NE SEEE A E AN AEE ENEA VA AE E LM E AAAA E 293 xiii TASK 6000 software reference guide Figures Figure 1 1 TASK application distribution IOP Only ccccisescccccseesccscaseticsssavaeacesscascacseceveeessecesseosseceasiveces 1 Figure 1 2 TASK application distribution Host and IOP eerte tret eere ende 2 Figure 2 1 DSP application on the DSP chip eie rete rre eerte ee tete eene tinere eta ahead 6 lar 22 Data path Greenen receita Ena EEE EREE E E AEEA LL QD UL 9 Figure 2 3 Using events and message handlers iere eter trek eher e loeis 11 Figure 4 1 Location of files required to compile the application esses ener enne 33 Figure A 1 Packet organization Buffer ace riae rer HERE FREE EN SRE PEE E ERES EE EO SHEER REY 97 Fig te Bel Packet organization Withee eee to rue erre tee Ere eripe Eel ee FE ECL e REN PERCY TO en deep ea 143 Tables Table 1 Host fubctioAs ace cere Hee eR HY RI EE REN ERE NE EFE YER ERE E EE ERREUR CR eS 48 Table Ds IP DODCDORE Seen 104 Table CT HDLC driver functions eesis rre edere ease e re eR EE N ITEE Pre yb ieu e assess 151 Table 4 2 PADLE Siir OS cerit ir Fever rrr eeu e ver rr Pe reb eve EE Pe EY re ee E Eu 172 Table D 1 WAVED Rit OW
51. frames to individual DSPs based on their UDP port Chapter 2 Understanding TASK 6000 software architecture number All other traffic passes through to the VxWorks IP stack so you can implement protocols such as RTCP in the IOP Applications on the IOP can communicate with remote hosts or the local host via IP and the TASK 6000 IOP runtime library also contains functionality for extending its API to a remote IP host Public Switched Telephone Network PSTN TASK 6000 software interfaces with the PSTN using the features of the E1 T1 line interface and HDLC controllers which allow for implementations of ISDN and Robbed Bit call control applications The DSP algorithms support R1 R2 signaling DTMF generation and detection echo cancellation along with various industry standard voice codecs Application Programming Interface API The TASK 6000 API is presented at the IOP and is also reflected on the Host In its baseline form the API provides the tools you use to e Map a physical channel T1 or E1 DSO or H 110 channel to a DSP s virtual channel e Configure a DSP channel with a particular codec echo canceller tone detectors and generators e RTP encode and decode a channel e Map an RTP encoded channel to an RTP socket so that the socket is transparently to the user connected to the DSP channel The API also includes provisions for non voice data types such as T 38 traffic and V 90 data Finally the API is design
52. function from the Host application sends a message to the IOP 2 The function immediately returns to the Host reporting that the message was sent successfully 3 The IOP forwards the message to the DSP 4 The DSP receives the message interprets it performs required actions and then reports the status as an event to the IOP The IOP forwards the event to the Host s Message Handler The Host s Message Handler receives and analyzes the event performing any necessary action Figure 2 3 Using events and message handlers Os OC The application must register an appropriate event handler callback function to receive the events It is the responsibility of the user application to keep track of which commands are outstanding and to associate the returned events with their originating function calls The events contain identification information that can be helpful for this purpose such as the event message header which contains the slot unit and channel numbers as well as the event Control Some events notify the application of the deferred results of command messages These can include acknowledgement or error reports Status Events are also generated asynchronously by the operation of various services in the system For example a DTMF detector on a DSP generates events at the start and stop of a detected tone Callback functions TASK software uses a simple mechanism to send messages asynchronously to the user application Messa
53. is an embedded service controlled by the upConnectPktSend function stPacketParser Takes an IP UDP packet from the Ethernet gt DSP FIFO checksums headers and data as appropriate strips headers and passes the payload to the next module usually stRtpDecode or stT38 in TASK2 stEthernetAlarm Detects Ethernet Link status changes and generates UP EVT ETHERNET ALARM events which notify a user application of the change stQDSOHdlc Concatenates four sub rate HDLC channels into a full DSO For detailed information about TASK services see Appendix F Service descriptions Return values UP SUCCESS Successful completion UP CONFIG ERR Configuration error UP FAILURE General failure UP INVALID ARG Invalid argument 131 TASK 6000 software reference guide 1 32 UP RTP ERR RTP port assignment error fast packet UP DSP ERR DSP channel assignment error fast packet UP START TIMEOUT A timeout occurred on a blocking call to upStart UP HDLC PORT ERR HDLC port configuration error UP HDLC CHAN ENABLE ERR HDLC channel enable error UP HDLC CHAN CONFIG ERR HDLC channel configuration error Appendix B Standard IOP functions upQueryQOSReport upQueryQOSReport Causes the specified DSP specified to send a Quality of Service report as an UP_EVT_STATISTICS_RPT event An RTCP stack can use the provided information to create Sender and Receiver Reports Syntax UP_ERROR_ET upQueryQOS
54. on page 41 3l TASK 6000 software reference guide Once the TDM connection is made the application calls upEnableChannel to enable bidirectional voice data flow to and from the DSP as described in Enabling bi directional voice data flow to and from the DSP on page 41 Configure services At this point the application configures services on DSP for the outbound direction toward the IP cloud The sample application chooses a G 711 voice codec Echo Cancellation and RTP Encoder For sample code see Configuring services on page 42 Create data paths 32 Once the services are configured the application creates a data path between an outgoing RTP channel running on a DSP and the IOP driver s network packet routing component For simplicity the sample application assumes operation over a private LAN each IOP assumes that its peer IP address is equal to its own address with the least significant bit toggled For sample code see Creating a data path between an outgoing RTP channel running on a DSP and the IOP driver s network packet routing component on page 43 The application calls CreateFastPacketIn to enable the receive direction on the channel Time slots are mapped to virtual channels in the same fashion as for CreateFastPacketOut and the T8105 switch makes another TDM connection for this direction of voice data flow For sample code see Enabling the receive direction on the channel on page 44 The application then ini
55. or tone pairs to the input of a codec with programmable cadence and cadence count While a cadence is in progress the stTdmToneGen service overrides the TDM channel s input Once the cadence ends the codec input automatically reverts to the TDM input UP TONEGEN CONFIG ST typedef struct RSYS INT32 lFreqgl RSYS INT32 1Freq2 RSYS INT32 lAmplitudedBl RSYS INT32 lAmplitudedB2 RSYS INT32 lCadenceOn RSYS INT32 lCadenceOff RSYS INT32 lRepeat UP TONEGEN CONFIG ST lFregl The primary tone s frequency in Hz lFreq2 The secondary tone s frequency in Hz or zero if no secondary tone is required lAmplitudedB1 and 1amplitudedB2 Each tone s amplitude If both tones are used the total amplitude is the sum of the two individual amplitudes lCadenceOn The tone or tone pair s on time in ms This number is rounded up to the nearest frame i e 30ms cadenceon 0 means leave the tone on forever or until the tone generator is reconfigured or disabled lCadenceOff The tone or tone pair s off time in ms rounded up to the nearest frame 1Repeat The number of times to repeat the cadence 1 means repeat forever There are no events associated with this service 265 TASK 6000 software reference guide Tone detection stTdmDTMFDet Performs DTMF detection on TDM input data It generates UP EVT DTMF DETECTED events to alert the application of the digit detected Config UP DTMF CONFIG ST data typedef
56. pa UpalopApp UpalopApp c InstallDir TASK6000 Examples U pa UpalopApp UpalopApp dsp InstallDir TASK6000 Examples U pa UpalopApp UpalopApp dsw InstallDir TASK6000 Examples Upa UpalopApp Bin lopAppLoader exe 23 TASK 6000 software reference guide 24 Type Files IOP libraries and object files InstallDir TASK6000 lop VxWorks Lib Dsplo a InstallDir TASK6000 lop VxWorks Lib E 1t1 a InstallDir TASK6000 lop VxWorks Lib Hdlc a Install Dir TASK6000 lop VxWorks Lib lopDma a InstallDir TASK6000 lop VxWorks Lib T8 100 a InstallDir TASK6000 lop VxWorks Lib Tasklop a InstallDir TASK6000 lop VxWorks Lib Upalop a InstallDir Tornado2 target config sp6k dataSegPad o InstallDir Tornado2 target contig sp6k sysALib o InstallDir Tornado2 target config sp6k sysLib o InstallDir Tornado2 target contig sp6k usrConfig o InstallDir Tornado2 target config sp6k if_fei o InstallDir Tornado2 target config sp6k Rominit s InstallDir Tornado2 target contig sp6k Sysalib s InstallDir Tornado2 target contig sp6k Pciutil o InstallDir Tornado2 target contig sp6k Rppcilib o Host library Install Dir TASK6000 Host N t lib taskhost lib Chapter 3 Installing and configuring TASK 6000 software Type Files Sources InstallDir TASK6000 lop VxWorks Application tasklopApp c InstallDir Tornado2 target config sp6k sysSerial c null file InstallDir Tornado2 target config sp6k sysNetif c null file InstallDir Tornado2 target contig sp6k Syslib c
57. ports use a Seimens Quad FALC LIU Framer as their interface device You do not need a working knowledge of this device to use T1 E1 functions The driver includes e Interrupt handling tools e Function list 177 TASK 6000 software reference guide Sample startup sequence TlElinitCard amp board_config Initializes the T1 card and driver Not required if iopInit is being called setT1Config amp config_struct Sets the configuration of the T1 line setT1Signaling amp signaling_struct Sets the initial state of the transmitted signaling bits Not required if signaling has not been enabled setT1SignalingHandler amp userT1SignalingHandler Sets a callback function for receive signaling bit changes setT1StatusHandler amp userT1StatusHandler Sets a callback function for receive line state status changes 178 Appendix D T1 E1 library Function list Function list This appendix lists function descriptions alphabetically You can find a function in this appendix either by locating it alphabetically within its group or by using Table D 1 below which groups like functions together Use this table to identify the T1 E1 driver functions you want to use Use the function description later in this appendix to obtain detailed information including syntax and parameter values Table D 1 T1 E1 functions Type Function Description Configuration Configure each port for Tl or El
58. see the data type section of the t HDLC port config structure description Return values SUCCESS Successful completion FAILURE Unsuccessful completion 157 TASK 6000 software reference guide HDLCConfigChannel 158 Specifies the configuration of any channel of any HDLC controller port Configuration includes parameters such as interframe time fill character CRC type enable disabling CRC checking and channel loopbacks The current implementation of the driver does not support loopbacks Syntax UINT32 HDLCConfigChannel IN const UINT32 port IN const UINT32 channel IN const t_HDLC_channel_config channel_config Parameters port The HDLC controller port channel The HDLC channel channel_config For a detailed description of configuration options see the data type section of the t HDLC channel config structure description Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix C HDLC driver library Functions HDLCEnableChannel HDLCEnableChannel Enables a channel for operation The port and channel must be already configured Once enabled a channel can receive and accept packets for transmission Syntax UINT32 HDLCEnableChannel IN const UINT32 port IN const UINT32 channel Parameters port The HDLC controller port channel The HDLC channel Outputs Return values SUCCESS Successful completion FAILURE Unsuccessful completion 159
59. t T8100SwitchConfig T8100SwitchConfig Make timeslot connections both on board and CT Bus Appendix E T8100 library Function list Function list This appendix lists function descriptions alphabetically You can find a function in this appendix either by locating it alphabetically within its group or by using Table E 1 below which groups like functions together Use this table to identify the T8100 driver functions you want to use Use the function description later in this appendix to obtain detailed information including syntax and parameter values Table E 1 T8100 functions Type Function Description Configuration Configures the T8100 initT8100 Initializes the driver and the T8100 and identifies the installed device T8100 T8100A or T8105 setT8100ClockConfig Configures the clocking of the T8100 setT8 1 00StreamConfig Sets the T8100 s stream rates setT8100SwitchConfig Sets the T8100 s switching clearT8100ClockFault Clears a clock fault in the T8100 dearT8100MemoryFault Clears a memory CAM fault in the T8100 setT8100ClockFaultMask Disables the monitoring of clock faults Status monitoring Polls and reads the status of the T8100 getT8100ErrorStatus Reads the status of the T8100 error status registers SYSERR CLKERR1 CLKERR2 and CLKERR3 Interrupt event controls Specifies a handler callback function to call when an interrupt event occurs setT8100Handler Specifies the
60. target config sp6k 960rx h InstallDir Tornado2 target contig sp6k Dsputil h InstallDir Tornado2 target config sp6k Config h InstallDir Tornado2 target h drv netif if_fei h InstallDir Tornado2 target config sp6k Makefile app InstallDir Tornado2 target config sp6k Makefile InstallDir Tornado2 target config sp6k saveobj InstallDir Tornado2 target h make defs bsp InstallDir is the directory in which RadiSys TASK software is installed 25 TASK 6000 software reference guide DSP development kit 26 Type Files Documentation InstallDir TASK6000 Doc Taskman ico Install Dir TASK6000 Doc TaskMan pdf InstallDir TASK6000 Doc sp6040_hwref pdf InstallDir TASK6000 Doc relnotes txt Installation management information InstallDir TASK6000 misc UNWISE EXE InstallDir TASK6000 misc spdiag ico InstallDir TASK6000 misc hwref ico InstallDir TASK6000 misc hsetup exe InstallDir TASK6000 misc u_guide ico InstallDir TASK6000 misc uninst ico InstallDir TASK6000 misc Taskdiag ico InstallDir TASK6000 misc Taskman ico InstallDir TASK6000 misc Taskact ico InstallDir TASK6000 misc installed_comp InstallDir TASK6000 misc UNWISE INI InstallDir TASK6000 misc INSTALL LOG Libraries InstallDir TASK6000 Dsp Rsys Task Lib kernel lib InstallDir TASK6000 Dsp Rsys Task Lib c6xrts lib InstallDir TASK6000 Dsp UpaApp Lib Dtmf lib InstallDir TASK6000 Dsp UpaApp Lib Tonedet lib InstallDir TASK6000 Dsp UpaApp Lib rtp lib InstallDir TASK6000 Dsp
61. the motherboard and are secured with screws Power On Self Test A diagnostic routine which a board runs at power up Along with other testing functions this comprehensive test initializes the system chipset and hardware resets registers and flags performs ROM checksums and checks disk drive devices and the keyboard interface Plastic Quad Flat Pack A popular package design for integrated circuits of high complexity A set of instructions a computer follows to perform specific functions relative to user need or system requirements In a broad sense a program is also referred to as a software application which can actually contain many related individual programs Public Switched Telephone Network The worldwide voice telephone networks and services accessible to all who have telephones and access privileges Multi frequency signaling for PSTN trunk lines R1 R2 signaling consists of register signaling for address signals and line signaling for line and supervisory signals Random Access Memory Memory in which the actual physical location of a memory word has no effect on how long it takes to read from or write to that location In other words the access time is the same for any address in memory Most semiconductor memories are RAM Read Only Memory A broad class of semiconductor memories designed for applications where the ratio of read operations to write operations is very high Technically a ROM can be written to progr
62. the required cadence for this tone was established not when the tone began eTone The detector value for the detected tone Note that the listed enumerated tones are valid only for the CPM module s default configuration The CPM module may be configured to detect many other combinations and cadences of tones and tone pairs and the tone value simply reflects the entry matched in the CPM module s configuration 269 TASK 6000 software reference guide stMFDet Performs MF Tone detection on TDM input data for R1 or R2 signaling It generates UP EVT MF DETECTED events to alert the application of the digit signal detected Since the tone sets overlap you must configure this service for the expected signaling type Config UP MF CONFIG ST data typedef struct RSYS INT32 lLowSigThreshold enum R1 1 R2F R2R eMfTones j UP MF CONFIG ST MF s initial version has a fixed ILowSigThreshold value this flag currently has no effect lLowSigThreshold Absolute low signal threshold R1 R1 signaling R2F R2 forward signaling R2R R2 reverse signaling eMfTones The set of tones to detect Events UP EVT MF DETECTED For details about MF tone detector operation see the Line Register Signaling R1 R2 MF for TMS320C6201 User s Manual typedef enum MF tones for R1 signaling by function FR1 LINE MFR1 KP MFR1 1 MFR1 2 MFR1_3 FR1 4 R1 5 MFR1 6 MFR1 7 MFR1_8 MFRI1 9 FR1 0 R1 ST MFR1 ST1 MFR1 S
63. tones or tone pairs to a TDM output with programmable cadence and cadence count stRtpEncode Performs RTP Packetization and when used with the stJitterBuf service depacketization stRtpDecode Implements both RTP decode functionality and a dynamic jitter buffer that feeds compressed frames to a codec for decompression on a strict schedule regardless of input variations stTdmToneGen Generates tones or tone pairs to a TDM output with programmable cadence and cadence count stT1E1Alarm Notifies the user of an alarm signaled by a T1 or E1 framer and allows control of the LEDs associated with each span stCAS Implements Channel Associated Signaling on T1 and E1 lines which are attached locally to framers control by the I O Processor stPacketBuilder This is an embedded service controlled by the upConnectPktSend function stPacketParser Takes an IP UDP packet from the Ethernet gt DSP FIFO checksums headers and data as appropriate strips headers and passes the payload to the next module usually stRtpDecode or stT38 in TASK2 stEthernetAlarm Detects Ethernet Link status changes and generates UP EVT ETHERNET ALARM events which notify a user application of the change stQDSOHdlc Concatenates four sub rate HDLC channels into a full DSO For detailed information about TASK services see Appendix F Service descriptions A pointer to the configuration data structure UP CONFIG SVC UT structure typedef union
64. typedef struct RSYS_UINT32 ulReceivePort RSYS UINT32 ulInterface UP SERVICE ET eService UP PACKET PARSER CONFIG ST This structure is internally used by UPA on the IOP to configure the stPacketParser on a particular DSP channel This structure is not directly accessed by the user but is populated with the contents of a UP PKT RECV CONFIG ST passed as an argument to the upConnectPktRecv function There are no events associated with this service 283 TASK 6000 software reference guide 284 Glossary Address AGC ANSI BFM BIOS Bit Boot Boot Device Byte CAS CNG CODEC A number that identifies the location of a word in memory Each word in a memory storage device or system has a unique address Automatic Gain Control An electronic circuit or software algorithm used to maintain signal level American National Standards Institute An organization dedicated to advancement of national standards related to product manufacturing Bad Frame Masking A software algorithm that hides transmission losses in a packetized voice communication system where the input signal is encoded and packetized at a transmitter sent over a network and received at a receiver that decodes the packet and plays out the output Basic Input Output System Firmware in a PC compatible computer that runs when the computer is powered up The BIOS initializes the computer hardware allows the user to c
65. voice processing system Bad frame masking and comfort noise generator for TMS320C620x Bad frame masking eliminates gaps in the received voice signal due to congested network conditions The comfort noise generator engine generates comfort noise at the decoder of G 711 when no packets are received or when the received VAD Voice Activity Detector field indicates silence or background noise frames Call progress monitor for Performs CPT detection for high capacity trunks TMS320C620x Line echo canceller for Provides TMS320C620x Up to 32 ms echo span Robust double talk detection Adaptation Non linear processing control ITU T G 711 Speech Coder for TMS320C620x Encodes and decodes with an option to select A Law u Law and multiple frame sizes at compilation run time ITU T G 723 1 Speech Coder for TMS320C620x Encodes and decodes based on 30 ms frames as specified by the ITU T Recommendation G 723 1 Dual Rate Speech Coder for Multimedia Communications Transmitting at 5 3 and 6 3 kbits ITU T G 729 Speech Coder for TMS320C620x Encodes and decodes based on 10 ms frames as specified by the ITU T Recommendation G 729 Coding of speech at 8 kbits s using conjugate structure algebraic code excited linear prediction CS ACELP TASK 6000 reference guide Algorithm Description ITU T G 729A Speech Encodes and decodes based on 10 ms frames as Coder for TMS320C620x specified by the
66. with result in a message to the driver task which picks up the message and processes the interrupt event In this case the processing involves reading the receive interrupt queue checking for any receive errors and marking the descriptor and buffer as having valid receive data If Mode 3 or Mode 4 is used no receive interrupt is generated and the descriptor and buffer remains unmarked until the timer interrupt When the timer interrupt occurs the receive interrupt queue is parsed and all descriptors and buffers associated with received packets are marked During receive packet processing if the user has registered receive handlers the user is be called back on two events These events are a receive error condition and or a complete error free packet reception In the error free case the user may call the HDLCGetPacket function to retrieve the received packet or as an alternative the user can signal another task to read the packet The user may also use a polling method to detect packet reception In this case the user can periodically poll for received packets using HDLCGetPacket The function returns an indication if no packet is available or copies the data to the user s space if a packet is available HDLCGetPacket does not block when no packet is available As in the interrupt versus polling case for the driver polling for packet reception in this manner introduces additional latency In either case when HDLCGetPacket returns a valid pa
67. 00 structures Call Description t_ref_clk Selects the primary reference of the T8100 t_fallback_clk Selects the fallback reference of the T8100 t_netref_clk Selects the clock reference used to generate the CT NETREF bus clocks t_T8100ClockConfig Used by the setT8100ClockConfig function to control the clocking of the T8100 t_stream_rate Selects the CT BUS rate t_T8100StreamConfig Used by the setT8100StreamConfig function to control the stream rates of the T8100 t source dest Specifies a connection s endpoint source or destination t_T8100Connection Specifies a single connection t_T8100SwitchConfig Specifies a series one or more connections to make or break Appendix E T8100 library Structures t ref clk t ref clk Selects the primary reference of the T8100 Syntax typedef enum REF LOCAL O0 EF CT NETREF 1 EF CT C8 A 2 EF CT C8 B 3 EF MVIP 4 EF HMVIP 5 EF SCSA 2M 6 EF SCSA 4 8M 7 EF TIEl1 1 8 EF TIE1 2 2 9 EF TIEl1 3 10 EF TIEl 4 11 EF CT NETREF2 12 t ref clk DUD DDD Gb m OG Ud Gd d 247 TASK 6000 software reference guide t_fallback_clk Selects the fallback reference of the T8100 248 Syntax typedef enum FB_LOCAL 0 FB_CT_C8_A 1 FB_CT_C8_B 2 FB_CT_NETREF A FB_T1E1_1 4 FB_T1E1_2 5 FB_T1E1_3 6
68. 000000n0 UP CODEC PARAM UT typedef union UP CODEC G711 PARAM ST tG711Param UP CODEC G729 PARAM ST tG729Param UP CODEC G723 PARAM ST tG723Param UP CODEC PARAM UT Appendix F Service descriptions Codec stCodec UP CODEC G711 PARAM ET typedef struct enum enumMULAW 0 enumALAW eLaw UP_ENABLE_ET eVadEnable RSYS INT32 1VadLowSigThreshold UP ENABLE ET eBfmEnable UP CODEC G711 PARAM ST eLaw Selects between G 711 p Law and A Law versions You can select one of these enumMULAW Selects p Law coding enumALAW Selects A Law coding eVadEnable Allows the Voice Activity Detector to suppress packet generation on the encoder side You can select one of these values enumEnabled Enables VAD enumDisabled Always generates packets lVadLowSigThreshold VAD noise threshold in dBm eBfmEnable Enables and disables bad frame masking UP CODEC G729 PARAM ET typedef struct UP ENABLE ET eVadEnable UP CODEC G729 PARAM ST eVadEnable Allows the Voice Activity Detector to suppress packet generation on the encoder side You can select one of these enumEnabled Enables VAD enumDisabled Always generates packets 261 TASK 6000 software reference guide UP CODEC G723 PARAM ST typedef struct enum enumRate63 0 6300 bps enumRate53 5300 bps
69. 1 data 19 22 23 data 22 22 data 20 23 24 data 23 23 data 21 24 N A 24 data 22 25 N A 25 data 23 26 N A 26 data 24 27 N A 27 data 25 28 N A 28 data 26 29 N A 29 data 27 30 N A 30 data 28 31 N A 31 data 29 Appendix E T8100 library Functions initT8100 Functions initT8100 Initializes the driver and the T8100 and identifies the installed device T8100 T8100A or T8105 This function must be called before using any other driver functions however the user need not call this function if iopInit is being called since the iopInit function makes the call Following this function call the T8100 and the CT Bus are in the following state e No CT Bus timeslots are driven all connections are broken e All CT Bus bus clocks are turned off CT Bus stream rates set to 8 192MHz e The T8100 reference clock is set to be the on board oscillator e Alllocal on board connections are broken e The local on board streams are set to a 2 048 MHz rate 32 timeslots e On board device clocks are set to a 2 048MHz rate DSP clocks framer clocks Syntax void initT8100 void Parameters None Return values SUCCESS Successful completion FAILURE Unsuccessful completion 237 TASK 6000 software reference guide setT8100ClockConfig 238 Configures the clocking of the T8100 This includes selecting reference clocks for normal and fallback operation as well as determining which if any
70. 106 Provides a board s information structure as defined by the IOP monitor s SP6K BOARD INFO T structure This function reports the extents of the system by identifying the number and type of processors T1 E1 framers HDLC codecs and TDM switches on the board Also you can use hostGetSystemInfo to determine the number and type of SPIRIT boards in the system For more information see the sp6k board info tsp6k h file Syntax int getBoardInfo INOUT SP6K BOARD INFO T pBoardInfo Parameters pBoardInfo A pointer to SPOK BOARD INFO T the structure that stores board information SP6K BOARD INFO T structure typedef struct UINT32 post results UINT32 free zone UINT32 flash size UINT32 memory size UCHAR board revision UCHAR num dsps UCHAR hmic present UCHAR board type UINT32 error code C6X INFO T dsp info MAX DSPS SP6K BOARD INFO T post results POST results free zone Address of host free memory zone flash size Flash ROM size memory size Memory size board revision Board revision num dsps The number of DSPs in the configuration hmic present HMIC T8100 presence The lower nibble identifies the installed T810x and the upper nibble identifies the installed Appendix B Standard IOP functions getBoardInfo option card if one exists Since all deliverable SPIRIT boards have a T810x HMIC installed this field is not used for additional information
71. 28 channel HDLC High level Data Link Controller the Siemens QFALC Quad Framing And Line Interface Component and the Lucent Technologies T8105 TDM Time Division Multiplex switch HDLC The MUNICH128 supports up to 128 channels of HDLC The TASK 6000 driver library provides functions that configure enable and disable channels and an ISR Interrupt Service Routine that provides callback function hooks to the user application for transmitting and receiving frames and handling errors E1 T1 line interface The TASK 6000 driver library provides functions that configure enable and disable each of the device s four E1 T1 ports The device must be operated as all E1 or all T1 you cannot mix line types The driver provides an ISR that provides callback function hooks to the user application for transmitting and receiving frames and handling errors TDM Time Division Multiplex switch The TASK 6000 driver library provides functions that establish and tear down sets of half duplex time slot connections from one to any of the TDM resources on the board TDM resources include serial ports on the DSPs E1 T1 framers and the H 110 backplane bus The driver provides an ISR that provides a callback function hook to the user application for handling errors TASK 6000 software reference guide DSP application Utilities Interfaces The standard TASK 6000 DSP application comes with a variety of voice codecs telephony algorithms inclu
72. 3 bit 3 of T1 status is Rx loss of frame state define T1 TX AIS BIT 1 16 bit 16 of T1 status indicates AIS transmission define T1 TX YELLOW BIT 1 17 bit 17 of T1 status indicates yellow alm transmission define T1 TX LOOP UP BIT 1 18 bit 18 of T1 status indicates loop up code transmission define T1 TX LOOP DOWN BIT 1 19 bit 19 of T1 status indicates loop down code transmission 280 Appendix F Service descriptions Audio processing stAGC Audio processing stAGC Config data Events Provides Automatic Gain Control for TDM input data It normalizes input data to the level specified in the service configuration UP AGC CONFIG ST typedef struct RSYS INT32 lTargetValdB AGCTargetvalue in dB RSYS INT32 lInScaleFact absolute scalefactor for input RSYS INT32 lOutScaleFact absolute scalefactor for output UP AGC CONFIG ST There are no events associated with this service 281 TASK 6000 software reference guide Internal These are services which are implemented in one part of the system for the internal use of other parts of the system stPacketBuilder Config data Events 282 This is an embedded service controlled by the upConnectPktSend function It takes the output of the stT38 or stRTP service adds UDP IP and Ethernet headers and submits the result to the DSP s Ethernet Transmit Queue
73. 56 HDLCConfigChannel 158 HDLCConfigPort 157 HDLCDisableChannel 160 HDLCEnableChannel 159 HDLCGetChannelStatus 165 HDLCGetDeviceStatus 164 HDLCGetPacket 163 HDLCInit 153 Index HDLCReset 154 HDLCResetChannel 161 HDLCSendPacket 162 HDLCSetDeviceErrorHandler 168 HDLCSetRxErrorHandler 170 HDLCSetRxPacketHandler 167 HDLCSetTxErrorHandler 169 HDLCSetTxPacketHandler 166 header defined 287 help iz Host and IOP application distribution 2 Host applications developing 30 initializing the Host driver 30 initializing UPA structures 30 loading and running applications 30 setting up message handlers 30 Host applications sample code 36 Host files Hot Swap hbus sys 4 Host library 4 hsmgrint dll 4 i960rp sys 4 taskhost dll 3 host functions function list 48 hostControlPeripheral 50 hostExit 54 hostGetBoardInfo 5 5 hostGetNWPktBuf 94 hostGetSystemInfo 57 hostInit 59 hostJitterControl 95 hostLoadDsp 60 hostLoadIop 61 hostReadlop 96 hostResetBoard 62 hostResetDsp 63 hostRunDsp 64 hostRunLoadedIop 65 hostSendMsg 98 hostSendNWPktBuf 97 hostSetEventHandler 66 hostSetHotSwapHandler 67 hostSetNWNotify 99 hostSetPeripheralDataHandler 68 hostWritelop 100 upConfigService 69 upConfigServiceGlobal 72 upConnectPktRecv 75 upConnectPktSend 77 upDisableService 79 upDisconnectPktRecv 82 upDisconnectPktSend 83 upEnableChannel 84 upEnableService 86 upQueryQOSReport 9 upSetEventHandler 90 upSetUserMsgHandler 91 upStart 92 Host ru
74. 6 t T1 user command data 214 t T1 user config struct 211 t T1 user idle struct 217 t T1 user raw signaling struct 220 t T1 user signaling data 215 t T1 user status struct 215 T1SignalingHandler 222 T1StatusHandler 221 E1SignalingHandler 229 EDO DRAMs defined 287 e mail address RadiSys 7 event dispatcher 5 event messages 10 F fast packet router 5 Fast Page Mode DRAMs defined 287 Flash recovery defined 287 functions callback 1 1 E1 T1 function list 179 HDLC function list 151 Host function list 48 T8100 function list 235 294 G getE1Signaling 197 getT1Signaling 194 getT1SignalingRaw 196 getT1Status 195 getT8100ErrorStatus 244 glossary 285 H hbus sys 4 HDLC functions HDLCCloseDriver 155 HDLCClosePort 156 HDLCConfigChannel 158 HDLCConfigPort 157 HDLCDisableChannel 160 HDLCEnableChannel 159 HDLCGetChannelStatus 165 HDLCGetDeviceStatus 1 64 HDLCGetPacket 163 HDLCInit 153 HDLCReset 154 HDLCResetChannel 161 HDLCSendPacket 162 HDLCSetDeviceErrorHandler 168 HDLCSetRxErrorHandler 170 HDLCSetRxPacketHandler 167 HDLCSetTxErrorHandler 169 HDLCSetTxPacketHandler 166 HDLC library 5 data structures 148 function list 151 overview 147 processing modes 148 processing packet transmission and reception 149 sample driver sequence 150 structure list 172 type definitions 171 HDLC structures t HDLC channel config 175 t HDLC channel status 176 t HDLC port config 173 HDLCCloseDriver 155 HDLCClosePort 1
75. 8100 DSP D SP 1 OxD DSP D 3 Serial port 1 define T8100 DSP E SP O 0x2 DSP E 4 Serial port 0 future use define T8100 DSP E SP 1 0x3 DSP E 4 Serial port 1 future use define T8100 DSP F SP O 0x6 DSP F 5 Serial port 0 future use define T8100 DSP F SP 1 0x7 DSP F 5 Serial port 1 future use define T8100 DSP G SP O0 Oxa DSP G 6 Serial port 0 future use define T8100 DSP G SP 1 Oxb DSP G 6 Serial port 1 future use 254 Appendix E T8100 library Structures t T8100StreamConfig define T8100 DSP H SP 0 Oxe DSP H 7 Serial port 0 future use define T8100 DSP H SP 1 Oxf DSP H 7 Serial port 1 future use define T8100 CONNECT CONST DELAYO used to specify constant delay define T8100 CONNECT MIN DELAYI used to specify minimum delay 255 TASK 6000 software reference guide t source dest 256 Specifies a connection s endpoint source or destination Syntax typedef struct unsigned unsigned unsigned unsigned unsigned int mode int resource int port int timeslot int ctbus_connect_num t source dest Elements mode resource port timeslot Specifies the connection to be either constant delay or minimum delay Specifies the connection s resource number For example CT Bus DSP T1 or HDLC Most resources have multiple ports In the case of the CT Bus each stream is a port In the case of an E1 or T1 c
76. ASK 6000 files on page 20 Remove TASK entries from Start menu A Right click the Start menu button then select Explore all users The Start Menu folder displays B Right click the RadiSys TASK6000 icon and select Delete Stop the i960 driver A Select Start gt Settings gt Control Panel gt Devices and select I960RP from the device list B Select Stop to halt the driver Remove the following registry keys using regedit HKEY_CLASSES_ROOT TASK6000 HKEY_LOCAL_MACHINE System Services CurrentControlSet Services i960RP HKEY_LOCAL_MACHINE System Services ControlSet001 Services i960RP HKEY_LOCAL_MACHINE System Services ControlSet002 Services i960RP HKEY_LOCAL_MACHINE System Services ControlSet003 Services i960RP HKEY_LOCAL_MACHINE Software RadiSys HotSwap Configuration i960RP Y Your system may not include all these registries Remove this driver file SSystemRoot system32 drivers i960rp sys Remove Hot Swap as described in Uninstalling Hot Swap on page 18 Reboot the system TASK 6000 software reference guide TASK 6000 files Hot Swap 20 This section lists all files installed as part of TASK 6000 software All the file paths are listed relative to the directory of installation For a detailed list of files by product configuration go to the topic below For information about Go to this page Fot SWOOP RETE 20 Runtime RE erre eese Eoo EE EAE REESE EEEE 21 Development Kitsao n a ec a EE SONE 23 DSPideyv
77. ASK_IOP 2 as the destination To invoke a handler from the third DSP use TASK_DSP 3 as destination msgType The message type You can use any positive integer msgSzW The number of words in the message pBuf The buffer that contains the message Return values None 9 TASK 6000 software reference guide upStart 92 Initializes the Universal Port subsystem To perform necessary system initialization call this function once before calling any other UPA function on the Host A controlling Host application populates the UP_IOPSYSCONFIG_ST structure when making its initial call to upStart To reconfigure network adapters or change VOIP control characteristics call upStart again during runtime upStart also signals a change of control from a primary to a secondary Host Controller This is a natural fit since the Host Controller s IP address is passed as part of the information that travels from Host Controller to the IOP Under this model a new controlling Host application simply has to call upStart to each IOP to inform it of the new IP address to use for control Syntax UP_ERROR_ET upStart UP IOPSYSCONFIG ST ptlOPSysConfig Parameters ptlOPSysConfig A pointer to a structure that configures the board during UPA initialization This structure has the following format UP IOPSYSCONFIG ST structure typedef struct RSYS UINT32 aulNICAddress UP MAX SLOT
78. As the name implies this function is not specific to T1 or E1 operations Syntax void Tl1ElinitCard t TIEl1 BoardConfig board config Parameters board config A pointer to the t T1E1 BoardConfig structure For more information about this structure see t_T1E1_BoardConfig on page 207 Return values SUCCESS Successful completion FAILURE Unsuccessful completion 183 TASK 6000 software reference guide T1E1getBoardConfig 184 Gets information about the installed option card without performing the initialization done by T1E1initCard Syntax void T1lElgetBoardConfig t TIEl1 BoardConfig board config Parameters board config A pointer to the t T1E1 BoardConfig structure For more information about this structure see T1E1 BoardConfig on page 207 Outputs Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix D T1 E1 library Functions T1E1setLeds TIElsetLeds Controls the LEDs associated with each port of the card See the Type Definition section for a complete description of possible LED states Syntax void TlElsetLeds IN const t TI1El1 framer id framer id IN const t TI1El1 led state led stat Parameters framer id A pointer to the t T1E1 framer id structure For more information about this structure see T1E1 framer id on page 203 led state A pointer to the structure Outputs Return values SUCCESS S
79. ConPktRecv Good suonpoi ddp go pup j1sop Buidojo4agq y 40 dDy TASK 6000 software reference guide 46 Overview Host functions The Host API provides a control interface for the allocation configuration and execution of Host resources The function prototypes and definitions for this API are contained in these header files e Host control peripherals sp6khostapi h anything that begins with host e UPA calls upa h The host application is developed by linking with the Host API library The library is installed as part of the TASK 6000 development kit and resides in this file InstallDir host nt lib taskhost lib This appendix lists function descriptions alphabetically within the following groups e Standard functions Includes Control and Message APIs e Advanced functions Includes functions you use only in unusual special purpose circumstances You can find a function in this appendix either by locating it alphabetically within its group or by using Table A 1 on the next page which groups like functions together Message API The Message API from the host is substantially the same as from the IOP with the addition of slot numbers to the function arguments 47 TASK 6000 software reference guide Function list Use this table to identify the Host functions you want to use Use the function description later in this appendix to obtain detailed information including syntax and parameter values
80. DLCCloseDriver Function list This appendix lists function descriptions alphabetically You can find a function in this appendix either by locating it alphabetically within its group or by using Table C 1 below which groups like functions together Use this table to identify the HDLC driver functions you want to use Use the function description later in this appendix to obtain detailed information including syntax and parameter values Table C 1 HDLC driver functions Type Function Description Configuration Configures each port and channel of the HDLC controller HDLCInit Initializes the HDLC hardware and software HDLCReset Resets the device and driver HDLCCloseDriver Shuts down the HDLC controller and device driver HDLCClosePort Shuts down an HDLC controller port HDLCConfigPort Specifies the configuration of any HDLC controller port primarily mapping a port s timeslots to data channels HDLCConfigChannel Specifies the configuration of any channel of any HDLC controller port HDLCEnableChannel Enables a channel for operation HDLCDisableChannel Disables all status interrupts and data received from the specified channel HDLCResetChannel Resets the specified channel Packet transmission and reception Queues packets for transmission and to read received packets HDLCSendPacket Sends an HDLC packet on the specified channel HDLCGetPacket Gets an HDLC packet from the driver Sta
81. Dsp UpaApp src include Eciostrc h InstallDir TASK6000 Dsp UpaApp src include Echostrc h InstallDir TASK6000 Dsp UpaApp src include Ecdefine h InstallDir TASK6000 Dsp UpaApp src include Dtmfu h Install Dir TASK6000 Dsp UpaApp src include DspFifo h InstallDir TASK6000 Dsp UpaApp src include defs h InstallDir TASK6000 Dsp UpaApp src include Def h InstallDir TASK6000 Dsp UpaApp src include cpmu h InstallDir TASK6000 Dsp UpaApp src include Cpmdef h InstallDir TASK6000 Dsp UpaApp src include Coder h InstallDir TASK6000 Dsp UpaApp src include BFM Typedef h InstallDir TASK6000 Dsp UpaApp src include BFMBasic_op h InstallDir TASK6000 Dsp UpaApp src include BFMasking h 27 TASK 6000 software reference guide Type Files Sources cont d InstallDir TASK6000 Dsp UpaApp src include basic_op h InstallDir TASK6000 Dsp UpaApp src include Agcvox h InstallDir TASK6000 Dsp UpaApp src R 1 r2mf InstallDir TASK6000 Dsp UpaApp src R 1 r2mf Zrl r2mf c InstallDir TASK6000 Dsp UpaApp src R1r2mf R1 R2TbI h InstallDir TASK6000 Dsp UpaApp src R 1 r2mf R 1 R2Stmchn c InstallDir TASK6000 Dsp UpaApp src R 1 r2mf R 1 r2findkey c InstallDir TASK6000 Dsp UpaApp src msgDbg InstallDir TASK6000 Dsp UpaApp src msgDbg msgDbg c InstallDir TASK6000 Dsp UpaApp src Cpm InstallDir TASK6000 Dsp UpaApp src Cpm Zcpm c InstallDir TASK6000 Dsp UpaApp src Cpm Cpmtbl h InstallDir TASK6000 Dsp UpaApp src NoCoder InstallDir TASK6000 Dsp U paApp src NoCoder ZnoCoder c InstallDir
82. ERROR_ET upDisconnectPktSend RSYS INT32 IUnit RSYS INT32 IChannel Parameters lUnit The DSP unit number 1Channel The DSP virtual channel number Return values UP_SUCCESS Successful completion UP_CONFIG_ERR Configuration error UP INVALID ARG Invalid argument 127 TASK 6000 software reference guide upEnableChannel 128 Enables transmit and receive paths of a specified channel 1Channe1 does not display in messages returned via upGetNWMsg or forwarded to an RTP socket unless the channel is enabled via this function Syntax UP ERROR ET upEnableChannel RSYS INT32 IUnit RSYS INT32 IChannel RSYS INT32 l1TxEnable RSYS INT32 IRxEnable Parameters lUnit The DSP unit number 1Channel The DSP virtual channel number 1TxEnable Controls a channel s transmit path processing TRUE Enables transmit path processing FALSE Disables transmit path processing 1RxEnable Controls a channel s receive path processing TRUE Enables receive path processing FALSE Disables receive path processing Return values UP SUCCESS Successful completion If the function cannot return an error in real time for example the function sends a message to another processor to implement a configuration change the function returns this value indicating that the message was sent properly The processor implementing the function returns one of these values UP EVT CONFIG ERROR UP
83. Elements framer id Specifies a framer port for functions which can operate on any port For more information see T1E1 framer id on page 203 signaling data Reads and writes signaling data For more information see L T1 user signaling data t T1 signaling data on page 213 Appendix D T1 E1 library Structures ElSignalingHandler ElSignalingHandler Type definition for user specified signaling event handler Syntax typedef void ElSignalingHandler t El user signaling data signaling struct Elements signaling struct Reads and writes signaling data For more information see L E1 user signaling data on page 228 229 TASK 6000 software reference guide 230 T8100 library This appendix describes the T8100 driver library This appendix assumes that you have a working understanding of the T8100 device family and of the H 100 H 110 Bus When reading this file online you can immediately view information about any topic by placing the mouse cursor over a test name and clicking For information about Go to this page eT Sones canons secussaesnge angen geaden sandnets anes EE EEST 231 Making and breaking connections cceccecsecsecceeceseeeseceeeeseessenseeeneestaasaaseas 231 Sample startup sequence ccceeseessecseceeeeceeeeeeceeeeeesenscesseeseessessaasseaaeaaeaaes 234 F ncom Ist ie t e od Eee E e eto rea Oe Ge EAR oe 235 Functions 237 Structures 246 Overview
84. EventHandler Sends notification of DSP events upQueryQOSReport Causes the specified DSP to send a Quality of Service report as an UP EVT STATISTICS RPT event upStart Initializes the Universal Port subsystem Message API The Message API from the host is substantially the same as from the IOP with the addition of slot numbers to the function arguments 48 Appendix A Host functions Function list Table A 1 Host functions Function Description upConnectPktSend Creates a data path connection between an RTP or T 38 coder that runs in a channel on a DSP and the IOP s networking hardware upConnectPktRecv Creates a data path from a UDP receive port to an RTP or T 38 decoder that runs on the specified DSP channel upDisconnectPktSend Stops the forwarding of packets from a DSP channel to an IP socket and deallocates all associated IOP and DSP resources upDisconnectPktRecv Stops the forwarding of packets from an IP socket to a DSP channel and de allocates all associated IOP and DSP resources Advanced functions hostGetNWPktBuf Receives network packets from the DSP hostJitterControl Updates jitter control parameters hostReadlop Read from IOP memory hostSendNWPktBuf Sends network packets to the DSP hostSendMsg Sends a message to OP DSP hostSetNW Notify Set user handler for network packets notification hostWritelop Write to IOP memory hostS
85. FB_CT_NETREF2 7 F t_fallback_clk Appendix E T8100 library Structures t netref clk t netref clk Selects the clock reference used to generate the CT NETREF bus clocks Syntax typedef enum NETREF_LOCAL 0 NE F_T1E1_1 1 NETREF_T1E1_2 2 NETREF_T1E1_3 3 NETREF_T1E1_4 4 NETREF_CT_NETREF 5 NETREF_CT_NETREF2 6 t netref clk 249 TASK 6000 software reference guide t T8100ClockConfig 250 Used by the setT8100ClockConfig function to control the clocking of the T8100 Syntax typedef struct t_ref_clkreference_clk_select t_netref_clknetref_select t_fallback_clkfallback_clk_select bool netref_enable bool netref2_enable bool frame_clk_a_enable bool frame_clk_b_enable bool compat_clks_enable boolfallback_enable t T8100ClockConfig Elements reference clk select Selects the primary reference clock for the T8100 The T8100 will lock to this clock under non fallback conditions and generate both its internal references as well as any external clocks based on this clock This clock can be either the on board reference any of the H 100 110 bus clocks or one of the E1 or T1 loop timing clocks P netref select Selects the reference clock for generation of the CT NETREF signal This field selects the reference but does not enable the output fallback clk select Selects the reference
86. ITU T Recommendation G 729 annex A a low complexity version of Coding of speech at 8 kbits s using conjugate structure algebraic code excited linear prediction CS ACELP A silence compression scheme specified by the ITU T Recommendation G 729 annex B A silence compression scheme for G 729 optimized for terminals conforming to ITU T V 70 digital simultaneous voice and data application operates with G 729A coder to reduce transmission rate Line Register Signaling Performs R1 R2 detection for high capacity trunks R1 R2 MF for TMS320C620x DTMF Detector Suppressor Performs DTMF detection and suppression for for TMS320C620x high capacity trunks Tone Generator for Performs general call progress and other telecom TMS320C620x tones generation for high capacity trunks IETF RTP Protocol Performs RTP packetizing depacketizing and jitter buffering as specified by the IETF Request for Comments 1889 1 This algorithm is not part of the TASK 6000 release To purchase this algorithm contact RadiSys as described in About TASK 6000 on page ii SPIRIT boards The RadiSys SPIRIT boards are optimized for telecom OEM applications The SPIRIT family currently includes the RadiSys SP6040E SPIRIT 6040 CompactPCIt board a high performance single board voice gateway designed for telecom and datacom applications Based on Texas Instrumentst devices the SP6040E has a 200MHz DSP engine with a PMC connector that provides eit
87. L function pointer Syntax UINT32 HDLCSetDeviceErrorHandler IN const UINT32 port IN void UserHDLCDeviceErrorHandler UINT32 error_code Parameters port The HDLC controller port UserHDLCDeviceErrorHandler The user function that handles device errors error_code The HDLC error code Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix C HDLC driver library Functions HDLCSetTxErrorHandler HDLCSetTxErrorHandler Specifies the user handler to call when a transmission error occurs To disable this callback the function can be called with a NULL function pointer Syntax UINT32 HDLCSetTxErrorHandler IN const UINT32 port IN void UserHDLCTxErrorHandler UINT32 channel UINT32 status Parameters port The HDLC controller port UserHDLCTxErrorHandler The user function that handles transmission errors channel The HDLC channel status The HDLC channel status Return values SUCCESS Successful completion FAILURE Unsuccessful completion 169 TASK 6000 software reference guide HDLCSetRxErrorHandler 170 Specifies the user handler to call when a message reception error occurs To disable this callback the function can be called with a NULL function pointer Syntax UINT32 HDLCSetRxErrorHandler IN const UINT32 port IN void UserHDLCRxErrorHandler UINT32 channel UINT32 status Parameters port The HDLC controller port Us
88. MD ETtSendCmd RSYS INT321EventFlag UP TIElALARM CONFIG ST E tLedState Controls the display of LEDs for this span tSendCmd Causes the specified state to be sent on the span Set this to enumSendNothing for normal operation lEventFlag Non zero means generate a UP EVT T1E1 ALARM event each time the alarm status of this span changes Since the T1 E1 alarm status is per span rather than per channel the 1channe1 argument is ignored when a function enables disables or configures this service and has no meaning in a received alarm event message UP EVT TIE ALARM UP TIET ALARM DATA ST typedef struct RSYS_UINT32 ulTimeStamp RSYS_UINT32 ulStateWord RSYS_UINT32 ulChangeWord UP_T1E1_ALARM_DATA_ST 279 TASK 6000 software reference guide ulTimeStamp Contains the microsecond timestamp when the status change was detected This timestamp value rolls over at 0x07C1F080 ulStateWord Indicates which bits of ulstateword changed since the last notification ulChangeWord May be interpreted bit by bit according to the following macros provided in iop to t1 h define T1 RX AIS BIT 1 0 bit 0 of Tl status is Rx AIS state define T1 RX YELLOW BIT 1 1 bit 1 of T1 status is Rx yellow alarm state define T1 RX LOS BIT 1 2 bit 2 of T1 status is Rx loss of signal state define T1 RX LOF BIT 1
89. Message API You use these functions to configure UPA to transparently forward packets between an Ethernet interface and an RTP or T 38 transport service that runs on a RadiSys SPIRIT board s DSP upConnectPktSend Creates a data path between an RTP or T 38 coder running on a DSP channel and the IOP s Ethernet driver upConnectPktRecv Creates a data path from a UDP receive socket to an RTP or T 38 decoder running on a DSP channel 104 Appendix B IOP functions Function list Table B 1 IOP functions Function Description upDisconnectPktSend Stops the forwarding of packets from a DSP channel to an IP socket and de allocates all associated IOP and DSP resources upDisconnectPktRecv Stops the forwarding of packets from an IP socket to a DSP channel and de allocates all associated IOP and DSP resources Advanced functions iopGetNWPktBuf Receives the next buffer of packets from the DSP iopJitterControl Updates the IP network buffer control parameters iopSendNWPktBuf Sends network packets to the DSP iopSendMsg Sends a message from the Host to the specified IOP or DSP iopSetNWNotify Sets handler to be invoked for notifying arrival of network packets from the DSP upSetUserMsgHandler MsgHandlerFunc is called whenever a TASK user message is received by the IOP with a msglype not used by UPA 105 TASK 6000 software reference guide getBoardlnfo
90. R 207 t T1 Witney ice pee entere teste e eee rere A yh EYE REEF VER DX Ee UY eva eoa t 208 TI framing TMOG aeree trn EE reae rte seeks ite iai ee EE nere Pesos retentis 209 t TI line buldoUt err Ito eee EE savevddees eonccduvbessuvad theepetevens EREE E N 210 t DLE conhe jo T RR SiS 211 t T1 user signaling data BW mg huir 0 dde esee trente E O EE EXER ENSE cguvereuseeus sadsvorstedeasvacseanasvenseteasuonean 213 t Ti user command data ertet tetra eren ti EYE ETE Gn eee ol eee Re CE nee ESSE TE ia 214 e Sates SUE acc osc 215 t T1 user clear channel data eee eee teeth ree a E aiii 216 CRM n V SR n oe RR 217 t TI user channel config etie pneter erar er sci Pire aei ERU EEEE SE 218 t T1 user raw sipraliip SIPUCE n n otro nere rere ev slehda dav pte aee pea E eR E eret 220 t c 220 TIStatusHHandler 2 o eebue ei Rrreerr E S REGERE VERE ERE YE RE EVE E o EE SEE EE ERRY 221 ESTO tae Handler EEEN Eak 222 t El ie ts Wii a cde ec A re en rere epe eee sabe a ERR EFE HEX eR EET FE EE A E O E 223 t ET simnalitie modes eene nettes tenens tee dies Megs ales EEEE EN aa oi EE aat 224 t El line rito S M 225 NTC Rodi A M 226 SN CO Gur m llc 228 Idae dara Lyco EE 229 Appendix E T8100 library OVERVIEW m 231 Making and breaki
91. RE Unsuccessful completion Appendix A Advanced Host functions hostSetNWNotify hostSetNWNotify Identifies the handler to invoke to notify the arrival of network packets from the DSP The handler must take the DSP number as the argument Syntax void hostSetNWNotify IN void NWNotifyHndir IN long dspNum Parameters NWNotifyHndlr A pointer to the handler that notifies the Host application of the arrival of network packets from the DSP dspNum The number of the DSP from which network packets were sent Return values SUCCESS Successful completion FAILURE Unsuccessful completion 99 TASK 6000 software reference guide hostWritelop 100 Writes to the IOP memory space V Syntax int hostWritelLop UCHAR boardNum long hstSrcAddr long iopDstAddr ULONG uCountW Parameters iopNum The number of the IOP board to write memory from hstSrcAddr A pointer to host buffer you want to write to iopDstAddr The IOP destination address uCountw The number of words to write to the IOP Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix A Advanced Host functions hostSetPollPeriod hostSetPollPeriod Specifies the number of milliseconds that elapse before the host polls all IOPs for received network packets Syntax int HostSetPollPeriod ulong ulPollPeriod Parameters ulPollPeriod The number of milliseconds that elapse before the host polls a
92. Report RSYS INT32 lUnit SYS INT32 lChannel Parameters lUnit The DSP number lChannel The DSP virtual channel number Return values UP_SUCCESS Successful completion If the function cannot return an error in real time for example the function sends a message to another processor to implement a configuration change the function returns this value indicating that the message was sent properly The processor implementing the function returns one of these values UP_EVT_CONFIG_ERROR UP_EVT_STATISTICS_RPT UP_STATISTICS_ST typedef struct RSYS_UINT32 sender packet count RSYS UINT32 sender octet count RSYS UINT32 frac lost RSYS UINT32 cum packet lost count RSYS UINT32 cum late packet count RSYS UINT32 ext hi seq recv RSYS UINT32 interarrival jitter RSYS INT32 1SilencePercentTx RSYS_INT32 lSilencePercentRx RSYS UINT32 recv packet count RSYS UINT32 recv octet count RSYS UINT32 pkt p no pkt count RSYS UINT32 pkt p fifo errl count RSYS UINT32 pkt p fifo err2 count RSYS UINT32 pkt p len err count RSYS UINT32 pkt p ip cksum count RSYS UINT32 pkt p udp cksum count RSYS UINT32 pkt b error count RSYS UINT32 rtp unsupport pt count RSYS UINT32 rtp jb resync count 133 TASK 6000 software reference guide 134 RSYS_UINT32 rtp seq dup count RSYS UINT32 rtp jb full count RSYS UINT32 rtp ssrc change count RSYS UINT32 ulSysCycle RSYS UINT32 ulTh
93. S MAX NICS RSYS UINT32 ulHostIPAddress UP ENABLE F etCommandAck UP ENABLE F etEventForwarding UP LAN CONTROL ET etLanControl UP IOPSYSCONFIG ST aulNICaddress An array element that carries the IP addresses host byte ordered to associate with Ethernet adapters of the installed IOPS The IOP number serves as an index to de reference the two installed Ethernet adapters fei 0 and 1 You can enter one of these 0 for either interface 0 or 1 Indicates that you do not want UPA software to configure the Ethernet adapter and bind an IP address to it Other Causes UPA on the associated IOP to perform a vxWork s usrNetlnit to initialize the adapter and a hostAdd to make a representative hostname to IP address mapping in the host table Appendix A Standard Host functions upStart ulHostIPAddress Identifies the IP Address assigned to each NIC This informs an IOP of its controlling host s IP address An IOP uses this IP address to establish a communication link to the host for event forwarding when either TCP or UDP based control is configured ulHostIPAddress The IP Address of the controlling host etCommandAck A flag that specifies whether UPA acknowledges each UPA command request with an asynchronous notification You can select one of these enumDisabled Commands are issued by an IOP based application enumEnabled A host based application requires positive confirmation of command processing etEve
94. S ier tet IER PP e EEEE ERE EESE ETE REESE ERI IRE EIE 179 Table D 2 Time slot nut bers 14 ierit terree teet tone eee ee eene ea e ho eee e habeo de aea eae ba ood 181 Table D BUST Str uC bes ciiin nter erret etuer eere eee ebbe lee eee reves euer Deoa 201 Table Bde T8100 functions oen entrer te i eere hr ive e P i e E rH Ee E Ren 235 Table E 2 Ire slot AUDEN osanaan iie r aieea en acea nete te e getan ce niega ee RACE adeant 236 Table E 3 T8100 SIEHGEUEES 1c ert eere eee zo bre eene eee ete e eaae ne tene netto ee eye een ee Co Eee nae ca bene LU Yo eda 246 xiv Introducing TASK 6000 software To create the complex applications needed by today s telecom service providers system developers can benefit strongly from a proven software toolkit that abstracts the details of codecs telephony algorithms and network data connections The RadiSys TASK 6000 software provides a powerful set of features that reduce development time without sacrificing flexibility allowing the developer to cost effectively add value at the application level Based on a powerful API with a set of field proven DSP algorithms and high performance packet protocols under the hood TASK forms the core of Media Gateways and other vital telecom applications It takes its name from the underlying RadiSys Telecom Application Specific Kernel that runs on the Digital Signal Processors DSPs and provides the flexible and powerful core of the telephony app
95. SP 0 1DSP lt pstBoardInfo lIOP NumberDSPs 1DSP Load the DSP using the program whose path was specified as an argument to this application mulcoder out UP SUCCESS if hostLoadProg 1DSPOffset lDSP printf nUpaHostApp gt ERROR Failed to load Program s on Global DSP 4 d n mulcoder out lDSPOffset lDSP continue else printf nUpaHostApp gt Program s loaded on Global DSP d n mulcoder out 1DSPOffset 1DSP Try to run the recently loaded DSP if hostRunProg 1lDSPOffset lDSP UP SUCCESS epinb aduasajas 94D 3JOs omn printf nUpaHostApp gt ERROR Unable to Run Program s on Global DSP d n mulcoder out lDSPOffset I1DSP else if WaitForSingleObject ghDspRunning UPA_WAIT_TIMEOUT WAIT OBJECT 0 printf nUpaHostApp gt ERROR DSP d Timed Out when attenpting to run program s n lDSPOffset lDSP mulcoder out else printf nUpaHostApp gt Global DSP d Running program s n 1DSPOffset 1DSP Increment the number of Startup Replies to b xpected glStartReplies tt for 1DSP 0 1DSP lt pstBoardInfo 1lIOP NumberDSPs 1DSP Update the Global DSP offset lDSPOffset pstBoardInfo lIOP NumberDSPs for lIOP 0 1IOP lt lIopCount lIOP Sample code IOP application UpalopApp c Initializing the IOP drive Calling ioplnit if iopIn
96. Standard Host functions hostControlPeripheral CONFIG T8100 CLOCKS A pointer to the structure that specifies the clock the TDM switch uses t_T8100ClockConfig typedef struct t ref clk reference clk select t netref clk netref select t fallback clk allback clk select BOOL32 netref enable BOOL32 netrefZ enable BOOL32 frame clk a enable BOOL32 frame clk b enable BOOL32 compat clks enable BOOL32 fallback enable t T8100ClockConfig reference clk select Specifies the primary clock source to be used by the T8100 netref select Specifies the clock source used by the T8100 to generate its output CT NETREF signal fallback clk select Specifies the fallback clock source used by the T8100 That is the clock used when the primary clock source selected via reference cik select fails netref enable Enables the CT NETREF signal generated by the T8100 onto the CT Bus netref2 enable Enables the CT NETREF 2 signal generated by the T8100 onto the CT Bus framer clk a enable Enables the CT C8 A clock and CT FRAME A frame sync signals generated by the T8100 onto the bus framer clk b enable Enables the CT C8 B clock and CT FRAME B frame sync signals generated by the T8100 onto the bus compat clks enable Enables the MVIP and SCSA compatibilty clock and strobe signals generated by the T8100 onto the bus 5 TASK 6000 software reference guide 52 fallback
97. T defined 289 Index processing modes HDLC 148 protocols Internet Protocol IP 6 PSTN 7 Public Switch Telephone Network PSTN 7 R RadiSys contacting 77 RAM defined 289 Random Access Memory RAM defined 289 README file 7 reflashing defined 289 REPORTBOARDINFO structure 57 requests IRQ defined 288 reset defined 290 rmondb exe 6 router fast packet 5 runtime libraries Host 3 IOP 4 S sample code Host application 36 IOP application 39 services 8 data path 9 stAGC 281 stCodec 260 stCPTDet 268 stEchoCanc 265 stMFDet 270 stPacketBuilder 282 stPacketParser 283 stPktDTMFDet 267 stPktToneGen 265 stRtpDecode 274 stRtpEncode 272 stT1E1Alarm 279 stTdmDTMFDet 266 stTdmToneGen 264 setE1Config 192 setE1Signaling 193 setE1SignalingHandler 200 setT1ChannelConfig 191 setT1ClearChannels 189 setT1 Command 188 setT1Config 186 setT1IdleChannels 190 setT1Signaling 187 setT1SignalingHandler 198 setT1StatusHandler 199 setT8100ClockConfig 238 setT8100ClockFaultMask 243 setT8100Handler 24 5 setT8100StreamConfig 259 setT8100SwitchConfig 240 setting up message handlers on an IOP 31 setting up message handlers on the Host 30 SIMMs symmetrically addressable defined 291 slot defined 7 SP6K BOARD INFO T structure 55 106 sp6k_util exe 6 stAGC 281 startup sequence E1 T1 178 startup sequence T8100 234 stCodec 260 stCPTDet 268 stEchoCanc 263 stMFDet 270 stPacketBuilder 282 stPacketParser 283 stPktDTMFDet 267
98. T2 MFR1_ST3 MF tones for R2 forward signaling by register FR2F1 R2F2 MFR2F3 MFR2F4 MFR2F5 MFR2F6 FR2F7 R2F8 MFR2F9 MFR2F10 MFR2F11 MFR2F12 MF tones for R2 reverse signaling by register FR2R1 R2R2 MFR2R3 MFR2R4 MFR2R5 MFR2R6 FR2R7 R2R8 MFR2R9 MFR2R10 MFR2R11 MFR2R12 FR2R13 MFR2R14 MFR2R15 UP R1R2 TONES ET E F e F F FR2F13 MFR2F14 FR2F15 e F E 270 Appendix F Service descriptions Tone detection stMFDet UP MF DETECTED DATA ET typedef struct RSYS_UINT32 ulTimeStamp UP_R1R2_TONES_ET eTone UP MF DETECTED DATA ST ulTimeStamp Contains the RTP timestamp when the tone or tone pair was detected eTone Contains the enumerated value for the tone or 1 when the end of the tone is detected 271 TASK 6000 software reference guide RTP packetization stRtpEncode Performs RTP Packetization and when used with the stJitterBuf service depacketization The stRTP service accumulates a specified number of codec frames into a payload before wrapping them with an RTP header This service also keeps statistics that an RTCP stack can use to generate Sender Reports Config RTP_HEADER_ST data typedef struct RSYS_UINT32 version RSYS_UINT32 p RSYS_UINT32 x RSYS UINTS2 cc RSYS_UINT32 m RSYS_UINT32 pt RSYS_UINT32 seq RSYS_UINT32 ts RSYS_UINT32 ssrc RSYS UINT32 csrc 15
99. TDM and a packetized form stEchoCanc Tries to remove time delayed versions of a TDM channel s output from its input stream stAGC Provides Automatic Gain Control for TDM input data stTdmDTMFDet Performs DTMF detection on TDM input data stPktDTMFDet Performs DTMF detection on decompressed packet data before it is output to a TDM stream stCPTDet Performs Call Progress Tone detection on TDM input data stMFDet Performs MF Tone detection on TDM input data for R1 or R2 signaling 123 TASK 6000 software reference guide 124 stPktToneGen Generates tones or tone pairs to a TDM output with programmable cadence and cadence count stRtpEncode Performs RTP Packetization and when used with the stJitterBuf service depacketization stRtpDecode Implements both RTP decode functionality and a dynamic jitter buffer that feeds compressed frames to a codec for decompression on a strict schedule regardless of input variations stTdmToneGen Generates tones or tone pairs to a TDM output with programmable cadence and cadence count stT1E1Alarm Notifies the user of an alarm signaled by a T1 or E1 framer and allows control of the LEDs associated with each span stCAS Implements Channel Associated Signaling on T1 and E1 lines which are attached locally to framers control by the I O Processor stPacketBuilder This is an embedded service controlled by the upConnectPktSend function stPacketParser Takes an IP UDP packet f
100. TEEN EE ERR ee ede HERE ERR VETERE REEL EE LE PEE RR EEE EAE EEEa 32 Create data Baltlig ur eret eoe EEEE E eto ERE epe URN ea e EEEO EREEREER 32 Building Hast and TOP applications 5 2 ei Porti ei eth eter re EE E PUE HERE rH Eee hidini oinera iii 33 Naming CONVENTIONS E 34 Host application development uu crc rr Fire nre ere ve exa Ea ee era e ve ERES sr eak 34 IOP application development eee or rette e voie e retos Fever nee ERN te eU Y EE LESE vulval oueecentesaed 34 Special note for TOP applications eee nier eee ede ene ene e euke se eee eee eeu aE 35 Sample code Host application IopAppLoaderc 5 ettet ertet etin eee arant tede das 36 Ioiabzinp the host eve 1e rre rrt nne eee e eee EXER E ERR ESEESE Fe gx eee Reds 36 Setting up message handlers e teret re tree inte ED ERE HE PEE ERE RH Ee NER a e eade Ea 36 Dumas DPA SUCUT rience aeneae eerte eee e ete eee des eteso xen ean ed ua aene ea va cuu 36 Loading and munning applicattoris s ceo oet orte ses rre ie Rete e reuse ER I see e PUE CHE ekaine 37 Retrieving system Inbormatibb sco nere ie er RED ER EEG 37 Loading the Vx Works image on IPS i aaede oem ect err ee eene eh ee err nene e events 37 Waiting tor TOP response uci verre tete Cree eie Pr vere eir cete rao voee rwv uo ERE bn EN PV TEE pu FORE ee Eee 38 Loading dnulcoder ut reor Eee terris Etre Eri ec RR sant SHERI aoe 38 Sample code IOP application UpalopApp t 2 2 eet
101. The T8100 Status and Control API is the interface to the T8100 driver The T8100 driver provides the software interface to the Lucent T8100 Time Slot Interchange device of the SPIRIT platform The driver works under the VxWorks real time OS The driver is not a true VxWorks driver as it is not built as part of the kernel It does use VxWorks system functions and therefore requires the OS The driver controls and monitors the T8100 More specifically the driver supports these devices in the T8100 family e T8100 e T8100A e T8105 The driver consists of e Interrupt handling tools e Function list Making and breaking connections setT8100Switch Config allows the user application to configure switching for one or all timeslots within the T8100 The function s parameter s structure type t T8100SwitchConfig and its associated sub types are defined in iop to t8100 h and were shown above for reference Using this function the user can specify local to local local to CT bus and CT bus to CT bus connections 231 TASK 6000 software reference guide Connections are specified with a source input and destination output for the connection Sources and destinations are specified in terms of resources DSP T1 E1 HDLC CT Bus etc ports within those resources for multiple port devices and timeslot numbers The range of timeslot values varies based on the stream rate for that resource s port Due to the T8100 s limited n
102. The lower nibble identifies the type of T810x installed The upper nibble identifies the type of option card if any installed board_type Specifies the board type You can select one of these Single Dual Quad error_code Error code storage for IOPDRV dsp_infol MAX_DSPS DSP POST results and memory sizes Return values SUCCESS Successful completion FAILURE Unsuccessful completion 107 TASK 6000 software reference guide iopControlPeripheral Configures specified peripheral Syntax int iopControlPeripheral IN int peripheral IN int cmd IN t_configArg pArg Parameters peripheral The peripheral You can select one of these values TASK E1 TASK T1 TASK T8100 cmd Command to send to the peripheral You can use one of these values CONFIG E1 Instructs the framer to use E1 line protocol CONFIG T1 Instructs the framer to use T1 line protocol CONFIG T8100 DEFAULT Reserved CONFIG T8100 SWITCHING A pointer to the structure that specifies T8100 switching t T8100SwitchConfig structure typedef struct ulong number_of_connections t_T8100Connection connections t T8100SwitchConfig number of connections The number of T8100 connections to be made The maximum connections per call is 256 connections Pointer to a list that contains number of connections connections CONFIG T8100 CLOCKS A pointer to the structure that specifies the clock the TDM switch uses 108 Appe
103. TimeStamp Contains the RTP timestamp when the digit was detected lDigit Contains the ASCII code for the digit detected 0 9 A D or zero when tone detection ends 267 TASK 6000 software reference guide stCPTDet Config data Events 268 Performs Call Progress Tone detection on TDM input data It generates UP EVT CPT DETECTED events to alert the application of the call progress indication detected UP CPT CONFIG ST typedef struct RSYS INT32 lLowSigThreshold RSYS UINT32 ulDetFlags j UP CPT CONFIG ST lLowSigThreshold Absolute low signal threshold ulDetFlags A bit field that designates which call progress tones are detected In this field tone 0 detection is enabled by bit 0 tone 1 by bit 1 etc Set this field to Oxffffffff to enable all 32 possible tone cadence detections though only 22 are currently defined See UP CPM TONES ET in section 3 4 3 1 for the tone number definitions CPT s initial version has a fixed ILowSigThreshold value this flag currently has no effect UP EVT CPT DETECTED UP CPT DETECTED DATA ST typedef enum enumCptDial 0 Oth combination 350 440Hz dial tone enumCptRecallDial 1 1st combination 350 440Hz Recall Dial tone enumCptConfirm 2 2nd combination 350 440Hz Conformation tone enumCptStutterDial 3 3rd combination 350 440Hz Stutter Dial tone enumCptBusy 4 4th combination 480 620Hz Busy tone enumCptReorder
104. ULL Set up an automatically resettable event signalled when an individual DSP runs hDspRunning CreateEvent NULL FALSE FALSE NULL emset amp stlIopConfig int NULL sizeof UP IOPSYSCONFIG ST t lopConfig etCommandAck enumEnabled tlopConfig etEventForwarding enumEnabled t lopConfig etLanControl enumNoLanControl m S S S Initi c EN e alizing UPA structures all Up Start and pass any IOP Initialization code that may have been provided f upStart amp stlopConfig UP SUCCESS printf nUpaHostApp gt ERROR Unable to Start UPA n lse if ilOPS printf nUpaHostApp gt UPA started with No Ethernet Adapters Initialized opinb o2uo49J2J 94D 3JoOs d LE Loading and running applications Retrieving system information Get the System Information and Load and Run IOPs hostGetSystemInfo amp llopCount amp lDspCount amp pstBoardInfo printf nUpaHostApp gt System Information d IOP s Installed d DSPs Installed n lIopCount lDspCount Loading the VxWorks image on IOPs if pstBoardInfo lIOP DeviceState HS DEVICE NORMAL if hostLoadIop lIOP vxworks SUCCESS printf NnUpaHostApp gt ERROR Unable to Load Program s on IOP d n VxWorks lIOP continue else printf nUpaHostApp gt Program s loaded on IOP d n VxWorks lIOP The board is
105. UP PREALLOC PORT START UP MAX RTP PORTS defined as 6000 6999 in upa h and must be even 119 TASK 6000 software reference guide 120 ulReceivePort The 16 bit port number of the socket which receives the packets You can use one of these values 0 An appropriate port number is chosen from the range of UP PREALLOC PORT START through UP PREALLOC PORT START UP PREALLOC RTP PORTS defined as 5000 5999 in upa h and returned via an event Other The number must fall in the range of UP PREALLOC PORT START UP PREALLOC RTP PORTS through UP PREALLOC PORT START UP MAX RTP PORTS defined as 6000 6999 in upa h and must be an even number ulInterface The unit number of the Ethernet interface on which to send packets Return values UP_SUCCESS Successful completion If the function cannot return an error in real time for example the function sends a message to another processor to implement a configuration change the function returns this value indicating that the message was sent properly The processor implementing the function returns one of these values UP_EVT_CONFIG_ERROR UP_EVT_CONNECT_RECV UP_EVT_PORT_ASSIGNED UP_CONFIG_ERR Configuration error UP INVALID ARG Invalid argument UP DSP ERR DSP channel assignment error fast packet Appendix B Standard IOP functions upConnectPktSend upConnectPktSend Creates a data path between an RTP or T 38 coder running on a DSP channel and th
106. You can select one of these TRUE Disables transmission of the idle code on the selected channel Do not set both this field and enab1e idie code to this value FALSE If both this field and enable_idle_code contain this value transmission remains at its previous state enable clear channel You can select one of these TRUE Configures the channel for eith 64Kbps clear channel or 56Kbps non clear channel Do not set both this field and disable clear channel to this value 218 Appendix D T1 E1 library Structures t Tl user channel config FALSE If both this field and disable clear channel contain this value the channel s clear not clear configuration remains at Its previous state disable clear channel You can select one of these TRUE Configures the channel for eith 64Kbps clear channel or 56Kbps non clear channel Do not set both this field and enab1e ciear channel to this value FALSE If both this field and disable clear channel contain this value the channel s clear not clear configuration remains at Its previous state update supervision You can select one of these TRUE Specifies the transmitted robbed bit signaling bits supervision bits by changing the ABCD bit values specified in X signaling bit Do not set both this field and enab1e ciear channel to this value FALSE Supervision for the selected channel remains unchanged x signaling bit You can select one of these TRUE
107. _enable Enables clock fallback When a clock error occurs on the current clock reference the T8100 will fall back to fallback_clk_select CONFIG_T8100_STREAMS A pointer to the structure that specifies the T8100 stream parameters t_T8100StreamConfig structure typedef struct t_stream_rate dsp_bsp0_rate t_stream_rate dsp bspl rate t stream rate eltl rate t stream rate ct bus 03 00 rate t stream rate ct bus 07 04 rate t stream rate ct bus 11 08 rate t stream rate ct bus 15 12 rate t stream rate ct bus 19 16 rate t stream rate ct bus 23 20 rate t stream rate ct bus 27 24 rate t stream rate ct bus 31 28 rate t T8100StreamConfig dsp bspO0 rate Specifies the TDM stream rate for Buffered Serial Port 0 of the DSPs Currently this value must be the same as dsp bsp rate dsp bspl rate Specifies the TDM stream rate for Buffered Serial Port 1 of the DSPs This value must be the same as dsp bspO rate eitl rate Specifies the TDM stream rate for the E1 T1 framers Under most conditions this rate should be 2MHz ct bus 03 00 rate Specifies the TDM stream rate for CT bus streams 0 through 3 ct bus 07 04 rate Specifies the TDM stream rate for CT bus streams 4 through 7 ct bus 11 08 rate Specifies the TDM stream rate for CT bus streams 8 through 11 ct bus 15 12 rate Specifies the TDM stream rate for CT bus streams 12 through 15 ct bus 19 16 rate Appendix A Standard Host func
108. able in InstallDir TASK6000 Iop VxWorks IOP application development 34 The application IopAppLoader exe located in InstallDir TASK6000 Examples Upa UpalopApp loads the bootable image with the filename vxworks to the IOP The library files required to make a bootable VxWorks image are available under InstallDir Tornado2 target config sp6k A sample makefile is provided along with the example application UpalopApp The sample Makefile provides example build and clean clauses for the example application The installation CD extracts into the system a set of files meant to be under the Tornado distribution directory The default setup expected from the installation system is that Tornado is installed in the C drive and the Tornado2 directory path is C Tornado2 The installation CD extracts files into this directory assuming that this directory already exists If this directory is located in another location say for example D install the software with destination directory as D instead of C This ensures that the Tornado files from the CD are extracted to the right directory If you cannot select a directory such that the Tornado files are extracted in the same path as the Tornado distribution files you should manually copy these files from the installation directory into the Tornado distribution directory Copy all the files under InstallDir Tornado2 to TornadoDir Tornado2 Change the makefiles such that PACE PATH poi
109. al RSYS INT32 lUnit UP SERVICE ET eService UP GLOBALCONFIGDATA UT putConfigGlobal Parameters lUnit service Specifies e For most services the DSP unit number e For IOP based services such as stCAS the framer unit number Identifies the service you want to configure stCodec Converts voice fax or modem data between TDM and a packetized form stEchoCanc Tries to remove time delayed versions of a TDM channel s output from its input stream stAGC Provides Automatic Gain Control for TDM input data stTdmDTMFDet Performs DTMF detection on TDM input data stPktDTMFDet Performs DTMF detection on decompressed packet data before it is output to a TDM stream stCPTDet Performs Call Progress Tone detection on TDM input data stMFDet Performs MF Tone detection on TDM input data for R1 or R2 signaling stPktToneGen Generates tones or tone pairs to a TDM output with programmable cadence and cadence count stRtpEncode Performs RTP Packetization and when used with the stJitterBuf service depacketization Appendix B Standard IOP functions upConfigServiceGlobal stRtpDecode Implements both RTP decode functionality and a dynamic jitter buffer that feeds compressed frames to a codec for decompression on a strict schedule regardless of input variations stTdmToneGen Generates tones or tone pairs to a TDM output with programmable cadence and cadence count stT1E1Alarm Notifies the u
110. am connected to BSP 0 of each DSP are disabled In general the following must hold true 8 TSpit1 4 TSpsppspi 4 TSpsppspo lt 1024 Where e TSE1T1 is the number of timeslots for the E1T1 streams TS DSPBSP1 is the number of timeslots for the DSP BSP1 streams e TS DSPBSPO is the number of timeslots for the DSP BSPO streams 2 048MHz rate 32 timeslots 4 096MHz rate 64 timeslots 8 192MHz rate 128 timeslots e When a group is disabled via the DISABLE GROUP command its rate is still considered to be 2 048MHz although the T8100 s output for that group is disabled list of all possible TDM resources on a SPIRIT board define T8100 DSPO define T8100 T11 define T8100 E12 define T8100 HDLC3 define T8100 CODECA define T8100 CT BUS5 define T8100 CT BUS DISCONNECT6 define T8100 LOCAL DISCONNECT7 define T8100 PATTERN8 constants used to specify DSP and it serial port in the port field of the t source dest structure define T8100 DSP A SP 0 0x0 DSP A 0 Serial port 0 define T8100 DSP A SP 1 Ox1 DSP A 0 Serial port 1 define T8100 DSP B SP O0 0x4 DSP B 1 Serial port 0 define T8100 DSP B SP 1 0x5 DSP B 1 Serial port 1 define T8100 DSP C SP 0 0x8 DSP C 2 Serial port 0 define T8100 DSP C SP 1 0x9 DSP C 2 Serial port 1 define T8100 DSP D SP 0 OxC DSP D 3 Serial port 0 define T
111. ammed only once and this operation is normally performed at the factory Thereafter information can be read from the memory indefinitely The process of replacing a BIOS image in binary format in the flash boot device 289 TASK 6000 software reference guide Register Reset RS 232 RAS RTOS Sample rate generator SBSRAM Serial Port SF Shadow Memory SODIMM Standoff SRAM 290 An area typically inside the microprocessor where data addresses instruction codes and information on the status on various microprocessor operations are stored Different types of registers store different types of information A signal delivered to the microprocessor by the control bus which causes a halt to internal processing and resets most CPU registers to 0 The CPU then jumps to a starting address vector to begin the boot process A popular asynchronous bi directional serial communication protocol Among other things the RS 232 standard defines the interface cabling and electrical characteristics and the pin arrangement for cable connectors Row Address Strobe An input signal to an internal DRAM latch register specifying the row at which to read or write data The DRAM requires a row address and a column address to define a memory address Since both parts of the address are applied at the same DRAM inputs use of row addresses and column addresses in a multiplexed array allows use of half as many pins to defi
112. andlers on page 36 Initialize UPA structures The host application initializes UPA structures on the host and informs the IOP of its IP address as shown in Initializing UPA structures on page 36 Load and run applications 30 The host application retrieves system information such as the number of boards plugged into the system and the specifics of each board For sample code see Loading and running applications on page 37 The VxWorks image resides in a file on the host The host application loads each IOP with the same image For sample code see Loading tbe Vx Works image on IOPs on page 37 The HOST waits for an indication from each IOP that it is running as shown in Waiting for IOP response on page 38 Finally the host loads the DSP image mulcoder out to each DSP sends a command to DSP to start the image and waits until it receives feedback from DSP that it is running For sample code see Loading mulcoder out on page 38 Chapter 4 Developing Host and IOP applications Developing the IOP application UpalopApp c The entry point for our sample IOP application is the function idiag Initialize the IOP driver idiag initializes the IOP driver by calling iopInit which creates message queues sets interrupt vectors and so on as shown in Calling iopInit on page 39 The upStart function initializes UPA structures on the IOP as shown in Calling upStart on page 39 The IOP application then configures th
113. ansferring data into or out of the system Glossary PHY PLL Physical Address Pinout PMC POST PQFP Program PSTN R1 R2 ROM Reflashing Physical Layer An ATM layer whose functionality loosely corresponds to the OSI physical layer Layer 1 ATM Physical Layer functionality includes the Physical Medium sublayer PM and the Transmission Convergence TC sublayer Phase Locked Loop A semiconductor device which functions as an electronic feedback control system to maintain a closely regulated output frequency from an unregulated input frequency The typical PLL consists of an internal phase comparator or detector a low pass filter and a voltage controlled oscillator which function together to capture and lock onto an input frequency When locked onto the input frequency the PLL can maintain a stable regulated output frequency within bounds despite frequency variance at the input The address or location in memory where data is stored before it is moved as memory remapping occurs The physical address is that which appears on the computer s address bus when the CPU requests data from a memory address When remapping occurs the data can be moved to a different memory location or logical address A diagram or table describing the location and function of pins on an electrical connector PCI Mezzanine Card A new standard form factor for PCI add in modules PMCs mate with their respective connectors on
114. ard the port corresponds to the framer Specifies the connection s port number For example CT Bus DSP T1 or HDLC Specifies the connection s timeslot number The maximum value for this field is a function of the stream rate selected ctbus connect num Used for CT Bus connection only and is described in the Making and Breaking Connections section Appendix E T8100 library Structures t T8100Connection t T8100Connection Specifies a single connection Syntax typedef struct t_source_dest connect_src t source dest connect dest t T8100Connection Elements connect src The connection s source connect dest The connection s destination 257 TASK 6000 software reference guide t T8100SwitchConfig 258 Specifies a series one or more connections to make or break Syntax typedef struct ulongnumber_of_connections t_T8100Connection connections t T8100SwitchConfig Elements number of connections Indicates the total number of connections to be made or broken The maximum value is 512 256 for T8100 and T8100A but is further limited by the maximum number of connections supported by the device connections A pointer to number of connections number of connections each of type t T8100Connection Each of these connections is made up of a connect src and connect dest Each connect src and connect dest is in turn made up of a mode resource port timeslot and ctbus connect nu
115. ariations stTdmToneGen Generates tones or tone pairs to a TDM output with programmable cadence and cadence count stT1E1Alarm Notifies the user of an alarm signaled by a T1 or E1 framer and allows control of the LEDs associated with each span stCAS Implements Channel Associated Signaling on T1 and E1 lines which are attached locally to framers control by the I O Processor stPacketBuilder This is an embedded service controlled by the upConnectPktSend function stPacketParser Takes an IP UDP packet from the Ethernet gt DSP FIFO checksums headers and data as appropriate strips headers and passes the payload to the next module usually stRtpDecode or stT38 in TASK2 stEthernetAlarm Detects Ethernet Link status changes and generates UP EVT ETHERNET ALARM events which notify a user application of the change stQDSOHdlc Concatenates four sub rate HDLC channels into a full DSO For detailed information about TASK services see Appendix F Service descriptions A pointer to the configuration data structure UP GLOBALCONFIGDATA UT structure typedef union UP DSPINITCONFIG ST tInitData UP GLOBALCONFIGDATA UT This structure is currently only used by UPA initialization code Return values UP SUCCESS Successful completion If the function cannot return an error in real time for example the function sends a message to another processor to implement a configuration change the function returns this value
116. arte UOTA y ener Ert eene roter erp aede evade Eo e Eee HERR t 4 Vx Works t based libraty 4 nione tet erre EI ee sidi Edo esse tiat 4 Peripheral device driver libraries iei e erhebt e Ever EXER EVER EE ENTRE REEF ER E RED ER 5 DSPappiggbtOR erede vasa cass eret re rae Pe e saps Presse e reete dvs vadenaxecesianss ceed tees eva ey iae Rer PERDE 6 poni m ee 6 EBEN tuere tive ite ann ip e rir DE 6 SEETI aTe P eo E 6 aa ETE a E E E E EEEE E E S 6 Internet Protocol Pi srice iien e E E aE NE a r E EEE 6 Public Switched Telephone Network PS EIN eee tectae eerte eren tope reap treten eee tutae 7 Application Programming Interface API ienelen ceste tse eter ee Pee E eae ae Ouse Ho PEE PEE ots 7 Ql m T E E E A 7 DETVICES RR 8 Inter processor communicatlOn seo eeeeses eoe eve rone e ee ee pase ev E EEEE EEEE EEEE SSES EEKEREN EEA 10 Chapter 3 Installing and configuring TASK 6000 software Reguirements e EUER 13 B tore Vou DBEU cis ere repere edere ehe ene eet oer qae nee aue Red erae aee Pea eR REN EXER Ee e EER EENEN EEEa aaie 13 Rianne the install program i aderire teh tt Erb nee E e ERES HER PRETI PEE EH RR Ree TER eS Eia 14 LUninselling TASK SOININ enero eemper te ids ree eur Poe terio ent e ive E ORE dv ERE 17 Automatic uninstall izeconimienued ui eise seeetusciieeeececi nier rater trn eret coder c EE vre ue REDE Y
117. ased on service type for a specific channel Also enables the service after configuration V Enabling the stCodec service disables the st dmToneGen and stPktToneGen services For descriptions of available services see Appendix F Service descriptions Syntax UP ERROR T upConfigService RSYS INT32 I1Slot RSYS INT32 lUnit RSYS INT32 IChannel UP SERVICE ET eService UP CONFIG SVC MSG UT puCfg Parameters 1Slot The resource card unit number lUnit Specifies e For most services the DSP unit number e For IOP based services such as stCAS the framer unit number lChannel Specifies e For most services the virtual channel number e For IOP based services such as stCAS the timeslot number eService Identifies the service you want to configure stCodec Converts voice fax or modem data between TDM and a packetized form stEchoCanc Tries to remove time delayed versions of a TDM channel s output from its input stream stAGC Provides Automatic Gain Control for TDM input data stTdmDTMFDet Performs DTMF detection on TDM input data stPktDTMFDet Performs DTMF detection on decompressed packet data before it is output to a TDM stream stCPTDet Performs Call Progress Tone detection on TDM input data stMFDet Performs MF Tone detection on TDM input data for R1 or R2 signaling stPktToneGen 69 TASK 6000 software reference guide 70 puCfg Generates
118. ce applications where only a few digital trunks are installed Digital Signal Cross connect Level 1 The set of parameters for cross connecting DS 1 lines Glossary DTMF EEPROM EDO ESF Flash Memory Flash Recovery Flash Update FPM FPGA Framers GB or GByte Hang HDLC Header IMI Dual Tone Multi Frequency Push button or Touchtone dialing where touching a button on a push button pad makes two tones one high frequency and one low frequency Electrically Erasable Programmable ROM EPROMSs that can be erased electrically as compared to other erasing methods Extended Data Out A type of DRAM that allows higher memory system performance since the data pins are still driven when CAS is de asserted This allows the next DRAM address to be presented to the device sooner than with Fast Page Mode DRAM Extended Super Frame or Extended Superframe Format A T 1 format that uses the 193rd bit as a framing bit ESF provides frame synchronization cyclic redundancy checking and data link bits Frames consist of 24 bits instead of the previous standard 12 bits as in the D4 format The standard allows error information to be stored and retrieved easily facilitating network performance monitoring and maintenance A fast EEPROM semiconductor memory typically used to store firmware such as the computer BIOS Flash memory also finds general application where a semiconductor non volatile storage device is re
119. ce channels with Q DSO channel groups This service enforces the reservation and checks that the first channel within the grouping ulChannel is a factor of 4 e g 16 20 24 28 There are no data structures associated with this service There are no events associated with this service 277 TASK 6000 software reference guide Alarming stEthernetAlarm Config data Events 278 Detects Ethernet Link status changes and generates UP EVT ETHERNET ALARM events which notify a user application of the change A UP EVT ETHERNET ALARM event with a link status of enumEthernetUp is emitted when the Ethernet Adapter is in an active state and detects a valid LAN connection This state occurs when the Ethernet Adapter is first initialized when connected to a network or after initialization following reconnection to the network A UP EVT ETHERNET ALARM event with a link status of enumEthernetDown is also emitted when the Ethernet Adapter becomes inactive or is disconnected from the network There are no data structures associated with this service UP EVT ETHERNET ALARM UP ETHERNET ALARM DATA ST A structure type passed in a UP EVT ETHERNET ALARM event containing state change information associated with a specific adapter located on a specific IOP typedef enum numEthernetUp 1 This ethernet link is available enumEthernetDown This ethernet link is unavailable UP ETHERNET ALARM ET
120. ce guide Tone generation stldmToneGen Config data Events 264 Generates tones or tone pairs to a TDM output with programmable cadence and cadence count While a cadence is in progress this service overrides the decompression side of any codec concurrently enabled on the same channel Once the cadence ends the channel automatically reverts to the codec output UP_TONEGEN_CONFIG ST typedef struct RSYS INT32 lFreqgl RSYS INT32 lFreg2 RSYS INT32 lAmplitudedBl RSYS INT32 lAmplitudedBZ2 RSYS INT32 lCadenceOn RSYS INT32 lCadenceOff RSYS INT32 lRepeat UP TONEGEN CONFIG ST lFregi The primary tone s frequency in Hz lFreq2 The secondary tone s frequency in Hz or zero if no secondary tone is required lAmplitudedB1 and 1AamplitudedB2 Each tone s amplitude If both tones are used the total amplitude is the sum of the two individual amplitudes lCadenceOn The tone or tone pair s on time in ms This number is rounded up to the nearest frame i e 30ms cadenceon 0 means leave the tone on forever or until the tone generator is reconfigured or disabled lCadenceOff The tone or tone pair s off time in ms rounded up to the nearest frame iRepeat The number of times to repeat the cadence 1 means repeat forever There are no events associated with this service Appendix F Service descriptions Tone generation stPktToneGen stPktToneGen Config data Events Generates tones
121. chapter explains how the TASK 6000 software components and interfaces work together to provide the tools you need to create and run telephony applications When reading this file online you can immediately view information about any topic by placing the mouse cursor over a topic name and clicking For information about Go to this page COMPONEN TETTE TCR DOO DL DERE 3 TASK Pest ranime DROVE s b eeu b a ui e AA 3 TAS IOP runtime IDEO V sso euriox e uera F ORT n aer e AE ER ARRA Ma BRI RR 4 B TESTED DL 6 aiara S TRO OCDE ERE 6 Internet Peotocol IP ooi eorr toic tu tre etie net b recibe boo cUet tob E OE 6 Public Switched Telephone Network PSTN ccccccsesessesseseseeecceceeeeeeeeeneaenes 7 Application Programming Interface API sess 7 Components The TASK 6000 software architecture comprises several interdependent components a Host Run Time Library an IOP Run Time Library and a standard DSP application The following sections describe these components TASK Host runtime library User Host application components interface to TASK through the Host runtime library This comprises a static library linked to the Host application and a Win32 DLL Dynamic Linked Library which implements the functions of the API Application Programming Interface For information about the Host API and functions including syntax and parameter values see Appendix A Host functions taskhost dll The taskhost dll
122. cket it copies the data to the user s space and frees the receive descriptor and buffer As in the transmit case the callbacks occur in the interrupt task context Since the HDLC controller user I O processor memory for all its structures memory bus and PCI bandwidth is also a consideration This topic is discussed in detail in the device datasheets and user s manuals Sample HDLC driver sequence 150 Initialize the device and driver KJ LCInit Set device wide event handler HDLCSetDeviceErrorHandler x Setup port wide event handlers LCSetTxPacketHandler LCSetRxPacketHandler CSet TxErrorHandler CSetRxErrorHandler o u g g Configure the port s Called for each port to be used UJ LCConfigPort Configure the channel s Called for each channel of each port to be used J LCConfigChannel Enable the channel s Called for each channel of each port to be used HDLCEnableChannel Channels are now enabled for transmission and reception of packets Appendix C HDLC driver library Processing packet transmission and reception Transmit packets using HDLCSendPacket Receive packets using HDLCGetPacket This function may be used to poll for receipt of a packet or may be called in the user supplied callback function Close the driver before exiting the application H
123. clock to which the T8100 will switch when an error is detected on the signal used as the reference_clk_select Fallback must be enabled for this to occur netref_enable Determines whether the T8100 s CT_NETREF output goes onto the H 100 110 bus You can select one of these TRUE CT_NETREF output goes onto the H 100 110 bus FALSE CT NETREF output does not go onto the H 100 110 bus netref2 enable Determines whether the T8100 s CT NETREF 2 output goes onto the H 100 110 bus You can select one of these TRUE CT NETREF 2 is available only for H 110 applications FALSE CT NETREF 2 is not available for H 110 applications Appendix E T8100 library Structures t T8100ClockConfig frame clk a enable Determines whether the T8100 s CT C8 Aand CT FRAME A outputs go onto the H 100 110 bus You can select one of these TRUE FALSE frame clk b enable CT C8 A and CT FRAME A output goes onto the H 100 110 bus CT C8 A and CT FRAME A output does not go onto the H 100 110 bus Determines whether the T8100 s CT C8 B and CT FRAME P outputs go onto the H 100 110 bus You can select one of these TRUE FALSE compat clks enable CT C8 B and CT FRAME B output goes onto the H 100 110 bus CT C8 B and CT FRAME B output does not go onto the H 100 110 bus Determines whether the T8100 s compatibility clocks and frame strobes go onto the H 100 110 bus These signals include FR COMP SCLK SCLKx2 C2
124. clocks to drive onto the bus This function is typically called first following init T8100 Syntax void setT8100ClockConfig IN const t T8100ClockConfig T8100ClockConfig Parameters T8100ClockConfig A pointer to the t T8100ClockConfig structure For more information about this structure see t_T8100ClockConfig on page 250 Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix E T8100 library Functions setT8100StreamConfig setT8100StreamConfig Sets the T8100 s stream rates You can configure stream rates for the three on board stream groups as well as the CT Bus The 32 streams of the CT Bus are broken up into eight groups of four streams each Each group can be independently configured Available rates include e 8 192MHz e 4 096MHz e 2 048MHz e OMHZz off Call this function prior to making timeslots connections Changing stream rates results in reconfiguration of T8100 internal switch memory and may result in undesired connectivity Syntax void setT8100StreamConfig IN const t T8100StreamConfig T8100StreamConfig Parameters T8100StreamConfig A pointer to the t T8100StreamConfig structure For more information about this structure see t_T8100StreamConfig on page 253 Return values SUCCESS Successful completion FAILURE Unsuccessful completion 239 TASK 6000 software reference guide setT8100SwitchConfig 240 Sets the T8100 s switching The func
125. components that you select Select this option to add components not selected during the original install The install program copies any duplicate file a file with the same name and path as a file to install to the installation directory s BACKUP folder Exit The install program exits without installing TASK software If you selected either of the first two options the install program displays a welcome screen followed by the TASK software license agreement Chapter 3 Installing and configuring TASK 6000 software 4 Read the agreement then select one of these e Agree Selecting this option means you accept the terms of the software license agreement The install program continues e Cancel Selecting this option means you do not accept the terms of the software license agreement The install program exits If you agreed with the software licensing agreement the install program prompts you to identify a destination or installation directory 5 Select a destination directory for TASK software files then click the Next button The default is CA Makefiles for Host and IOP development assume that the installation directory is C When you choose C as the installation directory the install program extracts certain files into the C Tornado2 directory It is assumed that the Tornado software is also installed under InstallDir Tornado 2 directory such that the files from the CD ROM are extracted into the Tornado instal
126. configuration for a framer port Syntax typedef struct t TIEl1 framer id framer id t T1 line coding line coding t Tl framing mode framing mode t T1 line build out line build out uchar idle code ulong idle channels BOOL32 payload loopback enable BOOL32 framer loopback enable BOOL32 local loopback enable BOOL32 remote loopback enable BOOL32 robbed bit signaling enable t T1 user config struct Elements framer id Specifies a framer port for functions which can operate on any port For more information see T1E1 framer id on page 203 line coding Specifies the line coding for a framer port For more information see t T1 line coding on page 208 framing mode Specifies the line framing for a framer port For more information see t T1 framing mode on page 209 line build out Specifies the line buildout for a framer port For more information see t T1 line buildout on page 210 idle code Specifies the pattern to inject into transmitted data idle channels The lower 24 bits specify the channels to inject the pattern specified in idle code Into A 1 in any bit indicates that the pattern is to be injected Bit 0 is associated with the first DSO of the DS1 line while bit 23 is associated with the last DSO payload loopback enable Instructs the framer to perform a line side loopback Setting any field to TRUE enables the loopback framer loopback enable Instructs the framer to
127. connections for the Local to Local and CT Bus cases Example 1 Local to local broadcast 1 local timeslot T1 port 0 timeslot 0 to 4 local timeslots DSP A port 0 timeslots 0 3 configStruct t8100SwitchCfg number of connections 4 configStruct t8100SwitchCfg connections ptr to connection array t T8100Connection connections for i 0 1 lt 4 1i connections i connect src resource T8100_T1 connections i connect src port 0 connections i connect src timeslot 0 fixed connections i connect dest resource T8100 DSP connections i connect dest port T8100 DSP A SP 0 connections i connect dest timeslot i incrementing ctbus connect num field for local local connections is not used hostControlPeripheral ulopNum TASK T8100 CONFIG T8100 SWITCHING amp configStruct Example 2 Local to CT Bus broadcast 1 local timeslot T1 port 0 timeslot 0 to applies to cases 2 3 and 4 4 CT Bus timeslots Stream 5 timeslots 0 3 configStruct t8100SwitchCfg number of connections 4 configStruct t8100SwitchCfg connections ptr to connection array t T8100Connection connections for i 0 i lt 4 i connections i connect src resource T8100 T1 connections i connect src port 0 connections i connect src timeslot 0 fixed connections i connect src ctbus connect num 0 fixed connections i connect dest resource T8100 CT BUS connections i
128. ction sends a message to another processor to implement a configuration change the function returns this value indicating that the message was sent properly The processor implementing the function returns one of these values UP_EVT_CONFIG_ERROR UP_EVT_CONNECT_SEND UP_FAILURE General failure UP INVALID ARG Invalid argument Appendix B Standard IOP functions upDisableService upDisableService Disables a specified service based on service type for a specific channel Services not dependent on this service are not be affected Major services codecs echo canceller when disabled this way consume no DSP resources Minor services tone detectors and generators etc still load but don t run reducing their resource load to a minimum but not zero Y Enabling the stCodec service disables the stTdmToneGen and stPktToneGen services For descriptions of available services see Appendix F Service descriptions Syntax UP ERROR ET upDisableService RSYS INT32 1Unit RSYS INT32 IChannel UP SERVICE ET eService Parameters lUnit Specifies e For most services the DSP unit number e For IOP based services such as stCAS the framer unit number lChannel Specifies e For most services the virtual channel number e For IOP based services such as stCAS the timeslot number eService Identifies the service you want to disable stCodec Converts voice fax or modem data between
129. ctrically connect pairs of the pins By electrically connecting different pins a circuit board can be configured to function in predictable ways to suit different applications Kilobyte Approximately one thousand bytes 219 1024 bytes exactly Line Interface Unit The memory mapped location of a segment after application of the address offset to the physical address Media Access Controller A media specific access control protocol within IEEE 802 specifications for the lower half of the data link layer layer 2 that defines topology dependent access control protocols for IEEE LAN specifications Megabyte Approximately one million bytes 2 20 1 048 576 bytes exactly A designated system area to which data can be stored and from which data can be retrieved A typical computer system has more than one memory area Copying information from an extension ROM into DRAM and accessing it in this alternate memory location The difference in location of memory mapped data between the physical address and the logical address Programmable Array Logic A semiconductor programmable ROM which accepts customized logic gate programming to produce a desired sum of products output function Peripheral Component Interconnect A popular microcomputer bus standard used extensively in personal computer architecture This 32 bit local bus used inside PCs was designed by Intel An external device connected to the system for the purpose of tr
130. d a packetized form stEchoCanc Tries to remove time delayed versions of a TDM channel s output from its input stream stAGC Provides Automatic Gain Control for TDM input data stTdmDTMFDet Performs DTMF detection on TDM input data stPktDTMFDet Performs DTMF detection on decompressed packet data before it is output to a TDM stream stCPTDet Performs Call Progress Tone detection on TDM input data stMFDet Performs MF Tone detection on TDM input data for R1 or 79 TASK 6000 software reference guide R2 signaling stPktToneGen Generates tones or tone pairs to a TDM output with programmable cadence and cadence count stRtpEncode Performs RTP Packetization and when used with the stJitterBuf service depacketization stRtpDecode Implements both RTP decode functionality and a dynamic jitter buffer that feeds compressed frames to a codec for decompression on a strict schedule regardless of input variations stTdmToneGen Generates tones or tone pairs to a TDM output with programmable cadence and cadence count stT1E1Alarm Notifies the user of an alarm signaled by a T1 or E1 framer and allows control of the LEDs associated with each span stCAS Implements Channel Associated Signaling on T1 and E1 lines which are attached locally to framers control by the I O Processor stPacketBuilder This is an embedded service controlled by the upConnectPktSend function stPacketParser Takes an IP UDP packet from the Ethernet
131. d configuring Explains how to install and uninstall TASK 6000 TASK 6000 software software 4 Developing Host and Provides general guidelines for host and IOP IOP applications application design A Host functions Lists and describes calls used to communicate with the host B IOP functions Lists and describes calls used to communicate with the i9607 I O processor C HDLC driver library Describes the HDLC driver library and its calls D TI EI library Describes the T1 E library and its calls E T8100 library Describes the T8100 library and its calls F Service descriptions Lists and describes TASK 6000 services TASK 6000 reference guide Notational conventions This guide uses the following conventions lt lt Screen text and syntax strings appear in this font All numbers are decimal unless otherwise stated Bit 0 is the low order bit If a bit is set to 1 the associated description is true unless otherwise stated Notes indicate important information Cautions indicate situations that about the product may result in damage to data or Tips indicate alternate techniques or the hardware procedures that you can use to save This includes situations that may time or better understand the product cause damage to hardware via The globe indicates a World Wide electro static discharge ESD Web address J Warnings indicate situations that A may result in physical harm to you or the hardware Where to get more information
132. d timeslot Broadcasting 232 The T8100 supports broadcasting of timeslots that is data from one input timeslot can be sent to multiple output timeslots There are four possible broadcast paths e One 1 Local On board input to N Local On Board outputs e One 1 Local On board input to N CT Bus outputs e One 1 CT Bus input to N Local On Board outputs e One 1 CI Bus input to N CT Bus outputs For broadcast connections which do not involve the CT Bus case 1 above commanding a broadcast connection to N output timeslots is identical to commanding N standard connections To broadcast a timeslot to N outputs specify N connections in which the source resource port and timeslot for each connection is identical The destination resources ports and timeslots must be unique For broadcast connections which involve CT Bus timeslots cases 2 3 and 4 above as either the source or destination of the connection programming is slightly different from both the CT Bus non broadcast case and the Local to Local Appendix E T8100 library Broadcasting broadcast case For non broadcast CT Bus connections specify a unique connection number for each connection For a CT Bus broadcast specify the same connection number for each connection which is part of the broadcast Like the Local to Local broadcast case the source resource port and timeslot is fixed for each broadcast connection element The following code samples show broadcast
133. ding echo canceller and tone detector generators It also includes RTP Real time Transport Protocol send and receive functions as well as a jitter buffer and packet build and parse functions for the system s Fast Packet Routing The DSP application is built on top of the RadiSys TASK kernel for the C6x family of DSPs The underlying kernel provides deterministic thread switching RAM memory management and inter processor message passing functions DSP chip DSP application Algorithms DSP kernel Figure 2 1 DSP application on the DSP chip TASK provides these tools that you use to develop TASK applications sp6k_util exe This is a development tool that provides host access to the memory and devices on the IOP It includes functions to reset boards read and write memory on the IOP dump internal trace buffers and so on rmondb exe rmondb the RadiSys version of Intel s mondb exe Win32 Console utility connects a Windows NT host to the i960 Monitor over a PCI bus or serial port via the Host debugger interface This program includes a GUI for use by diagnostics applications TASK 6000 software interfaces to the external environment using the methods described in this section Internet Protocol IP The Fast Packet Router and the VxWorks IP stack provide flexible communication to other hosts and media gateways on an IP network You can configure the Fast Packet Router to route UDP
134. driver library This appendix describes the HDLC driver library When reading this file online you can immediately view information about any topic by placing the mouse cursor over a test name and clicking For information about Go to this page VSR VIC EE 147 Driver internals data structures and resources cccceececcsececeeeeeeeeeseeeueeeees 147 Sample HDLC driver sequence eesessesseseeee eene eene nnns 150 FACON SE osi seco cd unde cusnd oun oio veto quete detidet e time duvatibe eiae deed etre teaser ede 151 EEE E PERRO TD IRURE 153 WY PE definitions REDI E 17 DUCES oss oo ds525500505 ERROR ve Reb ha donate E A eom haga aco deste s seamaster tones ados rods 172 The HDLC Status and Control API is the interface to the HDLC driver The HDLC driver provides the software interface to the HDLC controller of the LAN WAN option card The driver works under the VxWorks Real Time operating system The driver is not a true VxWorks driver in the sense that it is not built as part of the kernel It does however make use of VxWorks system calls and therefore requires the O S The driver provides control and monitoring of the HDLC controller of the LAN WAN option card The controller is a Siemens Munich128X This document assumes that the reader has some understanding of the operation of the device The driver consists of these main parts e ISR Interrupt Service Routine e IST VxWorks Interrupt Servic
135. dstesieseedsbiecetestadsyenens etc bei eeseetib Ee eeetE P AE fe Ee br o tess 266 UP EVI TDM DTMEP DEEEGTELD annee tte teeth y rete o Te eee yan Ete Cea nera aeieves 266 UP DTMF DETECTED DATA SI iiec tno oet eo eo Yee Cyn Yee aoc 266 jud PIN UNIO ER ML 267 DP PINE C OMFG S E eiiis dive clacccs ieee testes cose E px eene e debe eee EE 267 UP EVI PET DIME DETDEGED nece toten Eee ye ee reae ey eee te ca reve 267 DP DIMP DETECTED DATA SQ eee tct traande aoe EEL or Ryo nt Yon te once 267 BEG 39b T 268 DP CPP OONEIGO SI cain ceseeiteterxees togae eee eae eode pea uses turae be yk eeu ELDER E REN UE Eb uH ueEg 268 UP EVT CPT DETECTED UP CPT DETECTED DATA ST cert EH EHE REEF ER o ER Dr EHE NEED 268 n PIN ICM 270 UP ME CONBIG ST ii EHE EE EE EH N REED UR 270 UP EVI ME DREELIEBCUED oietttenreececer tebe tree erre Ehre ih ere ree Petre ropes Ten 270 Ur MF DETECTED DATA BELT tte tete ye eene eye eoe 271 RIP aCe AON essere reser tera e Pet Xp EROR REEF Erbe PUE Uo Fa UR Fees Dee ov ee EET lacs REPE iets 272 SER DOE MG OUE D 272 RIT DBADER S sce deeeteecesee etyeeetvee oes eun eerte ree rete erae reete ets 272 Ur RIP SEND CONPIRG ST iiie cx teeite reete cen e tech pito Dd yet b recoge 272 BED ODE Suo eneedectene tieniti fes ote tuer tee C II M MP 274 UP RIP RECV CONTIG STi Ote tectae eet eee cea baeo eee Ee ERR
136. e RSYS_INT32 lRtpPortID UP START DSP REPLY S tStartReply UP T1E1 ALARM DATA ST tT1E1AlarmData UP ETHERNET ALARM DATA ST tEthernetAlarmData UP STREAM CONNECT DATA S tStreamConnectData UP HDLC REPORT DATA ST tHdlcReportData uEventData UP EVENT DATA ST The service from t UP SERVICE enum which sent the event eService eEventNum The event from this service ulUnit The device unit number i e for a DSP based service this holds the DSP number ulChannel The channel or timeslot within device unit Appendix B Standard IOP functions upSetEventHandler ulEventDataLength The length of the associated data uEventData Further information about the event when the event requires more than eEventNum to describe it Return values UP SUCCESS Successful completion If the function cannot return an error in real time for example the function sends a message to another processor to implement a configuration change the function returns this value indicating that the message was sent properly The processor implementing the function returns one of these values UP EVT CONFIG ERROR UP EVENT ET typedef enum UP EVT GENERAL DSP FAILURE 1 UP EVT CONFIG ERROR UP EVT STATISTICS RPT UP EVT CONNECT SEND UP EVT CONNECT RECV UP EVT CONFIG ACK UP EVT TDM DTMF DETECTED UP EVT PKT DTMF DETECTED
137. e E e connsessedsnsvovtes 274 xii Contents UP_EVT_RTP_PT_CHANGE DP RIPPI CHANGE DATA S Docce einni nrar SEERE N SR REE ESETE 275 UP_EVT_RTP_SSRC_CHANGE UPR TP SSRIC CHANGE DATA SI iens iuvdesec uses ee eere yea Dy Yet Yvette eee 275 Seer nr P M 276 d 9 V 276 UP CAS CONFIG SD EE 276 UP_EVT_CAS_CHANGE DP CAS CHANGE _ DATA ST cc cisccsocssdesscois estere ree tree tete rr ere iere ree s 276 TCI MERERI HERR RPM 277 ula TOES 11er fe terrre rr Re P Le OT Yu e Pe e a eeu vw Fra ET od re ER FR e Peu RN EP eu avo veau o eR re dw eo an 278 SEBDDBEROUATO EI oec etre vtm e tcradiivtr eite ivo eve Cii Ce E EE cetus deeds 278 UP EVT ETHERNET ALARM UP ETHERNET ALARM DANT tet cei Eo Eh retra Ense evan erc cb Veeus ia es 278 uS E ETT EIER 279 UP TTIEIALARM CONFIG SI 43 2 etceciereiho itk eee onar et deo erae con eec Eb aerea eater een E eaa deoei 279 UP EVT T1TE1 ALARM UP TTE ALARM DATA ST iiie ier cao citer praeerat are eene cone ck eR aUe ea aeu be eb sbeakeevee 279 Judo PE OCESS LS oes niter rer ene deese tator gat Eae sean E E A EUH ERE e Te EE ERR ER eR SEN F EE e ER ER YES de 281 ju c M 281 UP AGC CONFIG ST iste tre ec t rte der ec ovs TR EET ber A 281 Infernal oec eee te ier REP FRE a riri P Er eoe ipii E Eten ek 282 SEP ACIERE UM Cet MER 282 UP PACKET BUILDER GON BIG SJ iei peeo eere rotten Ure
138. e IOP s Ethernet driver As each packet is encoded by the codec it will be passed to the stPacketBuilder service which will add UDP IP and Ethernet headers to the packet and then add it to a DSP gt IOP FIFO On the expiration of a timer tick the packets in the fifo will be added to the transmit queue of the appropriate Ethernet controller and transmitted to the network addressable device specified by the Ethernet frame s destination MAC address An asynchronous UP_EVT_CONFIG_ACK event will occur in response to this function if the connection is established A UPLEVIT_CONFIG_ERROR will occur if the function fails for instance if an ARP of ulDestRouter destination IP address fails Syntax UP_ERROR_ET upConnectPktSend RSYS INT32 IUnit RSYS INT32 IChannel UP PKT SEND CONFIG ST pstPktSendConfig Parameters lUnit The DSP unit number lChannel The DSP virtual channel number pstPktSendConfig A pointer to the UP PKT SEND CONFIG ST structure UP PKT SEND CONFIG ST structure typedef struct RSYS UINT32 ulInterface RSYS_UINT32 ulRouterAddress RSYS_UINT32 ulDestAddress RSYS_UINT32 ulDestPort RSYS UINT32 ulServiceType RSYS UINT32 ulSrcPort UP PKT SEND CONFIG ST ullnterface The unit number of the Ethernet interface on which packets should be sent ulRouterAddress The 32 bit IP address in host order of a router on the same network as the IOP which should be used to
139. e Task e Status and control API Driver internals data structures and resources This section describes some internal workings of the driver and issues related to resources Unlike the T1 E1 and T8100 drivers which provide only control and status functionality the HDLC driver includes data path functionality That is it is also responsible for the transmission and reception of data to and from the user application Because of this the HDLC driver requires board resources well beyond 147 TASK 6000 software reference guide what is used by the T1 E1 and T8100 drivers The resources of concern are memory on board PCI bandwidth and processor power These topics are discussed in great detail in the Munich128X documentation and are summarized here to illustrate how the driver code relates to the hardware Data structures The HDLC driver maintains numerous data structures required by the HDLC controller to transmit and receive data Of greatest interest are the transmit and receive descriptors and buffers and the interrupt queues e Control Configuration Block CCB The primary data structure for the controller the CCB is a relatively small block of data which contains setup information for the controller as well a table of pointers to transmit and receive descriptors Each port and channel has one or more associated transmit and receive descriptors The driver currently implements 32 descriptors per channel Therefore with a max
140. e buffer that stores board driver information REPORTBOARDINFO structure typedef struct ReportBoardInfo LONG BusNumber LONG DeviceNumber ULONG FunctionNumber LONG IopMemorySize LONG PostResults CHAR BoardRevision CHAR NumberDSPs CHAR H100Present CHAR BoardType LONG DspMemorySize LONG DeviceState LONG reserved 3 EPORTBOARDINFO PR U Ud U U U U R EPORTBOARDINFO BusNumber The board s physical PCI bus number DeviceNumber The board s physical PCI device number FunctionNumber The board s physical PCI function number IopMemorySize The number of bytes in the ATU memory block 27 TASK 6000 software reference guide 58 PostResults The POST results bitmask BoardRevision The board s revision number NumberDSPs The number of DSPs in the system H100Present Indicates whether the H100 switch is populated BoardType The board type SP 6000 or 6040 DspMemorySize The size of the DSP memory window This parameter is valid only when the value of Boararype is SP 6040 DeviceState Contains Hot Swap state information Return values SUCCESS Successful completion FAILURE Unsuccessful completion Comments This function returns the information detected by the driver The buffer should be capable of holding up to 8 REPORTBOARDINTFO structures You can use the pointer used in conjunction with an IOP number to index into a specific b
141. e build out Specifies the line buildout for a framer port For more information see t E1 line buildout on page 225 idle code Specifies the pattern to inject into transmitted data idle channels The lower 32 bits specify the channels to inject the pattern specified in idle code Into A 1 in any bit indicates that the pattern is to be injected Bit 0 is associated with the first DSO of the E1 line while bit 31 is associated with the last DSO framer loopback enable Instructs the framer to perform a system side loopback Setting any field to TRUE enables the loopback Appendix D T1 E1 library Structures t_E1_user_config_struct local loopback enable Instructs the framer to perform a system side loopback Setting any field to TRUE enables the loopback remote loopback enable Instructs the framer to perform a line side loopback Setting any field to TRUE enables the loopback 227 TASK 6000 software reference guide t El user signaling data 228 Reads and writes signaling data This structure is identical to amp T1 user signaling data since the t El signaling data field is typedef ed to amp T1 signaling data See description of the corresponding T1 structures The only difference is that the E1 structure makes use of all 32 bits where as the T1 structure uses only 24 1 per DSO Syntax typedef struct t_T1El_framer_id framer id t El signaling data signaling data t El user signaling data
142. e ite vester ET 77 up Disa DLE SCE VICE M 79 NP Disconnect diu 1020 ART ENEE 82 upDisconnectPktSend 2 ntn etie trente titt Free nie HET I e EEERI ETE RE ERe Ea a 83 VIS Der dod S PETI ME ERE 84 upEnableSBFVIG iiiter rete ed de e Eee E ER vase dea Eee EE eae ee euo A A TERRE Teka Fee epe sra 86 pO very QOSK epott UE aes 89 ape Set cade isl a MET m 90 itus r2dUr s eErdskriildE 91 WP STAM M 92 jus vd dd MM 94 Boscher Contohe eninde ete EY EFE En EFFERRE EE EFE FE ERE E PREX EE 95 hostReadlop RR 96 hastSend RA A E ie eee ctione aon sos ety E ee aH eee PE 97 hostSend Msg isse een eR ETHER YR BERUF ERE EER RAE e ERE EE EN E i REERRENSE Ea 98 hosuset Uu WING east erre tee ree tt rere Er or PREV nnde ec tech encedasced Yee FE FER YT p ee eh Nae 99 HOSE WHitelOp RAE EE 100 bostSetPoll Period M M teeny 101 hostSendPfiotity MESE ceret erae e Ree a MERE Eee e iE E E EE EE a ERR FER NEA TSIS 102 Appendix B IOP functions sl 103 DUI ea dm 103 Perth e M P 104 Pet Board lil RE 106 FOP COMPO eri META E scene edicit A yu een eae ANNE sd ecddeseusdentvuassevstadelseees RUMP E Ree ee Rex d 108 To ed hau ERE RE
143. e not used only a simple default route is currently supported 103 TASK 6000 software reference guide Function list Use this table to identify the IOP functions you want to use Use the function description later in this appendix to obtain detailed information including syntax and parameter values Table B 1 IOP functions Function Description Standard functions iopControlPeripheral Configures specified peripheral getBoardlnfo Provides a board s information structure as defined by the IOP monitor s SP6K BOARD INFO T structure ioplnit Initializes the IOP API Control API upStart Initializes the Universal Port subsystem upEnableChannel Enables transmit and receive paths of a specified channel upEnableService Enables a specified service based on service type for the specified channel upConfigService also implicitly enables a service when it is configured upDisableService Disables a specified service based on service type for a specific channel upConfigService Configures a specified service based on service type for a specific channel upConfigServiceGlobal Configures a specified service based on service type for all channels upSetEventHandler Passes information received from DSPs to the event handler upQueryQOSReport Causes the specified DSP specified to send a Quality of Service report as an UP EVT STATISTICS RPT event
144. e on board peripherals by doing the following e Assigns default values to T8100 registers Sets T8100 clocks e Configures T1 structures For sample code see Configuring on board peripherals on page 40 Set up message handlers If the application is intended to react to various UPA events it must install an event handler callback function as described in Installing event handlers callback functions on page 41 In this case CasEventMsgHandler is a function that establishes and tears down voice channels in response to OFF Hook and ON Hook events Upon UPA CAS event a callback CasEventHandler is called It analyzes the ABCD bits of the CAS event to determine if it was an OFF HOOK or ON HOOK CAS event Information about time slot and the framer port on which the CAS event has happened is passed to CasEventHandler function In the case of an OFF HOOK event the functions CreateFastPacketOut and CreateFastPacketIn are called CreateFastPacketOut enables transmit direction on a particular channel Since the SPIRIT board has four framer and four DSPs capable of running up to 24 channels the sample application directly maps framers to DSPs and time slots to virtual channel numbers For example if an OFF HOOK event happens on framer 1 time slot 9 the application sets up channel 9 on DSP 1 This is accomplished by making the appropriate TDM connection using the IOP s T8105 switch For sample code see Connecting the TDM to IOPs
145. eRate UP_ENABLE_ET UseHp High pass filter enable UP ENABLE ET UsePf Post filter enable UP ENABLE ET UseVx VAD enable UP CODEC G723 PARAM ST UseVx Allows the Voice Activity Detector to suppress packet generation on the encoder side You can select one of these enumEnabled Enables VAD enumDisabled Always generates packets Events There are no events associated with this service 262 Appendix F Service descriptions Echo cancellation stEchoCanc Echo cancellation stEchoCanc Config data Events Tries to remove time delayed versions of a TDM channel s output from its input stream These echoes are typically introduced when the TDM channel is translated into a two wire analog line somewhere outside the gateway The echo canceller uses an adaptive filter with a 32 millisecond buffer to eliminate near end echoes UP ECHO CONFIG ST typedef struct RSYS INT321NlpThreshold Non Linear Processor Threshold enum TL8ms 1 TL16ms TL24ms TL32ms eTapLength UP ENABLE ET lSlowAdaptation UP ENABLE ET lFreezeAdaptation UP ENABLE F INLPDisable UP_ECHO_CONFIG_ST The echo canceller s initial version includes A fixed INipThreshold value this flag currently has no effect A fixed eTapLength value of 32ms this flag currently has no effect There are no events associated with this service 263 TASK 6000 software referen
146. each packet is received it will be DMA d to a FIFO in the DSP specified by Unit During the DSP s inter frame time the packets in the FIFO are sorted by channel and their payloads are passed either to the RTP Receive Jitter Buffer service or to the appropriate T 38 FIFO An asynchronous UP EVT PORT ASSIGNED event will be emitted on success to identify the UDP port number that was allocated to the connection A UP EVT CONFIG ERROR shall be emitted in situations where to port number could not be allocated port already assigned or DSP channel already in use Syntax UP ERROR ET upConnectPktRecv RSYS INT32 IUnit RSYS INT32 IChannel UP PKT RECV CONFIG ST pstPktRecvConfig i Parameters lunit The DSP unit number lChannel The DSP virtual channel number pstPktRecvConfig A pointer to the UP_PKT_RECV_CONFIG ST structure UP PKT RECV CONFIG ST structure typedef struct RSYS_UINT32 ulReceivePort RSYS_UINT32 ulInterface UP PKT RECV CONFIG ST ulReceivePort The 16 bit port number of the socket which will receive the packets If this number is specified as zero an appropriate port number will be chosen from the range of UP PREALLOC PORT START through UP PREALLOC PORT START UP PREALLOC RTP PORTS defined as 5000 5999 in upa h and returned via an event If this number is specified manually it must fall in the range through UP PREALLOC PORT START UP PREALLOC RTP PORTS through
147. early stage of IOP initialization IOP based applications typically do not have access to information in the UP IOPSYSCONFIG ST structure Therefore IOP implementation typically pass a NULL pointer to upStart and allow the Host component when making its call to upStart to populate the contents of the UP IOPSYSCONFIG ST structure Syntax UP_ERROR_ET upStart UP IOPSYSCONFIG ST ptIOPSysConfig Parameters ptlOPSysConfig Points to the UP IOPSYSCONFIG ST structure which configures the board during UPA initialization UP IOPSYSCONFIG ST structure typedef struct RSYS UINT32 aulNICAddress UP MAX SLOTS MAX NICS RSYS UINT32 ulHostIPAddress UP ENABLE F etCommandAck UP ENABLE F etEventForwarding UP LAN CONTROL ET etLanControl UP IOPSYSCONFIG ST aulNICaddress Carries the IP addresses host byte ordered to associate with Ethernet adapters of installed IOPS The IOP number is used as an index to de reference the two Ethernet adapters fei 0 and 1 installed An IP address setting of zero for either interface 0 or 1 indicates that the user does not want UPA software to configure the Ethernet Adapter and bind an IP address to it A non zero entry causes UPA on the associated IOP to perform a vxWork s usrNetInit to initialize the adapter and a hostAdd to make a representative hostname to IP address mapping in the host table ulHostIPAddress This element informs an IOP of its co
148. ecifies a framer port for functions which can operate on any port For more information see t_T1E1_framer_id on page 203 signaling_data Reads and writes signaling data For more information see t_T1_user_signaling_data t_T1_signaling_data on page 213 changed_bits Indicates which bits have changed or need to change state When setting signaling bits this mask indicates which bits should be updated When reading signaling bits this mask indicates which bits have changed state since the previous change Any bit set to 1 indicates that a change has taken or needs to take place a_bits Rrepresents the 24 A signaling bits of the DS1 line b_bits Represents the 24 B signaling bits of the DS1 line c_bits Represents the 24 C signaling bits of the DS1 line If the line is configured for D4 SF framing these bits are not used d_bits Represents the 24 D signaling bits of the DS1 line If the line is configured for D4 SF framing these bits are not used timestamp A 1uS granularity LSB 1 uS timestamp that indicates when the signaling change took place This field is useful when forwarding signaling information to other systems which may be interpreting signaling bit changes The rollover value for this field is 0x07C1F080 This field is not used when setting signaling bits 213 TASK 6000 software reference guide t TI user command data 214 Sends alarm and loop up or down codes over the T1 line Setting any field to TRUE se
149. ecode buffer decode TDM tone generator EE E E E EE 4 1 If the tone generator is enabled and active cadence in progress then the tone generator output is connected to the TDM output If the tone generator is inactive disabled or cadence finished then the codec is connected to the TDM output 2 If the codec is disabled a silent sound source is used in its place A second tone generator and tone detector exist in the opposite directions but are omitted from this diagram for clarity Figure 2 2 Data path services e Setting up a service Most services must be configured before operation To configure a service the application fills in a configuration structure and passes the structure to the upConfigService function This then uses the underlying message API to get the configuration data to the correct processor and set up the service The configuration of a service is private to a particular slot unit and channel and is persistent The application can configure a service just once during initialization and then enable and disable the service as needed or the application can reconfigure the service every time it is needed Configuring a service also enables it e Caveats To ensure that your applications are compatible with future versions of TASK take care to follow these guidelines e Reference data structure elements by name e Allocate memory for data structures using the sizeof data structure type operat
150. ed to be easily extensible so that you can add future services with minimal impact to existing applications Objects TASK 6000 defines a hierarchy of objects that describe software operation e Slot Refers to a given IOP in a system Slots are numbered from zero Y IOP functions do not specify a slot all functions are assumed to operate on the current slot Host functions include the slot parameter in all relevant functions e Unit Usually refers to a DSP in a relative numbering system for each IOP in the system Units are numbered from zero For IOP based services such as stCas however the unit parameter specifies the framer unit number e Channels Usually refers to a virtual channel see the following subsections For IOP based services such as stCas however the channel parameter specifies the physical channel Channels are numbered from zero TASK 6000 software reference guide e Physical channels Physical Channels are duplex TDM streams DSOs associated with a hardware port A device type T1 E1 or H 100 unit number and timeslot uniquely identify a physical channel Physical channels are referred to only when setting up a call via or when sending or receiving Channel Associated Signaling via the service e Virtual channels Virtual Channels are duplex paths through a DSP They are referenced by DSP unit number and channel On one side of the DSP this refers to the TDM timeslot connected to a TDM switch and on the ot
151. either in a quiescent or powered off state Log that the board cannot be loaded at this time and allow the board to be loaded when re inserted else printf nUpaHostApp gt ERROR IOP d Cannot be Loaded because it is in a s state n lIOP pstBoardInfo lIOP DeviceState HS DEVICE QUIESCED QUIESCENT POWERED OFF continue The process of running an IOP is time consuming so we poll the IOP several times regarding its ready to run state lIterations 0 do Run the previously loaded IOP if hostRunLoadediops 1IOP SUCCESS Catch a quick pause printf nUpaHostApp gt ERROR Unable to Run Program s on IOP d RETRYING n VxWorks LIOP Sleep 1000 wait 1s suonpoiddp go pup soH Buidojo4agq y 40 dDy 8 else printf nUpaHostApp gt IOP d Running program s n lIOP VxWorks bIOPRunning lIOP TRUE break while lIterations lt RETRIES Waiting for IOP response Wait for response from IOP before proceeding WaitForSingleObject ghIopRunning UPA_WAIT_TIM Loading mulcoder out EOUT Go through the IOPs that are loaded and running and load and execute their associated DSPs for l1l10P 0 l1IOP lt lIopCount 1IOP if bIOPRunning lIOP continue Load and run the DSPs found on a specific IOP for 1D
152. eloproent kit eoira nie e n Eae ue EENE REEN EN Ede 26 For a complete description of RadiSys Hot Swap for Windows NT software see Hot Swap for Windows NT RadiSys part no 07 1080 00 The Hot Swap install program copies this file to InstallDinhotswap pdf Type Files Documentation InstallDir readme txt InstallDir hotswap pdf Install utility InstallDir setup exe Uninstall utility InstallDir unwise exe InstallDir unwise ini Drivers InstallDir hbus sys SystemRoot system32 drivers hsbus sys Services InstallDir bin hsmgr exe SystemRoot system32 hsmgr exe Hot Swap API InstallDir nsmgrint dll InstallDir inc hsmgrint h InstallDir lib hsmgrint lib SystemRoot system32 hsmgrint dll InstallDir is the directory in which RadiSys Hot Swap software is installed Chapter 3 Installing and configuring TASK 6000 software Runtime kit Type Files Documentation InstallDir TASK6000 Doc Taskman ico Install Dir TASK6000 Doc TaskMan pdf InstallDir TASK6000 Doc sp6040_hwref pdf InstallDir TASK6000 Doc relnotes txt Installation management information InstallDir TASK6000 misc UNWISE EXE InstallDir TASK6000 misc spdiag ico InstallDir TASK6000 misc hwref ico InstallDir TASK6000 misc hsetup exe InstallDir TASK6000 misc u_guide ico InstallDir TASK6000 misc uninst ico InstallDir TASK6000 misc Taskdiag ico InstallDir TASK6000 misc Taskman ico InstallDir TASK6000 misc Taskact ico InstallDir TASK6000 m
153. er while this way the DSP processing time associated with transmit or receive algorithms it does not eliminate the overhead of loading the algorithm into DSP memory Only when 1TxEnable and 1RxEnable are both false is the channel entirely disabled which removes its overhead entirely 85 TASK 6000 software reference guide upEnableService 86 Enables a specified service based on the service type for a specific channel and also implicitly enables a service when it is configured V For descriptions of available services see Appendix F Service descriptions Syntax UP ERROR E T upEnableService RSYS INT32 I1Slot RSYS INT32 lUnit RSYS INT32 IChannel UP SERVICE ET eService Parameters 1Slot The resource card unit number lUnit Specifies e For most services the DSP unit number e For IOP based services such as stCAS or stT1E1Alarm the framer unit number lChannel Specifies e For most services the virtual channel number e For IOP based services such as stCAS the timeslot number eService Identifies the service you want to enable stCodec Converts voice fax or modem data between TDM and a packetized form stEchoCanc Tries to remove time delayed versions of a TDM channel s output from its input stream stAGC Provides Automatic Gain Control for TDM input data stTdmDTMFDet Performs DTMF detection on TDM input data stPktDTMFDet Performs DTMF detection on decom
154. er structures Use the structure description later in this appendix to obtain detailed information including syntax and parameter values Table D 3 E1 T1 structures Type Call Description Common E1 and T1 definitions t TIEI framer id Specifies a framer port for functions which can operate on any port t TIEI card type Identifies the type of card installed t TIEI led state Controls the LEDs for each port span t TIEI user signaling data t TIEI BoardConfig Indicates the installed card type T1 definitions t TI line coding Specifies the line coding for a framer port t Tl framing mode Specifies the line framing for a framer port t TI line buildout Specifies the line buildout for a framer port t Tl user config struct Specifies the complete configuration for a framer port t Tl user signaling data Reads and writes signaling data t TI signaling data t Tl user command data Sends alarm and loop up or down codes over the T1 line t Tl user status struct Provides line status t Tl user clear channel data Indicates which channels are clear channels 64Kbps and which are not 56Kbps t TI user idle struct Transmits an idle code on a selected DSO t Tl user channel config Controls the configuration of a specified DSO on a specified framer port t Tl user raw signaling struct Reads the signaling bit supervision bit values for each channel on the specified
155. erHDLCRxErrorHandler The user function that handles receive errors channel The HDLC channel status The HDLC channel status Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix C HDLC driver library Functions HDLCSetRxErrorHandler Type definitions from IOP_TO_HDLC H device limits define HDLC_MAX_PORTS 4 define HDLC MAX CHANNELS PER PORT 32 define HDLC MAX TIMESLOTS PER PORT32 reset types define HDLC HARD RESE 1 define HDLC_SOFT_RESE 2 channel specifications define HDLC CHANNEL NORMAL MODE 1 define HDLC CHANNEL LOOPBACK INT 2 define HDLC CHANNEL LOOPBACK EX 3 define HDLC IFTF IS 7EO0 define HDLC IFTF IS FF1 define HDLC FLAG ADJUST OFF 0 see Munich datasheet for define HDLC FLAG ADJUST ON description of this mode define HDLC CRC TYPE 16 BI 0 define HDLC CRC TYPE 32 BI define HDLC CRC ENABLE 0 define HDLC CRC DISABLE define HDLC DONT INVERT DATA 0 define HDLC INVERT DATA code returned to devic rror handler define HDLC CMD ERROR NO ACK l define HDLC CMD ERROR ACK FAIL 2 define HDLC TX SYNC ERROR 3
156. ernel DSP kernel Figure 1 2 TASK application distribution Host and IOP TASK supports data and control flow between the Host and IOP based components using the hardware PCI interconnection for high throughput and low latency or using a message based interface over a protocol link via the IOP s optional LAN WAN subsystems The TASK API creates abstractions for common telecom objects such as Slots Units Channels and UDP Ports and provides functions for the configuring enabling and disabling of a powerful set of services that operate on these objects The API also provides abstractions for Fast Packet Routing HDLC T1 E1 and TDM Time Division Multiplex Switch peripheral devices TASK 6000 software supports CompactPCI Hot Swap as defined in the Hot Swap Specification PICMG97c for fail over and high availability applications Product configurations You can order TASK software in these configurations e TASK 6000 runtime kit Provides the software required to run TASK applications e TASK 6000 development kit Provides the tools required to write and debug TASK Host and IOP applications This software also includes the TASK 6000 runtime kit e TASK 6000 DSP development kit Provides the tools required to write and debug TASK DSP applications This software also includes the TASK 6000 development kit Understanding TASK 6000 software architecture This
157. essful completion 164 Appendix C HDLC driver library Functions HDLCGetChannelStatus HDLCGetChannelStatus Returns the status of the specified channel of the specified port V This function is currently not implemented Syntax UINT32 HDLCGetChannelStatus IN const UINT32 port IN const UINT32 channel OUT t_HDLC_channel_status status_ptr Parameters port The HDLC controller port channel The HDLC channel status ptr A pointer to thet HDLC channel status structure For details about this structure see t HDLC channel status on page 176 Return values SUCCESS Successful completion FAILURE Unsuccessful completion 165 TASK 6000 software reference guide HDLCSetTxPacketHandler 166 Specifies the user handler to call when packet transmission is complete Although not required this can be used by the user code to send the next message The current version of the driver queues up to 32 packets per channel To disable this callback the function can be called with a NULL function pointer Syntax UINT32 HDLCSetTxPacketHandler IN const UINT32 port IN void UserHDLCTxPacketHandler UINT32 channel UINT32 status Parameters port The HDLC controller port UserHDLCTxPacketHandler The user function that handles the event of packet transmission completion channel The HDLC channel status The HDLC transmission status Return values SUCCESS Successful completion FAILURE Unsucces
158. ested by this function The statistics are contained in the UP_STATISTICS_ST structure UP_FAILURE General failure UP INVALID ARG Invalid argument 89 TASK 6000 software reference guide upSetEventHandler 90 Sends notification of DSP events Events can include tone detection peripheral state changes such as hook and other CAS signals and any other events any service generates to EventHandlerFunc UP EVENT DATA ST Syntax UP ERROR ET upSetEventHandler void eventHandlerFunc UP_EVENT_DATA_ST Parameters UP EVENT DATA ST Receives notification of DSP events such as tone detection peripheral state changes such as hook and other CAS signals and any other events any service generates Return values UP SUCCESS The handler was installed Appendix A Standard Host functions upSetUserMsgHandler upSetUserMsgHandler The MsgHandlerFunc is called whenever a TASK user message is received by the host with a msgType not used by UPA Currently UPA uses only message type 80 decimal Syntax void upSetUserMsgHandler void MsgHandlerFunc IN long src IN long msgType IN ulong msgSzW IN long pBuf Parameters MsgHandlerFunc A pointer to the message handler src The message handler in this format Device DeviceNum Device Enter either TASK IOP or TASK_DSP DeviceNum Enter the device number Examples To invoke a handler from the second IOP use T
159. etPollPeriod Set time period for message and network data polling hostGetNWPktBuf Receives network packets from the DSP hostJitterControl Updates jitter control parameters hostSendPriorityMsg Send a priority message to IOP upSetUserMsgHandler The MsgHandlerFunc is called whenever a TASK user message is received by the host with a msglype not used by UPA 49 TASK 6000 software reference guide hostControlPeripheral 50 Configures the specified peripheral Call this function to initialize configure and operate the T1 E1 framer and TDM switch peripherals Syntax int hostControlPeripheral IN int peripheral IN int cmd IN t_configArg pArg Parameters peripheral Peripheral You can select one of these values TASK E1 TASK T1 TASK T8100 cmd Command to send to the peripheral You can use one of these values CONFIG E1 Instructs the framer to use E1 line protocol CONFIG T1 Instructs the framer to use T1 line protocol CONFIG T8100 DEFAULT Reserved CONFIG T8100 SWITCHING A pointer to the structure that specifies T8100 switching t T8100SwitchConfig structure typedef struct ulong number_of_connections t_T8100Connection connections t T8100SwitchConfig number of connections The number of T8100 connections to be made The maximum connections per call is 256 connections Pointer to a list that contains number of connections connections Appendix A
160. event handler to call when detecting a T8100 interrupt Function prototypes and type definitions for the driver interface are contained in the following header file iop to t8100 h The functions and their data types are described in the pages that follow The descriptions use the terms H 100 Bus H 110 Bus and CT Bus interchangeably Limitations Time slot assignments for T1 and E1 interfaces There are differences in the mapping of T8100 time slots depending on the interface used as illustrated by the following table The developer should be aware of these differences when assigning DSP data channel resources to time slots using the T8100 peripheral 235 TASK 6000 software reference guide 236 Table E 2 Time slot numbers T8100 TI EI 0 1 data 0 0 signaling 0 2 data 1 1 data 0 2 3 data 2 2 data 1 3 4 data 3 3 data 2 4 5 data 4 4 data 3 5 6 data 5 5 data 4 6 7 data 6 7 data 6 7 8 data 7 7 data 6 8 9 data 8 8 data 7 9 10 data 9 9 data 8 10 11 data 10 10 data 9 1 12 data 11 11 data 10 12 13 data 12 12 data 11 13 14 data 13 13 data 12 14 15 data 14 14 data 13 15 16 data 15 15 data 14 16 17 data 16 16 signaling 1 17 18 data 17 17 data 15 18 19 data 18 18 data 16 19 20 data 19 19 data 17 20 21 data 20 20 data 18 21 22 data 21 2
161. events e hbus sys NT Kernel Mode device driver Enumerates the hot swap capable devices present in the system monitors their hot swap state alerts the Hot Swap Manager to changes in a device s hot swap state and configures the device s hot swap configuration status register HS_CSR in response to requests from the Hot Swap Manager TASK IOP runtime library TASK 6000 applications that reside on the IOP interface directly with the TASK IOP runtime library This component serves command and event API functions to control on board peripherals such as the T8100 TDM Time Division Multiplex switch the optional LAN WAN interface and to load reset and run the DSPs For information about the IOP API and functions including syntax and parameter values see Appendix B IOP functions VxWorkst based library The current implementation of the IOP runtime library is based on Wind River s VxWorks RTOS Real Time Operating System which it uses for multi tasking messaging and IP Internet Protocol stacks You can create user applications under the Tornado 2 0 development system and link them with the components of the IOP runtime library to produce easily debuggable applications The library includes the following e Message dispatcher The IOP runtime library exposes its API to local user applications in the same IOD as well as to applications that run on a remote processor For example a Host application can exercise the API ind
162. evice typically constructed of an electrically non conductive material used to fasten a circuit board to the bottom top or side of a protective enclosure Static Random Access Memory A semiconductor RAM device in which the data remains permanently stored as long as power is applied without the need for periodically rewriting the data into memory Glossary Symmetrically Addressable SIMM TDM TSI UART VAD VoIP Wait State A SIMM the memory content of which is configured as two independent banks Each 16 bit wide bank contains an equal number of rows and columns and is independently addressable by the CPU via twin row address strobe registers in the DRAM controller Time Division Multiplex A technique originated in satellite communications to interweave multiple conversations into one transponder so as to appear to get simultaneous conversations This technicque is used on the H 110 bus and the internal DSP serial buses Time slot interchange A way of temporarily storing data bytes so they can be sent in a different order than they were received TSI is a way to switch calls Universal Asynchronous Receiver Transmitter A device usually an integrated circuit chip that converts digital data to transmit from parallel to serial and transmitted digital data from serial to parallel The UART converts incoming serial data from the device connected to the serial port typically a modem into the parallel form that
163. fig 250 t T8100Connection 257 t T8100StreamConfig 253 t T8100SwitchConfig 258 TASK application distribution Host and IOP 2 application distribution IOP 1 interfaces 6 objects 7 runtime libraries Host 3 IOP 4 software components 3 taskhost dll 3 TDM switch library 5 technical support 77 Tornado 4 troubleshooting 77 type definitions HDLC 171 Index U unit defined 7 JP_CONFIG_SVC_UT structure 70 114 JP EVENT DATA ST structure 136 JP GLOBALCONFIGDATA UT structure 73 117 JP IOPSYSCONFIG ST structure 159 JP PKT RECV CONFIG ST structure 75 119 JP PKT SEND CONFIG ST structure 121 JP START DSP REPLY ST structure 138 JpalopApp c 31 39 upConfigService 69 113 upConfigServiceGlobal 72 116 upConnectPktRecv 75 119 upConnectPktSend 77 121 upDisableService 79 123 upDisconnectPktRecv 82 126 upDisconnectPktSend 85 127 upEnableChannel 84 128 Cic c Gee cic upEnableService 86 130 upQueryQOSReport 89 133 upSetEventHandler 90 136 upSetUserMsgHandler 91 146 upStart 92 159 URL RadiSys ii iv utilities rmondb exe 6 sp6k_util exe 6 V virtual channels 8 VxWorks 4 W World Wide Web URLs RadiSys iv World Wide Web accessing RadiSys 77 299
164. file This document contains the latest information about the release You may find it useful to print the release notes for future reference When you finish reading the file select File gt Exit The install program displays If you don t read the release notes at this time you can access it at any time from the InstallDir TASK6000 doc directory Install TASK6000 Select this option to install TASK software If a version of TASK 2 x software is already installed the install program prompts you to specify the installation method To continue go to step 3 Otherwise the install program displays a welcome screen followed by the TASK software license agreement To continue the installation go to step 4 Exit Installation Select this option to leave the install program without installing TASK software Select one of these Continue after Uninstall The install program uninstalls the software The uninstall removes the TASK software The install program does not remove Hot Swap software For V information about uninstalling Hot Swap software see Uninstalling Hot Swap on page 18 When you uninstall TASK software using this method Hot Swap should also be reinstalled from the CD ROM This is explained in step 6 V If the uninstaller prompts to reboot cancel the operation and proceed with the installation After uninstalling TASK software the installation continues Install Additional components Installs the TASK software
165. forward packets to ulDestAddress If ulDestAddress is on the same network as the IOP and no router should be used then uiDestRouter should be set to ulDestAddress 121 TASK 6000 software reference guide 122 ulDestAddress The 32 bit IP address in host order of the RTP or T 38 packets destination ulDestPort The 16 bit UDP port number of the RTP or T 38 packets destination ulServiceType An 8 bit value used to specify the precedence delay throughput and reliability of a message This is used in making quality of service decisions in the delivery of a packet ulSrcPort The optional 16 bit UDP port number that identifies the RTP or T 38 source application peer If the source port is not provided the values of ulunit and 1channe1 passed with the function are used to find the corresponding port ID registered to the inbound fast packet channel established through upDisconnectPktRecv This approach assumes that upDisconnectPktSend is preceded by upConnectPktRecv and that each path makes up one part of full duplex connection on a specified DSP and channel A source port ID of 0 is assigned if the user does not specify a source port in their call to upConnectPktSend and if an upConnectPktRecv was not successfully executed prior to calling upConnectPktSend on the specified DSP and Channel numbers Return values UP_SUCCESS Successful completion If the function cannot return an error in real time for example the fun
166. ftware reference guide board_type error_code HMIC T8100 presence The lower nibble identifies the installed T810x and the upper nibble identifies the installed option card if one exists Since all deliverable SPIRIT boards have a T810x HMIC installed this field is not used for additional information The lower nibble identifies the type of T810x installed The upper nibble identifies the type of option card if any installed Specifies the board type You can select one of these Single Dual Quad Error code storage for IOPDRV dsp info MAX DSPS Outputs pBoardInfo DSP POST results and memory sizes A buffer that stores board information Return values SUCCESS Successful completion FAILURE Unsuccessful completion Comments For more information 56 see hostGetSystemInfo on page 57 Appendix A Standard Host functions hostGetSystemInfo hostGetSystemlnfo Provides a board s information structure as defined by the IOP monitor s SPeK BOARD INFO T structure For more information see the sp6k h file Syntax int hostGe OUT OU tSystemInfo long pTotallops T long pTotalDsps OUT PRI Parameter None Outputs pTotallops pTotalDsps pBoardInfo EPORTBOARDINFO pBoardInfo S A pointer to the variable that stores the number of boards IOPs A pointer to the variable that stores the total number of DSPs in system A pointer to REPORTBOARDINFO th
167. g data structure description for details on each of the fields Syntax void setElSignaling IN const t El user signaling data signaling struct Parameters signaling struct A pointer to the t E1 user signaling data structure For more information about this structure see t E1 user signaling data on page 228 Outputs Return values SUCCESS Successful completion FAILURE Unsuccessful completion 193 TASK 6000 software reference guide getT 1 Signaling 194 Reads the values of the received robbed bit signaling bits on the specified T1 port To receive bits robbed bit signaling must be enabled via setT 1Config When signaling is read in this fashion the changed_bits and timestamp fields of the signaling_struct are invalid and not updated Syntax void getT1lSignaling INOUT t_Tl_user_signaling_data signaling_struct Parameters signaling_struct A pointer to the t_E1_user_signaling_data structure For more information about this structure see t_T1_user_signaling_data t_T1_signaling_data on page 213 Outputs Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix D T1 E1 library Functions getT 1Status getT 1 Status Reads the current receive and transmit status of a specified T1 port Status consists of the currently transmitted commands and the current receive conditions alarms and errors Syntax void getT1Status INOUT t_Tl_user_s
168. ges are created by the TASK software and then a user designated handler function in the application is called passing a pointer to the message as a parameter The user application must register a handler function for each subsystem that can generate a callback This is done by means of API functions 1 TASK 6000 software reference guide 12 It is important to note that the user s event handler function executes in one of the TASK threads on the local processor IOP or host The user should ensure that e The handler function does not spend excessive amounts of time before returning to TASK e The function always returns It should also be noted that resource locks can occur if the user s handler function calls another TASK function that may contend for an internal TASK resource that is already held by the original TASK thread This situation can be avoided by employing additional user threads and some form of signaling using the appropriate Operating System features The TASK API is multi thread safe and in general telecom applications benefit from having as many threads as practical to accomplish their operation Installing and configuring TASK 6000 software This chapter explains how to install your TASK 6000 software on a Windows NT system You can order TASK software in these configurations e TASK 6000 runtime kit Provides the software required to run TASK applications e TASK 6000 development kit
169. guring services 32 connections making and breaking 23 1 conventions notational 77 creating data paths 32 D data path services 9 data structures HDLC 148 developing Host applications 30 IOP applications 31 device drivers libraries peripheral 5 NT Kernel Mode 4 dispatchers event message 4 driver sequence sample 150 driver defined 286 DSP application 6 DSP applications 1 Dynamic Random Access Memory DRAM defined 286 E E1 T1 functions E1 and T1 T1E1getBoardConfig 184 T1ElinitCard 185 T1E1setLeds 185 E1 only getE1Signaling 197 setE1 Config 192 setE1 Signaling 193 setE1SignalingHandler 200 T1 only getT 1Signaling 194 getT1SignalingRaw 196 getT1Status 195 setT1ChannelConfig 191 setT1ClearChannels 189 setT1 Command 188 setT1Config 186 setT1IdleChannels 190 setT1Signaling 187 setT1SignalingHandler 198 293 TASK 6000 software reference guide setT1StatusHandler 199 E1 T1 library 5 function list 179 sample startup sequence 178 structures 201 E1 T1 structures E1 only E1SignalingHandler 229 t E1 line buildout 225 t E1 line coding 223 t E1 signaling mode 224 t E1 user config struct 226 t E1 user signaling data 228 T1 and E1 t T1E1 BoardConfig 207 t T1ET card type 204 t T1E1 framer id 203 t T1E1 led state 205 t T1E1 user signaling data 206 T1 only t T1 framing mode 209 t T1 line buildout 210 t T1 line coding 208 t T1 signaling data 215 t T1 user channel config 218 t T1 user clear channel data 21
170. he Next button The default is C Program Files HotSwap The install program prompts you to confirm your choices before installation Select one of these e Next Continues installing Hot Swap software e Back Returns to the previous screen where you can change installation information e Cancel Exits only the Hot Swap installation The TASK installation continues After selecting Next the install program installs the Hot Swap software and then displays the readme txt file Select next after reading the displayed text The install program prompts you to restart the computer Skip this step by selecting Cancel since the TASK installation program provides you with the same option at the end of installation The installation is now complete and the installation program prompts you to select Finish 12 Click the Finish button Chapter 3 Installing and configuring TASK 6000 software Next install prompts you to view the relnotes txt file This file contains the latest information about the TASK6000 2 x release 13 Choose one of these e View Release notes Notepad runs and the relnotes txt file displays You may find it useful to print the relnotes txt file for future reference When you finish reading the file select File gt Exit After reading the document you can choose to Exit the installation by selecting Exit Install e Exit install If you don t read the relnotes txt file at this time you can access it at
171. her side to the channel number reported in network messages carrying packetized data All of the TASK services except those that deal with physical channels currently only stCas are controlled and monitored via virtual channels e Channel groups Virtual Channels are grouped by the DSP application based on their function For example voice and fax Each TASK module operates on groups of virtual channels The user application can change the channel grouping dynamically using TASK API functions Services Services are processing entities that operate on a data or signaling stream Services can be individually enabled and disabled and have a particular position where they fit into the data stream when enabled When disabled they are bypassed as necessary so that the data streams continue Examples of services include voice codecs tone detectors and generators packet builders and parsers and alarm detectors and generators For detailed information about TASK services see Appendix F Service descriptions Chapter 2 Understanding TASK 6000 software architecture PSS eS SSS SS SS SS SS SS SS SSS 4 xl Echo gt DM tone Events TDM canceller detectors to user inputand l output codec RTP Ethernet encode encoder packets to from Fast 1 2 Packet Router codec Jitter RTP EMT d
172. her LAN WAN interface or additional DSP resources The SP6040 contains four TMS320C6201 digital signal processors for processing multi channel telecommunications with Hot Swap support About other related products TI tools Software tools from Texas Instruments used to build DSP executables For more information about Texas Instruments products enter this URL in your web browser http www ti com dsp RadiSys Line Register Signaling RI R2 MF for TMS320C6201 User s Manual RadiSys Corpration Before you begin RadiSys Call Progress Tones Monitor for TMS320C6201 User s Manual RadiSys Corporation ITU T Rec H 225 Media stream Packetization and synchronization on non guaranteed quality of service LANs RFC 1889 RTP A Transport Protocol for Real Time Applications H 225 Real time Transport Protocol Real time Transport Control Protocol API Document Hughes Software Systems RTP RTCP module specification TASK 6000 reference guide vi Contents Chapter 1 Introducing TASK 6000 software Psoduci Gontisurabla DE eie eere t me ee EP ee eee eee 2 Chapter 2 Understanding TASK 6000 software architecture a E MD EE 3 TASK Hose ronime Ui at tt etre teneor enun tu eee tueantur eaae et enint 3 CC dero iol EL 3 INT Kernel Mode deyice driver 196 0rpisys nce reti rer erre cheats ret 4 Hot Swap Host BEIC ase ttim rr mre o rr tea e EI Ebrei C STEER EES ER EYE en eere EUR 4 TASE TOP w
173. hese values UP EVI CONFIG ACK Occurs in response to this function if the connection is established UP EVT CONFIG ERROR Occurs if the function fails for instance if an ARP of the ulDestRouter destination IP address fails UP FAILURE General failure 78 Appendix A Standard Host functions upDisableService upDisableService Disables a specified service based on service type for a specific channel Other services not dependent on this service are not affected Major services codecs echo canceller when disabled this way consume no DSP resources Minor services tone detectors and generators and so on still load but do not run reducing their resource load to a minimum but not zero Y Enabling the stCodec service disables the stTdmToneGen and stPktToneGen services For descriptions of available services see Appendix F Service descriptions Syntax UP ERROR ET upDisableService RSYS INT32 I1Slot RSYS INT32 lUnit RSYS INT32 lChannel UP SERVICE ET eService Parameters 1Slot The resource card unit number lUnit Specifies e For most services the DSP unit number e For IOP based services such as stCAS the framer unit number lChannel Specifies e For most services the virtual channel number e For IOP based services such as stCAS the timeslot number eService Identifies the service you want to disable stCodec Converts voice fax or modem data between TDM an
174. imum of 4 ports and 32 channels per port there are a total of 4 32 32 4096 descriptors The 32 descriptors per channel are configured as a circular chain Each descriptor points to a data buffer as well as the next link in the chain The data buffers are currently set to 512 bytes each 512 was selected since it is sufficient to store the largest LAPD message e Interrupt queues Another important data structure the interrupt queues one for transmit and one for receive are used by the controller to store information on transmit and receive events Each time a complete packet is sent or received or a transmit or receive error is detected an entry or entries are written to the queue These entries are later processed by the driver based on the mode see mode description below Processing modes 148 Transmission and reception of packets requires various processing to be performed by the I O processor IOP The following paragraphs describe the processing flow for transmission and reception as well as some of the build options define s which are available to modify the driver operation to tailor it to the user s application There are four modes in which the driver can work These modes differ in the number of interrupts which are generated and the way in which Tx and Rx buffers are processed Three of the four modes use polling for transmit receive or both Polling in this case refers to timer based polling in which an interrupt
175. includes the Development kit and displays only in the TASK 6000 DSP development kit configuration The install program prompts you to select a program group name TASK 6000 software reference guide 16 Te 8 10 11 Do one of these e Accept the default group name This method may reduce confusion as the program name will match TASK documentation e Enter a program group name This method can provide a program name that has meaning to you When you click the Next button install creates the directory you specified then installs the TASK software files If the installation program is cancelled at any point after this step the installation program prompts you to perform rollback Select Yes to clean up the partial installation If you chose to install RadiSys Hot Swap for Windows NT 4 0 software the TASK installation program starts the Hot Swap installation program and the Hot Swap installation welcome screen displays To continue go to step 9 Otherwise the install prompts you to view the relnotes txt file This file contains the latest information about the TASK6000 2 x release To continue the installation go to step 13 Select one of these e Next Installs Hot Swap software e Cancel Exits only the Hot Swap installation The TASK installation continues The install program prompts you to identify a destination directory Select a destination directory for Hot Swap software files then click t
176. ion You can enter one of these values HS DEVICE NORMAL Indicates that the board is in the slot and activated HS DEVICE QUIESCED Indicates that the board is removed from the slot and activity has ceased HS DEVICE POWERED OFF No board exists in the specified slot Return values SUCCESS Successful completion FAILURE Unsuccessful completion Comments Currently only RadiSys SPIRIT 6040 boards support Hot Swap For more information about these boards see SPIRIT boards on page iv 67 TASK 6000 software reference guide hostSetPeripheralDataHandler Identifies the message handler to invoke for processing received messages Syntax void hostSetPeripheralDataHandler void peripheralDataHandler long src long type long pDataBuf Parameters peripheralDataHandler A pointer to the message handler src The message s source in this format Device Devicenum Device Enter either TASK IOP or TASK_DSP DeviceNum Enter the device number Examples To receive a message from the second IOP use TASK_IOP 2 as the destination To receive a message from the third DSP use TASK_DSP 3 as destination type Message type currently only GET_T1_SIGNALING pDataBuf The buffer that contains the message Return values SUCCESS Successful completion FAILURE Unsuccessful completion 68 Appendix A Standard Host functions upConfigService upConfigService Configures a specified service b
177. irectly via Chapter 2 Understanding TASK 6000 software architecture the Host runtime library which forms messages and sends them to the IOP across the PCI bus The messages from remote API servers are acted upon in the same fashion as locally originated function calls Event dispatcher Events generated locally on the IOP or arriving in messages from associated DSPs are forwarded by the IOP runtime library s event dispatch function This makes a decision based on a runtime configuration variable of whether to route events to a remote API server e g the Host or to perform a callback to a local user application s function handler Fast packet router The heart of the TASK VoIP capability of the TASK 6000 software is the Fast Packet Router This functionality is built in to the IOP runtime library with a custom Ethernet device driver and corresponding components in the DSP software The Fast Packet Router can forward over twenty thousand packets per second of voice data to and from the DSPs on each IOP It does this while consuming less than 40 percent of the CPU time and bus bandwidth of the IOP s processor The DSPs build and parse Ethernet frames according to configuration parameters specified by the user application via specialized API functions Peripheral device driver libraries TASK 6000 software provides a basic set of libraries for controlling the on board peripheral devices currently comprising the Siemens MUNICH128 1
178. is generated by the Munich128X timer and the transmit and receive descriptors are read polled in response to this timer interrupt The interrupt timer interval is a build option controlled by the HDLC_POLLING_INTERVAL define e Mode 1 Fully interrupt driven In this mode interrupts are generated for every packet which is transmitted and received For applications which transmit many packets per second over many channels this mode results in high interrupt overhead and should not be used e Mode 2 Mixed mode 1 Tx polled In this mode packet transmission does not result in any interrupts but receive packets continue to generate interrupts This mode generates approximately half the interrupts as compared to the first mode and still maintains very low latency on receive packets It should be noted Appendix C HDLC driver library Processing packet transmission and reception that polling for completed packet transmission does NOT increase transmission latency It does however increase the time before which the buffer for a transmitted packet is available for reuse by another packet This gives the appearance of reducing the number of transmit buffers e Mode 3 Mixed mode 2 Rx polled This mode is the opposite of the second mode In this mode interrupts are generated for transmitted packets while polling is used for receive packets e Mode 4 Fully polled In this mode no interrupts are generated as a result of transmitted o
179. isc installed_comp InstallDir TASK6000 misc UNWISE INI InstallDir TASK6000 misc INSTALL LOG DSP mulcoders InstallDir TASK6000 Dsp UpaApp mulcoder ntb InstallDir TASK6000 Dsp UpaApp mulcoder out InstallDir TASK6000 Dsp UpaApp mulcoder ttb IOP image InstallDir Tornado2 target contig sp6k vxWorks Windows NT DLLs InstallDir TASK6000 Host Nt Bin hsmgrint dll InstallDir TASK6000 Host Nt Bin TASKHOS T dll Utilities InstallDir TASK6000 Host Nt Bin sp6k_util exe Windows NT InstallDir TASK6000 Host Nt Bin I960RPsys driver SystemRoot system32 drivers l960rp sys 21 TASK 6000 software reference guide 22 Type Files Diagnostics InstallDir TASK6000 Host Nt Bin rmondb exe InstallDir TASK6000 Host Nt Bin diag InstallDir TASK6000 Host Nt Bin diag c6 xcodec InstallDir TASK6000 Host Nt Bin diag c6 xcodec hlp InstallDir TASK6000 Host Nt Bin diag c6xmem InstallDir TASK6000 Host Nt Bin diag c6xmem hlp InstallDir TASK6000 Host Nt Bin diag e1t1dq InstallDir TASK6000 Host Nt Bin diag e 1t1dq hlp InstallDir TASK6000 Host Nt Bin diag hs_adiag InstallDir TASK6000 Host Nt Bin diag Hs_adiag hlp InstallDir TASK6000 Host Nt Bin diag hs_targ InstallDir TASK6000 Host Nt Bin diag iopmem InstallDir TASK6000 Host Nt Bin diag iopmem hlp InstallDir TASK6000 Host Nt Bin diag iopper InstallDir TASK6000 Host Nt Bin diag iopper hlp InstallDir TASK6000 Host Nt Bin diag t8 100 InstallDir TASK6000 Host Nt Bin diag t8 100 hlp Insta
180. it SUCCESS IopLogEvent IOP_EVENT_LOG_TYPE_APP_HIGH 0 0 0 IopInit FAILED return0 FAILURE Calling upStart if upStart NULL UP SUCCESS IopLogEvent IO return FAILURI ENT LOG TYPE APP HIGH 0 0 0 upStart FAILED E orn t lt 6 mulcoder out suonpoiddp go pup j1sop Buidojaaag y 40 dDy OV Configuring on board peripherals iopControlPeripheral TASK T8100 CONFIG T8100 DEFAULTS t_configArg amp t8100ClkConfig SET T8105 CLOCKS iopControlPeripheral TASK T8100 t81 t81 t81 t81 t81 t81 t81 t81 t81 00ClkConfig reference_clk_select REF LOCAL 00ClkConfig netref_select NETREF LOCAL 00C1kConfig fallback_clk_select FB LOCAL O0ClkConfig netref enable TRUE 00ClkConfig netref2 enable FALSE O0ClkConfig frame clk a enable TRUE O0ClkConfig frame clk b enable TRUE O00ClkConfig compat clks enable TRUE O0ClkConfig fallback enable FALSE CONFIG T8100 CLOCKS t configArg amp t8100ClkConfig CONFIGURE T1 T1 config struct line coding B8ZS T1 config struct framing mode ESF extended superframe T1 config struct line build out DSX1 0 to 133 ft T1 config struct idle code Oxff 255 T1 config struct idle channels 0x00000000 do not insert idle code in any channel
181. l data length excluding length word di_y 1 dl y 32 bit words i t Channel y data T Y Y All numbers and sizes are in 32 bit words Figure A 1 Packet organization buffer Syntax int hostSendNWPktBuf IN long dspNum IN long pBuf Parameters dspNum The number of the DSP to which you want to send packets pBuf A buffer that consists of one or more network packets as shown in Figure A 1 Return values SUCCESS Successful completion FAILURE Unsuccessful completion 97 TASK 6000 software reference guide hostSendMsg 98 Sends a message from the Host to the specified IOP or DSP If the message is not delivered to the IOP within the specified time the function returns failure Syntax int hostSendMsg IN long dst IN long msgType IN ulong msgSzW IN long pBuf IN long waitTimeMsec Parameters dst The message s destination in this format Device Devicenum Device Enter either TASK IOP or TASK DSP DeviceNum Enter the device number Examples To send a message to the second IOP use TASK_IOP 2 as the destination To send a message to the third DSP use TASK_DSP 3 as destination msgType Message type You can use any positive integer value msgSzW The number of words in a message pBuf The buffer that contains the message wait TimeMsec The number of milliseconds that elapse before determining a message s delivered status Return values SUCCESS Successful completion FAILU
182. lThreadMax ulSysCycle All the other members of the structure are reserved for Radisys internal use only UP_CONFIG_ERR Configuration error UP INVALID ARG Invalid argument 135 TASK 6000 software reference guide upSetEventHandler Passes information received from DSPs to the event handler Syntax UP ERROR ET upSetEventHandler void eventHandlerFunc UP EVENT DATA ST Parameters EventHandlerFunc UP EVENT DATA ST Receives notification from the UP EVENT DATA ST structure of DSP events such as tone detection peripheral state changes such as hook and other CAS signals and any other events any service generates UP EVENT DATA ST structure typedef struct 136 UP_SERVICE_ET eService UP_EVENT_ET eEventNum RSYS UINT32 ulsSlot RSYS_UINT32 ulUnit RSYS UINT32 ulChannel RSYS UINT32 ulEventDataLength union UP DTMF DETECTED DATA S sDtmfDetectedData UP CPT DETECTED DATA ST sCptDetectedData UP MF DETECTED DATA S sMfDetectedData UP RTP PT CHANGE DATA S sRtpPtData UP RTP SSRC CHANGE DATA ST sRtpSsrcData UP CAS CHANGE DATA ST sCasChangeData UP STATISTICS ST sStatistics UP CONNECT SEND RPT S sConnectSendRpt UP ERROR ET etErrorCod
183. lation directory If Tornado was installed in a directory other than C for example D xyz tornado2 or the software cannot install in the CA directory for other reasons such as space constraints choose another directory for the TASK6000 installation for example ImstallDir and copy the files installed under InstallDir Tornado2 to the Tornado installation directory for instance copy files under C Tornado2 to D xyz tornado2 For Makefile setting changes required when TASK6000 is installed in a directory other than C see IOP application development on page 34 The install program prompts you to choose the TASK components you want to install 6 Select the TASK components you want to install then click the Next button e Hot Swap Select this option if your system is Hot Swap capable Select this option if you are installing TASK software and version 2 x was uninstalled prior to installation The TASK uninstall program does not uninstall Hot Swap but does remove certain registries required by TASK to support Hot Swap Selecting the Hot Swap option re installs these registries e Runtime kit Installs the software required to run TASK applications e Development kit Installs the files required to write and debug TASK Host and IOP applications This option displays only in the TASK 6000 development kit configuration e DSP development kit Installs the files required to write and debug TASK DSP applications This option
184. library creates several Win32 threads which poll the IOPs in all slots of a system to monitor for data and events It resets downloads and monitors the IOPs maintains message and data queues communicating with each IOP via the NT Kernel Mode device driver taskhost dll includes API functions that implement callbacks to user defined functions for event handling and data delivery TASK 6000 software reference guide NT Kernel Mode device driver i960rp sys The NT Kernel Mode device driver is a low level driver that provides PIO Programmed I O and DMA Direct Memory Access to the memory and control registers on all IOPs in the system It also scans the PCI bus at system boot time enumerates the IOPs and through interaction with the Hot Swap Service maintains slot state information Hot Swap Host library For detailed information about the RadiSys Hot Swap for Windows NT see Hot Swap for Windows NT PN 07 1080 00 Hot Swap support is implemented as a Windows NT service and a device driver These communicate with taskhost dll to notify the user application of insertion and extraction events for all IOPs in the system They communicate with the IOP through the TASK NT Kernel Mode device driver to detect the extraction tab flips and illuminate the blue quiescent LEDs on each IOP e hsmgrint dll Implements the Hot Swap Manager library and creates the Win32 threads necessary to poll the IOPs in the system for insertion and extraction
185. lication development errore rre te aeo trea sadedsdontnansedencsueve 34 IOP application development ssesesceccccceececeececeeaessnseseneeeceeceeeeeeseeaaaes 34 Sample code Host application lopAPpLOGder c ccccccccccecceeeeaeeeseeesesececeeceeees 36 Sample code IOP application UpalopApp c eene 39 29 TASK 6000 software reference guide Developing the Host application lopAppLoader c Initialize the Host driver The Host software must first initialize the host driver as shown in Initializing the host driver on page 36 Set up message handlers After initializing the host driver the application sets a UPA event handler a function to call whenever a UPA event occurs In our sample application the handler waits for an indication that the DSP is running see the hostRunProg function description below The Host application creates Win32 events ghlopRunning and ghDspRunning to signal that a particular IOP or DSP is running and then sets these flags e etCommandAck Specifies whether DSP should acknowledge commands sent to it from IOP or host e etEventForwarding Specifies whether IOP is to forward UPA events to the Host e etLanControl Specifies whether the Host sends control messages to the IOP via the Local Area Network or via the PCI bus You must set this field to enumNoLanControl TASK does not support LAN based messaging For sample code see Setting up message b
186. lications TASK components are distributed among the three hardware subsystems of the RadiSys family of Media Gateway products DSP IOP and Host according to the performance requirements dictated by modern VoIP and similar applications A developer may choose to create applications whose functionality resides primarily on the IOP primarily on the Host or in a distributed fashion using both IOP Application TASK runtime library DSP kernel Figure 1 1 TASK application distribution IOP only Some applications will utilize multiple Hosts to meet high availability requirements Advanced developers can even create DSP based applications that use the powerful RadiSys DSP library components directly For information about developing TASK applications see Chapter 4 V Developing Host and IOP applications Developing DSP based applications using RadiSys DSP library components requires that you use the TASK 6000 DSP development kit For more information about this kit see Product Configurations later in this chapter TASK 6000 software reference guide Application that resides on the Host and communicates with the IOP Application distributed across the Host and IOP Host IOP Host IOP Application Application ff amp Application TASK runtime gt Usk sorie TASK runtime 4 ee library ki library i H DSP k
187. ll IOPs for received network packets The default is 10 ms Return values SUCCESS Successful completion FAILURE Unsuccessful completion 101 TASK 6000 software reference guide hostSendPriorityMsg 102 Sends a message from the Host to the specified IOP or DSP If the message is not delivered to the IOP within the specified time the function returns failure The message advances to the first position in the queue of messages destined for each IOP and therefore pre empts any other messages waiting in the queue Syntax int hostSendPriorityMsg IN long dst IN long msgType IN ulong msgSzW IN long pBuf IN long waitTimeMsec Parameters dst The message s destination in this format Device Devicenum Device Enter either TASK IOP or TASK_DSP DeviceNum Enter the device number Examples To send a message to the second IOP use TASK_IOP 2 as the destination To send a message to the third DSP use TASK_DSP 3 as destination msgType Message type You can use any positive integer value msgSzW The number of words in a message pBuf The buffer that contains the message wait TimeMsec The number of milliseconds that elapse before determining a message s delivered status Return values SUCCESS Successful completion FAILURE Unsuccessful completion Overview IOP functions The IOP API provides a control interface for the allocation configuration and execution of IOP resources The function prot
188. llDir TASK6000 Host Nt Bin diag tiolan InstallDir TASK6000 Host Nt Bin diag Tiolan hlp InstallDir TASK6000 Host Nt Bin diag tiowan InstallDir TASK6000 Host Nt Bin diag Tiowan hlp InstallDir is the directory in which RadiSys TASK software is installed Chapter 3 Installing and configuring TASK 6000 software Development kit Type Files Documentation InstallDir TASK6000 Doc Taskman ico Install Dir TASK6000 Doc TaskMan pdf InstallDir TASK6000 Doc sp6040_hwref pdf InstallDir TASK6000 Doc relnotes txt Installation management information InstallDir TASK6000 misc UNWISE EXE InstallDir TASK6000 misc spdiag ico InstallDir TASK6000 misc hwref ico InstallDir TASK6000 misc hsetup exe InstallDir TASK6000 misc u_guide ico InstallDir TASK6000 misc uninst ico InstallDir TASK6000 misc Taskdiag ico InstallDir TASK6000 misc Taskman ico InstallDir TASK6000 misc Taskact ico InstallDir TASK6000 misc installed_comp InstallDir TASK6000 misc UNWISE INI InstallDir TASK6000 misc INSTALL LOG Example Applications Host InstallDir TASK6000 Examples Upa UpaHostApp Bin UpaHostApp exe InstallDir TASK6000 Examples Upa UpaHostApp UpaHostApp h Instal Dir TASK6000 Examples Upa UpaHostApp UpaHostApp dsw Instal Dir TASK6000 Examples Upa UpaHostApp UpaHostApp dsp Instal Dir TASK6000 Examples Upa UpaHostApp UpaHostApp c Example Applications IOP Install Dir TASK6000 Examples U pa UpalopApp lopAppLoader c Install Dir TASK6000 Examples U
189. llation Service utConfigSvc tEchoCancConfig eTapLength TL8ms utConfigSvc tEchoCancConfig lFreezeAdaptation enumDisabled utConfigSvc tEchoCancConfig lNLPDisable enumDisabled utConfigSvc tEchoCancConfig lNlpThreshold 10 utConfigSvc tEchoCancConfig lSlowAdaptation enumDisabled Configure Service if upConfigService lUnit DSP Unit f lChannel Channel stEchoCanc Echo Cancellation Service Type Enumeration amp utConfigSvc UP SUCCESS Codec Configuration Settings TopLogEvent IOP EVENT LOG TYPE APP HIGH lUnit lChannel stEchoCanc CrFastPktOut return UP FAILURE else CrFastPktOut ConfigSvc Bad CrFastPktOut ConfigSvc Good ConfigSvc Bad epinb aduasajas 94D 3JOs omn ev TopLogEvent IOP_EVENT_LOG_TYPE_APP_HIGH lUnit lChannel stEchoCanc CrFastPktOut ConfigSvc Good Setup RTP Encoder Service utConfigSvc tRtpSendConfig stRtpSendHeader version 2 utConfigSvc tRtpSendConfig stRtpSendHeader p 0 utConfigSvc tRtpSendConfig stRtpSendHeader x 0 utConfigSvc tRtpSendConfig stRtpSendHeader cc 0 utConfigSvc tRtpSendConfig stRtpSendHeader m 0 utConfigSvc tRtpSendConfig stRtpSendHeader pt 0 utConfigSvc tRtpSendConfig stRtpSendHeader seq 1 utConfigSvc tRtpSendConfig stRtpSendHeader ts 0 utConfigSvc tRtpSendConfig stRtpSendHeader ssrc 0x12345
190. m CT BUS Connections only Service descriptions This appendix describes TASK services This appendix lists structures in the order listed in the table below Use this table to identify the service or services you want to use Use the service description later in this appendix to obtain detailed information including syntax and parameter values For information about Go to this page Gon c ER 260 c3 260 Echo cancelat oM re doe eec teret tu missi tapes AE E E se du uae iode cE Ceu 263 SOE HOR OPE dert eec eee tocar nabasiania necniebatsal seus resumen od tas etel uito 263 Tone derer In esce Erron Pre i eee Eaa aun EE d De Ao SER De ga EaR 264 sdm Tol Geli eet eee bore Oe ee 264 SUPE OMA 51 2 ENTERO TT 265 Tone detecto eese e teer ettet te tpe eer eene dese ee ve smote asks 266 cg psg 266 cum qb ET CT 267 c AUD cette ace Im 268 EL DSL eiu M MEI MM Me E MEE 270 RTP BAGUIO ssa eee tes etre or e t iad P ce bee an te E e e RES RE US 272 pi EN e EC TO TEE T TOT TOT E LLL TET 272 SURED Decode RSEN TIER TOIT TEEE 274 Siml cities M dd ML EIE 276 C Up 276 cie Peu s e eo NN DIRE EET 277 Alann PECORE D TOT EON 278 stEthiemetAlano e eee rrr erroe serere keen es ete Ee s eee yerba e ed e dde 278 SE s A 278 PUA OVO CS po MERE 278 ucc s E EE 281 O URP troy ounce nck nares bate ONERE LEE 282
191. m rate dsp bspO0 rate t stream rate dsp bspl rate t stream rate eltl_rate t stream rate ct bus 03 00 rate t stream rate ct bus 07 04 rate t stream rate ct bus 11 08 rate t stream rate ct bus 15 12 rate t stream rate ct bus 19 16 rate t stream rate ct bus 23 20 rate t stream rate ct bus 27 24 rate t stream rate ct bus 31 28 rate t T8100StreamConfig Elements dsp bspO0 rate Sets the stream rate for the streams which are connected to BSP 0 of each DSP dsp_bspl_rate Sets the stream rate for the streams which are connected to BSP 1 of each DSP elti_rate Sets the stream rate for the streams which are connected to the SPIRIT board s option card site You can set the rate to one of these 2 048MHz Sets the stream rate to 2 048MHz If the RadiSys E1 or T1 option card is being used you must select this option 4 096MHzSets the stream rate to 4 096MHz 8 192MHz Sets the stream rate to 8 192MHz Disabled Disables the stream ct bus yy xx rate Sets the stream rates for the H 100 110 streams xx thru yy 253 TASK 6000 software reference guide Restrictions The H 100 110 streams rates can be configured without restriction that is any combination of rates is allowed The on board local streams have the following restrictions e If e1ti_rate is set to EIGHT MHZ the other 2 on board local stream groups the DSP BSP streams are disabled e If dsp_bsp1_rate is set to EIGHT MHZ the on board local stre
192. mum length for maximum frame length checking The maximum length should not exceed 1024 in this version of the driver Appendix C HDLC driver library Structures t HDLC channel config t HDLC channel config Specifies the configuration for each channel Syntax typedef struct UINT8 channel_mode UINT8 interframe timefill char UINT8 crc type UINT8 crc enable UINT8 invert data UINT8 protocol UINT8 flag adjust t HDLC channel config Parameters channel mode Specifies whether a channel is in normal or loopback mode This version of the driver only supports normal mode interframe timefill char Specifies the octet to use for interframe time fill IFTF You can select one of these HDLC IFTF IS 7E IFTF Ox7E HDLC IFTF IS FF IFTF OxFF crc type Specifies whether the size of the CRC You can select one of these 16 bits HDLC CRC TYPE 16 BIT 32 bits HDLC CRC TYPE 32 BIT crc enable Enables and disables CRC checking Rx and generation Tx invert data Inverts transmitted and received data protocol Specifies the type of formatting protocol to use The current driver supports only HDLC formatting and therefore this field is ignored flag adjust Adjusts the number of transmitted interframe time fill characters You can select one of these HDLC FLAG ADJUST OFF Uses a minimum of three interframe time fill characters between two consecutive frames HDLC FLAG ADJUST ON Reduces the numbe
193. n used with the stJitterBuf service depacketization stRtpDecode Implements both RTP decode functionality and a dynamic jitter buffer that feeds compressed frames to a codec for decompression on a strict schedule regardless of input variations stTdmToneGen Generates tones or tone pairs to a TDM output with programmable cadence and cadence count stT1E1Alarm Notifies the user of an alarm signaled by a T1 or E1 framer and allows control of the LEDs associated with each span stCAS Implements Channel Associated Signaling on T1 and E1 lines which are attached locally to framers control by the I O Processor stPacketBuilder This is an embedded service controlled by the upConnectPktSend function stPacketParser Takes an IP UDP packet from the Ethernet gt DSP FIFO checksums headers and data as appropriate strips headers and passes the payload to the next module usually stRtpDecode or stT38 in TASK2 stEthernetAlarm Detects Ethernet Link status changes and generates UP EVT ETHERNET ALARM events which notify a user application of the change stQDSOHdlc Concatenates four sub rate HDLC channels into a full DSO For detailed information about TASK services see Appendix F Service descriptions putConfigService A pointer to the configuration data structure UP CONFIG SVC UT structure typedef union UP_CODEC_CONFIG_ST tCodecConfig UP_ECHO_CONFIG_ST tEchoCancConfig UP_AGC_CONFIG_ST tAGCCo
194. name as those installed by the CD ROM even if updated after installation After uninstalling TASK software only new files added to the installation directory remain The TASK uninstall program does not uninstall Hot Swap but does remove certain registries required by TASK to support Hot Swap If you install TASK again you must select the Hot Swap option to re install these registries TASK 6000 software reference guide Uninstalling Hot Swap If you installed Hot Swap you must also complete these steps 1 Select Start gt Settings gt Control Panel gt Add Remove Programs 2 Select the Hot Swap 1 10 for Windows NT option 3 Click the Add Remove button 18 Chapter 3 Installing and configuring TASK 6000 software Manual uninstall procedure The TASK uninstall program relies on files created during installation If these files are accidentally deleted you must manually uninstall the software Use the manual uninstall only when you cannot uninstall the software with the Automatic Uninstall methods To manually uninstall TASK software 1 Remove TASK software files located in the directory you specified during installation Two subdirectories TASK6000 and Tornado2 must be removed However if these directories existed prior to installation and had some files already present in them or were added after the installation you should not remove those files For a list of files added by the installation program see T
195. ndix B Standard IOP functions iopControlPeripheral t_T8100ClockConfig structure typedef struct t_ref_clk reference_clk_select t_netref_clk netref_select t fallback clk allback clk select BOOL32 netref enable BOOL32 netrefZ2Z enable BOOL32 frame clk a enable BOOL32 frame clk b enable BOOL32 compat clks enable BOOL32 fallback enable t T8100ClockConfig reference clk select Specifies the primary clock source to be used by the T8100 netref select Specifies the clock source used by the T8100 to generate its output CT NETREF signal fallback clk select Specifies the fallback clock source used by the T8100 That is the clock used when the primary clock source selected via reference cik seiect fails netref enable Enables the CT NETREF signal generated by the T8100 onto the CT Bus netref2 enable Enables the CT NETREF 2 signal generated by the T8100 onto the CT Bus framer clk a enable Enables the CT C8 A clock and CT FRAME A frame sync signals generated by the T8100 onto the bus framer clk b enable Enables the CT C8 B clock and CT FRAME B frame sync signals generated by the T8100 onto the bus compat clks enable Enables the MVIP and SCSA compatibilty clock and strobe signals generated by the T8100 onto the bus 109 TASK 6000 software reference guide 110 fallback_enable Enables clock fallback When a clock error occurs on the current clock refe
196. nds the alarm or code These fields are mutually exclusive Syntax typedef struct t TI1El1 framer idframer id BOOL32send AIS BOOL32send yellow alarm BOOL32send loop up BOOL32send loop down t T1 user command data Elements framer id Specifies a framer port for functions which can operate on any port For more information see T1E1 framer id on page 203 send AIS Determines whether to send AIS You can select one of these TRUE Sends an AIS unframed all 1s signal alarm FALSE Does not send and AIS alarm send yellow alarm Determines whether to send yellow alarms You can select one of these TRUE Sends yellow alarms FALSE Does not send yellow alarms send loop up Determines whether to send loop up You can select one of these TRUE Sends loop up FALSE Does not send loop up send loop down Determines whether to send loop down You can select one of these TRUE Sends loop down FALSE Does not send loop down Appendix D T1 E1 library Structures t Tl user status struct t Tl user status struct Provides line status Status is provided via one of these methods e Call getT1Status The ramer idis specified by the caller and the timestamp and change word fields are invalid e Use a callback function specified through setT1StatusHandler A change in receive line status results in a callback to the user specified handler In this case all four fields of t_T1_user_status_struct are valid
197. ne an address location in a DRAM device as would otherwise be required Real Time Operating System An operating system that performs tasks at specified times Software or firmware that the number of times per second that an analog signal is measured and converted to a binary number the purpose being to convert the analog signal to a digital analog The most common digital signal PCM samples voice 8 000 times a minute Synchronous Burst Static Random Access Memory A physical connection with a computer for the purpose of serial data exchange with a peripheral device The port requires an I O address a dedicated IRQ line and a name to identify the physical connection and establish serial communication between the computer and a connected hardware device A serial port is often referred to as a COM port Super Frame A DS1 framing format in which 24 DSO timeslots plus a coded framing bit are organized into a frame which is repeated 12 times to form the ssuperframe RAM in the address range 0xC000h through OxFFFFFh used for shadowing Shadowing is the process of copying BIOS extensions from ROM into DRAM for the purpose of faster CPU access to the extensions when the system requires frequent BIOS calls Typically system and video BIOS extensions are shadowed in DRAM to increase system performance Small Outline Dual Inline Memory Module A new form factor for memory modules that is smaller and denser than SIMMs A mechanical d
198. nerate an event each time the received bits for this channel change When upEnableService upDisableService or upConfigService is called for the stCas service the dsp and channel arguments are used as framer unit number and timeslot number respectively UP EVT CAS CHANGE UP CAS CHANGE DATA ST typedef struct RSYS_UINT32 ulTimeStamp RSYS INT32 1ABCD UP CAS CHANGE DATA ST ulTimeStamp Contains the microsecond timestamp when the change was detected This timestamp value rolls over at 0x07C1F080 1ABCD Holds the ABCD bits four bit value with A in bit 3 to indicate the current CAS data for this channel In SF framing only the A and B bits are valid Appendix F Service descriptions Signaling stQDSOHdlc stODSOHdlc Config data Events Concatenates four sub rate HDLC channels into a full DSO DSP virtual channels 16 through 31 are reserved for Quarter DSO support with a maximum of 16 Quarter DSO channels per DSP The starting channel must be either 16 20 24 or 28 Enabling the first channel in this block concatenates that channel with the remaining three channels in the block and output the results in the last channel of the block For example the following concatenates channels 20 21 22 and 23 into channel 23 UP ERROR ET upEnableService l1Slot l1Unit 20 stQDSOHdlc Channels 16 through 31 are reserved for Q DSO traffic to prevent the user from accidently interleaving voi
199. nfig UP_DTMF_CONFIG_ST tDIMFConfig UP_CPT_CONFIG_ST tCPTConfig UP_MF_CONFIG_ST tMFConfig UP_TONEGEN_CONFIG_ST tToneGenConfig Appendix B Standard IOP functions upConfigService UP_RTP_SEND_CONFIG_S tRtpSendConfig UP_RTP_RECV_CONFIG_S tRtpRecvConfig UP_T38_CONFIG_S tT38Config UP_T1E1ALARM_CONFIG_ST tT1E1AlarmConfig UP_CAS_CONFIG_ST tCasConfig UP PACKET BUILDER CONFIG ST tPBConfig UP PACKE PARSER CONFIG ST tPPConfig UP IOPINITCONFIG ST tlIopInitData UP CONFIG SVC UT Return values UP SUCCESS Successful completion If the function cannot return an error in real time for example the function sends a message to another processor to implement a configuration change the function returns this value indicating that the message was sent properly The processor implementing the function returns one of these values UP EVT CONFIG ERROR P EVI CONFIG ERROR The new channel or service configuration is invalid UP EVI CONFIG ACK for debugging acknowleges each configuration action UP CONFIG ERR Configuration error UP INVALID ARG Invalid argument 115 TASK 6000 software reference guide upConfigServiceGlobal 116 Configures a specified service based on service type for all channels V For descriptions of available services see Appendix F Service descriptions Syntax UP ERROR ET upConfigServiceGlob
200. ng cOnnGctlong ion ce reir intret aereo sie rt Hee I E SR EE PESE PE EVE 231 PREGA CAS UMAG MRTDT DIPL DOE E ER E E 1L 22 2L DLL 232 Sample star tip Seguence soises ee sheet eec eee dh sdets soa a vesehedes Feet PEE SERERE rein bees Pe Ta ceci Peers venen 234 Function SE sedeo reete eee EN Re re ut Eve xn EY EHE ERR Re eR RENE RT eX RE eee R E UN aee cena Ue SPHERE 235 lnc MT 235 Functions PR 237 PU ORO s 237 set STOO COCK GOMES 2 eater tete thee ree ee npe bene rae Ense eere ER EVER ERR e eee dra needed adden 238 xi TASK 6000 software reference guide serTetO05treamConlgE uei rne I EE E ERR HEURE EVER ERREUR EEUU YER ER 239 ser T S TOOSwatcl ODE oie Teste erit eere reote caanenuancdsdwasvve eda voce E Eee ane ain Eee ns 240 elearT8T100ClockPault 2 21 5 5 0 reete eoi eee ea Leo Pec eca Cera ovra ee eR EE Rer EV Eyes aa RE Cervera 241 clear PaRT00MemorbyEault a usce eai karts nece euet nene eno cna a pee nee neun en ee ERES coaaddvevensceds 242 seg T8 1OUC lockPaultNIask uiii t tico De re a eee eet eue Le eee ta tee ya Cede te ey ee tue ee ETTE 243 get TO T10 ErrTORStAtUS c eei eee rye eee eee rene eere eov ver yo NEN Verre HEN ea EXER V Yee EU PN ev x PE EN Ver pu o Y ero reed 244 set T POUPandlek E Er Enero iere irato teeth er Pe Govt oeste E bods saasesoeendeadeeees 245 UTR GRU MP
201. nie cuit Deseret Pena Eee ga ex steed Corre Pega ER LEE Ra YR EYE RR ERU ER E Ye XAR aa 165 TAIL GSetTxPacketkIundlek 22 12 eee Dre e nette eit Yer sleada Leve eta EHE E 166 HDI SeiRxPacketHandler 2 2 tert tet ree PERRO P ERI Ee S SISENES NESE STREE UE 167 HDLGSetDeviceErrorHandler 2 1 iret rne etr enne etna eo annu ia 168 HIDIGSSELXEGFOREIADG GE seses orte ee tnter rrr rrt bier ERE e ERR e FOR YI ee RN Ed 169 HDLGCSetRxErrorHandler 2 ciere thee a ran n ade rano ESEA co ee aan adea Erano dde 170 Type de TS E ctos ases reo e enne iet eei edet etae E N he nda EE EEN 171 SECTE mM 172 tHDLC pot Conip P 173 t HDLC channel contigo et ertet raten re e ESN IE ss Pearl EEEa te REESE 175 E HDLC channel SEdEIS endete rte eec ea e a E tredecim eR 176 Appendix D T1 E1 library Wa dul M 177 Sample startup Se ODE iecore diee secre Ce ee pae bo PH E E 178 Puncti n ot essnee eere theses EE e eo aan reuse Fan nad aee FERE gg e REDE ERN RE ERR EE aee ab nad gen raa uua 179 MPT o MEM ERE 183 juna T 183 ED XI dori mu T 184 yl c M 185 COEGIT me TEE 186 se T US etal rata cedi E EHE RE EX te FERRO EXE eeu uer DAE y RR YR Fade a Has 187 ser T 1C omunand eee eee e nDI ue e ER EN HEUS 188 Contents Set MESS TOIT hr ER
202. ntForwarding A flag that specifies whether the system forwards all events from each IOP to the host You can select one of these enumDisabled Events are forwarded from each IOP to the host enumEnabled Events are not forwarded to the host If you select this option then a user application must be present on each IOP to receive most events etLanControl A flag that specifies the transport to use for communicating control messages between a controlling host and an IOP You can select one of these enumNoLanControl The PCI bus communicates control messages between host and IOP This limits host control to IOPs located within the same shelf Return values UP_SUCCESS Successful completion UP_FAILURE General failure 93 TASK 6000 software reference guide hostGetNWPktBuf 94 Receives the next buffer of packets from the DSP Syntax int hostGetNWPktBuf IN long dspNum IN long pBuf Parameters dspNum The DSP number pBuf A pointer to the buffer that receives network packets Return values SUCCESS Successful completion FAILURE Unsuccessful completion Comments The buffer contains one or more packets in the following format e Total buffer length e Channel number one word e Packet length one word e One or more words of packet data For details about the packet buffer contents see hostSendNWPktBuf on page 97 Appendix A Advanced Host functions hostJitterControl hostJitterCon
203. ntime library 3 host structures REPORTBOARDINFO 57 SPeK BOARD INFO T 55 t configArg 53 t T8100StreamConfig 52 t T8100SwitchConfig 50 UP CONFIG SVC UT 70 UP GLOBALCONFIGDATA UT 73 UP PKT RECV CONFIG ST 75 hostControlPeripheral 50 hostExit 54 hostGetBoardInfo 5 5 hostGetNWPktBuf 94 hostGetSystemInfo 57 hostInit 59 hostJitterControl 95 hostLoadDsp 60 hostLoadlop 61 hostReadIop 96 hostResetBoard 62 hostResetDsp 65 hostRunDsp 64 hostRunLoadedlop 65 hostSendMsg 98 hostSendNWPktBuf 97 hostSetEventHandler 66 hostSetHotSwapHandler 67 hostSetNWNotify 99 hostSetPeripheralDataHandler 68 hostWritelop 100 Hot Swap 4 hbus sys file 4 hsmgrint dll file 4 Hot Swap files hsmgrint dll 4 hsmgrint dll 4 l i960rp sys 4 initialize the Host driver 30 initialize the IOP driver 31 initializing UPA structures 30 initT8100 237 295 TASK 6000 software reference guide interfaces 6 Application Programming Interface API 7 Internet Protocol IP 6 PSTN 7 Internet Protocol 6 inter processor communication 10 interrupt request IRQ defined 288 IOP application distribution 1 IOP applications developing initializing the IOP driver 31 setting up message handlers 51 IOP applications configuring services 32 IOP applications creating data paths 32 IOP applications sample code 39 IOP functions iopControlPeripheral 108 iopGetNWPktBuf 141 iopInit 112 iopJitterControl 142 iopSendMsg 144 iopSendNWPktBuf 143 iopSetNWNotify 145 upConfigSe
204. ntrolling host s IP address This IP address is used by an IOP to establish a communication link to the host for event forwarding when either TCP or UDP based control has been configured et CommandAck This enumeration specifies whether UPA should acknowledge each UPA command request with an asynchronous notification This enumeration should be set to 139 TASK 6000 software reference guide enumDisabled when commands are issued by an IOP based application and should only be set to enumEnabled when a host based application wants positive confirmation of command processing etEventForwarding This enumeration specifies whether UPA should forward events emanating from an IOP to the Host This forwarding is useful in determining the success or failure of an UPA command when issued from the host etLanControl A flag that specifies the transport to use for communicating control messages between a controlling host and an IOP You can select one of these enumNoLanControl The PCI bus communicates control messages between host and IOP This limits host control to IOPs located within the same shelf Return values UP_SUCCESS Successful completion UP_CONFIG_ERR Configuration error 140 Appendix B Advanced IOP functions iopGetNWPktBuf iopGetNWPktBuf Receives the next buffer of packets from the DSP The buffer contains one or more packets in the following format e Total buffer length e Channel number
205. nts to the location of InstallDiNTASK6000 and WIND BASE as TORNADO DIR gt Tornado2 Chapter 4 Developing Host and IOP applications Special note for IOP applications The CD contains certain object files extracted into the sp6k directory under InstallDir tornado2 target config These files are required for building the VxWorks image Use a clean clause similar to the one provided in the sample Makefile task6000 clean This backs up the object files before cleaning the build environment and the restores these files after the end of clean clause This is required because the clean clause provided inside the makefiles of Tornado distribution clean all the object files including the one provided with the TASK6000 2 X distribution and these object files cannot be re built using the TASK6000 2 X distribution files 35 9E Sample code Host application lopAppLoader c Initializing the host driver Initialize host driver if hostInit SUCCESS Sett printf nUpaHostApp gt ERROR Failed to initialize Host Driver Exiting n return UP_FAILURE ing up message handlers Set an event handler to process any events received from either the IOP or DSP upSetEventHandler UpaEventHandler Set up an automatically resettable event signalled when an individual IOP runs g g hlopRunning CreateEvent NULL FALSE FALSE N
206. null file InstallDir Tornado2 target contig sp6k sysEeprom c null file InstallDir Tornado2 target contig sp6k rpQueueLib c null file InstallDir Tornado2 target config sp6k Rppcilib c null file InstallDir Tornado2 target config sp6k Rpintlib c null file InstallDir Tornado2 target config sp6k Rpdmalib c null file InstallDir Tornado2 target contig sp6k Pciutil c null file InstallDir Tornado2 target contig sp6k pcilomapLib c null file InstallDir Tornado2 target contig sp6k iopSupport c null file InstallDir Tornado2 target config sp6k if_fei c null file InstallDir Tornado2 target config all dataSegPad c InstallDir Tornado2 target config all version c InstallDir Tornado2 target config all usrConfig c InstallDir Tornado2 target src usr usrLib c InstallDir Tornado2 target contig sp6k Target bat InstallDir Tornado2 target contig sp6k sysEeprom h InstallDir Tornado2 target config sp6k startit tcl InstallDir Tornado2 target config sp6k setit tcl InstallDir Tornado2 target contig sp6k sdm h InstallDir Tornado2 target config sp6k rpQueueLib h InstallDir Tornado2 target contig sp6k Rppci h InstallDir Tornado2 target config sp6k Rpint h InstallDir Tornado2 target contig sp6k Rpdmalib h InstallDir Tornado2 target config sp6k Radtimer h InstallDir Tornado2 target contig sp6k Pcilib h InstallDir Tornado2 target contig sp6k pcilomapLib h InstallDir Tornado2 target config sp6k Pci_devs h InstallDir Tornado2 target config sp6k pc h InstallDir Tornado2
207. oard s information up to the given number of IOPs in the system For more information see hostGetBoardInfo on page 55 Appendix A Standard Host functions hostlnit hostlnit Initializes the Host API Call this function first before calling any other functions to initialize the module Syntax int hostInit void Parameters None Return values SUCCESS Successful completion FAILURE Unsuccessful completion 59 TASK 6000 software reference guide hostLoadDsp 60 Loads a TASK generated DSP program onto the specified DSP processor You can skip this step if an external program loads the cards before this application begins Syntax int hostLoadDsp IN long dspNum IN char sCoffFileName Parameters dspNum The number of the DSP onto which the program loads sCoffFileName The DSP executable file generated by the TASK composer Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix A Standard Host functions hostLoadlop hostLoadlop Loads the IOP with an application This function loads and executes the IOP application Reloading the IOP resets the DSPs DSPs must then be reloaded You can skip this step if an external program loads the IOP before this application begins Syntax int hostLoadIlop IN UCHAR iopNum IN char app name Parameters iopNum The number of the IOP board onto which the program loads app name A pointer to a character s
208. ode Events ulInitConfig Specifies whether the service is being setup for the first time within a call or whether it is a modification to a previously configured UP_RTP_RECV_CONFIG_ST UP_EVT_RTP_PT_CHANGE UP RTP PT CHANGE DATA ST typedef struct RSYS_UINT32 ulTimeStamp RSYS_UINT32 ucNewPTValue UP_RTP_PT_CHANGE_DATA_ST ulTimeStamp Contains the RTP timestamp in the packet where the change was detected ucNewPTValue Contains the new 6 bit PT value UP_EVT_RTP_SSRC_CHANGE UP RTP SSRC CHANGE DATA ST typedef struct RSYS_UINT32 ulTimeStamp RSYS_UINT32 ucNewSsrcValue UP_RTP_SSRC_CHANGE_DATA_ST ulTimeStamp Contains the RTP timestamp in the packet where the change was detected ucNewSsrcValue Contains the new SSRC value 275 TASK 6000 software reference guide Signaling stCAS Config data Events 276 Implements Channel Associated Signaling on T1 and E1 lines which are attached locally to framers control by the I O Processor It allows control of two bit SF or four bit ESF CAS on the framer s transmission side and if configured to do so generates UP EVT CAS CHANGE events whenever received bit values change UP CAS CONFIG ST typedef struct RSYS INT32 1ABCD RSYS INT32 lEventFlag UP CAS CONFIG ST 1ABCD The four bit value to assign to the timeslot with a in bit 3 In SF mode only a and b are used b and c are ignored lEventFlag Non zero means ge
209. on V Enabling the stCodec service disables the stTdmToneGen and stPktToneGen services For descriptions of available services see Appendix F Service descriptions Syntax UP ERROR ET upConfigService RSYS INT32 IUnit RSYS INT32 IChannel UP SERVICE ET eService UP CONFIG SVC MSG UT putConfigService Parameters lUnit lChannel eService Specifies e For most services the DSP unit number e For IOP based services such as stCAS the framer unit number Specifies e For most services the virtual channel number e For IOP based services such as stCAS the timeslot number Identifies the service you want to configure stCodec Converts voice fax or modem data between TDM and a packetized form stEchoCanc Tries to remove time delayed versions of a TDM channel s output from its input stream stAGC Provides Automatic Gain Control for TDM input data stTdmDTMFDet Performs DTMF detection on TDM input data stPktDTMFDet Performs DTMF detection on decompressed packet data before it is output to a TDM stream stCPTDet Performs Call Progress Tone detection on TDM input data stMFDet Performs MF Tone detection on TDM input data for R1 or R2 signaling stPktToneGen Generates tones or tone pairs to a TDM output with programmable cadence and cadence count 113 TASK 6000 software reference guide 114 stRtpEncode Performs RTP Packetization and whe
210. onfigure the hardware boots the operating system and provides standard mechanisms that the operating system can use to access the PC s peripheral devices A binary digit The process of starting a microprocessor and loading the operating system from a powered down state cold boot or after a computer reset warm boot Before the operating system loads the computer performs a general hardware initialization and resets internal registers The storage device from which the computer boots the operating system A group of 8 bits 1 Channel Associated Signaling Repetitively sending one or more bits of signaling status associated with the specified circuit to indicate circuit state 2 Column Address Strobe An input signal from the DRAM controller to an internal DRAM latch register specifying the column at which to read or write data The DRAM requires a column address and a row address to define a memory address Since both parts of the address are applied at the same DRAM inputs use of column addresses and row addresses in a multiplexed array allows use of half as many pins to define an address location in a DRAM device as would otherwise be required Comfort Noise Generator A software algorithm that creates a background audio signal to replace the silence created by some software CODECS during the time no speech data is transmitted over the telephone line COder DECoder Converts voice signals from analog form to digital signals
211. opLogEvent IOP_EVENT_LOG_TYPE_APP_HIGH utConfigSvc tRtpRecvConfig ulAutoAdjustable TRUE utConfigSvc tRtpRecvConfig ulMaxJitterBufferDly 200 utConfigSvc tRtpRecvConfig ulTargetJitterBufferDly 30 utConfigSvc tRtpRecvConfig ulMaxFrameSizeInBytes 80 utConfigSvc tRtpRecvConfig ulExtractDataLength 80 utConfigSvc tRtpRecvConfig ulInitConfig 0 DSP Unit Channel RTP Decoder Service Typ Enumeration UP SUCCESS Codec Configuration Settings lUnit lChannel stRtpDecode CrFastPktIn ConfigSvc Bad lUnit lChannel stRtpDecode CrFastPktIn ConfigSvc Good Creating a data path between an inbound RTP channel running on a DSP and the IOP driver s network packet routing component Setup the Fast Packet Receiver Servic stPktRecvConfig ulInterface 0 stPktRecvConfig ulReceivePort stPktRecvConfig eService stRtpDecode Setup Packet Parser Servic if upConnectPktRecv lUnit lChannel amp stPktRecvConfig IopLogEvent IOP EVENT LOG TYPE APP HIGH return UP FAILURE else IopLogEvent IOP EVENT LOG TYPE APP HIGH Ethernet Adapter Interfac 6000 32 1Unit lChannel 1 Port Assignment 6000 7000 port range UP SUCCESS fei0 DSP Channel Fast Pkt Receive Structure lUnit lChannel 0 CrFastPktIn ConPktRecv Bad lUnit lChannel 0 CrFastPktIn
212. operation and configure the appropriate line parameters line coding framing mode buildout etc In addition these functions allow for controlling of outbound robbed bit signaling alarm generation idle code insertion and loop up loop down codes TlIElinitCard Initializes the driver and initialize the framers on the option card TI ElgetBoardConfig Gets information about the installed option card without performing the initialization done by TIElinitCard T1ElsetLeds Controls the LEDs associated with each port of the card setT Config Sets the card in T1 mode and sets the configuration of a specified port setT 1 Signaling Sets the values of the transmitted robbed bit signaling bits setT Command Transmits commands over the specified T1 port setT 1 ClearChannels Specifies which timeslots DSOs on the specified T1 port are clear channel 64Kbps and which use robbed bit signaling and are therefore 56Kbps channels setT 1 ldleChannels Specifies which timeslots DSOs on the specified Tl port transmit the idle code and which transmit data normally setT 1 ChannelConfig Configures individual timeslots DSOs on the specified T1 port setE 1 Config Sets the card in El mode and set the configuration of a specified port setE l Signaling Sets the values of the transmitted CAS channel associated signaling bits 179 TASK 6000 software reference guide
213. or e Clear the memory allocated for the data structure before filling in the elements so that any new elements are set to zero TASK 6000 software reference guide 10 Example UP_CONFIG_SVC_MSG_UT ptCfg ptCfg calloc sizeof UP_CONFIG_SVC_MSG_UT ptCfg tCodecConfig eCodec ctG711mu ptCfg tCodecConfig tCodecParams tG711Params eLaw enumMULAW ptCfg tCodecConfig tCodecParams tG711Params eVadEnable enumDisabled ptCfg tCodecConfig tCodecParams tG711Params eBfmEnable enumEnabled e Codecs TASK 6000 software API supports these voice codecs G 711 u Law G 711 A Law G 723 1 High Rate G 723 1 Low Rate G 729 G 729A with Annex B W Some of these codecs require third party licensing arrangements e VoIP TASK 6000 software supports VoIP with RTP UDP and Ethernet packet building and parsing and a Fast Packet Router that can forward over 20 000 packets in each direction for each IOP in the system Telephony functions The TASK 6000 software API supports these telephony functions VAD Voice Activity Detection CNG Comfort Noise Generation and BFM Bad Frame Masking for G 711 G 165 echo cancellation with 32ms echo span DTMF Dual Tone Multi Frequency detector R1 R2 MF tone detector and CPT Call Progress Tone detector General purpose tone generator with programmable levels and cadences RTP Real time Transport Protocol encoder and decoder Ethernet UDP packet builder and parser
214. otypes and definitions for this API are contained in the header filexyz h You develop IOP applications by linking with the IOP API library This appendix lists function descriptions alphabetically within the following groups Standard functions Includes Control and Message APIs e Advanced functions Includes functions you use only in unusual special purpose circumstances You can find a function in this appendix either by locating it alphabetically within its group or by using Table B 1 on the next page which groups like functions together Message API You use these functions to configure UPA to transparently forward packets between an Ethernet interface and an RTP or T 38 transport service that runs on a RadiSys SPIRIT board s DSP The implementation of this functionality is very high performance capable of moving many thousands of packets per second while consuming only a fraction of the i960 I O processor s time In brief this is accomplished by bypassing the VxWorks TCP IP stack and processing the majority of the Ethernet IP and UDP layers on the DSP The caveat is that no full IP stack proceses these packets so unusual cases are not supported For instance e Fragmentation reassembly is not supported Fragmented packets are silently discarded e Buffer sizes are based on typical RTP voice packets Packets larger than a predefined maximum initially 350 bytes are silently discarded e VxWorks routing tables ar
215. pNum IOP number Return values SUCCESS The IOP is running FAILURE Invalid IOP number the IOP is not running or internal API error occurred 65 TASK 6000 software reference guide hostSetEventHandler Specifies the user event handler for TASK events Syntax int hostSetEventHandler IN void eventHandler long src long type ulong count long pDataBuf Parameters eventHandler A pointer to the event handler src The message handler in this format Device DeviceNum Device Enter either TASK IOP or TASK_DSP DeviceNum Enter the device number Examples To invoke a handler from the second IOP use TASK_IOP 2 as the destination To invoke a handler from the third DSP use TASK_DSP 3 as destination type Message type You can use any positive integer count The number of words in the message pDataBuf The buffer that contains the message Return values SUCCESS Successful completion FAILURE Unsuccessful completion 66 Appendix A Standard Host functions hostSetHotSwapHandler hostSetHotSwapHandler Initializes the Hot Swap interface and registers for notification of Hot Swap events with the Hot Swap service Syntax STATUS WINAPI hostSetHotSwapHandler IN void Handler IN long iopNum IN long eventID Parameters Handler A pointer to the message handler iopNum The number of the IOP board that registered for the Hot Swap Event eventID The event identificat
216. perform a system side loopback Setting any field to TRUE enables the loopback 211 TASK 6000 software reference guide local_loopback_enable Instructs the framer to perform a system side loopback Setting any field to TRUE enables the loopback remote_loopback_enable Instructs the framer to perform a line side loopback Setting any field to TRUE enables the loopback robbed_bit_signaling_enable Turns on and off the robbed bit signaling You can select one of these Disabled The T1 line operates in clear channel mode Enabled Robbed bit signaling bits are inserted into and extracted from the T1 data stream 212 Appendix D T1 E1 library Structures t_T1_user_signaling_data t T1 signaling data t TI user signaling data t TI signaling data Reads and writes signaling data The first five fields of t T1 signaling data are bit masks where the 24 low order bits represent the 24 DSOs of a DS1 line These bits either provide status of set 1Signaling or user callback or allow control over the signaling bits setT 1Signaling Bit 0 is used for timeslot 1 Bit 1 for timeslot 2 and so on to bit 23 which is used for timeslot 24 Syntax typedef struct t TI1El1 framer idframer id t T1 signaling datasignaling data t T1 user signaling data typedef struct ulong changed_bits ulong a_bits ulong b_bits ulong c_bits ulong d_bits ulong timestamp t_Tl_signaling_data Elements framer_id Sp
217. pressed packet data before it is output to a TDM stream stCPTDet Performs Call Progress Tone detection on TDM input data stMFDet Performs MF Tone detection on TDM input data for R1 or R2 signaling stPktToneGen Generates tones or tone pairs to a TDM output with programmable cadence and cadence count Appendix A Standard Host functions upEnableService stRtpEncode Performs RTP Packetization and when used with the stJitterBuf service depacketization stRtpDecode Implements both RTP decode functionality and a dynamic jitter buffer that feeds compressed frames to a codec for decompression on a strict schedule regardless of input variations stTdmToneGen Generates tones or tone pairs to a TDM output with programmable cadence and cadence count stT1E1Alarm Notifies the user of an alarm signaled by a T1 or E1 framer and allows control of the LEDs associated with each span stCAS Implements Channel Associated Signaling on T1 and E1 lines which are attached locally to framers control by the I O Processor stPacketBuilder This is an embedded service controlled by the upConnectPktSend function stPacketParser Takes an IP UDP packet from the Ethernet gt DSP FIFO checksums headers and data as appropriate strips headers and passes the payload to the next module usually stRtpDecode or stT38 in TASK2 stEthernetAlarm Detects Ethernet Link status changes and generates UP EVT ETHERNET ALARM events which notify a user
218. quired A process whereby an existing corrupt BIOS image in the flash boot device is overwritten with a new image Also referred to as a flash recovery A process whereby an existing uncorrupted BIOS image in the flash boot device is overwritten with a new image Also referred to as a flash update Fast Page Mode A standard type of DRAM that is lower performance than EDO Field Programmable Gate Array A large general purpose logic device that is programmed at power up to perform specific logic functions A device used in digital communication systems to create parellel data frames from a serial data stream Gigabyte Approximately one billion US or one thousand million Great Britain bytes 2 30 1 073 741 824 bytes exactly A condition where the system microprocessor suspends processing operations due to an anomaly in the data or an illegal instruction High Level Data Link Control An ITU TSS link layer protocol standard for point to point and multi point communications A mechanical pin and sleeve style connector on a circuit board The header may exist in either a male or female configuration For example a male header has a number and pattern of pins which corresponds to the number and pattern of sleeves on a female header plug Hexadecimal A base 16 numbering system using numeric symbols 0 through 9 plus alpha characters A B C D E and F as the 16 digit symbols Digits A through F are equivalent to the
219. r id uchar idle code ulongidle channels t T1 user idle struct Elements framer id Specifies the framer or port to configure idie code An 8 bit value which represents the idle code to transmit idle channels A bit mask where the 24 lower bits represent the 24 DSOs 1 in any bit configures that DSO to transmit the id1e code 0 in any bit configures that DSO to transmit data received from the on board TDM switch Bit 0 is associated with the first DSO of the DS1 line while bit 23 is associated with the last DSO 217 TASK 6000 software reference guide t TI user channel config Controls the configuration of a specified DSO on a specified framer port Syntax typedef struct t TI1El1 framer idframer id ulongchannel BOOL32enable idle code BOOL32disable idle code BOOL32enable clear channel BOOL32disable clear channel BOOL32update supervision BOOL32a signaling bit BOOL32b signaling bit BOOL32c signaling bit BOOL32d signaling bit t T1 user channel config Elements framer id Specifies the framer port to configure channel Specifies the DSO to configure zero based nable idle cod You can select one of these TRUE Enables transmission of the idle code on the selected channel Do not set both this field and disabie idle code to this value FALSE If both this field and disable_idle_code contain this value transmission remains at its previous state disable idle code
220. r of interface time fill characters by 1 8 the number of zero insertions See Munich128X datasheet for a complete description of this mode 175 TASK 6000 software reference guide t HDLC channel status Specifies a channel s status V This function is currently not implemented Syntax typedef struct t_HDLC_channel_status 176 Overview T1 E1 library This appendix describes the T1 E1 driver library When reading this file online you can immediately view information about any topic by placing the mouse cursor over a test name and clicking For information about Go to this page Dpto EE 177 Sample startup Segueiiee icono se Los ect tt ete vere eee tious nd etu 178 FUOFRSEDO EE SE siete iss ee reiten siet unii tesi tsssd retreat sodnasauhipatoners aianenaers 179 gUTDTe dolo PEIPER TTE TE EET LO DOE TTE 183 ex O Te AIG Sa crac 5G ha au Ss caine TOI TTE ODDO A S 201 The T1 E1 Status and Control API is the user s interface to the T1 E1 driver The T1 E1 driver provides the software interface to the T1 E1 spans of the LAN WAN option card The driver is designed to work under the VxWorks Real Time Operating System The driver is not a true VxWorks driver in the sense that it is not built as part of the kernel It does however make use of VxWorks system calls and therefore requires the O S The driver provides control and monitoring of the two or four T1 E1 ports of the LAN WAN option card The
221. r received packets Timer based polling is used to determine when a packet has been transmitted and when one has been received For applications which process many packets per second this mode provides the least amount of processing overhead however the application must be able to tolerate the latency on receive packets If this latency cannot be tolerated Mode 2 should be used Processing packet transmission and reception The descriptions below assume that the device it ports and its channels are properly configured via the appropriate API calls Transmission of data begins with a call to the HDLCSendPacket function This function takes the user data and copies it to the next available buffer associated with the next available descriptor for the port and channel being specified Once the data has been copied to the buffer it is marked as available for transmission If the HDLC controller is idle this wakes up the controller and begins transmission of the packet If the controller is working on other links in the chain marking the buffer ensures that the newly filled link gets transmitted after the others are completed The HDLCSendPacket function returns immediately after the data is copied and the buffer is marked It does NOT wait for transmission to begin When a packet has been completely transmitted an interrupt is generated if the driver has been configured for Mode 1 or Mode 3 operation As described previously this interrupt re
222. readAvg RSYS UINT32 ulThreadMax RSYS UINT32 ulUsage j UP STATISTICS ST Parameters sender packet count The number of packets sent by the RTP encoder sender octet count The number of bytes of payload sent by the RTP encoder frac lost The ratio packets lost packets expected as an 8 bit fraction cum packet lost count The count of packets which were not available to play when required cum late packet count The count of packets which were not available to play when required but which subsequently arrived and were discarded ext hi seq recv The highest sequence number received thus far in an RTP session interarrival jitter The jitter in packet arrival times computed according to H 225 lSilencePercentTx A number from 0 to 100 indicating the percentage silence suppression transmitted since the last upConfigService stR TP lSilencePercentRx A number from 0 to 100 indicating the percentage silence suppression received since the last upConfigService stR TP recv packet count The number of packets received by the RTP decoder recv octet count The number of bytes of payload received by the RTP decoder Appendix B Standard IOP functions upQueryQOSReport ulSysCycle The timer count of DSP system cycle ulThreadAvg The timer counter in average spent by TDM thread ulThreadMax The maximum timer counter spent by TDM thread since the DSP is loaded ulUsage A number from 0 to 100 indicating u
223. reates a data path connection between an RTP or T 38 coder that runs in a channel on a DSP and the IOP s networking hardware After each packet is encoded it is passed to the stPacketBuilder service which adds UDP IP and Ethernet headers to the packet and then adds it to the DSP s Ethernet Transmit FIFO On expiration of a timer tick the packets in the FIFO are added to the transmit queue of the appropriate Ethernet controller Syntax UP_ERROR_ET upConnectPktSend RSYS INT32 I1Slot RSYS INT32 lUnit RSYS INT32 IChannel UP PKT SEND CONFIG ST pstPktSendConfig Parameters 1Slot The resource card unit number lunit The DSP unit number 1Channel The DSP virtual channel number pstPktSendConfig A pointer to the UP PKT SEND CONFIG ST structure UP PKT SEND CONFIG ST structure typedef struct RSYS_UINT32 ulInterface RSYS_UINT32 ulRouterAddress RSYS_UINT32 ulDestAddress RSYS_UINT32 ulDestPort RSYS_UINT32 ulServiceType RSYS_UINT32 ulSrcPort UP_PKT_SEND_CONFIG_ST ulInterface The unit number of the Ethernet interface on which packets should be sent ulRouterAddress The 32 bit IP address in host order of a router on the same network as the IOP which should be used to forward packets to ulDestAddress If ulDestAddress is on the same network as the IOP and no router should be used then uiDestRouter should be set to ulDestAddress ulDestAddress The 32 bit IP addres
224. register For the T8100A and T8105 bit 9 of clock_mask is inverted and and ed with the LSB of the CLKERR3 register Return values SUCCESS Successful completion FAILURE Unsuccessful completion 243 TASK 6000 software reference guide getT8100ErrorStatus Reads the status of the T8100 error status registers SYSERR CLKERR1 CLKERR2 and CLKERR3 Syntax int getT8100ErrorStatus void Parameters None Return values SUCCESS Return data is formatted as follows Bits 07 00 SYSERR Bits 15 08 CLKERR1 Bits 23 16 CLKERR2 Bits 31 24 CLKERR3 T8100A amp T8105 only FAILURE No information available 244 Appendix E T8100 library Functions setT8100Handler setT8100Handler Specifies the event handler to call when detecting a T8100 interrupt The value passed to the function is identical to the return parameter of getT8100ErrorStatus setT8100Handler can be called with a NULL handler in order to disable callbacks Syntax int setT8100Handler void UserT8100Handler int status Parameters UserT8100Handler The user call to handle T8100 interrupt events Return values SUCCESS Successful completion FAILURE Unsuccessful completion 245 TASK 6000 software reference guide Structures 246 Use this table to identify the T8100 driver structures Use the structure description later in this appendix to obtain detailed information including syntax and parameter values Table E 3 T81
225. rence the T8100 will fall back to fallback_clk_select CONFIG_T8100_STREAMS A pointer to the structure that specifies the T8100 stream parameters t_T8100StreamConfig structure typedef struct t_stream_rate dsp_bsp0_rate t_stream_rate dsp bspl rate t stream rate eltl rate t stream rate ct bus 03 00 rate t stream rate ct bus 07 04 rate t stream rate ct bus 11 08 rate t stream rate ct bus 15 12 rate t stream rate ct bus 19 16 rate t stream rate ct bus 23 20 rate t stream rate ct bus 27 24 rate t stream rate ct bus 31 28 rate t T8100StreamConfig dsp bspO0 rate Specifies the TDM stream rate for Buffered Serial Port 0 of the DSPs Currently this value must be the same as dsp bsp rate dsp bspl rate Specifies the TDM stream rate for Buffered Serial Port 1 of the DSPs This value must be the same as dsp bspO rate eitl rate Specifies the TDM stream rate for the E1 T1 framers Under most conditions this rate should be 2MHz ct bus 03 00 rate Specifies the TDM stream rate for CT bus streams 0 through 3 ct bus 07 04 rate Specifies the TDM stream rate for CT bus streams 4 through 7 ct bus 11 08 rate Specifies the TDM stream rate for CT bus streams 8 through 11 ct bus 15 12 rate Specifies the TDM stream rate for CT bus streams 12 through 15 ct bus 19 16 rate Appendix B Standard IOP functions iopControlPeripheral Specifies the TDM stream rate for CT bus streams 16
226. rmal leds_yellow_alarm leds_red_alarm leds_loopback leds_line_fault leds_gr_yellow leds_red_gr leds_off_gr t TIEl1 led state Elements leds off Sets both LEDs to off leds normal Sets one LED to off and sets the other to green leds yellow alarm Sets one LED to off and sets the other to yellow leds red alarm Sets one LED to off and sets the other to red leds loopback Sets both LEDs to green leds line fault Sets one LED to red and sets the other to yellow leds gr yellow Sets one LED to green and sets the other to yellow leds red gr Sets one LED to red and sets the other to green leds off gr Sets one LED to off and sets the other to green 205 TASK 6000 software reference guide t_T1E1_user_signaling data A type definition for a function pointer that points to a user handler that will receive a t T1E1 user signaling data structure pointer as a parameter Syntax typedef void TIELSignalingHandler t TIEl user signaling data signaling struct Elements TiEl1SignalingHandler A pointer to the T1 E1 signaling handler signaling struct A pointer to a t T1ET user signaling data structure 206 Appendix D T1 E1 library Structures t_T1E1_BoardConfig t TIEI BoardConfig Indicates the installed card type Calls to T1E1initCard and T1E1getBoardConfig fill in this structure Syntax typedef struct boolinit_passed t_T1El_card_typecard_type ucharnumber_of_ports
227. rom the Ethernet gt DSP FIFO checksums headers and data as appropriate strips headers and passes the payload to the next module usually stRtpDecode or stT38 in TASK2 stEthernetAlarm Detects Ethernet Link status changes and generates UP EVT ETHERNET ALARM events which notify a user application of the change stQDSOHdlc Concatenates four sub rate HDLC channels into a full DSO For detailed information about TASK services see Appendix F Service descriptions Return values UP SUCCESS Successful completion UP CONFIG ERR Configuration error UP INVALID ARG Appendix B Standard IOP functions upDisableService Invalid argument 125 TASK 6000 software reference guide upDisconnectPktRecv 126 Stops the forwarding of packets from an IP socket to a DSP channel and de allocates all associated IOP and DSP resources Syntax UP_ERROR_ET upDisconnectPktRecv RSYS INT32 IUnit RSYS INT32 IChannel Parameters lUnit The DSP unit number 1Channel The DSP virtual channel number Return values UP_SUCCESS Successful completion UP_CONFIG_ERR Configuration error UP INVALID ARG Invalid argument UP DSP ERR DSP channel assignment error fast packet Appendix B Standard IOP functions upDisconnectPktSend upDisconnectPktSend Stops the forwarding of packets from a DSP channel to an IP socket and de allocates all associated IOP and DSP resources Syntax UP_
228. rt The element indices correspond to timeslot numbers These fields are an array of length 32 rx channe1 assignment specifies the data channel to which a timeslot belongs while rx_enabled_bits is a bitmask that determines which bits in a timeslot are enabled Examples rx_channel_assignment 5 7 Indicates that timeslot 5 belongs to data channel 7 173 TASK 6000 software reference guide 174 rx_channel_assignment 5 7 rx_enabled_bits 5 OxFF Indicates that all 8 bits in timeslot 5 belong to data channel 7 forming a 64Kbps data channel rx channel assignment 5 7 rx enabled bits 5 0x03 Indicates that the first 2 bits of timeslot 5 belong to data channel 7 thus forming a 16Kbps channel update channel assignments Indicates whether to process this structure s first four fields channel timeslot assignments and enables You can select one of these FALSE The first four fields are ignored and the structure s remaining fields are processed TRUE The first four fields are valid and processed along with the structure s other fields enable port loopback Not available The current release of the driver does not support loopbacks Loopback functionality can be accomplished by controlling the T8100 Timeslot switch on the SPIRIT board to which all HDLC controller ports are connected frame length check Determines whether to use maximum frame length checking max frame length Determines the maxi
229. ructures t E1 line buildout t El line buildout Enumerates the line buildout for a framer port Syntax typedef enum BUILDOUT_75_OHM BUILDOUT_120_OHM t El line build out Elements BUILDOUT 75 OHM Sets the framer specifically the LIU portion to 75OHM operation BUILDOUT 120 OHM Sets the framer specifically the LIU portion to 1200HM operation 225 TASK 6000 software reference guide t El user config struct 226 Specifies the complete configuration for a framer port Syntax typedef struct t_T1E1_framer_id framer id t El line coding line coding t El signaling mode signaling mode BOOL32 crc4 enable t El line build out line build out uchar idle code ulong idle channels BOOL32 framer loopback enable BOOL32 local loopback enable BOOL32 remote loopback enable t El user config struct Elements The first three fields and the line 11ne buiia out field are described above in the type definitions framer id Specifies a framer port for functions which can operate on any port For more information see t_T1E1_framer_id on page 203 line coding Specifies the line coding for a framer port For more information see t E1 line coding on page 223 signaling mode Enumerates the signaling mode for a framer port For more information see ET signaling mode on page 224 crc4 enable Sets the CRC4 multiframe mode A value of TRUE sets the mode lin
230. rvice 113 upConfigServiceGlobal 116 upConnectPktRecv 119 upConnectPktSend 121 upDisableService 123 upDisconnectPktRecv 126 upDisconnectPktSend 127 upEnableChannel 128 upEnableService 130 upQueryQOSReport 133 upSetEventHandler 156 upSetUserMsgHandler 146 upStart 159 IOP runtime library 4 IOP structures SPeK BOARD INFO T 106 t configArg 111 t jitterParam 142 t T8100ClockConfig 109 t T8100StreamConfig 110 t T8100SwitchConfig 108 P CONFIG SVC UT 114 P EVENT DATA ST 156 JP GLOBALCONFIGDATA UT 117 P IOPSYSCONFIG ST 139 P PKT RECV CONFIG ST 119 JP PKT SEND CONFIG ST 121 JP START DSP REPLY ST 158 IopAppLoader c 50 36 iopControlPeripheral 108 qac qq Cu 296 iopGetNWPktBuf 141 iopInit 112 iopJitterControl 142 iopSendMsg 144 iopSendNWPktBuf 143 iopSetNWNotify 145 IP 6 J jumpers defined 288 L libraries E1 T1 5 HDLC 5 Hot Swap Host 4 peripheral device driver 5 TDM switch 5 loading and running applications 50 logical address defined 288 M memory random access defined 289 message dispatcher 4 messages callback functions 1 1 command 10 event 10 N notational conventions 77 NT Kernel Mode device driver 4 O objects 7 channels 7 slot 7 unit 7 offset defined 288 operating system defined 290 P packets fast packet router 5 transmission and reception HDLC 149 peripheral device driver libraries 5 physical address defined 289 physical channels 8 POST 289 Power On Self Test POS
231. rying to transmit again Channel Service Unit A device to terminate a digital channel on a customer s premises It performs certain line coding line conditioning and equalization functions and responds to loopback commands sent from the central office P P Computer Telephony Bus An auxiliary bus used in computer systems This bus is dedicated to carrying telecom data between the system components The state of all user changeable hardware and software settings as they are originally configured before any changes are made A software component of the operating system which directs the computer interface with a hardware device The software interface to the driver is standardized such that application software calling the driver requires no specific operational information about the hardware device Dynamic Random Access Memory Semiconductor RAM memory devices in which the stored data does not remain permanently stored even with the power applied unless the data are periodically rewritten into memory during a refresh operation Digital Signal Processor A high speed computer chip that performs real time signal manipulation DSPs are used extensively in telecommunications for tasks such as echo cancellation audio and video processing Digital System Cross connect Frame A bay or panel to which T 1 lines and DS1 circuit packs are wired and that permits cross connections by patch cords and plugs A DSX panel is used in small offi
232. s T1 config struct payload loopback enable FALSE Tl config struct framer loopback enable FALSE T1 config struct local loopback enable FALSE Tl config struct remote loopback enable FALSE T1 config struct robbed bit signaling enable TRUE for framer id framer 1 framer id framer 4 framer_id tt it has to a better way Tl_config_struct framer_id framer_id iopControlPeripheral TASK Tl like i lt num ports CONFIG_T1 t_configArg amp Tl_config_struct epinb aduasajas 94D 3JOs omn LV Setting up message handlers Installing event handlers callback functions upSetEventHandler amp CasEventMsgHandler Connecting the TDM to IOPs Setup path from T1 to DSP t8100SwitchCfg number of connections 1 t8100SwitchCfg connections path path 0 connect src resource T8100 T1 path 0 connect src mode T8100 CONNECT CONST DELAY path 0 connect src ctbus connect num 0 path 0 connect src port T1 Port lUnit path 0 connect src timeslot lChannel path 0 connect dest resource T8100 DSP path 0 connect src mode T8100 CONNECT CONST DELAY path 0 connect dest ctbus connect num 0 path 0 connect dest port DSP Port lUnit path 0 connect dest timeslot lChannel iopControlPeripheral TASK T8100 CONFIG T8100 SWITCHING Enabling bi directional voice data flow to and from the DSP if upEnableChannel lUnit DSP Uni
233. s in host order of the RTP or T 38 packets destination 77 TASK 6000 software reference guide ulDestPort The 16 bit UDP port number of the RTP or T 38 packets destination ulServiceType An 8 bit value used to specify the precedence delay throughput and reliability of a message This is used in making quality of service decisions in the delivery of a packet ulSrcPort The optional 16 bit UDP port number that identifies the RTP or T 38 source application peer If the source port is not provided the values of ulunit and 1Channe1 passed with the function are used to find the corresponding port ID registered to the inbound fast packet channel established through upConnectPktRecv This approach assumes that upConnectPktSend is preceded by upConnectPktRecv and that each path makes up one part of full duplex connection on a specified DSP and channel A source port ID of 0 is assigned if the user does not specify a source port in their call to upConnectPktSend and if an upConnectPktRecv was not successfully executed prior to calling upConnectPktSend on the specified DSP and Channel numbers Return values UP SUCCESS Successful completion If the function cannot return an error in real time for example the function sends a message to another processor to implement a configuration change the function returns this value indicating that the message was sent properly The processor implementing the function returns one of t
234. s so this element should be set to 80 G 723 encodes 30ms frames so this element should be set to 240 ulInitConfig Specifies whether the service is being setup for the first time within a call or whether it is a modification to a previously configured UP_RTP_SEND_CONFIG_ST For details regarding the RTP Header structure s content see RFC 1899 There are no events associated with this service 273 TASK 6000 software reference guide stRtpDecode Implements both RTP decode functionality and a dynamic jitter buffer that feeds compressed frames to a codec for decompression on a strict schedule regardless of input variations The RTP decoder places the packet s payload into the proper position in the jitter buffer according to the RTP timestamp The jitter buffer can accommodate packet streams with missing silence suppressed and out of order packets The stRtpDecode service also keeps statistics that an RTCP stack can use to generate Receiver Reports and to control the jitter buffer s automatic size adjustment Config UP_RTP_RECV_CONFIG_ST data typedef struct RSYS_UINT32 ulAutoAdjustable RSYS UINT32 ulMaxJitterBufferDly Maximum jitter buf depth in ms RSYS_UINT32 ulTargetJitterBufferDly Target jitter buffer depth in ms RSYS UINT32 ulMaxFrameSizeInBytes user expected max frame size in jitter buf RSYS UINT32 ulExtractDataLength Number of samples output RSYS UINT32 ulInitConfig Indicate init
235. s what you must do to create IOP based applications that run under the VxWorks real time OS The sample application demonstrates how the SPIRIT board can conduct voice channels over a network and shows what s needed to establish a UPA channel with an enabled service receive channels status and control its behavior Different DSP units channel numbers and predefined set of codecs are used to demonstrate the SPIRIT board s ability v For a copy of this application in ASCII format see these files in the InstallDir TASK6000 Examples Upa UpalopApp directory lopAppLoader c UpalopApp c Host based application rules differ only slightly and are covered in a separate paragraph For information about Go to this page Developing the Host application lopAppLoaderc sssseeen 30 Jaralizethe Fast eI ret tero Parere pe ete eter ete eher n 30 Set ibmessage handle Sesine ient E pr sees esed estu tede EE e Pb Dogs 30 Initialize UPA 8 SLUT CE 30 Load and run applications eiecti rerit ore rrr pnr ned e erede EENEN KEN 30 Developing the IOP application UpalopApp c eee 31 Wittig lize the IOP diyar sisi c eerte tore S A EAT NA a 31 Set p message honelers oie neien e a aaae 31 CCHIT MAS SBIEOBS oreste aE ERE EE RA NAT 32 Create dato Paths veiri ete osu aei tia E E E enu RR Ce ep t 32 Building Host and IOP applications c eite oett tr t ERE Renee E 33 Peri oV SD S oon DIEL M Mie M INE NUT 34 Host app
236. se values 0 The port number is automatically assigned An appropriate port number is chosen from the range of UP PREALLOC PORT START through UP PREALLOC PORT START UP PREALLOC RTP PORTS defined as 5000 5999 in upa h and returned via an event Other You specify the port number The number must fall in the range of UP PREALLOC PORT START UP PREALLOC RTP PORTS through UP PREALLOC PORT START UP MAX RTP PORTS defined as 6000 6999 in upa h and must be an even number 75 TASK 6000 software reference guide ulInterface The unit number of the Ethernet interface on the IOP on which packets are received Return values UP_SUCCESS Successful completion If the function cannot return an error in real time for example the function sends a message to another processor to implement a configuration change the function returns this value indicating that the message was sent properly The processor implementing the function returns one of these values UP_EVT_CONFIG_ACK Occurs in response to this function if the connection is established UP_EVT_CONFIG_ERROR Emitted when the port number could not be allocated for example the port is already assigned or the DSP channel is already in use UP_EVT_PORT_ASSIGNED Emitted upon success to identify the UDP port number allocated to the connection UP_FAILURE General failure 76 Appendix A Standard Host functions upConnectPktSend upConnectPktSend C
237. see t_T1E1_BoardConfig on page 207 You can select one of these Event handler name Passes a pointer to t T1 user status data that indicates which framer had a state change or changes which state bits changed value the value of each state bit and a timestamp that indicates when the change took place For more information about this event handler see T1StatusHandler on page 221 NULL Disables status event generation Outputs Return values SUCCESS Successful completion FAILURE Unsuccessful completion Comments Detected receive line state changes include e AIS e Yellow alarm e LOF Loss of frame sync LOS Loss of signal 199 TASK 6000 software reference guide setE 1 SignalingHandler 200 Specifies the event handler to call after detecting a change in receive E1 signaling state This function hooks the user s event handler and enables signaling event Syntax void setElSignalingHandler ElSignalingHandler userE1SignalingHandler Parameters userElSignalingHandler You can select one of these Event handler name A user specified signaling event handler For more information about this event handler see E1SignalingHandler on page 229 NULL Disables status event generation Outputs Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix D T1 E1 library Functions setE 1 SignalingHandler Structures Use this table to identify the E1 T1 driv
238. see Appendix F Service descriptions Syntax UP_ERROR_ ET upConfigServiceGlobal RSYS INT32 1Slot RSYS INT32 lUnit UP SERVICE ET eService UP GLOBALCONFIGDATA UT puCfg Parameters 1Slot The resource card unit number lUnit Specifies e For most services the DSP unit number e For IOP based services such as stCAS the framer unit number eService Identifies the service you want to configure stCodec Converts voice fax or modem data between TDM and a packetized form stEchoCanc Tries to remove time delayed versions of a TDM channel s output from its input stream stAGC Provides Automatic Gain Control for TDM input data stTdmDTMFDet Performs DTMF detection on TDM input data stPktDTMFDet Performs DTMF detection on decompressed packet data before it is output to a TDM stream stCPTDet Performs Call Progress Tone detection on TDM input data stMFDet Performs MF Tone detection on TDM input data for R1 or R2 signaling stPktToneGen Generates tones or tone pairs to a TDM output with programmable cadence and cadence count stRtpEncode Performs RTP Packetization and when used with the stJitterBuf service depacketization stRtpDecode Implements both RTP decode functionality and a dynamic Appendix A Standard Host functions upConfigServiceGlobal puCfg jitter buffer that feeds compressed frames to a codec for decompression on a strict schedule regardless of input v
239. ser of an alarm signaled by a T1 or E1 framer and allows control of the LEDs associated with each span stCAS Implements Channel Associated Signaling on T1 and E1 lines which are attached locally to framers control by the I O Processor stPacketBuilder This is an embedded service controlled by the upConnectPktSend function stPacketParser Takes an IP UDP packet from the Ethernet gt DSP FIFO checksums headers and data as appropriate strips headers and passes the payload to the next module usually stRtpDecode or stT38 in TASK2 stEthernetAlarm Detects Ethernet Link status changes and generates UP EVT ETHERNET ALARM events which notify a user application of the change stQDSOHdlc Concatenates four sub rate HDLC channels into a full DSO For detailed information about TASK services see Appendix F Service descriptions putConfigGlobal A pointer to the configuration data structure UP GLOBALCONFIGDATA UT structure typedef union UP DSPINITCONFIG ST tInitData UP GLOBALCONFIGDATA UT This structure is currently only used by UPA initialization code Return values UP SUCCESS Successful completion UP CONFIG ERR Configuration error 117 TASK 6000 software reference guide UP INVALID ARG Invalid argument 118 Appendix B Standard IOP functions upConnectPktRecv upConnectPktRecv Creates a data path from a UDP receive socket to an RTP or T 38 decoder running on a DSP channel As
240. sful completion Appendix C HDLC driver library Functions HDLCSetRxPacketHandler HDLCSetRxPacketHandler Specifies the user handler to call when packet reception is complete When the driver performs the callback the user may then call HDLCGetPacket to retrieve the data Alternately the user may choose to poll for packet reception via repeated calls to HDLCGetPacket or set a flag in the handler and read the packet at a later time It is up to the user code to service the packet reception in a timely manner as to prevent overruns The driver queues up to 32 received packets per channel To disable this callback the function can be called with a NULL function pointer Syntax UINT32 HDLCSetRxPacketHandler IN const UINT32 port IN void UserHDLCRxPacketHandler UINT32 channel UINT32 status Parameters port The HDLC controller port UserHDLCRxPacketHandler The user function that handles the event of packet receive completion channel The HDLC channel status The HDLC transmission status Return values SUCCESS Successful completion FAILURE Unsuccessful completion 167 TASK 6000 software reference guide HDLCSetDeviceErrorHandler 168 Specifies the user handler to call when a device error is detected Device errors can occur on events such are loss of frame sync or the device not being able to read IOP i960 memory in a timely manner To disable this callback the function can be called with a NUL
241. slot number Identifies the service you want to enable stCodec Converts voice fax or modem data between TDM and a packetized form stEchoCanc Tries to remove time delayed versions of a TDM channel s output from its input stream stAGC Provides Automatic Gain Control for TDM input data stTdmDTMFDet Performs DTMF detection on TDM input data stPktDTMFDet Performs DTMF detection on decompressed packet data before it is output to a TDM stream stCPTDet Performs Call Progress Tone detection on TDM input data stMFDet Performs MF Tone detection on TDM input data for R1 or R2 signaling stPktToneGen Generates tones or tone pairs to a TDM output with programmable cadence and cadence count Appendix B Standard IOP functions upEnableService stRtpEncode Performs RTP Packetization and when used with the stJitterBuf service depacketization stRtpDecode Implements both RTP decode functionality and a dynamic jitter buffer that feeds compressed frames to a codec for decompression on a strict schedule regardless of input variations stTdmToneGen Generates tones or tone pairs to a TDM output with programmable cadence and cadence count stT1E1Alarm Notifies the user of an alarm signaled by a T1 or E1 framer and allows control of the LEDs associated with each span stCAS Implements Channel Associated Signaling on T1 and E1 lines which are attached locally to framers control by the I O Processor stPacketBuilder This
242. specified channel Syntax UP ERROR ET upEnableChannel RSYS INT32 I1Slot RSYS INT32 IUnit RSYS INT32 IChannel RSYS INT32 l1TxEnable RSYS INT32 IRxEnable Parameters 1Slot The resource card unit number lunit The DSP unit number 1Channel The DSP virtual channel number 1TxEnable Controls a channel s transmit path processing TRUE Enables transmit path processing FALSE Disables transmit path processing 1RxEnable Controls a channel s receive path processing TRUE Enables receive path processing FALSE Disables receive path processing Return values UP SUCCESS Successful completion If the function cannot return an error in real time for example the function sends a message to another processor to implement a configuration change the function returns this value indicating that the message was sent properly The processor implementing the function returns one of these values UP EVI CONFIG ACK Occurs in response to this function if the channel is enabled UP EVI CONFIG ERROR Occurs if the function fails for instance if the specified channel is not enabled UP FAILURE General failure UP INVALID ARG Invalid argument Appendix A Standard Host functions upEnableChannel Comments 1TxEnable and 1RxEnable may be used to separately control the transmit and receive path processing for a channel e g a channel which generates tones may not need receive path processing Howev
243. stPktToneGen 265 stRtpDecode 274 stRtpEncode 272 structure list HDLC 172 structures E1 T1 201 E1SignalingHandler 229 REPORTBOARDINFO 57 SP6K_BOARD_INFO_T 55 106 t configArg 53 111 t E1 line buildout 225 t E1 line coding 223 t E1 signaling mode 224 t E1 user config struct 226 t E1 user signaling data 228 t fallback clk 248 t jitterParam structure 142 t netref clk 249 t ref clk 247 t source dest 256 t stream rate 252 t T1 framing mode 209 t T1 line buildout 210 t T1 line coding 208 t T1 signaling data 215 t T1 user channel config 218 t T1 user clear channel data 216 t T1 user command data 214 t T1 user config struct 211 t T1 user idle struct 217 t T1 user raw signaling struct 220 297 TASK 6000 software reference guide t_T1_user_signaling data 213 t_T1_user_status_struct 215 t_T1E1_BoardConfig 207 t_T1E1_card_type 204 t_T1E1_framer_id 203 t_T1E1_led_state 205 t_T1E1_user_signaling_ data 206 t_T8100ClockConfig 51 109 250 t_T8100Connection 257 t_T8100StreamConfig 52 110 253 t_T8100SwitchConfig 50 108 258 T1SignalingHandler 222 T1StatusHandler 221 T8100 structure list 246 JP_CONFIG_SVC_UT 70 114 P_EVENT_DATA_ST 136 JP_GLOBALCONFIGDATA_UT 73 117 JP_IOPSYSCONFIG_ST 139 JP PKT RECV CONFIG ST 75 119 JP PKT SEND CONFIG ST 121 JP START DSP REPLY ST 138 stT1E1Alarm 279 stIdmDTMFDet 266 stTdmToneGen 264 support 77 Symmetrically Addressable SIMM defined 291 ccc ECCE T
244. struct RSYS INT32 lLowSigThreshold UP ENABLE ET supressOnToneDet UP DTMF CONFIG ST lLowSigThreshold Absolute low signal threshold supressOnToneDet Supress audio during DTMF Events UP EVT TDM DTMF DETECTED UP DTMF DETECTED DATA ST typedef struct RSYS_UINT32 ulTimeStamp RSYS INT32 lDigit UP DTIMF DETECTED DATA ST ulTimeStamp Contains the RTP timestamp when the digit was detected lDigit Contains the ASCII code for the digit detected 0 9 A D or zero when tone detection ends 266 Appendix F Service descriptions Tone detection stPktDTMFDet stPktDTMFDet Config data Events Performs DTMF detection on decompressed packet data before it is output to a TDM stream It generates UP EVT DTMF DETECTED events to alert the application of the digit detected UP DTMF CONFIG ST typedef struct RSYS INT32 lLowSigThreshold UP ENABLE ET supressOnToneDet UP DTMF CONFIG ST DTMF s initial version Includes a fixed ILowSigThreshold value this flag currently has no effect Does not incorporate the supressOnToneDet feature this flag currently has no effect lLowSigThreshold Absolute low signal threshold supressOnToneDet Supress audio during DTMF UP EVT PKT DTMF DETECTED UP DTMF DETECTED DATA ST typedef struct RSYS_UINT32 ulTimeStamp RSYS INT32 lDigit UP DTMF DETECTED DATA ST ul
245. sults in a message to the driver task which picks up the message and processes the interrupt event In this case the processing involves reading the transmit interrupt queue checking for any transmission errors and freeing the descriptor and buffer which held the packet that was transmitted If Mode 2 or Mode 4 is used no transmit interrupt is generated and the descriptor and buffer remains unavailable until the timer interrupt When the timer interrupt occurs the transmit interrupt queue is parsed and all descriptors and buffers associated with transmitted packets are freed Note that although no per packet transmit interrupt is generated for Modes 2 and 4 the controller continues to make entries in the interrupt queue for each packet During transmit packet processing if the user has registered transmit handlers the user is called back on two events These events are a transmit error condition and or a complete error free packet transmission Although not required the later callback can be used to send another packet to the driver Note that these callbacks occur in the context of the interrupt service task Once fully configured device port and channel the controller constantly monitors the receive data stream awaiting a packet When a packet is completely received an 149 TASK 6000 software reference guide interrupt is generated if the driver was configured for Mode 1 or Mode 2 operation As described previously this interrupt
246. t E1 user signaling data signaling struct Parameters signaling struct A pointer to the t E1 user signaling data structure For more information about this structure see 7 E1 user signaling data on page 228 Outputs Return values SUCCESS Successful completion FAILURE Unsuccessful completion 197 TASK 6000 software reference guide setT 1 SignalingHandler 198 Specifies the event handler to call after detecting a change in receive T1 signaling state This function hooks in the user s event handler and enables signaling event generation Syntax void setT1SignalingHandler TlSignalingHandler userT1SignalingHandler Parameters userT1SignalingHandler You can select one of these Event handler name A user specified signaling event handler For more information about this event handler see T1SignalingHandler on page 222 NULL Disables status event generation Outputs Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix D T1 E1 library Functions setT 1 StatusHandler setT 1 StatusHandler Specifies the event handler to call after detecting a change in receive line state This function hooks in the user s event handler and enables status event generation Syntax void setT1lStatusHandler T1StatusHandler userTiStatusHandler Parameters userTiStatusHandler A pointer to the structure For more information about this structure
247. t configArg structure 53 111 t E1 line buildout 225 t E1 line coding 223 t E1 signaling mode 224 t E1 user config struct 226 t E1 user signaling data 228 t HDLC channel config 175 t HDLC channel status 176 t HDLC port config 175 t jitterParam structure 142 t T1 framing mode 209 t T1 line buildout 210 t T1 line coding 208 t T1 signaling data 215 t T1 user channel config 218 t T1 user clear channel data 216 t T1 user command data 214 t T1 user config struct 211 t T1 user idle struct 217 t T1 user raw signaling struct 220 t T1 user signaling data 215 t T1 user status struct 215 t_T1E1_BoardConfig 207 t T1ET card type 204 298 t T1E1 framer id 203 t T1E1 led state 205 t T1E1 user signaling data 206 t T8100ClockConfig structure 51 109 t T8100StreamConfig structure 52 110 t T8100SwitchConfig structure 50 108 T1E1getBoardConfig 184 T1El1initCard 183 T1E1setLeds 185 T1SignalingHandler 222 T1StatusHandler 221 T8100 functions clearT8100ClockFault 241 clearT8100MemoryFault 242 getT8100ErrorStatus 244 init18100 237 setT8100ClockConfig 238 setT8100ClockFaultMask 243 setT8100Handler 24 5 setT8100StreamConfig 259 setT8100SwitchConfig 240 T8100 library broadcasting 232 function list 25 5 making and breaking connections 231 sample startup sequence 234 T8100 structure list 246 T8100 structures t fallback clk 248 t netref clk 249 t ref clk 247 t source dest 256 t stream rate 252 t T8100ClockCon
248. t number lunit The DSP unit number 1Channel The DSP virtual channel number Return values UP_SUCCESS Successful completion If the function cannot return an error in real time for example the function sends a message to another processor to implement a configuration change the function returns this value indicating that the message was sent properly The processor implementing the function returns one of these values UP_EVT_CONFIG_ERROR UP_FAILURE General failure Appendix A Standard Host functions upDisconnectPktSend upDisconnectPktSend Stops the forwarding of packets from a DSP channel to an IP socket and deallocates all associated IOP and DSP resources Syntax UP_ERROR_ET upDisconnectPktSend RSYS INT32 I1Slot RSYS INT32 IUnit RSYS INT32 IChannel Parameters 1Slot The resource card unit number lunit The DSP unit number 1Channel The DSP virtual channel number Return values UP_SUCCESS Successful completion If the function cannot return an error in real time for example the function sends a message to another processor to implement a configuration change the function returns this value indicating that the message was sent properly The processor implementing the function returns one of these values UP_EVT_CONFIG_ERROR UP_FAILURE General failure 83 TASK 6000 software reference guide upEnableChannel 84 Enables transmit and receive paths the
249. tatus_data status_struct Parameters status_struct A pointer to the t_T1_user_status_struct structure For more information about this structure see t_T1_user_status_struct on page 215 Outputs Return values SUCCESS Successful completion FAILURE Unsuccessful completion 195 TASK 6000 software reference guide getT 1 SignalingRaw 196 Reads the values of the received robbed bit signaling bits on the specified T1 port This function differs from the getT1 Signaling function in the format in which data is presented to the user This function is specifically designed for users who want to poll signaling bits rather than use an interrupt based method Syntax void getT1SignalingRaw INOUT t_Tl_user_raw_signaling_struct signaling_struct Parameters signaling_struct A pointer to the t_T1_user_raw_signaling_struct structure For more information about this structure see t_T1_user_raw_signaling_struct on page 220 Outputs Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix D T1 E1 library Functions getE1 Signaling getE1 Signaling Reads the values of the received CAS channel associated signaling bits on the specified E1 port To receive the bits CAS must be enabled via setE1 Config When signaling is read in this fashion the changed_bits and timestamp fields of signaling_struct are invalid and not updated Syntax void getElSignaling INOUT
250. ters channel_config A pointer to the t_T1_user_channel_config structure For more information about this structure see t_T1_user_channel_config on page 218 Outputs Return values SUCCESS Successful completion FAILURE Unsuccessful completion 191 TASK 6000 software reference guide setE 1 Config 192 Sets the card in E1 mode and set the configuration of a specified port Configuration includes line coding framing mode line buildout idle channel and loopback specifications and enabling disabling channel associated signaling This function must be called after calling T1E1initCard for E1 operation Syntax void setE1Config IN const t_El_user_config_struct config_struct Parameters config_struct A pointer to the t_E1_user_config_struct structure For more information about this structure see t_E1_user_config_struct on page 226 Outputs Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix D T1 E1 library Functions setE1 Signaling setE 1 Signaling Sets the values of the transmitted CAS channel associated signaling bits To transmit the bits CAS must be enabled via setE1 Config The changed_bits field in signaling struct determines which channel s DSO s bits to update A 1 in Bit 0 of changed_bits corresponds to the first timeslot of the E1 line Bit 31 of changed_bits corresponds to the last timeslot of the E1 line See t E1 user signalin
251. through 19 ct_bus_23_20_rate Specifies the TDM stream rate for CT bus streams 20 through 23 ct bus 27 24 rate Specifies the TDM stream rate for CT bus streams 24 through 27 ct bus 31 28 rate Specifies the TDM stream rate for CT bus streams 28 through 31 pArg A pointer to the union of configuration structure This union contains structures that have peripheral control information t configArg structure typedef union t_Tl_user_config_struct tlConfig t El user config struct elConfig t T8100ClockConfig t8100ClkCfg t T8100SwitchConfig t8100SwitchCfg t T8100StreamConfig t8100StreamCfg t configArg t T1 user config struct Configuration structure for T1 t El user config struct Configuration structure for e1 t T8100ClockConfig Configuration structure for t8100 clock t T6100SwitchConfig Configuration structure for t8100 switch t T8100StreamConfig Configuration structure for t8100 stream Return values SUCCESS Successful completion FAILURE Unsuccessful completion 111 TASK 6000 software reference guide ioplnit 112 Initializes the IOP API Syntax int iopInit void Parameters None Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix B Standard IOP functions upConfigService upConfigService Configures a specified service based on service type for a specific channel Also enables the service after configurati
252. tializes the RTP decoder as shown in Initializing the RTP decoder on page 45 Finally the sample IOP application creates a data path between an inbound RTP channel running on a DSP and the IOP driver s network packet routing component as shown in Creating a data path between an inbound RTP channel running on a DSP and the IOP driver s network packet routing component on page 45 The receive direction is now initialized When an OFF HOOK event occurs on both IOPs the application establishes VoIP call across the Local Area Network When an ON HOOK event occurs on either IOP the application tears down the channels by calling functions TerminateFastPacketOut and TerminateFastPacketIn which disable services As a final step the application disables the virtual channel Chapter 4 Developing Host and IOP applications Building Host and IOP applications The TASK6000 2 x distribution for Host and IOP development kit includes the Microsoft Visual C project files for Host applications and Makefiles for IOP applications This section explains the development environment setup for Host and IOP applications The next figure identifies the locations of the files that you need to use to compile the application a Task6000 E Doc H E Dsp a Examples Upa UpaHost4pp Host example application is Upalop pp C JO example anplcation El Host
253. tion is passed the number of connections to make or break and the end points for those connections These connections can be of any type local to local local to CT Bus or CT Bus to CT Bus Syntax void setT8100SwitchConfig IN const t T8100SwitchConfig T8100SwitchConfig Parameters T8100SwitchConfig A pointer to the t T8100Switch Config structure For more information about this structure see t_T8100SwitchConfig on page 258 Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix E T8100 library Functions clearT8 1 00ClockFault clearT8 100ClockFault Clears a clock fault in the T8100 Syntax int clearT8100ClockFault void Parameters None Return values SUCCESS Successful completion FAILURE Unsuccessful completion 241 TASK 6000 software reference guide clearT8100MemoryFault 242 Clears a memory CAM fault in the T8100 Syntax int clearT8100MemoryFault void Parameters None Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix E T8100 library Functions setT8100ClockFaultMask setT8100ClockFaultMask Disables the monitoring of clock faults This function allows you to disable monitoring of known bad clocks Syntax int setT8100ClockFaultMask IN const int clock_mask Parameters clock_mask The lower 8 bits of clock_mask are inverted and and ed with the contents of the T8100 s CKW
254. tions hostControlPeripheral Specifies the TDM stream rate for CT bus streams 16 through 19 ct_bus_23_20_rate Specifies the TDM stream rate for CT bus streams 20 through 23 ct bus 27 24 rate Specifies the TDM stream rate for CT bus streams 24 through 27 ct bus 31 28 rate Specifies the TDM stream rate for CT bus streams 28 through 31 pArg Pointer to the union of configuration structures This union contains structures containing peripheral control information t configArg structure typedef union t_Tl_user_config_struct tlConfig t El user config struct elConfig t T8100ClockConfig t8100ClkCfg t T8100SwitchConfig t8100SwitchCfg t T8100StreamConfig t8100StreamCfg t configArg t T1 user config struct Configuration structure for T1 t El user config struct Configuration structure for E1 t T8100ClockConfig Configuration structure for the T8100 clock t T6100SwitchConfig Configuration structure for the T8100 switch t T8100StreamConfig Configuration structure for the t8100 stream Return values SUCCESS Successful completion FAILURE Unsuccessful completion 53 TASK 6000 software reference guide hostExit 54 Sets all SPIRIT boards to quiesced state Syntax STATUS hostExit IN char unused Parameters unused Reserved Return values SUCCESS Successful completion FAILURE Unsuccessful completion Comments Call this function just prior to host
255. tring that specifies the IOP executable filename and path Return values SUCCESS Successful completion FAILURE Unsuccessful completion 61 TASK 6000 software reference guide hostResetBoard 62 Resets and initializes an IOP Syntax int hostResetBoard IN long ulIopNum Parameters ulIopNum The IOP number to reset and initialize Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix A Standard Host functions hostResetDsp hostResetDsp Resets and initializes a DSP Syntax int hostResetDsp IN long dspNum Parameters dspNum The number of the DSP you want to reset and initialize Return values SUCCESS Successful completion FAILURE Unsuccessful completion 63 TASK 6000 software reference guide hostRunDsp 64 Runs the program downloaded through the hostLoadDsp function You can skip this step if an external program loads the IOP before this application begins Syntax int hostRunDsp IN long dspNum Parameters dspNum The number of the DSP on which the program runs Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix A Standard Host functions hostRunLoadedlop hostRunLoadedlop Initializes the message buffers which allow communication between the host and IOP and sends handshake messages in both directions Syntax int WINAPI hostRunLoadedIops ulong ulIopNum Parameters ul Io
256. trol Updates jitter control parameters Syntax int hostJitterControl IN long dspNum IN long ChniNum IN t_jitterParam pJitter Parameters dspNum The DSP number ChnlNum The channel number pJitter A pointer to a structure contains jitter parameters t_jitterParam structure typedef struct long nJitterBuf t_jitterParam nJitterBuf The number of jitter buffers between the Host and IOP DSP Return values SUCCESS Successful completion FAILURE Unsuccessful completion 95 TASK 6000 software reference guide hostReadlop 96 Reads memory space from an IOP Syntax int hostReadIop UCHAR boardNum long iopSrcAdar long hstDstAddr ULONG uCountW Parameters iopNum The number of the IOP you want to read memory from iopSrcAddr The IOP external memory space address to read from hstDstAddr The Host buffer address that stores read memory uCountW The number of words to read from the DSP Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix A Advanced Host functions hostSendNWPktBuf hostSendNWPktBuf Sends network packets to the DSP The packets are organized in the buffer as follows A Total length excluding length word L 32 bit words Y A Channel number x Y Channel data length excluding length word A di_x 1 dl x 32 bit words i ds Channel x data L 1 A L Channel number y i Channe
257. tual data channels of the HDLC controller A channel consists of one or more bits from one or more TDM timeslots on a port Therefore each channel can have a data rate from 8Kbps to 2048Kbps Each port is independent so channels and timeslots of one port have no relationship or connection to channels and timeslots of another port No two channels can share data from the same timeslot Appendix C HDLC driver library Functions HDLCInit Functions HDLCInit Initializes the HDLC hardware and software 1 Call this function before using any other HDLC driver functions Syntax UINT32 HDLCInit void Parameters None Return values HDLC INIT COMPLETE 32X The device is 32X initialization succeeded HDLC INIT COMPLETE 128X The device is 128X initialization succeeded HDLC INIT FAILURE An unspecified failure occurred HDLC INIT FAILURE NO DEV No device was found HDLC INIT INTR FAILURE The device interrupt failed HDLC INIT CONFIG FAILURE Reserved for future use HDLC INIT INTR CONNECT FAIL Failed to set the VxWorks interrupt handler HDLC INIT RESET FAIL Cannot reset the device 153 TASK 6000 software reference guide HDLCReset Resets the device and driver Syntax UINT32 HDLCReset IN const UINT32 reset_type Parameters reset type Specifies the type of reset You can use one of these values HDLC HARD RESET Resets the device equivalent to a hardware reset HDLC
258. tus monitoring Polls the status of the controller and of each channel 151 TASK 6000 software reference guide 152 Table C 1 HDLC driver functions Type Function Description HDLCGetDeviceStatus Returns the status of the HDLC device and driver Note This function is not currently implemented HDLCGetChannelStatus Returns the status of the specified channel of the specified port Note This function is not currently implemented Interrupt event control Specifies handlers callback functions to call when an event occurs HDLCSetTxPacketHandler Specifies the user handler to call when packet transmission is complete HDLCSetRxPacketHandler Specifies the user handler to call when packet reception is complete HDLCSetDeviceErrorHandler Specifies the user handler to call when a device error is detected HDLCSetTxErrorHandler Specifies the user handler to call when a transmission error occurs HDLCSetRxErrorHandler Specifies the user handler to call when a message reception error occurs Function prototypes and type definitions for the interface are contained in this header file iop to hdlc h This document uses the term Port to refer to any one of the four TDM streams ports of the Siemens Munich128X HDLC controller Ports are numbered 0 to 3 Each port consists of 32 64Kbps timeslots which are assigned to up to 32 Channels The term Channel refers to logical vir
259. types h The functions and their data types are described in the pages that follow The descriptions use the terms port framer span line and DS1 interchangeably to indicate 1 of 4 T1 E1 connections available on the I O board Functions which contain T1E1 in their name are used for either T1 or E1 operation Currently the driver does not support mixed operation on a single option card Functions with only T1 in their name are T1 specific while functions with only E1 are E1 specific Basic selection between T1 and E1 operating modes is made with the setT1Config or setE1Config API calls These mutually exclusive Appendix D T1 E1 library Function list functions will configure the card for either T1 or E1 operation and must be called prior to calling other T1 or E1 specific functions Limitations e E1 support The API currently provides limited support for E1 Support is provided for span configuration and signaling generation and detection only T1 support is much more comprehensive however the T1 ESF Facility Data Link functionality is not supported Time slot assignments for T1 and E1 interfaces There are differences in the mapping of T8100 time slots depending on the interface used as illustrated by the following table The developer should be aware of these differences when assigning DSP data channel resources to time slots using the T8100 peripheral Table D 2 Time slot numbers
260. uccessful completion FAILURE Unsuccessful completion 185 TASK 6000 software reference guide setT 1 Config 186 Sets the card in T1 mode and sets the configuration of a specified port You must call this function after calling T1E1initCard for T1 operation Syntax void setT1lConfig IN const t_Tl_user_config_struct config_struct Parameters config_struct A pointer to the t_T1_user_config_struct structure For more information about this structure see t_T1_user_config_struct on page 211 Configuration includes e Line coding e Framing mode e Line buildout e Idle channel and loopback specifications e Enabling disabling robbed bit signaling Outputs Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix D T1 E1 library Functions setT1Signaling setT 1 Signaling Sets the values of the transmitted robbed bit signaling bits To transmit the bits robbed bit signaling must be enabled via setT1 Config The changed bits field of the signaling struct determines which channel s DSO s bits are updated A 1 in Bit 0 of cnanged bits corresponds to the first timeslot of the DS1 line Bit 23 Of changed bits corresponds to the last timeslot of the DS1 line For details about each field see the t T1 user signaling data structure description Syntax void setT1Signaling IN const t_Tl_user_signaling_data signaling_struct Parameters signaling_str
261. uct A pointer to the t_E1_user_signaling_data structure For more information about this structure see t_T1_user_signaling_data t_T1_signaling_data on page 213 Outputs Return values SUCCESS Successful completion FAILURE Unsuccessful completion 187 TASK 6000 software reference guide setT 1 Command 188 Transmits commands over the specified T1 port Syntax void setT1Command IN const t_Tl_user_command_data command_struct Parameters command_struct A pointer to the t_T1_user_command_data structure For more information about this structure see T1 user command data on page 214 You can select one of these Transmit AIS Transmit yellow remote alarm Transmit loop up code Transmit loop down code Outputs Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix D T1 E1 library Functions setT 1 ClearChannels setT 1 ClearChannels Specifies which timeslots DSOs on the specified T1 port are clear channel 64Kbps and which use robbed bit signaling and are therefore 56Kbps channels By default channels are assigned to be non clear channel 56Kbps For any channels to be used for robbed bit signaling the robbed bit signaling enable field in the t T1 user config struct configuration command sent via setT 1 Config must be set to TRUE If it is set to FALSE all channels are clear regardless of the configuration specified through this function Syntax
262. umber of CT Bus connections 256 for T8100 and T8100A 512 for T8105 5 versus the number of switching combinations the user application must assign each CT Bus related connection a unique connection number ctbus_connect_num in the range of 0 255 0 511 for T8105 This number is used to identify the connection in the event that a connection must first be broken to make room for a new connection In this case the connection using the specified connection number is broken then the newly specified connection is made and assigned its number Connections not using the CT Bus as either the source or destination of the connection need not specify a connection number Three special resources exist to support breaking connections and outputting patterns e T8100 CT BUS DISCONNECT The source and destination resource for connections which are to be broken The ctbus connect numfield is used to specify the connection e T8100 LOCAL DISCONNECT The source resource to break a local connection The port and timeslot fields associated with this resource are not used However the destination must be the actual resource port and timeslot of the connection to be broken e T8100 PATTERN A connection source resource when outputting a pattern to a destination resource timeslot When T8100 PATTERN is specified as the source resource the source timeslot field is used to specify the 8 bit pattern to be output on the destination resource port an
263. unctions iopSetNWNotify iopSetNWNotify Sets handler to be invoked for notifying arrival of network packets from the DSP The handler must take the DSP number as the argument Syntax void iopSetNWNotify IN void NWNotifyHndlr IN long dspNum Parameters NWNotifyHndlr A pointer to the handler that notifies the Host application of the arrival of network packets from the DSP dspNum The DSP number from which network packets were sent Return values SUCCESS Successful completion FAILURE Unsuccessful completion 145 TASK 6000 software reference guide upSetUserMsgHandler 146 MsgHandlerFunc is called whenever a TASK user message is received by the IOP with a msgType not used by UPA UPA currently uses only message type 80 Syntax void upSetUserMsgHandler void MsgHandlerFunc IN long src IN long msgType IN ulong msgSzW IN long pBuf Parameters MsgHandlerFunc A pointer to the message handler src The message handler in this format Device DeviceNum Device Enter either TASK IOP or TASK_DSP DeviceNum Enter the device number Examples To invoke a handler from the second IOP use TASK_IOP 2 as the source To invode a handler from the third DSP use TASK_DSP 3 as source msgType The message type You can use any positive integer msgSzW The number of words in the message pBuf The buffer that contains the message Return values None Overview HDLC
264. www radisys com World Headquarters 5445 NE Dawson Creek Drive Hillsboro OR 97124 USA Phone 503 615 1100 Fax 503 615 1121 Toll Free 800 950 0044 International Headquarters Gebouw Flevopoort Televisieweg 1A NL 1322 AC Almere The Netherlands Phone 31 36 5365595 Fax 31 36 5365620 007 00992 0002 December 2000 TASK 6000 software reference guide December 2000 Copyright 2000 by RadiSys Corporation All rights reserved EPC iRMX INtime Inside Advantage and RadiSys are registered trademarks of RadiSys Corporation Spirit DAI DAQ ASM Brahma and SAIB are trademarks of RadiSys Corporation T All other trademarks registered trademarks service marks and trade names are the property of their respective owners Before you begin This guide explains how to install and use TASK 6000 software TASK 6000 software provides programming methodology tools and runtime libraries that you use to quickly develop optimized multi algorithm multi channel telecom applications for the Texas Instruments TMS320C620x c6x DSP About this guide Contents Chapter appendix Description Introducing TASK 6000 Overviews TASK 6000 software solutions software 2 Understanding TASK 6000 Explains how TASK 6000 s kernel works with host software architecture IOP and DSP OSs to provide telecom functionality It also lists and describes TASK 6000 components 3 Installing an
265. y 32 bit words y Channel y data All numbers and sizes are in 32 bit words Figure B 1 Packet organization buffer Syntax int iopSendNWPktBuf IN long dspNum IN long pBuf Parameters dspNum The number of the DSP to which you want to send packets pBuf A buffer that consists of one or more network packets as shown in Figure B 1 Return values SUCCESS Successful completion FAILURE Unsuccessful completion 143 TASK 6000 software reference guide iopSendMsg 144 Sends a message from the Host to the specified IOP or DSP If the message is not delivered to the IOP within the specified time the function returns failure Syntax int iopSendMsg IN long dst IN long msgType IN ulong msgSzW IN long pBuf IN long waitTimeMsec Parameters dst The destination in this format Device DeviceNum Device Enter either TASK IOP or TASK DSP DeviceNum Enter the device number Examples To invoke a handler from the second IOP use TASK_IOP 2 as the source To invode a handler from the third DSP use TASK_DSP 3 as source msgType The message type You can use any positive integer msgSzW The number of words in the message pBuf The buffer that contains the message waitTimeMsec The number of milliseconds that elapse before determining message status Return values SUCCESS Successful completion FAILURE Unsuccessful completion Appendix B Advanced IOP f
266. your computer handles UART also converts the computer s parallel data into serial data suitable for asynchronous transmission on phone lines Voice Activity Detector A signal classifier used to distinguish between active voice and inactive voice silence and background noise Voice over Internet Protocol A protocol that enables devices of disparate manufactures to support voice communication over packet networks such as the Internet A period of one or more microprocessor clock pulses during which the CPU suspends processing while waiting for data to be transferred to or from the system data or address buses 291 TASK 6000 software reference guide 292 addresses defined 285 logical defined 288 physical defined 289 ANSI defined 285 API 7 application distribution Host and IOP 2 IOP 1 Application Programming Interface API 7 applications DSP 1 6 Host initializing the Host driver 30 initializing UPA structures 30 loading and running applications 30 sample code 36 setting up message handlers 30 IOP configuring services 32 creating data paths 32 initializing the IOP driver 3 1 sample code 39 setting up message handlers 3 1 B BIOS defined 285 boot device defined 285 broadcasting 232 C callback functions 11 channels defined 7 groups 8 physical amp virtual 8 clearT8100ClockFault 241 clearT8100MemoryFault 242 command messages 10 communication inter processor 10 components TASK 3 confi
Download Pdf Manuals
Related Search
Related Contents
Version PDF - Transports Canada Benutzerhandbuch - JAY-tech La San Marco SM 90/A Automatic Grinder User Manual SmartControl 1.4 HOLE Mode d`emploi-French - E Copyright © All rights reserved.
Failed to retrieve file