1
2
3
4
5
6
7 #ifndef _NF_CONNTRACK_H323_TYPES_H
8 #define _NF_CONNTRACK_H323_TYPES_H
9
10 typedef struct TransportAddress_ipAddress {
11 int options;
12 unsigned int ip;
13 } TransportAddress_ipAddress;
14
15 typedef struct TransportAddress_ip6Address {
16 int options;
17 unsigned int ip;
18 } TransportAddress_ip6Address;
19
20 typedef struct TransportAddress {
21 enum {
22 eTransportAddress_ipAddress,
23 eTransportAddress_ipSourceRoute,
24 eTransportAddress_ipxAddress,
25 eTransportAddress_ip6Address,
26 eTransportAddress_netBios,
27 eTransportAddress_nsap,
28 eTransportAddress_nonStandardAddress,
29 } choice;
30 union {
31 TransportAddress_ipAddress ipAddress;
32 TransportAddress_ip6Address ip6Address;
33 };
34 } TransportAddress;
35
36 typedef struct DataProtocolCapability {
37 enum {
38 eDataProtocolCapability_nonStandard,
39 eDataProtocolCapability_v14buffered,
40 eDataProtocolCapability_v42lapm,
41 eDataProtocolCapability_hdlcFrameTunnelling,
42 eDataProtocolCapability_h310SeparateVCStack,
43 eDataProtocolCapability_h310SingleVCStack,
44 eDataProtocolCapability_transparent,
45 eDataProtocolCapability_segmentationAndReassembly,
46 eDataProtocolCapability_hdlcFrameTunnelingwSAR,
47 eDataProtocolCapability_v120,
48 eDataProtocolCapability_separateLANStack,
49 eDataProtocolCapability_v76wCompression,
50 eDataProtocolCapability_tcp,
51 eDataProtocolCapability_udp,
52 } choice;
53 } DataProtocolCapability;
54
55 typedef struct DataApplicationCapability_application {
56 enum {
57 eDataApplicationCapability_application_nonStandard,
58 eDataApplicationCapability_application_t120,
59 eDataApplicationCapability_application_dsm_cc,
60 eDataApplicationCapability_application_userData,
61 eDataApplicationCapability_application_t84,
62 eDataApplicationCapability_application_t434,
63 eDataApplicationCapability_application_h224,
64 eDataApplicationCapability_application_nlpid,
65 eDataApplicationCapability_application_dsvdControl,
66 eDataApplicationCapability_application_h222DataPartitioning,
67 eDataApplicationCapability_application_t30fax,
68 eDataApplicationCapability_application_t140,
69 eDataApplicationCapability_application_t38fax,
70 eDataApplicationCapability_application_genericDataCapability,
71 } choice;
72 union {
73 DataProtocolCapability t120;
74 };
75 } DataApplicationCapability_application;
76
77 typedef struct DataApplicationCapability {
78 int options;
79 DataApplicationCapability_application application;
80 } DataApplicationCapability;
81
82 typedef struct DataType {
83 enum {
84 eDataType_nonStandard,
85 eDataType_nullData,
86 eDataType_videoData,
87 eDataType_audioData,
88 eDataType_data,
89 eDataType_encryptionData,
90 eDataType_h235Control,
91 eDataType_h235Media,
92 eDataType_multiplexedStream,
93 } choice;
94 union {
95 DataApplicationCapability data;
96 };
97 } DataType;
98
99 typedef struct UnicastAddress_iPAddress {
100 int options;
101 unsigned int network;
102 } UnicastAddress_iPAddress;
103
104 typedef struct UnicastAddress_iP6Address {
105 int options;
106 unsigned int network;
107 } UnicastAddress_iP6Address;
108
109 typedef struct UnicastAddress {
110 enum {
111 eUnicastAddress_iPAddress,
112 eUnicastAddress_iPXAddress,
113 eUnicastAddress_iP6Address,
114 eUnicastAddress_netBios,
115 eUnicastAddress_iPSourceRouteAddress,
116 eUnicastAddress_nsap,
117 eUnicastAddress_nonStandardAddress,
118 } choice;
119 union {
120 UnicastAddress_iPAddress iPAddress;
121 UnicastAddress_iP6Address iP6Address;
122 };
123 } UnicastAddress;
124
125 typedef struct H245_TransportAddress {
126 enum {
127 eH245_TransportAddress_unicastAddress,
128 eH245_TransportAddress_multicastAddress,
129 } choice;
130 union {
131 UnicastAddress unicastAddress;
132 };
133 } H245_TransportAddress;
134
135 typedef struct H2250LogicalChannelParameters {
136 enum {
137 eH2250LogicalChannelParameters_nonStandard = (1 << 31),
138 eH2250LogicalChannelParameters_associatedSessionID =
139 (1 << 30),
140 eH2250LogicalChannelParameters_mediaChannel = (1 << 29),
141 eH2250LogicalChannelParameters_mediaGuaranteedDelivery =
142 (1 << 28),
143 eH2250LogicalChannelParameters_mediaControlChannel =
144 (1 << 27),
145 eH2250LogicalChannelParameters_mediaControlGuaranteedDelivery
146 = (1 << 26),
147 eH2250LogicalChannelParameters_silenceSuppression = (1 << 25),
148 eH2250LogicalChannelParameters_destination = (1 << 24),
149 eH2250LogicalChannelParameters_dynamicRTPPayloadType =
150 (1 << 23),
151 eH2250LogicalChannelParameters_mediaPacketization = (1 << 22),
152 eH2250LogicalChannelParameters_transportCapability =
153 (1 << 21),
154 eH2250LogicalChannelParameters_redundancyEncoding = (1 << 20),
155 eH2250LogicalChannelParameters_source = (1 << 19),
156 } options;
157 H245_TransportAddress mediaChannel;
158 H245_TransportAddress mediaControlChannel;
159 } H2250LogicalChannelParameters;
160
161 typedef struct OpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters {
162 enum {
163 eOpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters_h222LogicalChannelParameters,
164 eOpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters_h223LogicalChannelParameters,
165 eOpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters_v76LogicalChannelParameters,
166 eOpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters_h2250LogicalChannelParameters,
167 eOpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters_none,
168 } choice;
169 union {
170 H2250LogicalChannelParameters h2250LogicalChannelParameters;
171 };
172 } OpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters;
173
174 typedef struct OpenLogicalChannel_forwardLogicalChannelParameters {
175 enum {
176 eOpenLogicalChannel_forwardLogicalChannelParameters_portNumber
177 = (1 << 31),
178 eOpenLogicalChannel_forwardLogicalChannelParameters_forwardLogicalChannelDependency
179 = (1 << 30),
180 eOpenLogicalChannel_forwardLogicalChannelParameters_replacementFor
181 = (1 << 29),
182 } options;
183 DataType dataType;
184 OpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters
185 multiplexParameters;
186 } OpenLogicalChannel_forwardLogicalChannelParameters;
187
188 typedef struct OpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters {
189 enum {
190 eOpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters_h223LogicalChannelParameters,
191 eOpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters_v76LogicalChannelParameters,
192 eOpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters_h2250LogicalChannelParameters,
193 } choice;
194 union {
195 H2250LogicalChannelParameters h2250LogicalChannelParameters;
196 };
197 } OpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters;
198
199 typedef struct OpenLogicalChannel_reverseLogicalChannelParameters {
200 enum {
201 eOpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters
202 = (1 << 31),
203 eOpenLogicalChannel_reverseLogicalChannelParameters_reverseLogicalChannelDependency
204 = (1 << 30),
205 eOpenLogicalChannel_reverseLogicalChannelParameters_replacementFor
206 = (1 << 29),
207 } options;
208 OpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters
209 multiplexParameters;
210 } OpenLogicalChannel_reverseLogicalChannelParameters;
211
212 typedef struct NetworkAccessParameters_networkAddress {
213 enum {
214 eNetworkAccessParameters_networkAddress_q2931Address,
215 eNetworkAccessParameters_networkAddress_e164Address,
216 eNetworkAccessParameters_networkAddress_localAreaAddress,
217 } choice;
218 union {
219 H245_TransportAddress localAreaAddress;
220 };
221 } NetworkAccessParameters_networkAddress;
222
223 typedef struct NetworkAccessParameters {
224 enum {
225 eNetworkAccessParameters_distribution = (1 << 31),
226 eNetworkAccessParameters_externalReference = (1 << 30),
227 eNetworkAccessParameters_t120SetupProcedure = (1 << 29),
228 } options;
229 NetworkAccessParameters_networkAddress networkAddress;
230 } NetworkAccessParameters;
231
232 typedef struct OpenLogicalChannel {
233 enum {
234 eOpenLogicalChannel_reverseLogicalChannelParameters =
235 (1 << 31),
236 eOpenLogicalChannel_separateStack = (1 << 30),
237 eOpenLogicalChannel_encryptionSync = (1 << 29),
238 } options;
239 OpenLogicalChannel_forwardLogicalChannelParameters
240 forwardLogicalChannelParameters;
241 OpenLogicalChannel_reverseLogicalChannelParameters
242 reverseLogicalChannelParameters;
243 NetworkAccessParameters separateStack;
244 } OpenLogicalChannel;
245
246 typedef struct Setup_UUIE_fastStart {
247 int count;
248 OpenLogicalChannel item[30];
249 } Setup_UUIE_fastStart;
250
251 typedef struct Setup_UUIE {
252 enum {
253 eSetup_UUIE_h245Address = (1 << 31),
254 eSetup_UUIE_sourceAddress = (1 << 30),
255 eSetup_UUIE_destinationAddress = (1 << 29),
256 eSetup_UUIE_destCallSignalAddress = (1 << 28),
257 eSetup_UUIE_destExtraCallInfo = (1 << 27),
258 eSetup_UUIE_destExtraCRV = (1 << 26),
259 eSetup_UUIE_callServices = (1 << 25),
260 eSetup_UUIE_sourceCallSignalAddress = (1 << 24),
261 eSetup_UUIE_remoteExtensionAddress = (1 << 23),
262 eSetup_UUIE_callIdentifier = (1 << 22),
263 eSetup_UUIE_h245SecurityCapability = (1 << 21),
264 eSetup_UUIE_tokens = (1 << 20),
265 eSetup_UUIE_cryptoTokens = (1 << 19),
266 eSetup_UUIE_fastStart = (1 << 18),
267 eSetup_UUIE_mediaWaitForConnect = (1 << 17),
268 eSetup_UUIE_canOverlapSend = (1 << 16),
269 eSetup_UUIE_endpointIdentifier = (1 << 15),
270 eSetup_UUIE_multipleCalls = (1 << 14),
271 eSetup_UUIE_maintainConnection = (1 << 13),
272 eSetup_UUIE_connectionParameters = (1 << 12),
273 eSetup_UUIE_language = (1 << 11),
274 eSetup_UUIE_presentationIndicator = (1 << 10),
275 eSetup_UUIE_screeningIndicator = (1 << 9),
276 eSetup_UUIE_serviceControl = (1 << 8),
277 eSetup_UUIE_symmetricOperationRequired = (1 << 7),
278 eSetup_UUIE_capacity = (1 << 6),
279 eSetup_UUIE_circuitInfo = (1 << 5),
280 eSetup_UUIE_desiredProtocols = (1 << 4),
281 eSetup_UUIE_neededFeatures = (1 << 3),
282 eSetup_UUIE_desiredFeatures = (1 << 2),
283 eSetup_UUIE_supportedFeatures = (1 << 1),
284 eSetup_UUIE_parallelH245Control = (1 << 0),
285 } options;
286 TransportAddress h245Address;
287 TransportAddress destCallSignalAddress;
288 TransportAddress sourceCallSignalAddress;
289 Setup_UUIE_fastStart fastStart;
290 } Setup_UUIE;
291
292 typedef struct CallProceeding_UUIE_fastStart {
293 int count;
294 OpenLogicalChannel item[30];
295 } CallProceeding_UUIE_fastStart;
296
297 typedef struct CallProceeding_UUIE {
298 enum {
299 eCallProceeding_UUIE_h245Address = (1 << 31),
300 eCallProceeding_UUIE_callIdentifier = (1 << 30),
301 eCallProceeding_UUIE_h245SecurityMode = (1 << 29),
302 eCallProceeding_UUIE_tokens = (1 << 28),
303 eCallProceeding_UUIE_cryptoTokens = (1 << 27),
304 eCallProceeding_UUIE_fastStart = (1 << 26),
305 eCallProceeding_UUIE_multipleCalls = (1 << 25),
306 eCallProceeding_UUIE_maintainConnection = (1 << 24),
307 eCallProceeding_UUIE_fastConnectRefused = (1 << 23),
308 eCallProceeding_UUIE_featureSet = (1 << 22),
309 } options;
310 TransportAddress h245Address;
311 CallProceeding_UUIE_fastStart fastStart;
312 } CallProceeding_UUIE;
313
314 typedef struct Connect_UUIE_fastStart {
315 int count;
316 OpenLogicalChannel item[30];
317 } Connect_UUIE_fastStart;
318
319 typedef struct Connect_UUIE {
320 enum {
321 eConnect_UUIE_h245Address = (1 << 31),
322 eConnect_UUIE_callIdentifier = (1 << 30),
323 eConnect_UUIE_h245SecurityMode = (1 << 29),
324 eConnect_UUIE_tokens = (1 << 28),
325 eConnect_UUIE_cryptoTokens = (1 << 27),
326 eConnect_UUIE_fastStart = (1 << 26),
327 eConnect_UUIE_multipleCalls = (1 << 25),
328 eConnect_UUIE_maintainConnection = (1 << 24),
329 eConnect_UUIE_language = (1 << 23),
330 eConnect_UUIE_connectedAddress = (1 << 22),
331 eConnect_UUIE_presentationIndicator = (1 << 21),
332 eConnect_UUIE_screeningIndicator = (1 << 20),
333 eConnect_UUIE_fastConnectRefused = (1 << 19),
334 eConnect_UUIE_serviceControl = (1 << 18),
335 eConnect_UUIE_capacity = (1 << 17),
336 eConnect_UUIE_featureSet = (1 << 16),
337 } options;
338 TransportAddress h245Address;
339 Connect_UUIE_fastStart fastStart;
340 } Connect_UUIE;
341
342 typedef struct Alerting_UUIE_fastStart {
343 int count;
344 OpenLogicalChannel item[30];
345 } Alerting_UUIE_fastStart;
346
347 typedef struct Alerting_UUIE {
348 enum {
349 eAlerting_UUIE_h245Address = (1 << 31),
350 eAlerting_UUIE_callIdentifier = (1 << 30),
351 eAlerting_UUIE_h245SecurityMode = (1 << 29),
352 eAlerting_UUIE_tokens = (1 << 28),
353 eAlerting_UUIE_cryptoTokens = (1 << 27),
354 eAlerting_UUIE_fastStart = (1 << 26),
355 eAlerting_UUIE_multipleCalls = (1 << 25),
356 eAlerting_UUIE_maintainConnection = (1 << 24),
357 eAlerting_UUIE_alertingAddress = (1 << 23),
358 eAlerting_UUIE_presentationIndicator = (1 << 22),
359 eAlerting_UUIE_screeningIndicator = (1 << 21),
360 eAlerting_UUIE_fastConnectRefused = (1 << 20),
361 eAlerting_UUIE_serviceControl = (1 << 19),
362 eAlerting_UUIE_capacity = (1 << 18),
363 eAlerting_UUIE_featureSet = (1 << 17),
364 } options;
365 TransportAddress h245Address;
366 Alerting_UUIE_fastStart fastStart;
367 } Alerting_UUIE;
368
369 typedef struct FacilityReason {
370 enum {
371 eFacilityReason_routeCallToGatekeeper,
372 eFacilityReason_callForwarded,
373 eFacilityReason_routeCallToMC,
374 eFacilityReason_undefinedReason,
375 eFacilityReason_conferenceListChoice,
376 eFacilityReason_startH245,
377 eFacilityReason_noH245,
378 eFacilityReason_newTokens,
379 eFacilityReason_featureSetUpdate,
380 eFacilityReason_forwardedElements,
381 eFacilityReason_transportedInformation,
382 } choice;
383 } FacilityReason;
384
385 typedef struct Facility_UUIE_fastStart {
386 int count;
387 OpenLogicalChannel item[30];
388 } Facility_UUIE_fastStart;
389
390 typedef struct Facility_UUIE {
391 enum {
392 eFacility_UUIE_alternativeAddress = (1 << 31),
393 eFacility_UUIE_alternativeAliasAddress = (1 << 30),
394 eFacility_UUIE_conferenceID = (1 << 29),
395 eFacility_UUIE_callIdentifier = (1 << 28),
396 eFacility_UUIE_destExtraCallInfo = (1 << 27),
397 eFacility_UUIE_remoteExtensionAddress = (1 << 26),
398 eFacility_UUIE_tokens = (1 << 25),
399 eFacility_UUIE_cryptoTokens = (1 << 24),
400 eFacility_UUIE_conferences = (1 << 23),
401 eFacility_UUIE_h245Address = (1 << 22),
402 eFacility_UUIE_fastStart = (1 << 21),
403 eFacility_UUIE_multipleCalls = (1 << 20),
404 eFacility_UUIE_maintainConnection = (1 << 19),
405 eFacility_UUIE_fastConnectRefused = (1 << 18),
406 eFacility_UUIE_serviceControl = (1 << 17),
407 eFacility_UUIE_circuitInfo = (1 << 16),
408 eFacility_UUIE_featureSet = (1 << 15),
409 eFacility_UUIE_destinationInfo = (1 << 14),
410 eFacility_UUIE_h245SecurityMode = (1 << 13),
411 } options;
412 TransportAddress alternativeAddress;
413 FacilityReason reason;
414 TransportAddress h245Address;
415 Facility_UUIE_fastStart fastStart;
416 } Facility_UUIE;
417
418 typedef struct Progress_UUIE_fastStart {
419 int count;
420 OpenLogicalChannel item[30];
421 } Progress_UUIE_fastStart;
422
423 typedef struct Progress_UUIE {
424 enum {
425 eProgress_UUIE_h245Address = (1 << 31),
426 eProgress_UUIE_h245SecurityMode = (1 << 30),
427 eProgress_UUIE_tokens = (1 << 29),
428 eProgress_UUIE_cryptoTokens = (1 << 28),
429 eProgress_UUIE_fastStart = (1 << 27),
430 eProgress_UUIE_multipleCalls = (1 << 26),
431 eProgress_UUIE_maintainConnection = (1 << 25),
432 eProgress_UUIE_fastConnectRefused = (1 << 24),
433 } options;
434 TransportAddress h245Address;
435 Progress_UUIE_fastStart fastStart;
436 } Progress_UUIE;
437
438 typedef struct H323_UU_PDU_h323_message_body {
439 enum {
440 eH323_UU_PDU_h323_message_body_setup,
441 eH323_UU_PDU_h323_message_body_callProceeding,
442 eH323_UU_PDU_h323_message_body_connect,
443 eH323_UU_PDU_h323_message_body_alerting,
444 eH323_UU_PDU_h323_message_body_information,
445 eH323_UU_PDU_h323_message_body_releaseComplete,
446 eH323_UU_PDU_h323_message_body_facility,
447 eH323_UU_PDU_h323_message_body_progress,
448 eH323_UU_PDU_h323_message_body_empty,
449 eH323_UU_PDU_h323_message_body_status,
450 eH323_UU_PDU_h323_message_body_statusInquiry,
451 eH323_UU_PDU_h323_message_body_setupAcknowledge,
452 eH323_UU_PDU_h323_message_body_notify,
453 } choice;
454 union {
455 Setup_UUIE setup;
456 CallProceeding_UUIE callProceeding;
457 Connect_UUIE connect;
458 Alerting_UUIE alerting;
459 Facility_UUIE facility;
460 Progress_UUIE progress;
461 };
462 } H323_UU_PDU_h323_message_body;
463
464 typedef struct RequestMessage {
465 enum {
466 eRequestMessage_nonStandard,
467 eRequestMessage_masterSlaveDetermination,
468 eRequestMessage_terminalCapabilitySet,
469 eRequestMessage_openLogicalChannel,
470 eRequestMessage_closeLogicalChannel,
471 eRequestMessage_requestChannelClose,
472 eRequestMessage_multiplexEntrySend,
473 eRequestMessage_requestMultiplexEntry,
474 eRequestMessage_requestMode,
475 eRequestMessage_roundTripDelayRequest,
476 eRequestMessage_maintenanceLoopRequest,
477 eRequestMessage_communicationModeRequest,
478 eRequestMessage_conferenceRequest,
479 eRequestMessage_multilinkRequest,
480 eRequestMessage_logicalChannelRateRequest,
481 } choice;
482 union {
483 OpenLogicalChannel openLogicalChannel;
484 };
485 } RequestMessage;
486
487 typedef struct OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters {
488 enum {
489 eOpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_h222LogicalChannelParameters,
490 eOpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_h2250LogicalChannelParameters,
491 } choice;
492 union {
493 H2250LogicalChannelParameters h2250LogicalChannelParameters;
494 };
495 } OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters;
496
497 typedef struct OpenLogicalChannelAck_reverseLogicalChannelParameters {
498 enum {
499 eOpenLogicalChannelAck_reverseLogicalChannelParameters_portNumber
500 = (1 << 31),
501 eOpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters
502 = (1 << 30),
503 eOpenLogicalChannelAck_reverseLogicalChannelParameters_replacementFor
504 = (1 << 29),
505 } options;
506 OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters
507 multiplexParameters;
508 } OpenLogicalChannelAck_reverseLogicalChannelParameters;
509
510 typedef struct H2250LogicalChannelAckParameters {
511 enum {
512 eH2250LogicalChannelAckParameters_nonStandard = (1 << 31),
513 eH2250LogicalChannelAckParameters_sessionID = (1 << 30),
514 eH2250LogicalChannelAckParameters_mediaChannel = (1 << 29),
515 eH2250LogicalChannelAckParameters_mediaControlChannel =
516 (1 << 28),
517 eH2250LogicalChannelAckParameters_dynamicRTPPayloadType =
518 (1 << 27),
519 eH2250LogicalChannelAckParameters_flowControlToZero =
520 (1 << 26),
521 eH2250LogicalChannelAckParameters_portNumber = (1 << 25),
522 } options;
523 H245_TransportAddress mediaChannel;
524 H245_TransportAddress mediaControlChannel;
525 } H2250LogicalChannelAckParameters;
526
527 typedef struct OpenLogicalChannelAck_forwardMultiplexAckParameters {
528 enum {
529 eOpenLogicalChannelAck_forwardMultiplexAckParameters_h2250LogicalChannelAckParameters,
530 } choice;
531 union {
532 H2250LogicalChannelAckParameters
533 h2250LogicalChannelAckParameters;
534 };
535 } OpenLogicalChannelAck_forwardMultiplexAckParameters;
536
537 typedef struct OpenLogicalChannelAck {
538 enum {
539 eOpenLogicalChannelAck_reverseLogicalChannelParameters =
540 (1 << 31),
541 eOpenLogicalChannelAck_separateStack = (1 << 30),
542 eOpenLogicalChannelAck_forwardMultiplexAckParameters =
543 (1 << 29),
544 eOpenLogicalChannelAck_encryptionSync = (1 << 28),
545 } options;
546 OpenLogicalChannelAck_reverseLogicalChannelParameters
547 reverseLogicalChannelParameters;
548 NetworkAccessParameters separateStack;
549 OpenLogicalChannelAck_forwardMultiplexAckParameters
550 forwardMultiplexAckParameters;
551 } OpenLogicalChannelAck;
552
553 typedef struct ResponseMessage {
554 enum {
555 eResponseMessage_nonStandard,
556 eResponseMessage_masterSlaveDeterminationAck,
557 eResponseMessage_masterSlaveDeterminationReject,
558 eResponseMessage_terminalCapabilitySetAck,
559 eResponseMessage_terminalCapabilitySetReject,
560 eResponseMessage_openLogicalChannelAck,
561 eResponseMessage_openLogicalChannelReject,
562 eResponseMessage_closeLogicalChannelAck,
563 eResponseMessage_requestChannelCloseAck,
564 eResponseMessage_requestChannelCloseReject,
565 eResponseMessage_multiplexEntrySendAck,
566 eResponseMessage_multiplexEntrySendReject,
567 eResponseMessage_requestMultiplexEntryAck,
568 eResponseMessage_requestMultiplexEntryReject,
569 eResponseMessage_requestModeAck,
570 eResponseMessage_requestModeReject,
571 eResponseMessage_roundTripDelayResponse,
572 eResponseMessage_maintenanceLoopAck,
573 eResponseMessage_maintenanceLoopReject,
574 eResponseMessage_communicationModeResponse,
575 eResponseMessage_conferenceResponse,
576 eResponseMessage_multilinkResponse,
577 eResponseMessage_logicalChannelRateAcknowledge,
578 eResponseMessage_logicalChannelRateReject,
579 } choice;
580 union {
581 OpenLogicalChannelAck openLogicalChannelAck;
582 };
583 } ResponseMessage;
584
585 typedef struct MultimediaSystemControlMessage {
586 enum {
587 eMultimediaSystemControlMessage_request,
588 eMultimediaSystemControlMessage_response,
589 eMultimediaSystemControlMessage_command,
590 eMultimediaSystemControlMessage_indication,
591 } choice;
592 union {
593 RequestMessage request;
594 ResponseMessage response;
595 };
596 } MultimediaSystemControlMessage;
597
598 typedef struct H323_UU_PDU_h245Control {
599 int count;
600 MultimediaSystemControlMessage item[4];
601 } H323_UU_PDU_h245Control;
602
603 typedef struct H323_UU_PDU {
604 enum {
605 eH323_UU_PDU_nonStandardData = (1 << 31),
606 eH323_UU_PDU_h4501SupplementaryService = (1 << 30),
607 eH323_UU_PDU_h245Tunneling = (1 << 29),
608 eH323_UU_PDU_h245Control = (1 << 28),
609 eH323_UU_PDU_nonStandardControl = (1 << 27),
610 eH323_UU_PDU_callLinkage = (1 << 26),
611 eH323_UU_PDU_tunnelledSignallingMessage = (1 << 25),
612 eH323_UU_PDU_provisionalRespToH245Tunneling = (1 << 24),
613 eH323_UU_PDU_stimulusControl = (1 << 23),
614 eH323_UU_PDU_genericData = (1 << 22),
615 } options;
616 H323_UU_PDU_h323_message_body h323_message_body;
617 H323_UU_PDU_h245Control h245Control;
618 } H323_UU_PDU;
619
620 typedef struct H323_UserInformation {
621 enum {
622 eH323_UserInformation_user_data = (1 << 31),
623 } options;
624 H323_UU_PDU h323_uu_pdu;
625 } H323_UserInformation;
626
627 typedef struct GatekeeperRequest {
628 enum {
629 eGatekeeperRequest_nonStandardData = (1 << 31),
630 eGatekeeperRequest_gatekeeperIdentifier = (1 << 30),
631 eGatekeeperRequest_callServices = (1 << 29),
632 eGatekeeperRequest_endpointAlias = (1 << 28),
633 eGatekeeperRequest_alternateEndpoints = (1 << 27),
634 eGatekeeperRequest_tokens = (1 << 26),
635 eGatekeeperRequest_cryptoTokens = (1 << 25),
636 eGatekeeperRequest_authenticationCapability = (1 << 24),
637 eGatekeeperRequest_algorithmOIDs = (1 << 23),
638 eGatekeeperRequest_integrity = (1 << 22),
639 eGatekeeperRequest_integrityCheckValue = (1 << 21),
640 eGatekeeperRequest_supportsAltGK = (1 << 20),
641 eGatekeeperRequest_featureSet = (1 << 19),
642 eGatekeeperRequest_genericData = (1 << 18),
643 } options;
644 TransportAddress rasAddress;
645 } GatekeeperRequest;
646
647 typedef struct GatekeeperConfirm {
648 enum {
649 eGatekeeperConfirm_nonStandardData = (1 << 31),
650 eGatekeeperConfirm_gatekeeperIdentifier = (1 << 30),
651 eGatekeeperConfirm_alternateGatekeeper = (1 << 29),
652 eGatekeeperConfirm_authenticationMode = (1 << 28),
653 eGatekeeperConfirm_tokens = (1 << 27),
654 eGatekeeperConfirm_cryptoTokens = (1 << 26),
655 eGatekeeperConfirm_algorithmOID = (1 << 25),
656 eGatekeeperConfirm_integrity = (1 << 24),
657 eGatekeeperConfirm_integrityCheckValue = (1 << 23),
658 eGatekeeperConfirm_featureSet = (1 << 22),
659 eGatekeeperConfirm_genericData = (1 << 21),
660 } options;
661 TransportAddress rasAddress;
662 } GatekeeperConfirm;
663
664 typedef struct RegistrationRequest_callSignalAddress {
665 int count;
666 TransportAddress item[10];
667 } RegistrationRequest_callSignalAddress;
668
669 typedef struct RegistrationRequest_rasAddress {
670 int count;
671 TransportAddress item[10];
672 } RegistrationRequest_rasAddress;
673
674 typedef struct RegistrationRequest {
675 enum {
676 eRegistrationRequest_nonStandardData = (1 << 31),
677 eRegistrationRequest_terminalAlias = (1 << 30),
678 eRegistrationRequest_gatekeeperIdentifier = (1 << 29),
679 eRegistrationRequest_alternateEndpoints = (1 << 28),
680 eRegistrationRequest_timeToLive = (1 << 27),
681 eRegistrationRequest_tokens = (1 << 26),
682 eRegistrationRequest_cryptoTokens = (1 << 25),
683 eRegistrationRequest_integrityCheckValue = (1 << 24),
684 eRegistrationRequest_keepAlive = (1 << 23),
685 eRegistrationRequest_endpointIdentifier = (1 << 22),
686 eRegistrationRequest_willSupplyUUIEs = (1 << 21),
687 eRegistrationRequest_maintainConnection = (1 << 20),
688 eRegistrationRequest_alternateTransportAddresses = (1 << 19),
689 eRegistrationRequest_additiveRegistration = (1 << 18),
690 eRegistrationRequest_terminalAliasPattern = (1 << 17),
691 eRegistrationRequest_supportsAltGK = (1 << 16),
692 eRegistrationRequest_usageReportingCapability = (1 << 15),
693 eRegistrationRequest_multipleCalls = (1 << 14),
694 eRegistrationRequest_supportedH248Packages = (1 << 13),
695 eRegistrationRequest_callCreditCapability = (1 << 12),
696 eRegistrationRequest_capacityReportingCapability = (1 << 11),
697 eRegistrationRequest_capacity = (1 << 10),
698 eRegistrationRequest_featureSet = (1 << 9),
699 eRegistrationRequest_genericData = (1 << 8),
700 } options;
701 RegistrationRequest_callSignalAddress callSignalAddress;
702 RegistrationRequest_rasAddress rasAddress;
703 unsigned int timeToLive;
704 } RegistrationRequest;
705
706 typedef struct RegistrationConfirm_callSignalAddress {
707 int count;
708 TransportAddress item[10];
709 } RegistrationConfirm_callSignalAddress;
710
711 typedef struct RegistrationConfirm {
712 enum {
713 eRegistrationConfirm_nonStandardData = (1 << 31),
714 eRegistrationConfirm_terminalAlias = (1 << 30),
715 eRegistrationConfirm_gatekeeperIdentifier = (1 << 29),
716 eRegistrationConfirm_alternateGatekeeper = (1 << 28),
717 eRegistrationConfirm_timeToLive = (1 << 27),
718 eRegistrationConfirm_tokens = (1 << 26),
719 eRegistrationConfirm_cryptoTokens = (1 << 25),
720 eRegistrationConfirm_integrityCheckValue = (1 << 24),
721 eRegistrationConfirm_willRespondToIRR = (1 << 23),
722 eRegistrationConfirm_preGrantedARQ = (1 << 22),
723 eRegistrationConfirm_maintainConnection = (1 << 21),
724 eRegistrationConfirm_serviceControl = (1 << 20),
725 eRegistrationConfirm_supportsAdditiveRegistration = (1 << 19),
726 eRegistrationConfirm_terminalAliasPattern = (1 << 18),
727 eRegistrationConfirm_supportedPrefixes = (1 << 17),
728 eRegistrationConfirm_usageSpec = (1 << 16),
729 eRegistrationConfirm_featureServerAlias = (1 << 15),
730 eRegistrationConfirm_capacityReportingSpec = (1 << 14),
731 eRegistrationConfirm_featureSet = (1 << 13),
732 eRegistrationConfirm_genericData = (1 << 12),
733 } options;
734 RegistrationConfirm_callSignalAddress callSignalAddress;
735 unsigned int timeToLive;
736 } RegistrationConfirm;
737
738 typedef struct UnregistrationRequest_callSignalAddress {
739 int count;
740 TransportAddress item[10];
741 } UnregistrationRequest_callSignalAddress;
742
743 typedef struct UnregistrationRequest {
744 enum {
745 eUnregistrationRequest_endpointAlias = (1 << 31),
746 eUnregistrationRequest_nonStandardData = (1 << 30),
747 eUnregistrationRequest_endpointIdentifier = (1 << 29),
748 eUnregistrationRequest_alternateEndpoints = (1 << 28),
749 eUnregistrationRequest_gatekeeperIdentifier = (1 << 27),
750 eUnregistrationRequest_tokens = (1 << 26),
751 eUnregistrationRequest_cryptoTokens = (1 << 25),
752 eUnregistrationRequest_integrityCheckValue = (1 << 24),
753 eUnregistrationRequest_reason = (1 << 23),
754 eUnregistrationRequest_endpointAliasPattern = (1 << 22),
755 eUnregistrationRequest_supportedPrefixes = (1 << 21),
756 eUnregistrationRequest_alternateGatekeeper = (1 << 20),
757 eUnregistrationRequest_genericData = (1 << 19),
758 } options;
759 UnregistrationRequest_callSignalAddress callSignalAddress;
760 } UnregistrationRequest;
761
762 typedef struct AdmissionRequest {
763 enum {
764 eAdmissionRequest_callModel = (1 << 31),
765 eAdmissionRequest_destinationInfo = (1 << 30),
766 eAdmissionRequest_destCallSignalAddress = (1 << 29),
767 eAdmissionRequest_destExtraCallInfo = (1 << 28),
768 eAdmissionRequest_srcCallSignalAddress = (1 << 27),
769 eAdmissionRequest_nonStandardData = (1 << 26),
770 eAdmissionRequest_callServices = (1 << 25),
771 eAdmissionRequest_canMapAlias = (1 << 24),
772 eAdmissionRequest_callIdentifier = (1 << 23),
773 eAdmissionRequest_srcAlternatives = (1 << 22),
774 eAdmissionRequest_destAlternatives = (1 << 21),
775 eAdmissionRequest_gatekeeperIdentifier = (1 << 20),
776 eAdmissionRequest_tokens = (1 << 19),
777 eAdmissionRequest_cryptoTokens = (1 << 18),
778 eAdmissionRequest_integrityCheckValue = (1 << 17),
779 eAdmissionRequest_transportQOS = (1 << 16),
780 eAdmissionRequest_willSupplyUUIEs = (1 << 15),
781 eAdmissionRequest_callLinkage = (1 << 14),
782 eAdmissionRequest_gatewayDataRate = (1 << 13),
783 eAdmissionRequest_capacity = (1 << 12),
784 eAdmissionRequest_circuitInfo = (1 << 11),
785 eAdmissionRequest_desiredProtocols = (1 << 10),
786 eAdmissionRequest_desiredTunnelledProtocol = (1 << 9),
787 eAdmissionRequest_featureSet = (1 << 8),
788 eAdmissionRequest_genericData = (1 << 7),
789 } options;
790 TransportAddress destCallSignalAddress;
791 TransportAddress srcCallSignalAddress;
792 } AdmissionRequest;
793
794 typedef struct AdmissionConfirm {
795 enum {
796 eAdmissionConfirm_irrFrequency = (1 << 31),
797 eAdmissionConfirm_nonStandardData = (1 << 30),
798 eAdmissionConfirm_destinationInfo = (1 << 29),
799 eAdmissionConfirm_destExtraCallInfo = (1 << 28),
800 eAdmissionConfirm_destinationType = (1 << 27),
801 eAdmissionConfirm_remoteExtensionAddress = (1 << 26),
802 eAdmissionConfirm_alternateEndpoints = (1 << 25),
803 eAdmissionConfirm_tokens = (1 << 24),
804 eAdmissionConfirm_cryptoTokens = (1 << 23),
805 eAdmissionConfirm_integrityCheckValue = (1 << 22),
806 eAdmissionConfirm_transportQOS = (1 << 21),
807 eAdmissionConfirm_willRespondToIRR = (1 << 20),
808 eAdmissionConfirm_uuiesRequested = (1 << 19),
809 eAdmissionConfirm_language = (1 << 18),
810 eAdmissionConfirm_alternateTransportAddresses = (1 << 17),
811 eAdmissionConfirm_useSpecifiedTransport = (1 << 16),
812 eAdmissionConfirm_circuitInfo = (1 << 15),
813 eAdmissionConfirm_usageSpec = (1 << 14),
814 eAdmissionConfirm_supportedProtocols = (1 << 13),
815 eAdmissionConfirm_serviceControl = (1 << 12),
816 eAdmissionConfirm_multipleCalls = (1 << 11),
817 eAdmissionConfirm_featureSet = (1 << 10),
818 eAdmissionConfirm_genericData = (1 << 9),
819 } options;
820 TransportAddress destCallSignalAddress;
821 } AdmissionConfirm;
822
823 typedef struct LocationRequest {
824 enum {
825 eLocationRequest_endpointIdentifier = (1 << 31),
826 eLocationRequest_nonStandardData = (1 << 30),
827 eLocationRequest_sourceInfo = (1 << 29),
828 eLocationRequest_canMapAlias = (1 << 28),
829 eLocationRequest_gatekeeperIdentifier = (1 << 27),
830 eLocationRequest_tokens = (1 << 26),
831 eLocationRequest_cryptoTokens = (1 << 25),
832 eLocationRequest_integrityCheckValue = (1 << 24),
833 eLocationRequest_desiredProtocols = (1 << 23),
834 eLocationRequest_desiredTunnelledProtocol = (1 << 22),
835 eLocationRequest_featureSet = (1 << 21),
836 eLocationRequest_genericData = (1 << 20),
837 eLocationRequest_hopCount = (1 << 19),
838 eLocationRequest_circuitInfo = (1 << 18),
839 } options;
840 TransportAddress replyAddress;
841 } LocationRequest;
842
843 typedef struct LocationConfirm {
844 enum {
845 eLocationConfirm_nonStandardData = (1 << 31),
846 eLocationConfirm_destinationInfo = (1 << 30),
847 eLocationConfirm_destExtraCallInfo = (1 << 29),
848 eLocationConfirm_destinationType = (1 << 28),
849 eLocationConfirm_remoteExtensionAddress = (1 << 27),
850 eLocationConfirm_alternateEndpoints = (1 << 26),
851 eLocationConfirm_tokens = (1 << 25),
852 eLocationConfirm_cryptoTokens = (1 << 24),
853 eLocationConfirm_integrityCheckValue = (1 << 23),
854 eLocationConfirm_alternateTransportAddresses = (1 << 22),
855 eLocationConfirm_supportedProtocols = (1 << 21),
856 eLocationConfirm_multipleCalls = (1 << 20),
857 eLocationConfirm_featureSet = (1 << 19),
858 eLocationConfirm_genericData = (1 << 18),
859 eLocationConfirm_circuitInfo = (1 << 17),
860 eLocationConfirm_serviceControl = (1 << 16),
861 } options;
862 TransportAddress callSignalAddress;
863 TransportAddress rasAddress;
864 } LocationConfirm;
865
866 typedef struct InfoRequestResponse_callSignalAddress {
867 int count;
868 TransportAddress item[10];
869 } InfoRequestResponse_callSignalAddress;
870
871 typedef struct InfoRequestResponse {
872 enum {
873 eInfoRequestResponse_nonStandardData = (1 << 31),
874 eInfoRequestResponse_endpointAlias = (1 << 30),
875 eInfoRequestResponse_perCallInfo = (1 << 29),
876 eInfoRequestResponse_tokens = (1 << 28),
877 eInfoRequestResponse_cryptoTokens = (1 << 27),
878 eInfoRequestResponse_integrityCheckValue = (1 << 26),
879 eInfoRequestResponse_needResponse = (1 << 25),
880 eInfoRequestResponse_capacity = (1 << 24),
881 eInfoRequestResponse_irrStatus = (1 << 23),
882 eInfoRequestResponse_unsolicited = (1 << 22),
883 eInfoRequestResponse_genericData = (1 << 21),
884 } options;
885 TransportAddress rasAddress;
886 InfoRequestResponse_callSignalAddress callSignalAddress;
887 } InfoRequestResponse;
888
889 typedef struct RasMessage {
890 enum {
891 eRasMessage_gatekeeperRequest,
892 eRasMessage_gatekeeperConfirm,
893 eRasMessage_gatekeeperReject,
894 eRasMessage_registrationRequest,
895 eRasMessage_registrationConfirm,
896 eRasMessage_registrationReject,
897 eRasMessage_unregistrationRequest,
898 eRasMessage_unregistrationConfirm,
899 eRasMessage_unregistrationReject,
900 eRasMessage_admissionRequest,
901 eRasMessage_admissionConfirm,
902 eRasMessage_admissionReject,
903 eRasMessage_bandwidthRequest,
904 eRasMessage_bandwidthConfirm,
905 eRasMessage_bandwidthReject,
906 eRasMessage_disengageRequest,
907 eRasMessage_disengageConfirm,
908 eRasMessage_disengageReject,
909 eRasMessage_locationRequest,
910 eRasMessage_locationConfirm,
911 eRasMessage_locationReject,
912 eRasMessage_infoRequest,
913 eRasMessage_infoRequestResponse,
914 eRasMessage_nonStandardMessage,
915 eRasMessage_unknownMessageResponse,
916 eRasMessage_requestInProgress,
917 eRasMessage_resourcesAvailableIndicate,
918 eRasMessage_resourcesAvailableConfirm,
919 eRasMessage_infoRequestAck,
920 eRasMessage_infoRequestNak,
921 eRasMessage_serviceControlIndication,
922 eRasMessage_serviceControlResponse,
923 } choice;
924 union {
925 GatekeeperRequest gatekeeperRequest;
926 GatekeeperConfirm gatekeeperConfirm;
927 RegistrationRequest registrationRequest;
928 RegistrationConfirm registrationConfirm;
929 UnregistrationRequest unregistrationRequest;
930 AdmissionRequest admissionRequest;
931 AdmissionConfirm admissionConfirm;
932 LocationRequest locationRequest;
933 LocationConfirm locationConfirm;
934 InfoRequestResponse infoRequestResponse;
935 };
936 } RasMessage;
937
938 #endif