多数据源中间件标准版1.0

srllib.h 68KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803
  1. /***********************************************************************/
  2. /* EhangCom: API Head file
  3. *
  4. * FILE: srllib.h
  5. * DESCRIPTION: Header File for EhangCom Standard Runtime library
  6. *
  7. * Copyright (c) EhangCom Corp. All Rights Reserved
  8. *
  9. * THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF EhangCom Corp.
  10. * The copyright notice above does not evidence any actual or
  11. * intended publication of such source code.
  12. */
  13. /**********************************************************************/
  14. #ifndef __SRLLIB_H__
  15. #define __SRLLIB_H__
  16. #define ISX_API_VER "2.0.21.18"
  17. #define ISX_API_SPX ""
  18. #include "IsxApi.h"
  19. #ifdef WIN32
  20. #include <windows.h>
  21. #endif
  22. /*
  23. * mode for all ISX_xxx function
  24. */
  25. #ifndef EV_ASYNC
  26. #define EV_SYNC 0x0000 //Used
  27. #define EV_BIT_01 0x0001
  28. #define EV_BIT_02 0x0002
  29. #define EV_BIT_03 0x0004 //Used
  30. #define EV_BIT_04 0x0008 //Used
  31. #define EV_BIT_05 0x0010 //Used
  32. #define EV_BIT_06 0x0020 //Used
  33. #define EV_BIT_07 0x0040 //Used
  34. #define EV_BIT_08 0x0080 //Used
  35. #define EV_BIT_09 0x0100 //Used
  36. #define EV_BIT_10 0x0200 //Used
  37. #define EV_BIT_11 0x0400 //Used
  38. #define EV_BIT_12 0x0800 //Used
  39. #define EV_BIT_13 0x1000
  40. #define EV_BIT_14 0x2000
  41. #define EV_BIT_15 0x4000
  42. #define EV_ASYNC 0x8000 //Used
  43. #endif
  44. #ifndef ENUM_OPERMODE
  45. #define ENUM_OPERMODE 1
  46. typedef enum{
  47. OPER_UNKNOWN = -1,
  48. OPER_PLAY = 1,
  49. OPER_RECORD,
  50. OPER_GETDIG,
  51. OPER_ACCEPTCALL,
  52. OPER_ANSWERCALL,
  53. OPER_MAKECALL,
  54. OPER_DROPCALL,
  55. OPER_SETBILLING,
  56. OPER_SENDMOREINFO,
  57. OPER_DLCACHE,
  58. OPER_DLMEM,
  59. OPER_STOPCH,
  60. OPER_PUTEVT,
  61. OPER_SYSNOTIFY,
  62. OPER_CST,
  63. OPER_GETTRCOUNT,
  64. OPER_XOIP_SETRESATTR,
  65. OPER_XOIP_GETRESATTR,
  66. OPER_XOIP_GETSSINFO,
  67. OPER_XOIP_STARTMEDIA,
  68. OPER_XOIP_STOP,
  69. OPER_XOIP_SENDDIGITS,
  70. OPER_XOIP_ENABLEEVENT,
  71. OPER_XOIP_DISABLEEVENT,
  72. OPER_XOIP_RECEIVEDIGITS,
  73. OPER_XOIP_SENDRFC2833,
  74. OPER_SENDCPG,
  75. OPER_CALLPROCEEDING,
  76. OPER_CALLPROGRESS,
  77. OPER_SETUPACK,
  78. OPER_SIP_SENDREINVITE,
  79. OPER_SIP_SENDREINVITEACK,
  80. OPER_SIP_SENDREGISTER,
  81. OPER_XOIP_SWITCH_VF,
  82. OPER_SIP_SENDINFO,
  83. OPER_SIP_SENDINFOACK,
  84. OPER_NR_SCROUTE,
  85. OPER_NR_SCUNROUTE,
  86. OPER_SIP_SENDREGISTERACK,
  87. OPER_SIP_SENDTRYING,
  88. OPER_DT_SETTSSIG,
  89. OPER_DT_GETTSSIG,
  90. OPER_SIP_SENDSUBSCRIBE,
  91. OPER_SIP_SENDNOTIFYACK,
  92. OPER_GETCONFENERGY,
  93. OPER_ESTCONF,
  94. OPER_ADDCONF,
  95. OPER_REMCONF,
  96. OPER_DELCONF,
  97. OPER_SETCDE ,
  98. OPER_ESTCONF_EX,
  99. OPER_ADDCONF_EX,
  100. OPER_REMCONF_EX,
  101. OPER_SETCDE_EX,
  102. OPER_SETLMASKEX,
  103. OPER_SS7_SENDEXT,
  104. OPER_FXS_SEND,
  105. OPER_FXS_RECV,
  106. OPER_MO_SETHOOK,
  107. OPER_MO_DIAL,
  108. OPER_MS_GENRING,
  109. OPER_MS_WTRING,
  110. OPER_AG_SENDTONE,
  111. OPER_RECVFSK,
  112. OPER_SENDFSK,
  113. OPER_SIP_RECVUPDATE,
  114. OPER_SIP_SENDUPDATE,
  115. OPER_SIP_RECVUPDATEACK,
  116. OPER_SIP_SENDUPDATEACK,
  117. OPER_SIP_RECVACK,
  118. OPER_SIP_SENDACK,
  119. OPER_SIP_RECVPRACK,
  120. OPER_SIP_SENDPRACK,
  121. OPER_SIP_SENDPRACKACK,
  122. OPER_SIP_RECVPRACKACK,
  123. OPER_CAUSE_172, //[2015-9-7]同抢时GCEV_DISCONNECTED需要传这个操作类型
  124. }OPERATIONS;
  125. #endif
  126. #ifndef _BRD_TYPE_
  127. #define _BRD_TYPE_
  128. //board type
  129. typedef enum{
  130. BT_NULL = -1,
  131. BT_MB = 0,
  132. BT_DSP = 1,
  133. BT_XOIP = 2,
  134. BT_PRI = 3,
  135. BT_SS7 = 4,
  136. BT_TRUNK = 5,
  137. BT_SIP = 6,
  138. BT_FiberTrunk = 7,
  139. BT_FiberSwitch = 8,
  140. BT_TRUNK_LAW = 9,
  141. BT_AG_FXO = 10,
  142. BT_AG_FXS = 11,
  143. BT_TRUNK_MIX = 12,
  144. BT_TRUNK_LAW_MIX = 13,
  145. BT_M3G = 14,
  146. BT_TRUNK_HIIMP_MIX = 15,
  147. BT_AG_AHR = 16,
  148. BT_SLOT2 = 127
  149. }BRD_TYPE;
  150. #endif
  151. #ifndef MAX_NODE_NUM
  152. #define MAX_NODE_NUM 8
  153. #define MAX_PRD_NUM 32
  154. #define MAX_M3GC_NUM 32
  155. #define MAX_TRUNK_BRD 30
  156. #define MAX_SPAN_NUM 8
  157. #define MAX_DSP_BRD 16
  158. #define MAX_XOIP_BRD 16
  159. #define MAX_PRI_BRD 4
  160. #define MAX_SS7_BRD 4
  161. #define MAX_SIP_BRD 4
  162. #define MAX_AG_BRD 30
  163. #define MAX_M3G_BRD 16
  164. #ifndef _UNDEFINE_MAX_IP_LEN
  165. #define MAX_IP_LEN 32
  166. #endif
  167. #define EHANG_MAX_IP_LEN 32
  168. #define EHANG_MAX_FILENAME_LEN 256
  169. #endif
  170. #define MAX_SPANCH_NUM 32
  171. #define MAX_DSPCH_NUM 256
  172. #define MAX_CONF_NUM 256
  173. #define MAX_XOIPCH_NUM 512 //[2013-6-19]404 -> 512
  174. #define MAX_CSCH_NUM 1
  175. #define MAX_FXSCH_NUM 512
  176. #define MAX_SIPCH_NUM 30000
  177. #define MAX_AGCH_NUM 4
  178. #define MAX_M3GCH_NUM 512 //[2013-6-19]256 -> 512
  179. #define MAX_CACHE_NUM 1344
  180. #define MAX_ERRMSG_LEN 64
  181. #define MAX_FMEM_NUM 32
  182. #define MAX_AGTELNUM_LEN 32
  183. #define MAX_FSKDATA_LEN 800
  184. #define MAX_CALLID_DATA_LEN 240
  185. #define MAX_USR2USRINFO_LEN 103
  186. #define MAX_TESTDATA_LEN (1024+40)
  187. #define MAX_FLASH_DATA_LEN 220
  188. typedef struct{
  189. USHORT LOLITC : 1; //Loss of Line Interface Transmit Clock
  190. USHORT TOCD : 1; //Transmit Open-Circuit Detector
  191. USHORT TCLE : 1; //Transmit Current Limit Exceeded
  192. USHORT LRCL : 1; //Line Interface Receive Carrier Loss
  193. USHORT RLOS : 1; //Rx Loss Of Sync
  194. USHORT FRCL : 1; //Framer Receive Carrier Loss
  195. USHORT RUA1 : 1; //Receive Unframed All Ones
  196. USHORT RYEL : 1; //Receive Yellow Alarm
  197. USHORT RLOSC : 1; //RLOS clean
  198. USHORT FRCLC : 1; //FRCL clean
  199. USHORT RUA1C : 1; //RUA1 clean
  200. USHORT RYELC : 1; //RYEL clean
  201. USHORT Rfu : 4; //Reserved for future use.
  202. }ELE_SPAN_ALARM;
  203. // Optic trunk alarm
  204. typedef struct {
  205. USHORT LoREI : 1; //VC12: Remote Error Indicator
  206. USHORT LoRDI : 1; //VC12: Remote Incorrect Indicator
  207. USHORT TuLOP : 1; //VC12: TU Lose of pointer
  208. USHORT LoTIM : 1; //VC12: TU trace mismatch (alarm not include this bit)
  209. USHORT LoPSLM : 1; //VC12: Path signal lable mismatch
  210. USHORT Rfu : 1; //VC12: rev(alarm not include this bit)
  211. USHORT LoBIP2 : 2; //VC12: current value of BIP2(alarm not include these bits)
  212. USHORT LoV5 : 8; //current V5(alarm not include these bits)
  213. } SDH_SPAN_ALARM;
  214. // Current alarm of VC12
  215. //alarm or status of V5:
  216. //bit 7,6 5 4 3 2 1 0
  217. //Name LO_BIP2 x LO_PSLM LO_TIM TU_LOP LO-RDI LO-REI
  218. //LO_BIP2: Current value of BIP2
  219. //LO_PSLM: VC12 Path signal label mismatch
  220. //LO_TIM: VC12 TU trace mismatch
  221. //TU_LOP: VC12 Lose of Pointer
  222. //LO_RDI: Remote Incorrect Indicator
  223. //LO_REI: Remote Error Indicator
  224. //{{System Event
  225. #pragma pack(1)
  226. #ifndef _SYS_EVT_DATA
  227. #define _SYS_EVT_DATA
  228. typedef struct{
  229. UCHAR m3gcno;
  230. UCHAR conn_status; //refer to eM3G_BRD_CONN_STATUS
  231. }M3G_CONN_ST;
  232. #ifndef __DCH_
  233. #define __DCH_
  234. typedef struct{
  235. UCHAR nodeno;
  236. UCHAR brdno;
  237. UCHAR spanno;
  238. }D_CH;
  239. #endif
  240. #ifndef _DCH_ALARM
  241. #define _DCH_ALARM
  242. typedef struct {
  243. D_CH ch;
  244. UCHAR timeslot;
  245. UCHAR DChId;
  246. UCHAR ucAlarm;
  247. }DCH_ALARM;
  248. #endif
  249. typedef struct {
  250. UCHAR ucStackId;
  251. UCHAR ucLinksetId;
  252. UCHAR ucLinkId;
  253. UCHAR ucAlarm;
  254. }LINK_ALARM;
  255. #ifndef __SIPSTACK_STATUS //[2015-4-22] value of event<SYSEV_SIPSTACK_STATUS>
  256. #define __SIPSTACK_STATUS
  257. #define SIPSTACK_DEACTIVE 0
  258. #define SIPSTACK_ACTIVE 1
  259. #endif
  260. typedef struct{
  261. CHAR cIsxNo;
  262. CHAR cBrdNo;
  263. CHAR cSpanNum;
  264. union{
  265. CHAR cStatus;
  266. SHORT sCap;
  267. USHORT usAlarm; /*parse by ELE_SPAN_ALARM(cBrdNo<8) or SDH_SPAN_ALARM(cBrdNo>8)*/
  268. USHORT sRet;
  269. M3G_CONN_ST m3gConnSt;
  270. DCH_ALARM dchAlarm;
  271. LINK_ALARM linkAlarm;
  272. USHORT usCap;
  273. }u;
  274. }SYS_EVT_DATA;
  275. #endif
  276. #pragma pack()
  277. #ifndef ISXEV_USER_START
  278. #define ISXEV_USER_START 0x8000
  279. #endif
  280. #ifndef SYSEV_MC_STATUS
  281. #define SYSEV_MC_STATUS 0x4000 /* Master Controller status */
  282. #define SYSEV_PRD_STATUS 0x4001 /* PRD status */
  283. #define SYSEV_MB_STATUS 0x4002 /* Mother board status */
  284. #define SYSEV_DSP_STATUS 0x4003 /* DSP board status */
  285. #define SYSEV_PRI_STATUS 0x4004 /* PRI board status */
  286. #define SYSEV_SPAN_STATUS 0x4005 /* Span status */
  287. #define SYSEV_DSP_BRD_CAP 0x4006 /* DSP board capability */
  288. #define SYSEV_PRI_BRD_CAP 0x4007 /* PRI board capability */
  289. #define SYSEV_XOIP_BRD_CAP 0x4008 /* XOIP board capability */
  290. #define SYSEV_SPAN_ALARM 0x4009 /* Span alarm event */
  291. #define SYSEV_SPAN_E1 0x400a /* Set span type to E1 */
  292. #define SYSEV_SPAN_T1 0x400b /* Set span type to T1 */
  293. #define SYSEV_SPAN_J1 0x400c /* Set span type to J1 */
  294. #define SYSEV_SS7_STATUS 0x400d /* SS7 board status */
  295. #define SYSEV_CAP_DATA 0x400e /* Signaling date */
  296. #define SYSEV_XOIP_STATUS 0x400f /* XOIP board status */
  297. #define SYSEV_SS7_BRD_CAP 0x4010 /* SS7 board capability */
  298. #define SYSEV_SIP_STATUS 0x4011 /* SIP board status */
  299. #define SYSEV_SIP_BRD_CAP 0x4012 /* SIP board capability */
  300. #define SYSEV_M3G_STATUS 0x4013 /* M3G board status */
  301. #define SYSEV_M3G_BRD_CAP 0x4014 /* M3G board capability */
  302. #define SYSEV_M3G_CONN_STATUS 0x4015 /* M3G board to M3GC connect status */
  303. #define SYSEV_ETHERCAP_DATA 0x4017 /* SIP/XOIP cap date */
  304. #define SYSEV_PRI_L2DATA 0x4018 /* PRI L2 data */
  305. #define SYSEV_MRCPS_STATUS 0x4019 /* MRCPServer status */
  306. #define SYSEV_RTPS_STATUS 0x401a /* RTPProxy status */
  307. #define SYSEV_RTPS_CAP 0x401b /* RTP proxy CAP change */
  308. #define SYSEV_FXS_STATUS 0x401d /* FaxServer status */
  309. #define SYSEV_AG_STATUS 0x401e /* AG status */
  310. #define SYSEV_SIP_REGISTERSENT 0x4100 /* SIP Register sent */
  311. #define SYSEV_SIP_RECVREGISTERACK 0x4101 /* SIP Register ACK received */
  312. #define SYSEV_SIP_REGISTERACKSENT 0x4102 /* SIP Register ACK sent */
  313. #define SYSEV_SIP_RECVREGISTER 0x4103 /* SIP Register received */
  314. #define SYSEV_SIP_TRANSACTIONSENT 0x4104 /* SIP Transaction sent */
  315. #define SYSEV_SIP_RECVTRANSACTION 0x4105 /* SIP Transaction received */
  316. #define SYSEV_SIP_TRANSACTIONACKSENT 0x4106 /* SIP Transaction ACK sent */
  317. #define SYSEV_SIP_RECVTRANSACTIONACK 0x4107 /* SIP Transaction ACK received */
  318. #define SYSEV_SIP_REGUSER_NEW 0x4108 /* SIP register user new added */
  319. #define SYSEV_SIP_REGUSER_DEL 0x4109 /* SIP register user deleted */
  320. #define SYSEV_SIP_REGUSER_ERR 0x410a /* SIP register user reg fail */
  321. #define SYSEV_SS7_CGBSENT 0x4200 /* SS7 CGB sent */
  322. #define SYSEV_SS7_GRSSENT 0x4201 /* SS7 GRS sent */
  323. #define SYSEV_SS7_CGUSENT 0x4202 /* SS7 CGU sent */
  324. #define SYSEV_SS7_RECVCGB 0x4203 /* SS7 CGB received */
  325. #define SYSEV_SS7_RECVGRS 0x4204 /* SS7 GRS received */
  326. #define SYSEV_SS7_RECVCGU 0x4205 /* SS7 CGU received */
  327. #define SYSEV_PRIDCH_ALARM 0x4206 /* PRI dch alarm received */
  328. #define SYSEV_S7LINK_ALARM 0x4207 /* SS7 link alarm received */
  329. #define SYSEV_SIPSTACK_STATUS 0x4208 /* SIP stack status received [2015-4-22]*/
  330. #define SYSEV_MSGEVT_END SYSEV_SIPSTACK_STATUS /* end */
  331. #endif
  332. //}}
  333. //{{Device information
  334. typedef enum{
  335. enDS_NotExist, //Not exist
  336. enDS_OutOfServices, //Out of services
  337. enDS_Working, //Working
  338. }enDEV_STATUS;
  339. typedef struct{
  340. enDEV_STATUS Status;
  341. }DI_PRD;
  342. typedef enum{
  343. enST_E1,
  344. enST_T1,
  345. enST_J1
  346. }enSPAN_TYPE;
  347. typedef struct{
  348. enDEV_STATUS Status; /*status*/
  349. enSPAN_TYPE SpanType; /*span type*/
  350. USHORT usAlarm; /*span alarm*/
  351. }DI_SPAN;
  352. typedef struct{
  353. DI_SPAN Span[MAX_SPAN_NUM];
  354. }DI_TRUNK;
  355. typedef struct{
  356. enDEV_STATUS Status;
  357. USHORT usCap;
  358. }DI_DSP;
  359. typedef struct{
  360. enDEV_STATUS Status;
  361. USHORT usCap;
  362. }DI_XOIP;
  363. typedef struct{
  364. enDEV_STATUS Status;
  365. USHORT usCap;
  366. }DI_PRI;
  367. typedef struct{
  368. enDEV_STATUS Status;
  369. USHORT usCap;
  370. }DI_SS7;
  371. typedef struct{
  372. enDEV_STATUS Status;
  373. USHORT usCap;
  374. }DI_SIP;
  375. typedef struct{
  376. INT iBrdType; //refer to AG_BRDTYPE_NULL, AG_BRDTYPE_FXO, AG_BRDTYPE_FXS
  377. }DI_AG;
  378. typedef struct{
  379. enDEV_STATUS Status;
  380. USHORT usCap;
  381. }DI_M3G;
  382. typedef struct{
  383. enDEV_STATUS MbStatus;
  384. USHORT usSpanLicNum;
  385. DI_TRUNK Trunk[MAX_TRUNK_BRD];
  386. DI_DSP Dsp[MAX_DSP_BRD];
  387. DI_XOIP Xoip[MAX_XOIP_BRD];
  388. DI_PRI Pri[MAX_PRI_BRD];
  389. DI_SS7 Ss7[MAX_SS7_BRD];
  390. DI_SIP Sip[MAX_SIP_BRD];
  391. DI_AG Ag[MAX_AG_BRD];
  392. DI_M3G M3g[MAX_M3G_BRD];
  393. }DI_ISX;
  394. typedef struct{
  395. DI_PRD Prd[MAX_PRD_NUM];
  396. DI_ISX Isx[MAX_NODE_NUM];
  397. }DEV_INFO;
  398. //}}
  399. #pragma pack(1)
  400. #ifndef _GEN_RESULT
  401. #define _GEN_RESULT
  402. typedef struct{
  403. SHORT sRetVal;
  404. union{
  405. INT confid;
  406. }u1;
  407. union{
  408. INT iConfereeNum;
  409. }u2;
  410. }GEN_RESULT;
  411. #endif
  412. #pragma pack()
  413. //////////////////////////////////////////////////////////////////////////
  414. //{{Last Error Code
  415. #ifndef LE_SUCCESS
  416. #define LE_SUCCESS 0x00000000
  417. #define LE_FAILURE 0x8fffffff
  418. #define LE_INVALID_DEVTYPE 0x80000000
  419. #define LE_INVALID_NODENO 0x80000001
  420. #define LE_INVALID_BRDNUM 0x80000002
  421. #define LE_INVALID_CHANNEL 0x80000003
  422. #define LE_INVALID_PARM 0x80000004
  423. #define LE_INVALID_PRDNO 0x80000005
  424. #define LE_INVALID_STATE 0x80000006
  425. #define LE_DEV_OUTOFSERVICE 0x80000010
  426. #define LE_DEV_OPENED 0x80000011
  427. #define LE_DEV_OPENING 0x80000012
  428. #define LE_DEV_CLOSING 0x80000013
  429. #define LE_DEV_CLOSED 0x80000014
  430. #define LE_OPER_TIMEOUT 0x80000020
  431. #define LE_INVALID_DEVHDL 0x80000021
  432. #define LE_LINK_FAIL 0x80000030
  433. #define LE_NO_RES1 0x81000008 //no SN
  434. #define LE_NO_RES2 0x81000009 //mapi com send queue is full
  435. #define LE_ITEM_NOT_EXIST 0x82000001
  436. #define LE_ITEM_EXIST 0x82000002
  437. #define LE_TABLE_FULL 0x82000003
  438. #endif
  439. //}}
  440. /*
  441. * Error codes returned by ATDV_LASTERR()
  442. */
  443. #ifndef _ISXDEV_LASTERR
  444. #define _ISXDEV_LASTERR
  445. #define ISXEC_NOERROR 0x0000 /* No Errors */
  446. #define ISXEC_SYSTEM 0x0001 /* System Error */
  447. #define ISXEC_FWERROR 0x0002 /* Firmware Error */
  448. #define ISXEC_TIMEOUT 0x0003 /* Function Timed Out */
  449. #define ISXEC_BADIOTT 0x0004 /* Invalid Entry in the DX_IOTT */
  450. #define ISXEC_BADTPT 0x0005 /* Invalid Entry in the DX_TPT */
  451. #define ISXEC_BADPARM 0x0006 /* Invalid Parameter in Function Call */
  452. #define ISXEC_BADDEV 0x0007 /* Invalid Device Descriptor */
  453. #define ISXEC_BADPROD 0x0008 /* Func. Not Supported on this Board */
  454. #define ISXEC_BUSY 0x0009 /* Device is Already Busy */
  455. #define ISXEC_IDLE 0x000a /* Device is Idle */
  456. #define ISXEC_BADWAVEFILE 0x000c /* Bad/Unsupported WAV file */
  457. #define ISXEC_XPBPARM 0x000d /* Bad XPB structure */
  458. #define ISXEC_NOSUPPORT 0x000e /* Not supported */
  459. #define ISXEC_NOTIMP 0x000f /* Function not implemented */
  460. #define ISXEC_NORESOURCE 0x0013 /* No Resources */
  461. #define ISXEC_OPERTIMEOUT 0x0016 /* Operation timeout */
  462. #define ISXEC_BADSVMT 0x0017 /* The SVMT is not the default */
  463. #define ISXEC_UNKNOWNDEV 0x0018 /* Unknown device */
  464. #define ISXEC_BADPARM_M 0x0028 /* <M> Invalid Parameter in Function Call */
  465. #define ISXEC_CH_OCCUPIED 0x0029 /* <M> Channel is already occupied */
  466. #define ISXEC_NO_CH 0x002a /* <M> Channel is not exist */
  467. #define ISXEC_NO_CAP 0x002b /* <M> The device has no the capability */
  468. #define ISXEC_OPEN_FILE 0x002c /* <M> Can not open the file */
  469. #define ISXEC_BAD_FILEFMT 0x002d /* <M> Unknown file format */
  470. #define ISXEC_BAD_DATA 0x002e /* <M> The DSP not support the data format */
  471. #define ISXEC_PRD_OFS 0x002f /* <M> The PRD is out of service */
  472. #define ISXEC_CH_OFS 0x0030 /* <M> The channel is out of service */
  473. #define ISXEC_NO_REC 0x0031 /* <M> The channel is not recording */
  474. #define ISXEC_NO_PLAY 0x0032 /* <M> The channel is not playing */
  475. #define ISXEC_CREATE_FILE 0x0033 /* <M> Can not create the file */
  476. #define ISXEC_NO_PRD 0x0034 /* <M> The PRD is not exist */
  477. #define ISXEC_NO_CACHEID 0x0035 /* <M> The system has no cache id */
  478. #define ISXEC_NO_CACHEVOC 0x0036 /* <M> The cache voice is not exist */
  479. #define ISXEC_NO_DSP 0x0037 /* <M> The dsp is not exist */
  480. #define ISXEC_DSP_OFS 0x0038 /* <M> The DSP is out of service */
  481. #define ISXEC_NO_CONF 0x0039 /* <M> The conference is not exist */
  482. #define ISXEC_NO_CONFID 0x003a /* <M> The system has no conf-id */
  483. #define ISXEC_CH_INCONF 0x003b /* <M> The channel is already in the conference */
  484. #define ISXEC_RECORDING 0x003c /* <M> The channel is already recording */
  485. #define ISXEC_PLAYING 0x003d /* <M> The channel is already playing */
  486. #define ISXEC_NO_MEMVOC 0x003e /* <M> The memory voice is not exist */
  487. #define ISXEC_UNKNOWN_M 0x003f /* <M> Unknown reason */
  488. #define ISXEC_UNKNOWN_MM 0x0040 /* <M> Unknown error number from MasterController */
  489. #define ISXEC_CACHEV_BUSY 0x0041 /* <M> Delete fail because of the cache voice is in use */
  490. #define ISXEC_NOT_FLEX 0x0042 /* <M> The conference is not flexiable */
  491. #define ISXEC_NO_MEM 0x0043 /* <M> The memory is not enough */
  492. #define ISXEC_INVALID_STATE 0x0044 /* <M> The state is invalid */
  493. #define ISXEC_BAD_HANDLE 0x0045 /* <M> Bad handle */
  494. /*
  495. * GTD Error Codes
  496. */
  497. //#define ISXEC_TONEID 0x41 /* Bad Tone Template ID */
  498. //#define ISXEC_MAXTMPLT 0x42 /* Max number of Templates Exists */
  499. //#define ISXEC_INVSUBCMD 0x43 /* Invalid Sub Command Number */
  500. //#define ISXEC_CHANNUM 0x44 /* Invalid Channel Number Specified */
  501. //#define ISXEC_FREQDET 0x45 /* Invalid Freq Component Values */
  502. // /* in Tone Template Description */
  503. #define ISXEC_CADENCE 0x0046 /* Invalid Cadence Component Values */
  504. /* in Tone Template Description */
  505. #define ISXEC_ASCII 0x0047 /* Invalid ASCII Value */
  506. /* in Tone Template Description */
  507. #define ISXEC_DIGTYPE 0x0048 /* Invalid Dig_Type Value */
  508. /* in Tone Template Description */
  509. #define ISXEC_MSGSTATUS 0x0049 /* Invalid Message Status Setting */
  510. /*
  511. * Speed and Volume Control Error Codes
  512. */
  513. #define ISXEC_SVADJBLKS 0x004a /* Invalid Number of Speed/Volume */
  514. /* Adjustment Blocks */
  515. #define ISXEC_SPDVOL 0x004b /* Must Specify either SV_SPEEDTBL or SV_VOLUMETBL */
  516. #define ISXEC_SVMTRANGE 0x004d /* An out of Range entry in DX_SVMT */
  517. #define ISXEC_PRD_DSP_FILEORDIR_NOT_EXIST 0x004f /* <PRD-DSP> File or dir not exist */
  518. #define ISXEC_PRD_DSP_READ_FILE_FAIL 0x0050 /* <PRD-DSP> Read file fail. */
  519. #define ISXEC_PRD_DSP_FILE_NOT_ENOUGH_DATA 0x0051 /* <PRD-DSP> Not enough data in the file. */
  520. #define ISXEC_PRD_DSP_NOT_RESAMPLE_RES 0x0052 /* <PRD-DSP> Not enough resample resource. */
  521. #define ISXEC_PRD_DSP_INIT_RESAMPLE_RES_FAIL 0x0053 /* <PRD-DSP> resample init fail. */
  522. #define ISXEC_PRD_DSP_FIFO_FULL 0x0054 /* <PRD-DSP> FIFO full. */
  523. #define ISXEC_PRD_DSP_UNKNOWN_VOICE_FMT 0x0055 /* <PRD-DSP> Unknown voice format. */
  524. #define ISXEC_PRD_DSP_PROMPT_STATUS_ERROR 0x0056 /* <PRD-DSP> Wrong state for cache voice. */
  525. #define ISXEC_PRD_DSP_CREATE_POOL_FAIL 0x0057 /* <PRD-DSP> Create APR pool fail. */
  526. #define ISXEC_PRD_DSP_GET_FILE_INFO_FAIL 0x0058 /* <PRD-DSP> Get file info fail. */
  527. #define ISXEC_PRD_DSP_SEEK_FILE_FAIL 0x0059 /* <PRD-DSP> File seek operation fail. */
  528. #define ISXEC_PRD_DSP_CHAN_NOT_OCCPED 0x005a /* <PRD-DSP> The channel is not occupied. */
  529. #define ISXEC_PRD_DSP_INVALID_WAVE_FILE 0x005b /* <PRD-DSP> Invalid WAVE file format. */
  530. #define ISXEC_PRD_DSP_WRITE_WAVE_FILE_FAIL 0x005c /* <PRD-DSP> Write WAVE file fail. */
  531. #define ISXEC_PRD_DSP_SEND_MESSAGE_FAIL 0x005d /* <PRD-DSP> Send network message fail. */
  532. #define ISXEC_PRD_DSP_FILE_NOT_EXIST_OR_CLOSED 0x005e /* <PRD-DSP> File not exist or closed. */
  533. #define ISXEC_PRD_DSP_WRITE_FILE_FAIL 0x005f /* <PRD-DSP> Write file fail. */
  534. #define ISXEC_PRD_DSP_NETWORK_DISCONED 0x0060 /* <PRD_DSP> The network(MAPI) disconnected. */
  535. #define ISXEC_DSP_MC_CONF_RET_LSTNERID_INVAL 0x0061 /* <DSP-MC> Invalid listener index. */
  536. #define ISXEC_DSP_MC_CONF_RET_NOT_FLEXABLE 0x0062 /* <DSP-MC> The conference is not flexiable. */
  537. #define ISXEC_DSP_MC_PROMPT_RET_INDEX_INVAL 0x0063 /* <DSP-MC> Invalid cache voice index. */
  538. #define ISXEC_DSP_MC_OCT_ERROR 0x0064 /* <DSP-MC> Octasic access error. */
  539. #define ISXEC_DSP_MC_CN8478_ERROR 0x0065 /* <DSP-MC> CN8478 error. */
  540. #define ISXEC_DSP_MC_PRD_NET_ERROR 0x0066 /* <DSP-MC> The communication to PRD error. */
  541. #define ISXEC_DSP_MC_QUEUE_BUSY 0x0067 /* <DSP-MC> The inner queue busy. */
  542. #define ISXEC_DSP_MC_PRD_NET_BUSY 0x0068 /* <DSP-MC> The communication to PRD busy. */
  543. #define ISXEC_MC_MAPI_BYTE_ORDER_CONVERT_FAIL 0x0069 /* <MC-MAPI> Endian convert fail. */
  544. #define ISXEC_MC_MAPI_SEND_MESSAGE_FAIL 0x006a /* <MC-MAPI> Send network message fail. */
  545. #define ISXEC_MC_MAPI_PROMPT_NOT_OCCPED_BY_THIS_MOD 0x006b /* <MC-MAPI> The cache prompt is not belong to the APP. */
  546. #define ISXEC_MC_MAPI_PROMPT_STATUS_ERROR 0x006c /* <MC-MAPI> Wrong cache prompt state. */
  547. #define ISXEC_MC_MAPI_CHAN_NOT_OCCPED_BY_THIS_MOD 0x006d /* <MC-MAPI> The channel is not belong to the APP. */
  548. #define ISXEC_MC_MAPI_CONF_STATUS_ERROR 0x006e /* <MC-MAPI> Wrong conference state. */
  549. #define ISXEC_MC_MAPI_DSP_CHAN_NOT_IN_CONF_STATUS 0x006f /* <MC-MAPI> The channel is not in conference state. */
  550. #define ISXEC_PRD_MAPI_INVALID_PARAM 0x0070 /* <PRD_MAPI> Invalid param. */
  551. #define ISXEC_PRD_MAPI_CHAN_NOT_EXIST 0x0071 /* <PRD_MAPI> Channel not exist. */
  552. #define ISXEC_PRD_MAPI_CHAN_STATUS_ERROR 0x0072 /* <PRD_MAPI> Bad channel state. */
  553. #define ISXEC_PRD_MAPI_FD_NOT_OCCPED_BY_THIS_MOD 0x0073 /* <PRD_MAPI> The file handle is not belong to the APP. */
  554. #define ISXEC_PRD_MAPI_OPEN_FILE_LIMIT 0x0074 /* <PRD_MAPI> Too more files opened. */
  555. #define ISXEC_PRD_MAPI_FILE_OP_ERR 0x0075 /* <PRD_MAPI> File operation fail. */
  556. /*
  557. * VOIP Error Codes
  558. */
  559. #define ISXEC_MC_IPMEDIA_RET_BAD_PARAM 0x0076 /* <IPM-MC> Invalid param. */
  560. #define ISXEC_MC_IPMEDIA_RET_SET_TOS_FAIL 0x0077 /* <IPM-MC> Setup TOS fail. */
  561. #define ISXEC_MC_IPMEDIA_RET_SET_FAX_FAIL 0x0078 /* <IPM-MC> Setup FAX attribute fail. */
  562. #define ISXEC_MC_IPMEDIA_RET_SET_VOC_FAIL 0x0079 /* <IPM-MC> Setup VOC attribute fail. */
  563. #define ISXEC_MC_IPMEDIA_RET_NO_LICENSE 0x007a /* <IPM-MC> No usable license. */
  564. #define ISXEC_MC_IPMEDIA_RET_FAIL_STATE 0x007b /* <IPM-MC> Bad channel state. */
  565. #define ISXEC_MC_IPMEDIA_RET_FAIL_SESSION_GET 0x007c /* <IPM-MC> Get SESSION info fail. */
  566. #define ISXEC_MC_IPMEDIA_RET_FAIL_DEV 0x007d /* <IPM-MC> return error from device. */
  567. #define ISXEC_MC_IPMEDIA_RET_FAIL_DEV_NOT_INIT 0x007e /* <IPM-MC> Device not initialized. */
  568. #define ISXEC_MC_IPMEDIA_RET_FAIL_NO_GW 0x007f /* <IPM-MC> No setup gateway. */
  569. #define ISXEC_MC_IPMEDIA_RET_FAIL_TRANSAC 0x0080 /* <IPM-MC> Error with transaction */
  570. /*
  571. * SIP Error Codes
  572. */
  573. #define ISXEC_MC_SIPUA_RET_BAD_PARAM 0x0081 /* <SIP-MC> Invalid param. */
  574. #define ISXEC_MC_SIPUA_RET_BAD_STATE 0x0082 /* <SIP-MC> Bad channel state. */
  575. #define ISXEC_MC_SIPUA_RET_NO_RESOURCE 0x0083 /* <SIP-MC> No usable resource. */
  576. #define ISXEC_MC_SIPUA_RET_DEV_BUSY 0x0084 /* <SIP-MC> Device busy. */
  577. #define ISXEC_MC_SIPUA_RET_START_FAIL 0x0085 /* <SIP-MC> Start SIP stack fail. */
  578. #define ISXEC_MC_SIPUA_RET_FAIL_NO_LIC 0x0086 /* <SIP-MC> No usable license. */
  579. #define ISXEC_SIP_BODY_SDP_OVERFLOW 0x0087 /* SIP's number of SDP overflow */
  580. /*
  581. * Error Codes Specific to EC TAP
  582. */
  583. #define ISXEC_BADMODE 0x0090
  584. #define ISXEC_UNSUPPORTED 0x0091
  585. /*
  586. * M3G Error Codes
  587. */
  588. #define ISXEC_CHAN_TYPE_ERROR 0x00a0 /* Channel type error. */
  589. #define ISXEC_CONNECT 0x00fe /* Connect fail */
  590. #define ISXEC_UNKNOWN 0x00FF /* Unknown reason */
  591. /*conference Error codes*/
  592. #define ISXEC_CONF_BAD_INNERCONFID 0x0100 /* Bad inner conference id*/
  593. #define ISXEC_CONF_CONFTYPE_ERROR 0x0101 /* Conference type error */
  594. #define ISXEC_CONF_MEM_NOTEXIST 0x0102 /* Conference member not exist. */
  595. #define ISXEC_CONF_EMS_CDT_INDEX_EXIST 0x0103 /* Extend Conference EMS_CDT.index is exist*/
  596. #endif
  597. //////////////////////////////////////////////////////////////////////////
  598. //////////////////////////////////////////////////////////////////////////
  599. //SDK communication error code
  600. //{{MAPI <--> MC
  601. #define MER_BAD_MSGLEN 0xFFFA //error message length
  602. #define MER_BAD_PARAM 0xFFF9 //Invalid Parameter in Function Call
  603. #define MER_OCCUPIED 0xFFF7 //Channel is already occupied
  604. #define MER_NO_CH 0xFFF6 //Channel is not exist
  605. #define MER_NO_ABILITY 0xFFF5 //The device has no the capability
  606. #define MER_NO_MEMVOC 0xFFF4 //The memory voice is not exist
  607. #define MER_OPEN_FILE 0xFFF3 //Can not open the file
  608. #define MER_BAD_FILEFMT 0xFFF2 //Unknown file format
  609. #define MER_BAD_DATA 0xFFF1 //The DSP not support the data format
  610. #define MER_PRD_OFS 0xFFF0 //The PRD is out of Service
  611. #define MER_CH_OFS 0xFFEF //The channel is out of service
  612. #define MER_PRD_STRM_LK 0xFFEE //Connection between /Play&Record Device and StreamServer fails
  613. #define MER_NO_REC 0xFFED //The channel is not recording
  614. #define MER_NO_PLAY 0xFFEC //The channel is not playing
  615. #define MER_CREATE_FILE 0xFFEB //Can not create the file.
  616. #define MER_NO_PRD 0xFFEA //The PRD is not exist
  617. #define MER_NO_MEMIDX 0xFFE9 //No empty memory voice number
  618. #define MER_NO_MEM 0xFFE8 //The memory is not enough
  619. #define MER_NO_CACHEIDX 0xFFE7 //Cache sound number is not available
  620. #define MER_NO_CACHE 0xFFE6 //Cache sound number does not exist
  621. #define MER_NO_DSPDEV 0xFFE5 //The DSP is not exist
  622. #define MER_DSP_OFS 0xFFE4 //The DSP is out of service
  623. #define MER_NO_CONF 0xFFE3 //Specified conference number does not exist
  624. #define MER_BAD_LSTNRID 0xFFE2 //Parameter LstnrIdx is invalid (DEBUG Only)
  625. #define MER_BAD_LSTNRMK 0xFFE1 //Parameter LstnrMsk is invalid (DEBUG Only)
  626. #define MER_BUSY_PLAY 0xFFE0 //Channel is playing
  627. #define MER_BUSY_REC 0xFFDF //Channel is recording
  628. #define MER_BUSY_CONF 0xFFDE //Channel is in conference
  629. #define MER_BAD_BRDNO 0xFDD1 //The system has no conf-id
  630. #define MER_UNKNOWN 0x8000 //Unknown error
  631. //}}
  632. //{{PRD <--> DSP
  633. #define PER_BADPARAM 0xFFA0 // Invalid Parameter in Function Call
  634. #define PER_OPENFILE 0xFFA1 // Can not open the file
  635. #define PER_BAD_FILEFMT 0xFFA2 // Unknown file format
  636. #define PER_CREATE_FILE 0xFFA3 // Can not create the file
  637. #define PER_BAD_HANDLE 0xFFA4 // Invalid file handle
  638. //}}
  639. //{{DSP <--> MC
  640. #define DER_BADPARAM 0xFF70 // Invalid parameter
  641. #define DER_NO_CONF 0xFF71 // The conference is not exist
  642. #define DER_NO_CH 0xFF72 // Channel is not exist
  643. #define DER_CACHEV_BUSY 0xFF73 // Delete fail because of the cache voice is in use
  644. #define DER_NOT_FLEX 0xFF77 // The conference is not flexiable
  645. #define DER_OPEN_FILE 0xFF78 // Can not open the file
  646. #define DER_BAD_DATA 0xFF79 // The DSP not support the data format
  647. #define DER_PRD_OFS 0xFF7A // The PRD is out of service
  648. #define DER_NO_PRD 0xFF7B // The PRD is not exist
  649. #define DER_NO_MEM 0xFF7C // The memory is not enough
  650. #define DER_NO_CACHE 0xFF7D //The cache is not exist
  651. #define DER_BAD_FILEFMT 0xFF7E // Unknown file format
  652. #define DER_BUSY_PLAY 0xFF7F // Channel is playing
  653. #define DER_BUSY_REC 0xFF80 // Channel is recording
  654. #define DER_CREATE_FILE 0xFF81 // Can not create the file
  655. #define DER_INVALID_STATE 0xFF82 //Invalid state
  656. //}}
  657. //{{MB <--> MC
  658. #define OER_BADPARAM 0xFED0 //Invalid parameter
  659. #define OER_DEVBUSY 0xFEDC // Device is busy
  660. //}}
  661. //{{prd <--> dsp
  662. #define PRD_DSP_ERR_FILE_NOT_ENOUGH_DATA 0xFFA5 // Not enough data in the file
  663. #define PRD_DSP_ERR_NOT_RATE_RES 0xFFA6 // Not enough resample resource
  664. #define PRD_DSP_ERR_INIT_RATE_RES_FAIL 0xFFA7 // Resample init fail
  665. #define PRD_DSP_ERR_FIFO_BUFFER_HAS_FULL 0xFFA8 // FIFO BUFFER is full
  666. #define PRD_DSP_ERR_UNKNOWN_FMT 0xFFA9 // Unknown Format
  667. #define PRD_DSP_ERR_PROMPT_STATUS_ERROR 0xFFAA // Wrong state for cache voice
  668. #define PRD_DSP_ERR_CREATE_POOL_FAIL 0xFFAB // Create APR pool fail
  669. #define PRD_DSP_ERR_GET_FILE_INFO_FAIL 0xFFAC // Get file info fail
  670. #define PRD_DSP_ERR_SEEK_FILE_FAIL 0xFFAD // File seek operation fail
  671. #define PRD_DSP_ERR_CHAN_NOT_OCCPED 0xFFAE // The channel is not occupied
  672. #define PRD_DSP_ERR_INVALID_WAVE_FILE 0xFFAF //Invalid WAVE file format
  673. #define PRD_DSP_ERR_WRITE_WAVE_FILE_FAIL 0xFFB0 // Write WAVE file fail
  674. #define PRD_DSP_ERR_SEND_MESSAGE_FAIL 0xFFB1 //Send network message fail
  675. #define PRD_DSP_ERR_FILE_NOT_EXIST_OR_CLOSED 0xFFB2 //File not exist or closed
  676. #define PRD_DSP_ERR_WRITE_FILE_FAIL 0xFFB3 //Write file fail
  677. #define PRD_DSP_ERR_NETWORK_DISCONED 0xFFB4 // The network disconnected
  678. #define PRD_DSP_ERR_READ_FILE_FAIL 0xFFB5 // Read file fail
  679. #define PRD_DSP_ERR_FILEORDIR_NOT_EXIST 0xFFB6 //File or dir not exist
  680. //}}
  681. //{{prd <--> MAPI
  682. #define PRD_MAPI_ERR_INVALID_PARAM 0xFE70 //Invalid parameter
  683. #define PRD_MAPI_ERR_CHAN_NOT_EXIST 0xFE71 //The channel not exist
  684. #define PRD_MAPI_ERR_CHAN_STATUS_ERROR 0xFE72 // Bad channel state
  685. #define PRD_MAPI_ERR_FD_NOT_OCCPED_BY_THIS_MOD 0xFE73 // The file handle is not belong to the APP
  686. #define PRD_MAPI_ERR_OPEN_FILE_LIMIT 0xFE9F // Too more files opened
  687. #define PRD_MAPI_ERR_FILE_OP_ERR 0xFE9E // File operation fail
  688. //{{MC errcode
  689. #define MAPI_ERR_BYTE_ORDER_CONVERT_FAIL 0xFFDC // Endian convert fail
  690. #define MAPI_ERR_SEND_MESSAGE_FAIL 0xFFDB // Send network message fail
  691. #define MAPI_ERR_PROMPT_NOT_OCCPED_BY_THIS_MOD 0xFFDA // The cache prompt is not belong to the APP
  692. #define MAPI_ERR_PROMPT_STATUS_ERROR 0xFFD9 // Wrong cache prompt state
  693. #define MAPI_ERR_CHAN_NOT_OCCPED_BY_THIS_MOD 0xFFD8 // The channel is not belong to the APP
  694. #define MAPI_ERR_CONF_STATUS_ERROR 0xFFD7 // Wrong conference state
  695. #define MAPI_ERR_DSP_CHAN_NOT_IN_CONF_STATUS 0xFFD6 // The channel is not in conference state
  696. //}}
  697. //{{DSP errcode
  698. #define ISXOCTDSP_CONF_RET_LSTNERID_INVAL 0xFF74 // Invalid listener index
  699. #define ISXOCTDSP_CONF_RET_NOT_FLEXABLE 0xFF75 // The conference is not flexiable
  700. #define ISXOCTDSP_PROMPT_RET_INDEX_INVAL 0xFF76 // Invalid cache voice index
  701. #define ISXOCTDSP_OCT_ERROR 0xFF83 // Octasic access error
  702. #define ISXOCTDSP_CN8478_ERROR 0xFF84 // CN8478 Error
  703. #define ISXOCTDSP_PRD_NET_ERROR 0xFF85 // The communication to PRD error
  704. #define ISXOCTDSP_QUEUE_BUSY 0xFF86 // The inner queue busy
  705. #define ISXOCTDSP_PRD_NET_BUSY 0xFF87 // The communication to PRD busy
  706. //}}
  707. //{{FaxServer errcode
  708. #define FER_BADPARAM 0xFC00 //Invalid parameter
  709. #define FER_BUSY 0xFC01 //channel is busy
  710. #define FER_INVALID_CH 0xFC02 //Invalid channel
  711. #define FER_OPENFILE 0xFC03 //Open file fail
  712. #define FER_INITSTAT 0xFC04 //Init status error
  713. #define FER_SENDFAX 0xFC05 //start sent fax fail
  714. #define FER_DLGIMPOP 0xFC06 //D card IPM channel error
  715. #define FER_AUTH 0xFC07 //auth fail
  716. #define FER_RECVFAX 0xFC08 //start recv fax fail
  717. //}}
  718. //{{IPM errcode
  719. #define IPMEDIA_RET_BAD_PARAM 0xFB00 /* Invalid parameter */
  720. #define IPMEDIA_RET_SET_TOS_FAIL 0xFB01 /* set TOS fail */
  721. #define IPMEDIA_RET_SET_FAX_FAIL 0xFB02 /* set FAX fail */
  722. #define IPMEDIA_RET_SET_VOC_FAIL 0xFB03 /* set VOC fail */
  723. #define IPMEDIA_RET_NO_LICENSE 0xFB04 /* no license */
  724. #define IPMEDIA_RET_FAIL_STATE 0xFB05 /* status error */
  725. #define IPMEDIA_RET_FAIL_SESSION_GET 0xFB06 /* get session information error */
  726. #define IPMEDIA_RET_FAIL_DEV 0xFB07 /* device error */
  727. #define IPMEDIA_RET_FAIL_DEV_NOT_INIT 0xFB08 /* device not init */
  728. #define IPMEDIA_RET_FAIL_NO_GW 0xFB09 /* no gateway */
  729. #define IPMEDIA_RET_FAIL_TRANSAC 0xFB0A /* transaction error */
  730. //}}
  731. //{{SIP errcode
  732. #define SIPUA_RET_BAD_PARAM 0xFF10 /* Invalid parameter */
  733. #define SIPUA_RET_BAD_STATE 0xFF11 /* status error */
  734. #define SIPUA_RET_NO_RESOURCE 0xFF13 /* no resource */
  735. #define SIPUA_RET_DEV_BUSY 0xFF14 /* device is busy */
  736. #define SIPUA_RET_START_FAIL 0xFF16 /* start sip stack fail */
  737. #define SIPUA_RET_FAIL_NO_LIC 0x8201 /* no license */
  738. //}}
  739. //////////////////////////////////////////////////////////////////////////
  740. /*
  741. * Type definition for SCBus Timeslots information structure.
  742. */
  743. #ifndef __SC_TSINFO__
  744. #define __SC_TSINFO__
  745. #ifdef __64BIT
  746. typedef struct sc_tsinfo {
  747. UINT sc_numts;
  748. INT *sc_tsarrayp;
  749. } SC_TSINFO;
  750. #else
  751. typedef struct sc_tsinfo {
  752. ULONG sc_numts;
  753. LONG *sc_tsarrayp;
  754. } SC_TSINFO;
  755. #endif
  756. #endif
  757. /*
  758. * Termination Parameter Types
  759. */
  760. #define IO_CONT 0x0001 /* Next TPT is contiguous in memory */
  761. #define IO_LINK 0x0002 /* Next TPT found thru tp_nextp ptr */
  762. #define IO_EOT 0x0004 /* End of the Termination Parameters */
  763. /*
  764. * DV_TPT - Termination Parameter Table Structure.
  765. */
  766. typedef struct dv_tpt DV_TPT;
  767. struct dv_tpt {
  768. USHORT tp_type; /* Flags Describing this Entry */
  769. USHORT tp_termno; /* Termination Parameter Number */
  770. USHORT tp_length; /* Length of Terminator */
  771. USHORT tp_flags; /* Termination Parameter Attributes Flag */
  772. USHORT tp_data; /* Optional Additional Data */
  773. USHORT rfu; /* Reserved */
  774. DV_TPT *tp_nextp; /* Ptr to next DV_TPT if IO_LINK set */
  775. };
  776. /* Define NULL if it hasn't been defined already */
  777. #ifndef NULL
  778. #define NULL 0L
  779. #endif
  780. #ifndef TLV_TYPE_UNKNOWN
  781. #define TLV_TYPE_MAXVALUE 0x9999
  782. #define TLV_TYPE_UNKNOWN 0xffff
  783. #endif
  784. /**
  785. ** Defines used for standard attributes
  786. **/
  787. /*
  788. * Undefined attribute or Failed to get attribute
  789. */
  790. #ifndef AT_FAILURE
  791. #define AT_FAILURE -1
  792. #define AT_FAILUREP NULL
  793. /*
  794. * EVENT MANAGEMENT
  795. */
  796. #define SR_POLLMODE 0 /* Run SRL in polling mode */
  797. #define SR_SIGMODE 1 /* Run SRL in signalling/interrupt mode */
  798. #define SRL_DEVICE 0 /* The SRL device */
  799. #define SR_TMOUTEVT 0 /* Timeout event - occurs on the SRL DEVICE */
  800. #define SR_SYSHDL 1 /* The system device */
  801. #define SR_CUREVENT -1 /* Current event */
  802. #define SR_TMOUT -1 /* Returned by event scanning functions
  803. (e.g. sr_waitevt()) when they time out */
  804. #endif
  805. #ifndef MAX_DBGID_NUM
  806. #pragma pack(1)
  807. #define MAX_DBGID_NUM 20
  808. #define MAX_DBGID_LEN 32
  809. typedef struct{
  810. UCHAR ucMode; //Filter mode, refer to eFILTER_MODE
  811. CHAR szDbgIdStr[MAX_DBGID_LEN];
  812. }DBGID_FILTER;
  813. //ucMode may be as follows:
  814. typedef enum{
  815. FILTER_MODE_FULL_MATCHING = 0x00, /*DbgIdStr full matching*/
  816. FILTER_MODE_INCLUDE_MATCHING = 0x7f, /*DbgIdStr include matching*/
  817. FILTER_MODE_IGNORE_UPPERCASE = 0x80 /*DbgIdStr ignore uppercase*/
  818. } eFILTER_MODE;
  819. /*
  820. -Log filtering conditions. Log conditions are defined by the LOG_FILTER structure.
  821. */
  822. typedef struct{
  823. UCHAR ucLog2File; /*Whether to save to files.*/
  824. UCHAR ucOutputErrLogOnly; /*Outputs error logs only. If the field is TRUE,
  825. ucOutputErrLog, ucOutputSYSLog, ucOutputGCLog, ucOutputDSPLog,
  826. ucOutputXOIPLog, ucOutputDTILog, ucOutputCSLog and Other...
  827. are not analyzed.*/
  828. UCHAR ucOutputErrLog; /*Whether to output error logs. If the field is TRUE,
  829. error logs are output, otherwise only normal logs are output.*/
  830. UCHAR ucOutputSYSLog; /*Whether to output system logs. If the field is TRUE, system logs
  831. are output, otherwise no system logs are output.*/
  832. UCHAR ucOutputGCLog; /*Whether to output GC logs. If the field is TRUE, GC logs are output,
  833. otherwise no GC logs are output. GC logs are mainly signaling logs
  834. including PRI/SS7/SIP signaling function-related logs.*/
  835. UCHAR ucOutputDSPLog; /*Whether to output DSP logs. If the field is TRUE, DSP logs are
  836. output, otherwise no DSP logs are output. DSP logs are mainly logs
  837. related to functions such as playback, recording, conferencing and
  838. DTMF functions.*/
  839. UCHAR ucOutputXOIPLog; /*Whether to output XOIP logs. If the field is TRUE, XOIP logs
  840. are output, otherwise no XOIP logs are output. XOIP logs are mainly
  841. logs related to VOIP/FOIP media functions.*/
  842. UCHAR ucOutputDTILog; /*Whether to output DTI logs. If the field is TRUE, DTI logs are
  843. output, otherwise no DTI logs are output. DTI logs are mainly logs
  844. related to DTI (Digital Trunk Interface) functions.*/
  845. UCHAR ucOutputCSLog; /*Whether to output CS logs. If the field is TRUE, CS logs are
  846. output, otherwise no CS logs are output. CS logs are mainly logs
  847. related to CS Interface functions.*/
  848. UCHAR ucOutputPRDLog; /*Whether to output PRD logs. If the field is TRUE, PRD logs are
  849. output, otherwise no PRD logs are output. PRD logs are mainly logs
  850. related to PRD Interface functions.*/
  851. UCHAR ucOutputFXSLog; /*Whether to output FXS logs. If the field is TRUE, FXS logs are
  852. output, otherwise no FXS logs are output. FXS logs are mainly logs
  853. related to FXS Interface functions.*/
  854. UCHAR ucOutputAGLog; /*Whether to output AG logs. If the field is TRUE, AG logs are
  855. output, otherwise no AG logs are output. AG logs are mainly logs
  856. related to AG Interface functions.*/
  857. UCHAR ucOutputM3GLog; /*Whether to output M3G logs. If the field is TRUE, M3G logs are
  858. output, otherwise no M3G logs are output. M3G logs are mainly logs
  859. related to M3G Interface functions.*/
  860. UCHAR ucOutputTimerLog; /*Whether to output timer logs. If the field is TRUE, timer logs are
  861. output, otherwise no timer logs are output. timer logs are mainly logs
  862. related to timer debug informations.*/
  863. UCHAR ucHideDtmfFlag; /*Whether to set hide/show dtmf flag. If the field is TRUE, dtmf are hide,
  864. otherwise dtmf logs are show. dtmf logs are mainly logs
  865. related to dtmf debug informations.*/
  866. UCHAR ucOutputMsgLog; /*Whether to set message flag. If the field is TRUE, message are hide,
  867. otherwise message logs are show. message logs are mainly logs
  868. related to message debug informations.*/
  869. UCHAR ucExternDebugLog; /*Inner use*/
  870. UCHAR ucReserve[100-7]; /*Reserve*/
  871. UCHAR ucDbgIdFilterValid; /*Whether to enable the DbgId condition filtering. If the field is TRUE,
  872. channel DbgId conforms to the condition settings in DbgIdFilter besides
  873. the above-mentioned conditions. Channel DbgId is set by
  874. ISX_sr_SetDbgIdStr().*/
  875. USHORT usDbgIdNum; /*Number of DbgId filtering conditions.*/
  876. DBGID_FILTER DbgIdFilter[MAX_DBGID_NUM]; /*DbgId filtering condition array. Only the logs that satisfy
  877. one of the DbgId filtering condition array. The maximum number
  878. of conditions in the DbgId filtering condition array is
  879. MAX_DBGID_NUM. Each filtering condition has two fields.
  880. One field is ucMode that specifies a DbgId string comparison mode.
  881. 0 indicates perfect matching and 1 indicates containing matching.
  882. If the top digit of ucMode is 1, it indicates ignoring case.*/
  883. }LOG_FILTER;
  884. //{{[2014-11-27]
  885. #define MAX_MONITOR_MSGID_NUM 32
  886. typedef struct {
  887. USHORT nMonitorMsgIDs[MAX_MONITOR_MSGID_NUM];
  888. } ISX_MONITOR_MSG_TAB;
  889. //}}
  890. #pragma pack()
  891. #endif
  892. //////////////////////////////////////////////////////////////////////////
  893. //{{add by 2009-5-20
  894. #pragma pack(1)
  895. #ifndef _MIX_TYPE_
  896. #define _MIX_TYPE_
  897. typedef enum{
  898. MIXTYPE_NULL, //not mix
  899. MIXTYPE_RECORD, //record mix
  900. MIXTYPE_PLAY, //play mix
  901. MIXTYPE_RPBOTH, //both record and play mix
  902. MIXTYPE_HIIMPREC, //high impedance mix
  903. }MIX_TYPE;
  904. #define MAX_SPEC_CAP_NUM 32
  905. typedef struct{
  906. UCHAR ucMixType; //Mix type, refer to MIX_TYPE
  907. UCHAR ucUnmixTimeSlot[MAX_SPAN_NUM];/*not mixing timeslot number, E1(0~31), T1/J1(1~24).
  908. 0xFF indicates all timeslot mixing, buf Xoip board invalid*/
  909. }MIX_PARAM;
  910. typedef enum{
  911. MIXCAP_NON =0, //No specific capability
  912. MIXCAP_NORMAL =1, //Normal mix capability
  913. MIXCAP_HIIMP =2, //High impedance mix capability(Only trunk board)
  914. }MIX_CAP;
  915. typedef struct{
  916. UCHAR ucMixCap; //Mix capability, refer to MIX_CAP
  917. UCHAR ucRvrCap[MAX_SPEC_CAP_NUM-1]; //Reserve
  918. }UNK_CAP_SET;
  919. typedef struct{
  920. UCHAR ucMixCap; //Mix capability, refer to MIX_CAP
  921. UCHAR ucRvrCap[MAX_SPEC_CAP_NUM-1]; //Reserve
  922. }M3G_CAP_SET;
  923. typedef struct{
  924. UCHAR ucMixCap; //Mix capability, refer to MIX_CAP
  925. UCHAR ucRvrCap[MAX_SPEC_CAP_NUM-1]; //Reserve
  926. }SPAN_CAP_SET;
  927. typedef struct{
  928. UCHAR ucMixCap; //Mix capability, refer to MIX_CAP
  929. UCHAR ucRvrCap[MAX_SPEC_CAP_NUM-1]; //Reserve
  930. }XOIP_CAP_SET;
  931. typedef struct{
  932. union{
  933. SPAN_CAP_SET Span;
  934. XOIP_CAP_SET Xoip;
  935. M3G_CAP_SET M3g;
  936. UNK_CAP_SET Unk;
  937. };
  938. }SPEC_CAP;
  939. #endif
  940. #pragma pack()
  941. /*
  942. * System param ID for ISX_sr_SetSysParam
  943. */
  944. #define SYS_PARMID_SYNCFUNC_TIMEOUT 0x00
  945. #define SYS_PARMID_DAYNUM_FOR_AUTO_DELETE_LOG 0x01
  946. #define SYS_PARMID_VOX_BUSYDETECT_NUM 0x02
  947. #define SYS_PARMID_PRINT_KEEPALIVE_LOG 0x03
  948. #define SYS_PARMID_ENABLE_RAR_LOG 0x04
  949. #define SYS_PARMID_IMMEDIA_PRINT_LOG 0x05
  950. #define SYS_PARMID_ENABLE_STOP_RECPLAY_STATMANAGER 0x06
  951. #define SYS_PARMID_SIPREGISTERACK_AUTHENT_REALM 0x07 //set inner call ISX_gc_SIPSendRegisterAck Ack.Authent.Realm
  952. /*
  953. * ISX_sr_default (iParmId)
  954. */
  955. #ifndef PARMID_SS7_IAM
  956. #define PARMID_SS7_IAM 1
  957. #define PARMID_SS7_ACM 3
  958. #define PARMID_SS7_ANM 4
  959. #define PARMID_SS7_REL 5
  960. #define PARMID_SS7_CPG 6
  961. #define PARMID_SS7_INF 7
  962. #define PARMID_SS7_INR 8
  963. #define PARMID_SS7_USR2UER_INFO 9
  964. #define PARMID_SS7_CON 10
  965. #define PARMID_SS7_IDR 11
  966. #define PARMID_SS7_IDS 12
  967. #define PARMID_SIP_INVITE 13
  968. #define PARMID_SIP_RING 14
  969. #define PARMID_SIP_CONNECT 15
  970. #define PARMID_PRI_SETUP 16
  971. #define PARMID_PRI_ALERTING 17
  972. #define PARMID_PRI_CONNECT 18
  973. #define PARMID_PRI_DROP 19
  974. #define PARMID_PRI_SETUPACK 20
  975. #define PARMID_PRI_PROGRESS 21
  976. #define PARMID_PRI_PROCEEDING 22
  977. #define PARMID_SIP_INVITE_EX_REQ 23
  978. #define PARMID_SIP_OPTIONS 24
  979. #define PARMID_SIP_INVITE_URI 25
  980. #define PARMID_SIP_INVITE_LONG_URL 26
  981. #define PARMID_SIP_INVITE_LONG_USER 27
  982. #define PARMID_SIP_INVITE_LONGLONG_USER 28
  983. #define PARMID_ISXSIP_ADDR_URL 29
  984. #define PARMID_ISXSIP_ADDR_URL_EX 30
  985. #define PARMID_ISXSIP_ADDR_LONG_URL 31
  986. #define PARMID_ISXSIP_ADDR_LONG_USR 32
  987. #define PARMID_SIP_SUBSCRIBE 33
  988. #define PARMID_SIP_MESSAGE 34
  989. #define PARMID_DSPCH_VQECFG 200
  990. #endif
  991. /*
  992. * ISX_sr_insertparm (parmID)
  993. */
  994. #ifndef SIPPARMID_DESTADD
  995. #define SIPPARMID_DESTADD 200 //normal destination address
  996. #define SIPPARMID_SRCADD 201 //normal source address
  997. #define SIPPARMID_DESTDISPLAY 202 //destination display name
  998. #define SIPPARMID_SRCDISPLAY 203 //source display name
  999. #define SIPPARMID_DESTADD_LONG_URL 204 //LONG_URL destination address
  1000. #define SIPPARMID_SRCADD_LONG_URL 205 //LONG_URL source address
  1001. #define SIPPARMID_DESTADD_LONG_USR 206 //LONG_USER destination address
  1002. #define SIPPARMID_SRCADD_LONG_USR 207 //LONG_USER source address
  1003. #define SIPPARMID_DESTADD_URI 208 //URI destination address
  1004. #define SIPPARMID_SRCADD_URI 209 //URI source address
  1005. #define SIPPARMID_DESTADD_LONGLONG_USR 210 //LONGLONG_USER destination address
  1006. #define SIPPARMID_SRCADD_LONGLONG_USR 211 //LONGLONG_USER source address
  1007. //set ie_body
  1008. #define SIPPARMID_CHCAP 301 //channel capability
  1009. #define SIPPARMID_MEDIADESC 302 //media description
  1010. #define SIPPARMID_ORIGIN 303 //origin
  1011. #endif
  1012. /*
  1013. * ISX_sr_convert (convertID)
  1014. */
  1015. #ifndef CONID_CODECID2PLAYLOAD
  1016. #define CONID_CODECID2PLAYLOAD 401 //(SIP) convert codec-id to payload-id
  1017. #endif
  1018. //////////////////////////////////////////////////////////////////////////
  1019. #if defined(__cplusplus)
  1020. extern "C" {
  1021. #endif
  1022. /* SRL standard attribute functions */
  1023. /************************************************************************/
  1024. /* Function: ISX_ATDV_ERRMSGP()
  1025. Description:
  1026. The ISX_ATDV_ERRMSGP() function returns an ASCIIZ string that describes the error that occurs
  1027. during the last function call. The pointer remains valid throughout the execution of the application.
  1028. If no error occurs, the function returns a "No Error" string.
  1029. Return value:
  1030. Pointer to string
  1031. Parameter:
  1032. -dev
  1033. Valid device handle returned by the xx_open() function
  1034. */
  1035. /************************************************************************/
  1036. ISXAPI_FUNC_STDCL(CHAR*) ISX_ATDV_ERRMSGP(INT dev);
  1037. /************************************************************************/
  1038. /* Function: ISX_ATDV_LASTERR()
  1039. Description:
  1040. The ISX_ATDV_LASTERR() function returns codes (INT integers) that indicates errors that occur
  1041. during the last function call. The error codes are located in all relevant header files such as
  1042. voclib.h and dtilib.h.
  1043. Return value:
  1044. AT_FAILURE: failure. The specified handle is invalid
  1045. Others: error code
  1046. Parameter:
  1047. -dev
  1048. Valid device handle returned by the ISX_xx_open() function
  1049. */
  1050. /************************************************************************/
  1051. ISXAPI_FUNC_STDCL(INT) ISX_ATDV_LASTERR(INT dev);
  1052. /************************************************************************/
  1053. /* Function: ISX_sr_getlasterr()
  1054. Description:
  1055. The ISX_sr_getlasterr() function obtains the error code during the last call function.
  1056. The function is similar to the GetLastError() function in Windows API. Their difference
  1057. is that ISX_ATDV_LASTERR() applies to devices and ISX_sr_getlasterr() applies to threads.
  1058. ISX_sr_getlasterr() is generally used to obtain failure causes of the ISX_xx_open() function.
  1059. Return value:
  1060. -1: failure
  1061. Others: error code during the last function call
  1062. */
  1063. /************************************************************************/
  1064. ISXAPI_FUNC_STDCL(INT) ISX_sr_getlasterr();
  1065. /************************************************************************/
  1066. /* Function: ISX_sr_GetErrMsg()
  1067. Description:
  1068. The ISX_sr_getlasterr() function returns codes that indicates errors that occur
  1069. during the last function call.
  1070. Return value:
  1071. Pointer to string
  1072. Parameter:
  1073. -sRetVal
  1074. error code returned by the ISX_sr_getlasterr() function
  1075. */
  1076. /************************************************************************/
  1077. ISXAPI_FUNC_STDCL(CHAR*) ISX_sr_GetErrMsg(INT sRetVal);
  1078. /* Wait for next event */
  1079. /************************************************************************/
  1080. /* Function: ISX_sr_waitevt()
  1081. Description:
  1082. The ISX_sr_waitevt() function waits for an event within the specified time. If an event occurs,
  1083. 0 is returned immediately. If no event occurs within the specified time, -1 (SR_TMOUT) is returned.
  1084. Return value:
  1085. 0 success.An event occurs
  1086. -1 failure. No event occurs
  1087. Parameter:
  1088. -timeout
  1089. Timeout time in ms. If the parameter value is -1, it indicates infinite waiting.
  1090. */
  1091. /************************************************************************/
  1092. ISXAPI_FUNC_STDCL(INT) ISX_sr_waitevt(LONG tmout);
  1093. /************************************************************************/
  1094. /* Function: ISX_sr_waitevtEx()
  1095. Description:
  1096. The ISX_sr_waitevtEx() function waits for device events. The function can be regard as an extension
  1097. of the ISX_sr_waitevt() function. If events are detected on the specified devices, the function
  1098. returns 0 immediately. If no event occurs on the specified devices within the specified time,
  1099. the function times out and returns -1 (SR_TMOUT).
  1100. Parameter:
  1101. -handlep
  1102. Device handle array
  1103. -count
  1104. Number of handles in the handle array
  1105. -tmout
  1106. Timeout time in ms. If the value is -1, it indicates infinite waiting until an event occurs.
  1107. -rfup
  1108. Reserved for future use
  1109. */
  1110. /************************************************************************/
  1111. ISXAPI_FUNC_STDCL(INT) ISX_sr_waitevtEx(INT *handlep, INT count, LONG tmout, LONG* rfup);
  1112. /************************************************************************/
  1113. /* Function: ISX_sr_getevtdev()
  1114. Description:
  1115. The ISX_sr_getevtdev() function returns the device handle of the current event. If no current
  1116. event exists, -1 is returned. If timeout occurs when waiting for an event, the function returns
  1117. SRL_DEVICE. If SR_SYSHDL is returned, it indicates that the event is a system event.
  1118. Return value:
  1119. -1: failure
  1120. Others: event device handle
  1121. */
  1122. /************************************************************************/
  1123. ISXAPI_FUNC_STDCL(INT) ISX_sr_getevtdev();
  1124. /************************************************************************/
  1125. /* Function: ISX_sr_getevttype()
  1126. Description:
  1127. The ISX_sr_getevttype() function returns the type of the current event. If no current event exists,
  1128. -1 is returned. If timeout occurs while waiting for an event, the function returns SR_TMOUTEVT.
  1129. Return value:
  1130. -1 failure
  1131. Others: event type
  1132. */
  1133. /************************************************************************/
  1134. ISXAPI_FUNC_STDCL(INT) ISX_sr_getevttype();
  1135. /************************************************************************/
  1136. /* Function: ISX_sr_getevtlen()
  1137. Description:
  1138. The ISX_sr_getevtlen() function returns the length of the additonal data of the current event.
  1139. If no current event exists, 0 is returned.
  1140. Return value:
  1141. -1 failure
  1142. Others: event length
  1143. */
  1144. /************************************************************************/
  1145. ISXAPI_FUNC_STDCL(INT) ISX_sr_getevtlen();
  1146. /************************************************************************/
  1147. /* Function: ISX_sr_getevtdatap()
  1148. Description:
  1149. The ISX_sr_getevtdatap() function returns the address of the additional data of the current event.
  1150. Please use ISX_sr_getevtlen() to determine the valid length of the variable-length data. If there
  1151. is no variable-length data for the current event, NULL is returned. The returned pointer is valid
  1152. before ISX_sr_waitevt() or ISX_sr_waitevtEx() is called again.
  1153. Return value:
  1154. NULL: no variable-length data for the event
  1155. Others: address of variable-length data of the event
  1156. */
  1157. /************************************************************************/
  1158. ISXAPI_FUNC_STDCL(VOID*) ISX_sr_getevtdatap();
  1159. /************************************************************************/
  1160. /* Function: ISX_sr_getevtopertype()
  1161. Description:
  1162. The ISX_sr_getopertype() function returns the event-related operation type.
  1163. Return value:
  1164. Returns the event-related operation type, refer to OPERATIONS
  1165. */
  1166. /************************************************************************/
  1167. ISXAPI_FUNC_STDCL(INT) ISX_sr_getevtopertype();
  1168. /************************************************************************/
  1169. /* Function: ISX_sr_getevtoperindex()
  1170. Description:
  1171. The ISX_sr_getevtoperindex() function returns the event-related operation number. You can specify
  1172. an operation index for some operations such as recording, playback and obtaining the number of
  1173. played or recorded bytes. When an event is generated, the number can be obtained through
  1174. ISX_sr_getevtoperindex() so that a programmer can know which operation results in the event.
  1175. Return value:
  1176. Returns the number of the operation corresponding to the event
  1177. */
  1178. /************************************************************************/
  1179. ISXAPI_FUNC_STDCL(UINT) ISX_sr_getevtoperindex();
  1180. /************************************************************************/
  1181. /* Function: ISX_sr_getevtname()
  1182. Description:
  1183. The ISX_sr_getevtname() function obtains the event name of a certain event or the
  1184. current event (iEvtType is SR_CUREVENT).
  1185. Return value:
  1186. Pointer to string
  1187. Parameter:
  1188. -iEvtType
  1189. Event type
  1190. */
  1191. /************************************************************************/
  1192. #ifndef EHANG_ISXAPI_STD_C
  1193. ISXAPI_FUNC_STDCL(CHAR*) ISX_sr_getevtname(INT iEvtType = SR_CUREVENT);
  1194. #else
  1195. ISXAPI_FUNC_STDCL(CHAR*) ISX_sr_getevtname(INT iEvtType);
  1196. #endif
  1197. /************************************************************************/
  1198. /* Function: ISX_sr_getopername()
  1199. Description:
  1200. The ISX_sr_getopername() function obtains the operation name of a certain operation
  1201. or the current event (iOperType is SR_CUREVENT).
  1202. Return value:
  1203. Pointer to string
  1204. Parameter:
  1205. -iOperType
  1206. Operation type
  1207. */
  1208. /************************************************************************/
  1209. #ifndef EHANG_ISXAPI_STD_C
  1210. ISXAPI_FUNC_STDCL(CHAR*) ISX_sr_getopername(INT iOperType = SR_CUREVENT);
  1211. #else
  1212. ISXAPI_FUNC_STDCL(CHAR*) ISX_sr_getopername(INT iOperType);
  1213. #endif
  1214. /************************************************************************/
  1215. /* Function: ISX_sr_SetSysParam()
  1216. Description:
  1217. The ISX_sr_SetSysParam() function Sets system parameter.
  1218. Return value:
  1219. 0 success
  1220. -1 failure
  1221. Parameter:
  1222. -parmID
  1223. parameter ID, may be as follows:
  1224. SYS_PARMID_SYNCFUNC_TIMEOUT ( value is SHORT type )
  1225. SYS_PARMID_DAYNUM_FOR_AUTO_DELETE_LOG ( value is INT type )
  1226. -valuep
  1227. Pointer to parameter value.
  1228. */
  1229. /************************************************************************/
  1230. ISXAPI_FUNC_STDCL(INT) ISX_sr_SetSysParam(USHORT parmID, const VOID * valuep);
  1231. /************************************************************************/
  1232. /* Function: ISX_Api_SetIsxPrdNum()
  1233. Description:
  1234. The ISX_Api_SetIsxPrdNum() function sets the maximum number of ISX/PRD nodes supported
  1235. by ISX-SDK. The ISX-SDK only supports two ISX nodes and two PRD nodes by default.
  1236. The function shall be called prior to ISX_Api_Init(), otherwise it will not take effect.
  1237. Return value:
  1238. 0 success
  1239. -1 failure
  1240. Parameter:
  1241. -iMaxIsxNum
  1242. Number of ISX nodes supported by SDK. The maximum number is MAX_NODE_NUM. If the parameter
  1243. value is -1, no modification is made and the default is used.
  1244. -iMaxPrdNum
  1245. Number of PRD nodes supported by SDK. The maximum number is MAX_PRD_NUM. If the parameter
  1246. value is -1, no modification is made and the default is used.
  1247. */
  1248. /************************************************************************/
  1249. ISXAPI_FUNC_STDCL(INT) ISX_Api_SetIsxPrdNum(INT iMaxIsxNum, INT iMaxPrdNum);
  1250. ISXAPI_FUNC_STDCL(INT) ISX_Api_SetPrdAddrMapping(CHAR cPrdNo, CHAR* szIp);
  1251. /************************************************************************/
  1252. /* Function: ISX_Api_Init()
  1253. Description:
  1254. The ISX_Api_Init() function initializes ISX API function library that contains functions
  1255. such as Voice, DTI, SRL and GC functions. Before these functions are used, the application
  1256. must call ISX_Api_Init( ) to initialize the function library first. The function is generally
  1257. called during the initialization of the whole application. ISX_Api_Uninit( ) is called at
  1258. the end of the whole application. ISX_Api_Init( ) and ISX_Api_Uninit( ) cannot be repeatedly
  1259. called in an application.
  1260. Return value:
  1261. 0 success
  1262. -1 failure
  1263. Parameter:
  1264. -szMCIp
  1265. Master controller IP address
  1266. -usMCPort
  1267. Master controller port
  1268. -ucKeepAlive
  1269. Checks the cycle of keep-alive messages (i.e. heartbeat cycle). ISX API communicates with
  1270. MC through TCP/IP. ISX API regularly sends keep-alive messages to MC to check whether the
  1271. peer or network is normal. After receiving a keep-alive message, MC sends a response message
  1272. to ISX API. If MC does not receive any keep-alive message sent by ISX API, MC automatically
  1273. disconnects from ISX API. The mechanism is inconvenient for the program single-step follow-up
  1274. and commissioning. Therefore, we design the parameter so that the user can set an inspection cycle.
  1275. The default cycle is 20s. Values specified by the parameter are the multiple of the default cycle.
  1276. For example, if usKeepAlive is equal to 3, the inspection cycle is 60s.
  1277. -pszVersion
  1278. SDK Version, must be ISX_API_VER
  1279. */
  1280. /************************************************************************/
  1281. #ifndef EHANG_ISXAPI_STD_C
  1282. ISXAPI_FUNC_STDCL(INT) ISX_Api_Init(CHAR* szMCIp, USHORT usMCPort, UCHAR ucKeepAlive = 1, CHAR* pszVersion=(CHAR*)ISX_API_VER);
  1283. #else
  1284. ISXAPI_FUNC_STDCL(INT) ISX_Api_Init(CHAR* szMCIp, USHORT usMCPort, UCHAR ucKeepAlive, CHAR* pszVersion/*ISX_API_VER*/);
  1285. #endif
  1286. /************************************************************************/
  1287. /* Function: ISX_Api_Uninit()
  1288. Description:
  1289. The ISX_Api_Uninit() function stops the function library from working, disconnects from MC
  1290. and releases resources occupied by the function library.
  1291. Return value:
  1292. 0 success
  1293. -1 failure
  1294. */
  1295. /************************************************************************/
  1296. ISXAPI_FUNC_STDCL(INT) ISX_Api_Uninit();
  1297. /************************************************************************/
  1298. /* Function: ISX_sr_putevt()
  1299. Description:
  1300. The ISX_sr_putevt() function allows the application to add an event in the ISX API event queue.
  1301. If there is variable-length data, please use evtdatap to specify the source data address and
  1302. specify the length of the variable-length data through the evtlen parameter. The ISX_sr_putevt()
  1303. function will copy the variable-length data to the queue. Therefore, the user may discard evtdatap
  1304. when the function returns.
  1305. Note: The event generated by the ISX_sr_putevt() function can be obtained through the ISX_sr_waitevt()
  1306. or ISX_sr_waitevtEx() function.
  1307. Return value:
  1308. 0 success
  1309. -1 failure
  1310. Parameter:
  1311. -dev
  1312. Device handle
  1313. -evt
  1314. Event type. It may be a user-defined type. The value can be obtained through ISX_sr_getevttype().
  1315. -len
  1316. Variable-length event length. The value can be obtained through ISX_sr_getevtlen(). If there is no
  1317. variable-length data, please set the parameter to 0.
  1318. -datap
  1319. Variable-length data address. Variable-length data can be obtained through ISX_sr_getevtdatap().
  1320. If there is no variable-length data, please set the parameter to NULL.
  1321. -err
  1322. Error code. The value can be obtained through ISX_ATDV_LASTERR(). If the value is 0, no error code is set.
  1323. -ulOperIndex
  1324. Operation number.
  1325. */
  1326. /************************************************************************/
  1327. #ifndef EHANG_ISXAPI_STD_C
  1328. ISXAPI_FUNC_STDCL(INT) ISX_sr_putevt(INT dev, UINT evt, INT len, VOID *datap, INT err, UINT ulOperIndex=0);
  1329. #else
  1330. ISXAPI_FUNC_STDCL(INT) ISX_sr_putevt(INT dev, UINT evt, INT len, VOID *datap, INT err, UINT ulOperIndex);
  1331. #endif
  1332. /************************************************************************/
  1333. /* Function: ISX_sr_Test()
  1334. Description:
  1335. Inner test
  1336. */
  1337. /************************************************************************/
  1338. ISXAPI_FUNC_STDCL(INT) ISX_sr_Test(UCHAR ucIsxNo, UCHAR ucBrdNo, UCHAR ucBrdType, VOID *pInData, UINT ulInDataLen, VOID* pOutData, UINT* pulOutDataLen);
  1339. /************************************************************************/
  1340. /* Function: ISX_sr_Wait4TestData()
  1341. Description:
  1342. Inner test
  1343. */
  1344. /************************************************************************/
  1345. ISXAPI_FUNC_STDCL(INT) ISX_sr_Wait4TestData(UCHAR ucIsxNo, UCHAR ucBrdNo, UCHAR ucBrdType, VOID* pOutData, UINT* pulOutDataLen, INT timeout);
  1346. /************************************************************************/
  1347. /* Function: ISX_sr_SetDebugOutput()
  1348. Description:
  1349. Inner test
  1350. */
  1351. /************************************************************************/
  1352. ISXAPI_FUNC_STDCL(INT) ISX_sr_SetDebugOutput(BOOL bEnable);
  1353. /************************************************************************/
  1354. /* Function: ISX_sr_Log2File()
  1355. Description:
  1356. The ISX_sr_Log2File() function sets default write log file configuration.
  1357. Return value:
  1358. 0 success
  1359. -1 failure
  1360. Parameter:
  1361. -pszLogPath
  1362. Pointer to Log saving path.
  1363. -ulLogFilter
  1364. Log filter, -1 indicates default configuration; 0 indicates not write log.
  1365. */
  1366. /************************************************************************/
  1367. #ifndef EHANG_ISXAPI_STD_C
  1368. ISXAPI_FUNC_STDCL(INT) ISX_sr_Log2File(CHAR* pszLogPath, ULONGLONG ulLogFilter = (ULONGLONG)-1);
  1369. #else
  1370. ISXAPI_FUNC_STDCL(INT) ISX_sr_Log2File(CHAR* pszLogPath, ULONGLONG ulLogFilter);
  1371. #endif
  1372. /************************************************************************/
  1373. /* Function: ISX_sr_SetLogDir()
  1374. Description:
  1375. The ISX_sr_SetLogDir() function sets a path for logs output by SDK. The ISX_sr_SetLogFilter()
  1376. function specifies whether to save logs output by SDK to files. File names that save SDK logs
  1377. are determined by SDK (currently, another file name shall be used every 500,000 lines and the
  1378. file naming rule is "LogPath ISdkLogyyyymmdd_hhnnss.txt", i.e.
  1379. "LogPath ISdkLog(year)(month)(day)_(hour)(minute)(second).txt").
  1380. Return value:
  1381. 0 success
  1382. -1 failure
  1383. Parameter:
  1384. -pszLogPath
  1385. Pointer to Log saving path.
  1386. */
  1387. /************************************************************************/
  1388. ISXAPI_FUNC_STDCL(INT) ISX_sr_SetLogDir(CHAR* pszLogPath);
  1389. /************************************************************************/
  1390. /* Function: ISX_sr_SetLogFilter()
  1391. Description:
  1392. The ISX_sr_SetLogFilter() function sets filtering conditions for SDK output logs.
  1393. Return value:
  1394. 0 success
  1395. -1 failure
  1396. Parameter:
  1397. -pFilter
  1398. Log filtering conditions, please refer to LOG_FILTER.
  1399. */
  1400. /************************************************************************/
  1401. ISXAPI_FUNC_STDCL(INT) ISX_sr_SetLogFilter(LOG_FILTER* pFilter);
  1402. /************************************************************************/
  1403. /* Function: ISX_sr_StartLogServer()
  1404. Description:
  1405. The ISX_sr_StartLogServer() function starts up LogServer. SDK logs can be saved to files.
  1406. They can also be connected to LogServer through TCP/IP by using IsxLog App so that SDK
  1407. output logs are transmitted to IsxLog App for display in real time. Each APP that calls
  1408. SDK must use independent LogServer, which means that when multiple APPs (programs calling
  1409. ISX API) run in the same computer, LogServer must be started up by using various ports,
  1410. otherwise it will result in port conflict.
  1411. Return value:
  1412. 0 success
  1413. -1 failure
  1414. Parameter:
  1415. -iPort
  1416. LogServer port
  1417. */
  1418. /************************************************************************/
  1419. ISXAPI_FUNC_STDCL(INT) ISX_sr_StartLogServer(INT iPort);
  1420. //ISXAPI_FUNC_STDCL(INT) ISX_sr_ChangeLogServerPort(INT iPort);
  1421. /************************************************************************/
  1422. /* Function: ISX_sr_SetDbgIdStr()
  1423. Description:
  1424. The ISX_sr_SetDbgIdStr() function sets channel DbgId that is a string. If DbgId filtering
  1425. conditions are set during the log output, the If the DbgId in the DbgId filtering conditions
  1426. are compared with the DbgId of the channel. If the two strings are equal (or have a inclusion
  1427. relation, the comparison mode is specified in the DbgId filtering conditions), logs are output,
  1428. otherwise no logs are output.
  1429. Return value:
  1430. 0 success
  1431. -1 failure
  1432. Parameter:
  1433. -iDev
  1434. Device handle of DbgId to be set. It may be a channel handle such as DTI,
  1435. DSP, GC and AG channel handles...
  1436. -szIdStr
  1437. DbgId string. The maximum length shall not exceed MAX_DBGID_LEN-1.
  1438. */
  1439. /************************************************************************/
  1440. ISXAPI_FUNC_STDCL(INT) ISX_sr_SetDbgIdStr(INT iDev, CHAR* szIdStr);
  1441. /************************************************************************/
  1442. /* Function: ISX_sr_GetSdkVer()
  1443. Description:
  1444. The ISX_sr_GetSdkVer() function obtains the SDK version number. The version number returned
  1445. by the function is the version number of the SDK DLL. The user can compare this version with
  1446. ISX_API_VER in the srllib.h header file. If they are equal, it indicates that the header file
  1447. used during the SDK DLL compilation is the same as the header file used during the APP compilation.
  1448. Return value:
  1449. Pointer to current SDK Version string.
  1450. */
  1451. /************************************************************************/
  1452. ISXAPI_FUNC_STDCL(CHAR*) ISX_sr_GetSdkVer();
  1453. /************************************************************************/
  1454. /* Function: ISX_sr_getdevtype()
  1455. Description:
  1456. The ISX_sr_getdevtype() function obtains the type of a specified device.
  1457. Return value:
  1458. return Device type, device types may be as follows:
  1459. DT_DSP_BRD
  1460. DT_DSP_CH
  1461. DT_DTI_CH
  1462. DT_SIG_CH
  1463. DT_CS_CH
  1464. DT_XOIP_CH
  1465. ...
  1466. Parameter:
  1467. -Dev
  1468. Device handle
  1469. */
  1470. /************************************************************************/
  1471. ISXAPI_FUNC_STDCL(INT) ISX_sr_getdevtype(INT dev);
  1472. /************************************************************************/
  1473. /* Function: ISX_sr_TrunkChMapping()
  1474. Description:
  1475. If the type of a trunk is E1, the DTI and GC channels of the trunk have two numbering modes,
  1476. i.e. mapping mode and non-mapping mode. For the mapping and non-mapping modes, refer to
  1477. the description of the ISX_dt_open() and ISX_gc_OpenEx(). The mode must be specified by
  1478. calling the ISX_sr_TrunkChMapping() function. The function must be called before the ISX_dt_open()
  1479. and ISX_gc_OpenEx() functions are called. After the ISX_dt_open() or ISX_gc_OpenEx() function
  1480. is called, ISX_sr_TrunkChMapping() shall not be called, otherwise it will cause confusion.
  1481. The default is mapping mode.
  1482. Return value:
  1483. 0 success
  1484. -1 failure
  1485. Parameter:
  1486. -bEnable
  1487. Whether to use the mapping mode. If it is TRUE, the mapping mode is used. If it is FALSE,
  1488. the non-mapping mode is used.
  1489. */
  1490. /************************************************************************/
  1491. ISXAPI_FUNC_STDCL(INT) ISX_sr_TrunkChMapping(BOOL bEnable);
  1492. ISXAPI_FUNC_STDCL(INT) ISX_sr_QueryDevInfo(DEV_INFO* pDevInfo);
  1493. ISXAPI_FUNC_STDCL(INT) ISX_sr_NoDelayRepair(BOOL bRepair);
  1494. ISXAPI_FUNC_STDCL(INT) ISX_sr_default(INT iParmId, VOID* pParam);
  1495. ISXAPI_FUNC_STDCL(INT) ISX_sr_insertparm(VOID* parm_blkp, USHORT parmID, UCHAR data_size, VOID *datap);
  1496. ISXAPI_FUNC_STDCL(INT) ISX_sr_setparm(VOID* parm_blkp, USHORT parmID, UCHAR data_size, VOID *datap);
  1497. ISXAPI_FUNC_STDCL(INT) ISX_sr_convert(USHORT convertID, VOID* pDest, VOID* pSource);
  1498. /************************************************************************/
  1499. /* Function: ISX_sr_getnet2cfg()
  1500. Description:
  1501. Many daughter boards in the ISX4000 switch have two network ports. The IP address of the first
  1502. network port is internally assigned (automatically calculated according to the IP address of
  1503. the motherboard). The IP address of the second network port is set by the user. The user can set
  1504. the IP address of the second network port through OAM. The ISX_sr_getnet2cfg() function obtains
  1505. the IP address information of the second network port.
  1506. Return value:
  1507. 0 success
  1508. -1 failure
  1509. Parameter:
  1510. -ucIsxNo
  1511. Node number
  1512. -ucBrdNo
  1513. Board number
  1514. -ucBrdType
  1515. Board type as follows:
  1516. BT_DSP: DSP daughter board
  1517. BT_XOIP: XOIP daughter board
  1518. BT_SIP: SIP daughter board
  1519. -ipp
  1520. Pointer to IP address
  1521. -netmaskp
  1522. Pointer to mask address
  1523. */
  1524. /************************************************************************/
  1525. ISXAPI_FUNC_STDCL(INT) ISX_sr_getnet2cfg(UCHAR ucIsxNo, UCHAR ucBrdNo, UCHAR ucBrdType, CHAR* ipp, CHAR* netmaskp);
  1526. /************************************************************************/
  1527. /* Function: ISX_sr_GetSpecCap()
  1528. Description:
  1529. The ISX_sr_GetSpecCap() function obtains special capabilities of daughter boards.
  1530. Some daughter boards of ISX series have some special capabilities. Currently,
  1531. the trunk voice mixing daughter board and the XOIP voice mixing daughter board
  1532. have the special capability of voice mixing that helps meet some special service
  1533. demands such as recording both parties' communication voice not in a conference,
  1534. recording karaoke, etc. For details, refer to the voice mixing function part of
  1535. the programming guide.
  1536. Return value:
  1537. 0 success
  1538. -1 failure
  1539. Parameter:
  1540. -ucIsxNo
  1541. Node number
  1542. -ucBrdNo
  1543. Board number
  1544. -ucBrdType
  1545. Board type as follows:
  1546. BT_TRUNK: Trunk daughter board
  1547. BT_XOIP: XOIP daughter board
  1548. -pSpecCap
  1549. Pointer to the structure address where special capabilities are stored.
  1550. Refer to the SPEC_CAP structure.
  1551. */
  1552. /************************************************************************/
  1553. ISXAPI_FUNC_STDCL(INT) ISX_sr_GetSpecCap(UCHAR ucIsxNo, UCHAR ucBrdNo, UCHAR ucBrdType, SPEC_CAP *pSpecCap);
  1554. /************************************************************************/
  1555. /* Function: ISX_sr_SetMixParm()
  1556. Description:
  1557. The ISX_sr_SetMixParm() function sets voice mixing parameters of a specified special daughter
  1558. board. Daughter boards with the voice mixing capability include the trunk voice mixing daughter
  1559. board and the XOIP voice mixing daughter board.
  1560. Return value:
  1561. 0 success
  1562. -1 failure
  1563. Parameter:
  1564. -ucIsxNo
  1565. Node number
  1566. -ucBrdNo
  1567. Board number
  1568. -ucBrdType
  1569. Board type as follows:
  1570. BT_TRUNK: Trunk daughter board
  1571. BT_XOIP: XOIP daughter board
  1572. -pMixParam
  1573. Pointer the address of voice mixing parameters. Refer to the MIX_PARAM structure.
  1574. */
  1575. /************************************************************************/
  1576. #ifndef EHANG_ISXAPI_STD_C
  1577. ISXAPI_FUNC_STDCL(INT) ISX_sr_SetMixParm(UCHAR ucIsxNo, UCHAR ucBrdNo, UCHAR ucBrdType, MIX_PARAM *pMixParam=NULL);
  1578. #else
  1579. ISXAPI_FUNC_STDCL(INT) ISX_sr_SetMixParm(UCHAR ucIsxNo, UCHAR ucBrdNo, UCHAR ucBrdType, MIX_PARAM *pMixParam);
  1580. #endif
  1581. /************************************************************************/
  1582. /* Function: ISX_sr_GetMixParm()
  1583. Description:
  1584. The ISX_sr_GetMixParm() function obtains voice mixing parameters of a specified special
  1585. daughter board. Daughter boards with the voice mixing capability include the trunk
  1586. voice mixing daughter board and the XOIP voice mixing daughter board.
  1587. Return value:
  1588. 0 success
  1589. -1 failure
  1590. Parameter:
  1591. -ucIsxNo
  1592. Node number
  1593. -ucBrdNo
  1594. Board number
  1595. -ucBrdType
  1596. Board type as follows:
  1597. BT_TRUNK: Trunk daughter board
  1598. BT_XOIP: XOIP daughter board
  1599. -pMixParam
  1600. Pointer the address of voice mixing parameters. Refer to the MIX_PARAM structure.
  1601. */
  1602. /************************************************************************/
  1603. ISXAPI_FUNC_STDCL(INT) ISX_sr_GetMixParm(UCHAR ucIsxNo, UCHAR ucBrdNo, UCHAR ucBrdType, MIX_PARAM *pMixParam);
  1604. /************************************************************************/
  1605. /* Function: ISX_sr_writeflash()
  1606. Description:
  1607. Inner test
  1608. */
  1609. /************************************************************************/
  1610. ISXAPI_FUNC_STDCL(INT) ISX_sr_writeflash(UCHAR ucIsxNo, UCHAR ucBrdNo, UCHAR ucBrdType, const CHAR* pBuffer, USHORT usSize, UINT ulOffset, VOID* pRvr);
  1611. /************************************************************************/
  1612. /* Function: ISX_sr_readflash()
  1613. Description:
  1614. Inner test
  1615. */
  1616. /************************************************************************/
  1617. ISXAPI_FUNC_STDCL(INT) ISX_sr_readflash(UCHAR ucIsxNo, UCHAR ucBrdNo, UCHAR ucBrdType, CHAR* pBuffer, USHORT usSize, UINT ulOffset, UCHAR* pEOF, VOID* pRvr);
  1618. /************************************************************************/
  1619. /* Function: ISX_sr_TestGetMisc()
  1620. Description:
  1621. Inner test
  1622. */
  1623. /************************************************************************/
  1624. typedef struct tagMISC_INFO{
  1625. CHAR cLogStopFlag;
  1626. CHAR cRfu[255];
  1627. }MISC_INFO;
  1628. ISXAPI_FUNC_STDCL(INT) ISX_sr_TestGetMisc(VOID *pMiscBuf, INT iBufLen);
  1629. ISXAPI_FUNC_STDCL(INT) ISX_sr_Hdl2Channel(INT iHdl, CHAR* devtype, CHAR* nodenum, CHAR* brdnum, CHAR* spannum, SHORT* channel);
  1630. ISXAPI_FUNC_STDCL(INT) ISX_sr_Channel2Hdl(CHAR devtype, CHAR nodenum, CHAR brdnum, CHAR spannum, SHORT channel, INT* iHdl);
  1631. ISXAPI_FUNC_STDCL(INT) ISX_sr_SetMsgIdMonitorTab(ISX_MONITOR_MSG_TAB *pMsgTab); //[2014-11-27]
  1632. /* terminate the extern "C" for c plus plus */
  1633. #if defined(__cplusplus)
  1634. }
  1635. #endif
  1636. #endif