Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

923 lines
30 KiB

  1. /****************************************************************************
  2. *
  3. * $Archive: S:/STURGEON/SRC/INCLUDE/VCS/callcont.h_v $
  4. *
  5. * INTEL Corporation Prorietary Information
  6. *
  7. * This listing is supplied under the terms of a license agreement
  8. * with INTEL Corporation and may not be copied nor disclosed except
  9. * in accordance with the terms of that agreement.
  10. *
  11. * Copyright (c) 1993-1994 Intel Corporation.
  12. *
  13. * $Revision: 1.102 $
  14. * $Date: 13 Feb 1997 21:28:38 $
  15. * $Author: MANDREWS $
  16. *
  17. * Deliverable:
  18. *
  19. * Abstract:
  20. *
  21. *
  22. * Notes:
  23. *
  24. ***************************************************************************/
  25. #ifndef CALLCONT_H
  26. #define CALLCONT_H
  27. #include "iras.h"
  28. #if defined(CALL_CONTROL_EXPORT)
  29. #define CC_API __declspec (dllexport)
  30. #else // CALL_CONTROL_IMPORT
  31. #define CC_API __declspec (dllimport)
  32. #endif
  33. #pragma pack(push,8)
  34. #ifndef H245API_H
  35. #include "h245api.h"
  36. #endif H245API_H
  37. #ifndef CCERROR_H
  38. #include "ccerror.h"
  39. #endif CCERROR_H
  40. #ifdef __cplusplus
  41. extern "C" {
  42. #endif
  43. // Indication codes
  44. #define CC_RINGING_INDICATION 1
  45. #define CC_CONNECT_INDICATION 2
  46. #define CC_TX_CHANNEL_OPEN_INDICATION 3
  47. #define CC_RX_CHANNEL_REQUEST_INDICATION 4
  48. #define CC_RX_CHANNEL_CLOSE_INDICATION 5
  49. #define CC_MUTE_INDICATION 6
  50. #define CC_UNMUTE_INDICATION 7
  51. #define CC_PEER_ADD_INDICATION 8
  52. #define CC_PEER_DROP_INDICATION 9
  53. #define CC_PEER_CHANGE_CAP_INDICATION 10
  54. #define CC_CONFERENCE_TERMINATION_INDICATION 11
  55. #define CC_HANGUP_INDICATION 12
  56. #define CC_RX_NONSTANDARD_MESSAGE_INDICATION 13
  57. #define CC_MULTIPOINT_INDICATION 14
  58. #define CC_PEER_UPDATE_INDICATION 15
  59. #define CC_H245_MISCELLANEOUS_COMMAND_INDICATION 16
  60. #define CC_H245_MISCELLANEOUS_INDICATION_INDICATION 17
  61. #define CC_H245_CONFERENCE_REQUEST_INDICATION 18
  62. #define CC_H245_CONFERENCE_RESPONSE_INDICATION 19
  63. #define CC_H245_CONFERENCE_COMMAND_INDICATION 20
  64. #define CC_H245_CONFERENCE_INDICATION_INDICATION 21
  65. #define CC_FLOW_CONTROL_INDICATION 22
  66. #define CC_TX_CHANNEL_CLOSE_REQUEST_INDICATION 23
  67. #define CC_REQUEST_MODE_INDICATION 24
  68. #define CC_REQUEST_MODE_RESPONSE_INDICATION 25
  69. #define CC_VENDOR_ID_INDICATION 26
  70. #define CC_MAXIMUM_AUDIO_VIDEO_SKEW_INDICATION 27
  71. #define CC_T120_CHANNEL_REQUEST_INDICATION 28
  72. #define CC_T120_CHANNEL_OPEN_INDICATION 29
  73. #define CC_BANDWIDTH_CHANGED_INDICATION 30
  74. #define CC_ACCEPT_CHANNEL_INDICATION 31
  75. #define CC_TERMINAL_ID_REQUEST_INDICATION 32
  76. #define CC_PING_RESPONSE_INDICATION 33
  77. #define CC_TERMINAL_NUMBER_INDICATION 34
  78. // Conference configuration values; these are bit mask values
  79. #define CC_CONFIGURE_MULTIPOINT_CAPABLE 0x0001
  80. #define CC_CONFIGURE_FORCE_MC 0x0002
  81. // Timeout type codes
  82. #define CC_Q931_ALERTING_TIMEOUT 1
  83. #define CC_H245_RETRY_COUNT 2
  84. #define CC_H245_TIMEOUT 3
  85. // Conference termination reasons
  86. #define CC_PEER_HANGUP 0
  87. #define CC_GATEKEEPER_HANGUP 1
  88. typedef enum {
  89. CC_WILL_TRANSMIT_PREFERRED_MODE,
  90. CC_WILL_TRANSMIT_LESS_PREFERRED_MODE,
  91. CC_MODE_UNAVAILABLE,
  92. CC_MULTIPOINT_CONSTRAINT,
  93. CC_REQUEST_DENIED
  94. } CC_REQUEST_MODE_RESPONSE;
  95. typedef H245_TOTCAP_T CC_TERMCAP, *PCC_TERMCAP, **PPCC_TERMCAP;
  96. typedef struct {
  97. WORD wLength;
  98. PPCC_TERMCAP pTermCapArray;
  99. } CC_TERMCAPLIST, *PCC_TERMCAPLIST;
  100. typedef struct {
  101. WORD wLength;
  102. H245_TOTCAPDESC_T **pTermCapDescriptorArray;
  103. } CC_TERMCAPDESCRIPTORS, *PCC_TERMCAPDESCRIPTORS;
  104. typedef struct {
  105. BYTE bMCUNumber;
  106. BYTE bTerminalNumber;
  107. } CC_TERMINAL_LABEL, *PCC_TERMINAL_LABEL;
  108. typedef struct {
  109. CC_TERMINAL_LABEL TerminalLabel;
  110. CC_OCTETSTRING TerminalID;
  111. } CC_PARTICIPANTINFO, *PCC_PARTICIPANTINFO;
  112. typedef struct {
  113. WORD wLength;
  114. PCC_PARTICIPANTINFO ParticipantInfoArray;
  115. } CC_PARTICIPANTLIST, *PCC_PARTICIPANTLIST;
  116. typedef struct
  117. {
  118. BOOL bMaster;
  119. BOOL bMultipointController;
  120. BOOL bMultipointConference;
  121. CC_CONFERENCEID ConferenceID;
  122. CC_TERMINAL_LABEL LocalTerminalLabel;
  123. WORD wNumCalls;
  124. PCC_PARTICIPANTLIST pParticipantList;
  125. DWORD_PTR dwConferenceToken;
  126. DWORD dwBandwidthAllocated;
  127. DWORD dwBandwidthUsed;
  128. } CC_CONFERENCEATTRIBUTES, *PCC_CONFERENCEATTRIBUTES;
  129. typedef struct {
  130. BYTE bSessionID;
  131. BYTE bAssociatedSessionID;
  132. CC_OCTETSTRING SessionDescription;
  133. PCC_TERMCAP pTermCap;
  134. PCC_ADDR pRTPAddr;
  135. PCC_ADDR pRTCPAddr;
  136. } CC_SESSIONINFO, *PCC_SESSIONINFO;
  137. typedef struct {
  138. WORD wLength;
  139. PCC_SESSIONINFO SessionInfoArray;
  140. } CC_SESSIONTABLE, *PCC_SESSIONTABLE;
  141. typedef struct
  142. {
  143. CC_HCALL hCall;
  144. PCC_ALIASNAMES pCallerAliasNames;
  145. PCC_ALIASNAMES pCalleeAliasNames;
  146. PCC_NONSTANDARDDATA pNonStandardData;
  147. PWSTR pszDisplay;
  148. PCC_VENDORINFO pVendorInfo;
  149. WORD wGoal;
  150. CC_CONFERENCEID ConferenceID;
  151. PCC_ADDR pCallerAddr;
  152. PCC_ADDR pCalleeAddr;
  153. DWORD_PTR dwListenToken;
  154. } CC_LISTEN_CALLBACK_PARAMS, *PCC_LISTEN_CALLBACK_PARAMS;
  155. typedef void * PCC_CONFERENCE_CALLBACK_PARAMS;
  156. // CC_RINGING_INDICATION callback parameters (pConferenceCallbackParams)
  157. typedef struct
  158. {
  159. PCC_NONSTANDARDDATA pNonStandardData;
  160. DWORD_PTR dwUserToken;
  161. } CC_RINGING_CALLBACK_PARAMS, *PCC_RINGING_CALLBACK_PARAMS;
  162. // CC_CONNECT_INDICATION callback parameters (pConferenceCallbackParams)
  163. typedef struct
  164. {
  165. PCC_NONSTANDARDDATA pNonStandardData;
  166. PWSTR pszPeerDisplay;
  167. BYTE bRejectReason;
  168. PCC_TERMCAPLIST pTermCapList;
  169. PCC_TERMCAP pH2250MuxCapability;
  170. PCC_TERMCAPDESCRIPTORS pTermCapDescriptors;
  171. PCC_ADDR pLocalAddr;
  172. PCC_ADDR pPeerAddr;
  173. PCC_VENDORINFO pVendorInfo;
  174. BOOL bMultipointConference;
  175. PCC_CONFERENCEID pConferenceID;
  176. PCC_ADDR pMCAddress;
  177. PCC_ADDR pAlternateAddress;
  178. DWORD_PTR dwUserToken;
  179. } CC_CONNECT_CALLBACK_PARAMS, *PCC_CONNECT_CALLBACK_PARAMS;
  180. // CC_TX_CHANNEL_OPEN_INDICATION callback parameters (pConferenceCallbackParams)
  181. typedef struct
  182. {
  183. CC_HCHANNEL hChannel;
  184. PCC_ADDR pPeerRTPAddr;
  185. PCC_ADDR pPeerRTCPAddr;
  186. DWORD dwRejectReason;
  187. DWORD_PTR dwUserToken;
  188. } CC_TX_CHANNEL_OPEN_CALLBACK_PARAMS, *PCC_TX_CHANNEL_OPEN_CALLBACK_PARAMS;
  189. // CC_RX_CHANNEL_REQUEST_INDICATION callback parameters (pConferenceCallbackParams)
  190. typedef struct
  191. {
  192. CC_HCHANNEL hChannel;
  193. PCC_TERMCAP pChannelCapability;
  194. BYTE bSessionID;
  195. BYTE bAssociatedSessionID;
  196. PCC_ADDR pPeerRTPAddr;
  197. PCC_ADDR pPeerRTCPAddr;
  198. BYTE bRTPPayloadType;
  199. BOOL bSilenceSuppression;
  200. CC_TERMINAL_LABEL TerminalLabel;
  201. } CC_RX_CHANNEL_REQUEST_CALLBACK_PARAMS, *PCC_RX_CHANNEL_REQUEST_CALLBACK_PARAMS;
  202. // CC_RX_CHANNEL_CLOSE_INDICATION callback parameters (pConferenceCallbackParams)
  203. typedef struct
  204. {
  205. CC_HCHANNEL hChannel;
  206. } CC_RX_CHANNEL_CLOSE_CALLBACK_PARAMS, *PCC_RX_CHANNEL_CLOSE_CALLBACK_PARAMS;
  207. // CC_MUTE_INDICATION callback parameters (pConferenceCallbackParams)
  208. typedef struct
  209. {
  210. CC_HCHANNEL hChannel;
  211. } CC_MUTE_CALLBACK_PARAMS, *PCC_MUTE_CALLBACK_PARAMS;
  212. // CC_UNMUTE_INDICATION callback parameters (pConferenceCallbackParams)
  213. typedef struct
  214. {
  215. CC_HCHANNEL hChannel;
  216. } CC_UNMUTE_CALLBACK_PARAMS, *PCC_UNMUTE_CALLBACK_PARAMS;
  217. // CC_PEER_ADD_INDICATION callback parameters (pConferenceCallbackParams)
  218. typedef struct
  219. {
  220. CC_HCALL hCall;
  221. CC_TERMINAL_LABEL TerminalLabel;
  222. PCC_OCTETSTRING pPeerTerminalID;
  223. } CC_PEER_ADD_CALLBACK_PARAMS, *PCC_PEER_ADD_CALLBACK_PARAMS;
  224. // CC_PEER_DROP_INDICATION callback parameters (pConferenceCallbackParams)
  225. typedef struct
  226. {
  227. CC_HCALL hCall;
  228. CC_TERMINAL_LABEL TerminalLabel;
  229. PCC_OCTETSTRING pPeerTerminalID;
  230. } CC_PEER_DROP_CALLBACK_PARAMS, *PCC_PEER_DROP_CALLBACK_PARAMS;
  231. // CC_PEER_CHANGE_CAP_INDICATION callback parameters (pConferenceCallbackParams)
  232. typedef struct
  233. {
  234. PCC_TERMCAPLIST pTermCapList;
  235. PCC_TERMCAP pH2250MuxCapability;
  236. PCC_TERMCAPDESCRIPTORS pTermCapDescriptors;
  237. } CC_PEER_CHANGE_CAP_CALLBACK_PARAMS, *PCC_PEER_CHANGE_CAP_CALLBACK_PARAMS;
  238. // CC_CONFERENCE_TERMINATION_INDICATION callback parameters (pConferenceCallbackParams)
  239. typedef struct
  240. {
  241. DWORD dwReason;
  242. } CC_CONFERENCE_TERMINATION_CALLBACK_PARAMS, *PCC_CONFERENCE_TERMINATION_CALLBACK_PARAMS;
  243. // CC_HANGUP_INDICATION callback parameters (pConferenceCallbackParams)
  244. typedef struct
  245. {
  246. DWORD_PTR dwUserToken;
  247. } CC_HANGUP_CALLBACK_PARAMS, *PCC_HANGUP_CALLBACK_PARAMS;
  248. // CC_RX_NONSTANDARD_MESSAGE_INDICATION callback parameters (pConferenceCallbackParams)
  249. typedef struct
  250. {
  251. CC_HCALL hCall;
  252. CC_TERMINAL_LABEL InitiatorTerminalLabel;
  253. BYTE bH245MessageType;
  254. CC_NONSTANDARDDATA NonStandardData;
  255. } CC_RX_NONSTANDARD_MESSAGE_CALLBACK_PARAMS, *PCC_RX_NONSTANDARD_MESSAGE_CALLBACK_PARAMS;
  256. // CC_MULTIPOINT_INDICATION callback parameters (pConferenceCallbackParams)
  257. typedef struct {
  258. PCC_PARTICIPANTINFO pTerminalInfo;
  259. PCC_SESSIONTABLE pSessionTable;
  260. } CC_MULTIPOINT_CALLBACK_PARAMS, *PCC_MULTIPOINT_CALLBACK_PARAMS;
  261. // CC_PEER_UPDATE_INDICATION callback parameters (pConferenceCallbackParams)
  262. typedef struct
  263. {
  264. CC_HCALL hCall;
  265. CC_TERMINAL_LABEL TerminalLabel;
  266. PCC_OCTETSTRING pPeerTerminalID;
  267. } CC_PEER_UPDATE_CALLBACK_PARAMS, *PCC_PEER_UPDATE_CALLBACK_PARAMS;
  268. // CC_H245_MISCELLANEOUS_COMMAND_INDICATION callback parameters (pConferenceCallbackParams)
  269. typedef struct
  270. {
  271. CC_HCALL hCall;
  272. CC_TERMINAL_LABEL InitiatorTerminalLabel;
  273. CC_HCHANNEL hChannel;
  274. BOOL bH323ActionRequired;
  275. MiscellaneousCommand *pMiscellaneousCommand;
  276. } CC_H245_MISCELLANEOUS_COMMAND_CALLBACK_PARAMS, *PCC_H245_MISCELLANEOUS_COMMAND_CALLBACK_PARAMS;
  277. // CC_H245_MISCELLANEOUS_INDICATION_INDICATION callback parameters (pConferenceCallbackParams)
  278. typedef struct
  279. {
  280. CC_HCALL hCall;
  281. CC_TERMINAL_LABEL InitiatorTerminalLabel;
  282. CC_HCHANNEL hChannel;
  283. MiscellaneousIndication *pMiscellaneousIndication;
  284. } CC_H245_MISCELLANEOUS_INDICATION_CALLBACK_PARAMS, *PCC_H245_MISCELLANEOUS_INDICATION_CALLBACK_PARAMS;
  285. // CC_H245_CONFERENCE_REQUEST_INDICATION callback parameters (pConferenceCallbackParams)
  286. typedef struct
  287. {
  288. CC_HCALL hCall;
  289. CC_TERMINAL_LABEL InitiatorTerminalLabel;
  290. H245_CONFER_REQ_ENUM_T RequestType;
  291. CC_TERMINAL_LABEL TerminalLabel;
  292. } CC_H245_CONFERENCE_REQUEST_CALLBACK_PARAMS, *PCC_H245_CONFERENCE_REQUEST_CALLBACK_PARAMS;
  293. // CC_H245_CONFERENCE_RESPONSE_INDICATION callback parameters (pConferenceCallbackParams)
  294. typedef struct
  295. {
  296. CC_HCALL hCall;
  297. CC_TERMINAL_LABEL InitiatorTerminalLabel;
  298. H245_CONFER_RSP_ENUM_T ResponseType;
  299. CC_TERMINAL_LABEL TerminalLabel;
  300. PCC_OCTETSTRING pOctetString;
  301. CC_TERMINAL_LABEL *pTerminalList;
  302. WORD wTerminalListCount;
  303. } CC_H245_CONFERENCE_RESPONSE_CALLBACK_PARAMS, *PCC_H245_CONFERENCE_RESPONSE_CALLBACK_PARAMS;
  304. // CC_H245_CONFERENCE_COMMAND_INDICATION callback parameters (pConferenceCallbackParams)
  305. typedef struct
  306. {
  307. CC_HCALL hCall;
  308. CC_TERMINAL_LABEL InitiatorTerminalLabel;
  309. CC_HCHANNEL hChannel;
  310. H245_CONFER_CMD_ENUM_T CommandType;
  311. CC_TERMINAL_LABEL TerminalLabel;
  312. } CC_H245_CONFERENCE_COMMAND_CALLBACK_PARAMS, *PCC_H245_CONFERENCE_COMMAND_CALLBACK_PARAMS;
  313. // CC_H245_CONFERENCE_INDICATION_INDICATION callback parameters (pConferenceCallbackParams)
  314. typedef struct
  315. {
  316. CC_HCALL hCall;
  317. CC_TERMINAL_LABEL InitiatorTerminalLabel;
  318. H245_CONFER_IND_ENUM_T IndicationType;
  319. BYTE bSBENumber;
  320. CC_TERMINAL_LABEL TerminalLabel;
  321. } CC_H245_CONFERENCE_INDICATION_CALLBACK_PARAMS, *PCC_H245_CONFERENCE_INDICATION_CALLBACK_PARAMS;
  322. // CC_FLOW_CONTROL_INDICATION callback parameters (pConferenceCallbackParams)
  323. typedef struct {
  324. CC_HCHANNEL hChannel;
  325. DWORD dwRate;
  326. } CC_FLOW_CONTROL_CALLBACK_PARAMS, *PCC_FLOW_CONTROL_CALLBACK_PARAMS;
  327. // CC_TX_CHANNEL_CLOSE_REQUEST_INDICATION callback parameters (pConferenceCallbackParams)
  328. typedef struct {
  329. CC_HCHANNEL hChannel;
  330. } CC_TX_CHANNEL_CLOSE_REQUEST_CALLBACK_PARAMS, *PCC_TX_CHANNEL_CLOSE_REQUEST_CALLBACK_PARAMS;
  331. // CC_REQUEST_MODE_INDICATION callback parameters (pConferenceCallbackParams)
  332. typedef struct {
  333. CC_HCALL hCall;
  334. CC_TERMINAL_LABEL InitiatorTerminalLabel;
  335. RequestedModesLink pRequestedModes;
  336. } CC_REQUEST_MODE_CALLBACK_PARAMS, *PCC_REQUEST_MODE_CALLBACK_PARAMS;
  337. // CC_REQUEST_MODE_RESPONSE_INDICATION callback parameters (pConferenceCallbackParams)
  338. typedef struct {
  339. CC_HCALL hCall;
  340. CC_TERMINAL_LABEL TerminalLabel;
  341. CC_REQUEST_MODE_RESPONSE RequestModeResponse;
  342. } CC_REQUEST_MODE_RESPONSE_CALLBACK_PARAMS, *PCC_REQUEST_MODE_RESPONSE_CALLBACK_PARAMS;
  343. // CC_VENDOR_ID_INDICATION callback parameters (pConferenceCallbackParams)
  344. typedef struct {
  345. CC_HCALL hCall;
  346. CC_TERMINAL_LABEL InitiatorTerminalLabel;
  347. PCC_NONSTANDARDDATA pNonStandardData;
  348. PCC_OCTETSTRING pProductNumber;
  349. PCC_OCTETSTRING pVersionNumber;
  350. } CC_VENDOR_ID_CALLBACK_PARAMS, *PCC_VENDOR_ID_CALLBACK_PARAMS;
  351. // CC_MAXIMUM_AUDIO_VIDEO_SKEW_INDICATION callback parameters (pConferenceCallbackParams)
  352. typedef struct {
  353. CC_HCHANNEL hChannel1;
  354. CC_HCHANNEL hChannel2;
  355. WORD wMaximumSkew;
  356. } CC_MAXIMUM_AUDIO_VIDEO_SKEW_CALLBACK_PARAMS, *PCC_MAXIMUM_AUDIO_VIDEO_SKEW_CALLBACK_PARAMS;
  357. // CC_T120_CHANNEL_OPEN_INDICATION callback parameters (pConferenceCallbackParams)
  358. typedef struct {
  359. CC_HCHANNEL hChannel;
  360. CC_HCALL hCall;
  361. BOOL bAssociateConference;
  362. PCC_OCTETSTRING pExternalReference;
  363. PCC_ADDR pAddr;
  364. DWORD dwRejectReason;
  365. DWORD_PTR dwUserToken;
  366. } CC_T120_CHANNEL_OPEN_CALLBACK_PARAMS, *PCC_T120_CHANNEL_OPEN_CALLBACK_PARAMS;
  367. // CC_T120_CHANNEL_REQUEST_INDICATION callback parameters (pConferenceCallbackParams)
  368. typedef struct {
  369. CC_HCHANNEL hChannel;
  370. BOOL bAssociateConference;
  371. PCC_OCTETSTRING pExternalReference;
  372. PCC_ADDR pAddr;
  373. BOOL bMultipointController;
  374. CC_TERMINAL_LABEL TerminalLabel;
  375. } CC_T120_CHANNEL_REQUEST_CALLBACK_PARAMS, *PCC_T120_CHANNEL_REQUEST_CALLBACK_PARAMS;
  376. typedef struct {
  377. CC_HCALL hCall;
  378. DWORD dwBandwidthTotal;
  379. long lBandwidthChange;
  380. } CC_BANDWIDTH_CALLBACK_PARAMS, *PCC_BANDWIDTH_CALLBACK_PARAMS;
  381. // CC_ACCEPT_CHANNEL_INDICATION callback parameters (pConferenceCallbackParams)
  382. typedef struct
  383. {
  384. CC_HCHANNEL hChannel;
  385. } CC_ACCEPT_CHANNEL_CALLBACK_PARAMS, *PCC_ACCEPT_CHANNEL_CALLBACK_PARAMS;
  386. // CC_PING_RESPONSE_INDICATION callback parameters (pConferenceCallbackParams)
  387. typedef struct
  388. {
  389. CC_HCALL hCall;
  390. CC_TERMINAL_LABEL TerminalLabel;
  391. BOOL bResponse;
  392. } CC_PING_RESPONSE_CALLBACK_PARAMS, *PCC_PING_RESPONSE_CALLBACK_PARAMS;
  393. #ifndef NO_APIS
  394. typedef void (*CC_LISTEN_CALLBACK)( HRESULT hStatus,
  395. PCC_LISTEN_CALLBACK_PARAMS ListenCallbackParams);
  396. typedef HRESULT (*CC_CONFERENCE_CALLBACK)(
  397. BYTE bIndication,
  398. HRESULT hStatus,
  399. CC_HCONFERENCE hConference,
  400. DWORD_PTR dwConferenceToken,
  401. PCC_CONFERENCE_CALLBACK_PARAMS pConferenceCallbackParams);
  402. typedef HRESULT (*CC_SESSIONTABLE_CONSTRUCTOR)(
  403. CC_HCONFERENCE hConference,
  404. DWORD_PTR dwConferenceToken,
  405. BOOL bCreate,
  406. BOOL *pbSessionTableChanged,
  407. WORD wListCount,
  408. PCC_TERMCAPLIST pTermCapList[],
  409. PCC_TERMCAPDESCRIPTORS pTermCapDescriptors[],
  410. PCC_SESSIONTABLE *ppSessionTable);
  411. typedef HRESULT (*CC_TERMCAP_CONSTRUCTOR)(
  412. CC_HCONFERENCE hConference,
  413. DWORD_PTR dwConferenceToken,
  414. BOOL bCreate,
  415. BOOL *pbTermCapsChanged,
  416. WORD wListCount,
  417. PCC_TERMCAPLIST pInTermCapList[],
  418. PCC_TERMCAPDESCRIPTORS pInTermCapDescriptors[],
  419. PCC_TERMCAPLIST *ppOutTermCapList,
  420. PCC_TERMCAPDESCRIPTORS *ppOutTermCapDescriptors);
  421. CC_API
  422. HRESULT CC_AcceptCall( CC_HCONFERENCE hConference,
  423. PCC_NONSTANDARDDATA pNonStandardData,
  424. PWSTR pszDisplay,
  425. CC_HCALL hCall,
  426. DWORD dwBandwidth,
  427. DWORD_PTR dwUserToken);
  428. typedef HRESULT (*CC_ACCEPTCALL)( CC_HCONFERENCE hConference,
  429. PCC_NONSTANDARDDATA pNonStandardData,
  430. PWSTR pszDisplay,
  431. CC_HCALL hCall,
  432. DWORD dwBandwidth,
  433. DWORD_PTR dwUserToken);
  434. CC_API
  435. HRESULT CC_AcceptChannel( CC_HCHANNEL hChannel,
  436. PCC_ADDR pRTPAddr,
  437. PCC_ADDR pRTCPAddr,
  438. DWORD dwChannelBitRate);
  439. typedef HRESULT (*CC_ACCEPTCHANNEL) ( CC_HCHANNEL hChannel,
  440. PCC_ADDR pRTPAddr,
  441. PCC_ADDR pRTCPAddr,
  442. DWORD dwChannelBitRate);
  443. CC_API
  444. HRESULT CC_AcceptT120Channel( CC_HCHANNEL hChannel,
  445. BOOL bAssociateConference,
  446. PCC_OCTETSTRING pExternalReference,
  447. PCC_ADDR pAddr);
  448. typedef HRESULT (*CC_ACCEPTT120CHANNEL)(CC_HCHANNEL hChannel,
  449. BOOL bAssociateConference,
  450. PCC_OCTETSTRING pExternalReference,
  451. PCC_ADDR pAddr);
  452. CC_API
  453. HRESULT CC_CallListen( PCC_HLISTEN phListen,
  454. PCC_ADDR pListenAddr,
  455. PCC_ALIASNAMES pLocalAliasNames,
  456. DWORD_PTR dwListenToken,
  457. CC_LISTEN_CALLBACK ListenCallback);
  458. typedef HRESULT (*CC_CALLLISTEN)( PCC_HLISTEN phListen,
  459. PCC_ADDR pListenAddr,
  460. PCC_ALIASNAMES pLocalAliasNames,
  461. DWORD_PTR dwListenToken,
  462. CC_LISTEN_CALLBACK ListenCallback);
  463. CC_API
  464. HRESULT CC_CancelCall( CC_HCALL hCall);
  465. typedef HRESULT (*CC_CANCELCALL)( CC_HCALL hCall);
  466. CC_API
  467. HRESULT CC_CancelListen( CC_HLISTEN hListen);
  468. typedef HRESULT (*CC_CANCELLISTEN)( CC_HLISTEN hListen);
  469. CC_API
  470. HRESULT CC_ChangeConferenceCapabilities(
  471. CC_HCONFERENCE hConference,
  472. PCC_TERMCAPLIST pTermCapList,
  473. PCC_TERMCAPDESCRIPTORS pTermCapDescriptors);
  474. typedef HRESULT (*CC_CHANGECONFERENCECAPABILITIES)(
  475. CC_HCONFERENCE hConference,
  476. PCC_TERMCAPLIST pTermCapList,
  477. PCC_TERMCAPDESCRIPTORS pTermCapDescriptors);
  478. CC_API
  479. HRESULT CC_CloseChannel( CC_HCHANNEL hChannel);
  480. typedef HRESULT (*CC_CLOSECHANNEL)( CC_HCHANNEL hChannel);
  481. CC_API
  482. HRESULT CC_CloseChannelResponse( CC_HCHANNEL hChannel,
  483. BOOL bWillCloseChannel);
  484. typedef HRESULT (*CC_CLOSECHANNELRESPONSE)(
  485. CC_HCHANNEL hChannel,
  486. BOOL bWillCloseChannel);
  487. CC_API
  488. HRESULT CC_CreateConference( PCC_HCONFERENCE phConference,
  489. PCC_CONFERENCEID pConferenceID,
  490. DWORD dwConferenceConfiguration,
  491. PCC_TERMCAPLIST pTermCapList,
  492. PCC_TERMCAPDESCRIPTORS pTermCapDescriptors,
  493. PCC_VENDORINFO pVendorInfo,
  494. PCC_OCTETSTRING pTerminalID,
  495. DWORD_PTR dwConferenceToken,
  496. CC_TERMCAP_CONSTRUCTOR TermCapConstructor,
  497. CC_SESSIONTABLE_CONSTRUCTOR SessionTableConstructor,
  498. CC_CONFERENCE_CALLBACK ConferenceCallback);
  499. typedef HRESULT (*CC_CREATECONFERENCE) (PCC_HCONFERENCE phConference,
  500. PCC_CONFERENCEID pConferenceID,
  501. DWORD dwConferenceConfiguration,
  502. PCC_TERMCAPLIST pTermCapList,
  503. PCC_TERMCAPDESCRIPTORS pTermCapDescriptors,
  504. PCC_VENDORINFO pVendorInfo,
  505. PCC_OCTETSTRING pTerminalID,
  506. DWORD_PTR dwConferenceToken,
  507. CC_TERMCAP_CONSTRUCTOR TermCapConstructor,
  508. CC_SESSIONTABLE_CONSTRUCTOR SessionTableConstructor,
  509. CC_CONFERENCE_CALLBACK ConferenceCallback);
  510. CC_API
  511. HRESULT CC_DestroyConference( CC_HCONFERENCE hConference,
  512. BOOL bAutoAccept);
  513. typedef HRESULT (*CC_DESTROYCONFERENCE)(CC_HCONFERENCE hConference,
  514. BOOL bAutoAccept);
  515. CC_API
  516. HRESULT CC_EnumerateConferences( PWORD pwNumConferences,
  517. CC_HCONFERENCE ConferenceList[]);
  518. typedef HRESULT (*CC_ENUMERATECONFERENCES)(
  519. PWORD pwNumConferences,
  520. CC_HCONFERENCE ConferenceList[]);
  521. CC_API
  522. HRESULT CC_FlowControl( CC_HCHANNEL hChannel,
  523. DWORD dwRate);
  524. typedef HRESULT (*CC_FLOWCONTROL)( CC_HCHANNEL hChannel,
  525. DWORD dwRate);
  526. CC_API
  527. HRESULT CC_GetCallControlVersion( WORD wArraySize,
  528. PWSTR pszVersion);
  529. typedef HRESULT (*CC_GETCALLCONTROLVERSION)
  530. (WORD wArraySize,
  531. PWSTR pszVersion);
  532. CC_API
  533. HRESULT CC_GetConferenceAttributes( CC_HCONFERENCE hConference,
  534. PCC_CONFERENCEATTRIBUTES pConferenceAttributes);
  535. typedef HRESULT (*CC_GETCONFERENCEATTRIBUTES)
  536. (CC_HCONFERENCE hConference,
  537. PCC_CONFERENCEATTRIBUTES pConferenceAttributes);
  538. CC_API
  539. HRESULT CC_H245ConferenceRequest( CC_HCALL hCall,
  540. H245_CONFER_REQ_ENUM_T RequestType,
  541. CC_TERMINAL_LABEL TerminalLabel);
  542. typedef HRESULT (*CC_H245CONFERENCEREQUEST)(
  543. CC_HCALL hCall,
  544. H245_CONFER_REQ_ENUM_T RequestType,
  545. CC_TERMINAL_LABEL TerminalLabel);
  546. CC_API
  547. HRESULT CC_H245ConferenceResponse( CC_HCALL hCall,
  548. H245_CONFER_RSP_ENUM_T ResponseType,
  549. CC_TERMINAL_LABEL TerminalLabel,
  550. PCC_OCTETSTRING pOctetString,
  551. CC_TERMINAL_LABEL *pTerminalList,
  552. WORD wTerminalListCount);
  553. typedef HRESULT (*CC_H245CONFERENCERESPONSE)(
  554. CC_HCALL hCall,
  555. H245_CONFER_RSP_ENUM_T ResponseType,
  556. CC_TERMINAL_LABEL TerminalLabel,
  557. PCC_OCTETSTRING pOctetString,
  558. CC_TERMINAL_LABEL *pTerminalList,
  559. WORD wTerminalListCount);
  560. CC_API
  561. HRESULT CC_H245ConferenceCommand( CC_HCALL hCall,
  562. CC_HCHANNEL hChannel,
  563. H245_CONFER_CMD_ENUM_T CommandType,
  564. CC_TERMINAL_LABEL TerminalLabel);
  565. typedef HRESULT (*CC_H245CONFERENCECOMMAND)(
  566. CC_HCALL hCall,
  567. CC_HCHANNEL hChannel,
  568. H245_CONFER_CMD_ENUM_T CommandType,
  569. CC_TERMINAL_LABEL TerminalLabel);
  570. CC_API
  571. HRESULT CC_H245ConferenceIndication( CC_HCALL hCall,
  572. H245_CONFER_IND_ENUM_T IndicationType,
  573. BYTE bSBENumber,
  574. CC_TERMINAL_LABEL TerminalLabel);
  575. typedef HRESULT (*CC_H245CONFERENCEINDICATION)(
  576. CC_HCALL hCall,
  577. H245_CONFER_IND_ENUM_T IndicationType,
  578. BYTE bSBENumber,
  579. CC_TERMINAL_LABEL TerminalLabel);
  580. CC_API
  581. HRESULT CC_H245MiscellaneousCommand( CC_HCALL hCall,
  582. CC_HCHANNEL hChannel,
  583. MiscellaneousCommand *pMiscellaneousCommand);
  584. typedef HRESULT (*CC_H245MISCELLANEOUSCOMMAND)(
  585. CC_HCALL hCall,
  586. CC_HCHANNEL hChannel,
  587. MiscellaneousCommand *pMiscellaneousCommand);
  588. CC_API
  589. HRESULT CC_H245MiscellaneousIndication(
  590. CC_HCALL hCall,
  591. CC_HCHANNEL hChannel,
  592. MiscellaneousIndication *pMiscellaneousIndication);
  593. typedef HRESULT (*CC_H245MISCELLANEOUSINDICATION)(
  594. CC_HCALL hCall,
  595. CC_HCHANNEL hChannel,
  596. MiscellaneousIndication *pMiscellaneousIndication);
  597. CC_API
  598. HRESULT CC_Hangup( CC_HCONFERENCE hConference,
  599. BOOL bTerminateConference,
  600. DWORD_PTR dwUserToken);
  601. typedef HRESULT (*CC_HANGUP)( CC_HCONFERENCE hConference,
  602. BOOL bTerminateConference,
  603. DWORD_PTR dwUserToken);
  604. CC_API
  605. HRESULT CC_MaximumAudioVideoSkew( CC_HCHANNEL hChannelAudio,
  606. CC_HCHANNEL hChannelVideo,
  607. WORD wMaximumSkew);
  608. typedef HRESULT (*CC_MAXIMUMAUDIOVIDEOSKEW)(
  609. CC_HCHANNEL hChannelAudio,
  610. CC_HCHANNEL hChannelVideo,
  611. WORD wMaximumSkew);
  612. CC_API
  613. HRESULT CC_Mute( CC_HCHANNEL hChannel);
  614. typedef HRESULT (*CC_MUTE)( CC_HCHANNEL hChannel);
  615. CC_API
  616. HRESULT CC_OpenChannel( CC_HCONFERENCE hConference,
  617. PCC_HCHANNEL phChannel,
  618. BYTE bSessionID,
  619. BYTE bAssociatedSessionID,
  620. BOOL bSilenceSuppression,
  621. PCC_TERMCAP pTermCap,
  622. PCC_ADDR pLocalRTCPAddr,
  623. BYTE bDynamicRTPPayloadType,
  624. DWORD dwChannelBitRate,
  625. DWORD_PTR dwUserToken);
  626. typedef HRESULT (*CC_OPENCHANNEL)( CC_HCONFERENCE hConference,
  627. PCC_HCHANNEL phChannel,
  628. BYTE bSessionID,
  629. BYTE bAssociatedSessionID,
  630. BOOL bSilenceSuppression,
  631. PCC_TERMCAP pTermCap,
  632. PCC_ADDR pLocalRTCPAddr,
  633. BYTE bDynamicRTPPayloadType,
  634. DWORD dwChannelBitRate,
  635. DWORD_PTR dwUserToken);
  636. CC_API
  637. HRESULT CC_OpenT120Channel( CC_HCONFERENCE hConference,
  638. PCC_HCHANNEL phChannel,
  639. BOOL bAssociateConference,
  640. PCC_OCTETSTRING pExternalReference,
  641. PCC_ADDR pAddr,
  642. DWORD dwChannelBitRate,
  643. DWORD_PTR dwUserToken);
  644. typedef HRESULT (*CC_OPENT120CHANNEL)( CC_HCONFERENCE hConference,
  645. PCC_HCHANNEL phChannel,
  646. BOOL bAssociateConference,
  647. PCC_OCTETSTRING pExternalReference,
  648. PCC_ADDR pAddr,
  649. DWORD dwChannelBitRate,
  650. DWORD_PTR dwUserToken);
  651. CC_API
  652. HRESULT CC_Ping( CC_HCALL hCall,
  653. DWORD dwTimeout);
  654. typedef HRESULT (*CC_PING)( CC_HCALL hCall,
  655. DWORD dwTimeout);
  656. CC_API
  657. HRESULT CC_PlaceCall( CC_HCONFERENCE hConference,
  658. PCC_HCALL phCall,
  659. PCC_ALIASNAMES pLocalAliasNames,
  660. PCC_ALIASNAMES pCalleeAliasNames,
  661. PCC_ALIASNAMES pCalleeExtraAliasNames,
  662. PCC_ALIASITEM pCalleeExtension,
  663. PCC_NONSTANDARDDATA pNonStandardData,
  664. PWSTR pszDisplay,
  665. PCC_ADDR pDestinationAddr,
  666. PCC_ADDR pConnectAddr,
  667. DWORD dwBandwidth,
  668. DWORD_PTR dwUserToken);
  669. typedef HRESULT (*CC_PLACECALL)( CC_HCONFERENCE hConference,
  670. PCC_HCALL phCall,
  671. PCC_ALIASNAMES pLocalAliasNames,
  672. PCC_ALIASNAMES pCalleeAliasNames,
  673. PCC_ALIASNAMES pCalleeExtraAliasNames,
  674. PCC_ALIASITEM pCalleeExtension,
  675. PCC_NONSTANDARDDATA pNonStandardData,
  676. PWSTR pszDisplay,
  677. PCC_ADDR pDestinationAddr,
  678. PCC_ADDR pConnectAddr,
  679. DWORD dwBandwidth,
  680. DWORD_PTR dwUserToken);
  681. CC_API
  682. HRESULT CC_RejectCall( BYTE bRejectReason,
  683. PCC_NONSTANDARDDATA pNonStandardData,
  684. CC_HCALL hCall);
  685. typedef HRESULT (*CC_REJECTCALL)( BYTE bRejectReason,
  686. PCC_NONSTANDARDDATA pNonStandardData,
  687. CC_HCALL hCall);
  688. CC_API
  689. HRESULT CC_RejectChannel( CC_HCHANNEL hChannel,
  690. DWORD dwRejectReason);
  691. typedef HRESULT (*CC_REJECTCHANNEL)( CC_HCHANNEL hChannel,
  692. DWORD dwRejectReason);
  693. CC_API
  694. HRESULT CC_RequestMode( CC_HCALL hCall,
  695. WORD wNumModeDescriptions,
  696. ModeDescription ModeDescriptions[]);
  697. typedef HRESULT (*CC_REQUESTMODE)( CC_HCALL hCall,
  698. WORD wNumModeDescriptions,
  699. ModeDescription ModeDescriptions[]);
  700. CC_API
  701. HRESULT CC_RequestModeResponse( CC_HCALL hCall,
  702. CC_REQUEST_MODE_RESPONSE RequestModeResponse);
  703. typedef HRESULT (*CC_REQUESTMODERESPONSE)(
  704. CC_HCALL hCall,
  705. CC_REQUEST_MODE_RESPONSE RequestModeResponse);
  706. CC_API
  707. HRESULT CC_SendNonStandardMessage( CC_HCALL hCall,
  708. BYTE bMessageType,
  709. CC_NONSTANDARDDATA NonStandardData);
  710. typedef HRESULT (*CC_SENDNONSTANDARDMESSAGE)(
  711. CC_HCALL hCall,
  712. BYTE bMessageType,
  713. CC_NONSTANDARDDATA NonStandardData);
  714. CC_API
  715. HRESULT CC_SendVendorID( CC_HCALL hCall,
  716. CC_NONSTANDARDDATA NonStandardData,
  717. PCC_OCTETSTRING pProductNumber,
  718. PCC_OCTETSTRING pVersionNumber);
  719. typedef HRESULT (*CC_SENDVENDORID)( CC_HCALL hCall,
  720. CC_NONSTANDARDDATA NonStandardData,
  721. PCC_OCTETSTRING pProductNumber,
  722. PCC_OCTETSTRING pVersionNumber);
  723. CC_API
  724. HRESULT CC_SetCallControlTimeout( WORD wType,
  725. DWORD dwDuration);
  726. typedef HRESULT (*CC_SETCALLCONTROLTIMEOUT)
  727. (WORD wType,
  728. DWORD dwDuration);
  729. CC_API
  730. HRESULT CC_SetTerminalID( CC_HCONFERENCE hConference,
  731. PCC_OCTETSTRING pTerminalID);
  732. typedef HRESULT (*CC_SETTERMINALID)( CC_HCONFERENCE hConference,
  733. PCC_OCTETSTRING pTerminalID);
  734. CC_API
  735. HRESULT CC_Shutdown();
  736. CC_API
  737. HRESULT CC_Initialize();
  738. typedef HRESULT (*CC_SHUTDOWN)();
  739. typedef HRESULT (*CC_INITIALIZE)();
  740. CC_API
  741. HRESULT CC_UnMute( CC_HCHANNEL hChannel);
  742. typedef HRESULT (*CC_UNMUTE)( CC_HCHANNEL hChannel);
  743. CC_API
  744. HRESULT CC_UpdatePeerList( CC_HCONFERENCE hConference);
  745. typedef HRESULT (*CC_UPDATEPEERLIST)( CC_HCONFERENCE hConference);
  746. CC_API
  747. HRESULT CC_UserInput( CC_HCALL hCall,
  748. PWSTR pszUserInput);
  749. typedef HRESULT (*CC_USERINPUT)( CC_HCALL hCall,
  750. PWSTR pszUserInput);
  751. CC_API
  752. HRESULT CC_EnableGKRegistration(
  753. BOOL fEnable,
  754. PSOCKADDR_IN pAddr,
  755. PCC_ALIASNAMES pLocalAliasNames,
  756. PCC_VENDORINFO pVendorInfo,
  757. DWORD dwMultipointConfiguration,
  758. RASNOTIFYPROC pRasNotifyProc);
  759. typedef HRESULT (*CC_ENABLEGKREGISTRATION)(
  760. BOOL fEnable,
  761. PCC_ALIASNAMES pLocalAliasNames,
  762. PCC_VENDORINFO pVendorInfo,
  763. DWORD dwMultipointConfiguration,
  764. RASNOTIFYPROC pRasNotifyProc);
  765. #endif
  766. #ifdef __cplusplus
  767. }
  768. #endif
  769. #pragma pack(pop)
  770. #endif CALLCONT_H
  771.