RTSE and PRES relies on the TCP conversation to do reassembly, switch to
[metze/wireshark/wip.git] / asn1 / h282 / RDC-PROTOCOL.asn
1 -- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h282/1999/RDC-PROTOCOL.asn
2
3 -- Module RDC-PROTOCOL (H.282:02/1998)
4 RDC-PROTOCOL {itu-t(0) recommendation(0) h 282 version(0) 1} DEFINITIONS
5 AUTOMATIC TAGS ::=
6 BEGIN
7
8 -- Export all symbols
9 -- ==========================================================================
10 -- Part 1:  Message Components
11 -- ==========================================================================
12 H221NonStandardIdentifier ::= OCTET STRING(SIZE (4..255))
13
14 -- First four octets shall be country code and
15 -- Manufacturer code, assigned as specified in
16 -- H.221 Annex A for NS-cap and NS-comm
17 Key ::= CHOICE -- Identifier of a standard or non-standard object
18          {
19   object           OBJECT IDENTIFIER,
20   h221NonStandard  H221NonStandardIdentifier
21 }
22
23 NonStandardParameter ::= SEQUENCE {key   Key,
24                                    data  OCTET STRING
25 }
26
27 Handle ::= INTEGER(0..4294967295)
28
29 NonStandardIdentifier ::= CHOICE {
30   object           OBJECT IDENTIFIER,
31   h221nonStandard  H221NonStandardIdentifier
32 }
33
34 TextString ::=
35   BMPString
36     (SIZE (0..255)) -- Basic Multilingual Plane of ISO/IEC 10646-1 (Unicode)
37     
38
39 DeviceClass ::= CHOICE {
40   camera                NULL,
41   microphone            NULL,
42   streamPlayerRecorder  NULL,
43   slideProjector        NULL,
44   lightSource           NULL,
45   sourceCombiner        NULL,
46   nonStandardDevice     NonStandardIdentifier
47 }
48
49 DeviceID ::= INTEGER(0..127)
50
51 StreamID ::= INTEGER(0..65535)
52
53 DeviceProfile ::= SEQUENCE {
54   deviceID           DeviceID,
55   audioSourceFlag    BOOLEAN,
56   audioSinkFlag      BOOLEAN,
57   videoSourceFlag    BOOLEAN,
58   videoSinkFlag      BOOLEAN,
59   remoteControlFlag  BOOLEAN,
60   instanceNumber     INTEGER(0..255),
61   deviceName         TextString OPTIONAL,
62   ...
63 }
64
65 StreamProfile ::= SEQUENCE {
66   streamID          StreamID,
67   videoStreamFlag   BOOLEAN,
68   sourceChangeFlag  BOOLEAN,
69   streamName        TextString OPTIONAL,
70   ...
71 }
72
73 CapabilityID ::= CHOICE {
74   standard     INTEGER(0..65535), -- Assigned by this specification
75   nonStandard  Key
76 }
77
78 NonCollapsingCapabilities ::=
79   SET OF
80     SEQUENCE {capabilityID     CapabilityID,
81               applicationData
82                 CHOICE {deviceList  SET SIZE (0..127) OF DeviceProfile,
83                         streamList  SET SIZE (0..127) OF StreamProfile
84               }}
85
86 --
87 -- Attribute parameter types
88 --
89 Day ::= INTEGER(1..31)
90
91 Month ::= INTEGER(1..12)
92
93 Year ::= INTEGER(1980..2999)
94
95 Hour ::= INTEGER(0..23)
96
97 Minute ::= INTEGER(0..59)
98
99 DeviceText ::= OCTET STRING(SIZE (0..32))
100
101 PanPosition ::= INTEGER(-18000..18000) -- 100ths of a degree
102                        
103
104 TiltPosition ::= INTEGER(-18000..18000) -- 100ths of a degree
105                         
106
107 ZoomPosition ::= INTEGER(-1023..1023)
108
109 IrisPosition ::= INTEGER(-127..127)
110
111 FocusPosition ::= INTEGER(-127..127)
112
113 CameraPanSpeed ::= INTEGER(1..18000) -- 100ths of a degree/sec
114                           
115
116 CameraTiltSpeed ::= INTEGER(1..18000) -- 100ths of a degree/sec
117                            
118
119 BackLight ::= INTEGER(0..255)
120
121 WhiteBalance ::= INTEGER(0..255)
122
123 PresetNumber ::= INTEGER(1..255)
124
125 StreamPlayerState ::= CHOICE {
126   playing             NULL,
127   recording           NULL,
128   pausedOnRecord      NULL,
129   pausedOnPlay        NULL,
130   rewinding           NULL,
131   fastForwarding      NULL,
132   searchingForwards   NULL,
133   searchingBackwards  NULL,
134   stopped             NULL,
135   programUnavailable  NULL
136 }
137
138 DevicePresetCapability ::= SEQUENCE {
139   maxNumber         PresetNumber,
140   presetCapability
141     SET SIZE (0..255) OF
142       SEQUENCE {presetNumber        PresetNumber,
143                 storeModeSupported  BOOLEAN,
144                 presetTextLabel     DeviceText} OPTIONAL
145 }
146
147 CameraFilterCapability ::= SEQUENCE {
148   maxNumberOfFilters  INTEGER(2..255),
149   filterTextLabel
150     SET SIZE (0..255) OF
151       SEQUENCE {filterNumber     INTEGER(1..255),
152                 filterTextLabel  DeviceText} OPTIONAL
153 }
154
155 CameraLensCapability ::= SEQUENCE {
156   maxNumberOfLens     INTEGER(2..255),
157   accessoryTextLabel
158     SET SIZE (0..255) OF
159       SEQUENCE {lensNumber     INTEGER(1..255),
160                 lensTextLabel  DeviceText} OPTIONAL
161 }
162
163 ExternalCameraLightCapability ::= SEQUENCE {
164   maxNumber       INTEGER(1..10),
165   lightTextLabel
166     SET SIZE (0..10) OF
167       SEQUENCE {lightNumber  INTEGER(1..10),
168                 lightLabel   DeviceText} OPTIONAL
169 }
170
171 CameraPanSpeedCapability ::= SEQUENCE {
172   maxSpeed       CameraPanSpeed,
173   minSpeed       CameraPanSpeed,
174   speedStepSize  CameraPanSpeed
175 }
176
177 CameraTiltSpeedCapability ::= SEQUENCE {
178   maxSpeed       CameraTiltSpeed,
179   minSpeed       CameraTiltSpeed,
180   speedStepSize  CameraTiltSpeed
181 }
182
183 MaxBacklight ::= INTEGER(1..255)
184
185 MaxWhiteBalance ::= INTEGER(1..255)
186
187 MinZoomPositionSetSize ::= INTEGER(1..1023)
188
189 MinFocusPositionStepSize ::= INTEGER(1..127)
190
191 MinIrisPositionStepSize ::= INTEGER(1..127)
192
193 PanPositionCapability ::= SEQUENCE {
194   maxLeft      INTEGER(-18000..0), -- Max pan left
195   maxRight     INTEGER(0..18000), -- Max pan right
196   minStepSize  INTEGER(1..18000)
197 }
198
199 TiltPositionCapability ::= SEQUENCE {
200   maxDown      INTEGER(-18000..0), -- Max tilt down
201   maxUp        INTEGER(0..18000), -- Max tilt up
202   minStepSize  INTEGER(1..18000)
203 }
204
205 MinZoomMagnificationStepSize ::= INTEGER(1..1000)
206
207 MaxNumberOfSlides ::= INTEGER(1..1024)
208
209 MaxSlideDisplayTime ::= INTEGER(1..255) -- Max time in seconds
210                                
211
212 MaxNumberOfPrograms ::= INTEGER(1..1023)
213
214 PlayBackSpeedCapability ::= SEQUENCE {
215   multiplierFactors  SET SIZE (1..64) OF INTEGER(10..1000),
216   divisorFactors     SET SIZE (1..64) OF INTEGER(10..1000)
217 }
218
219 VideoInputsCapability ::= SEQUENCE {
220   numberOfDeviceInputs  INTEGER(2..64),
221   numberOfDeviceRows    INTEGER(1..64),
222   -- The Optional Device list is only included if the inputs are configurable
223   availableDevices
224     SET SIZE (2..64) OF
225       SEQUENCE {deviceClass       DeviceClass,
226                 deviceIdentifier  DeviceID} OPTIONAL
227 }
228
229 AudioInputsCapability ::= SEQUENCE {
230   numberOfDeviceInputs  INTEGER(2..64),
231   -- The Optional Device list is only included if the inputs are configurable
232   availableDevices
233     SET SIZE (2..64) OF
234       SEQUENCE {deviceClass       DeviceClass,
235                 deviceIdentifier  DeviceID} OPTIONAL
236 }
237
238 DeviceAttribute ::= CHOICE {
239   deviceStateSupported                NULL,
240   deviceDateSupported                 NULL,
241   deviceTimeSupported                 NULL,
242   devicePresetSupported               DevicePresetCapability,
243   irisModeSupported                   NULL,
244   focusModeSupported                  NULL,
245   pointingModeSupported               NULL,
246   cameraLensSupported                 CameraLensCapability,
247   cameraFilterSupported               CameraFilterCapability,
248   homePositionSupported               NULL,
249   externalCameraLightSupported        ExternalCameraLightCapability,
250   clearCameraLensSupported            NULL,
251   cameraPanSpeedSupported             CameraPanSpeedCapability,
252   cameraTiltSpeedSupported            CameraTiltSpeedCapability,
253   backLightModeSupported              NULL,
254   backLightSettingSupported           MaxBacklight,
255   whiteBalanceSettingSupported        MaxWhiteBalance,
256   whiteBalanceModeSupported           NULL,
257   calibrateWhiteBalanceSupported      NULL,
258   focusImageSupported                 NULL,
259   captureImageSupported               NULL,
260   panContinuousSupported              NULL,
261   tiltContinuousSupported             NULL,
262   zoomContinuousSupported             NULL,
263   focusContinuousSupported            NULL,
264   irisContinuousSupported             NULL,
265   zoomPositionSupported               MinZoomPositionSetSize,
266   focusPositionSupported              MinFocusPositionStepSize,
267   irisPositionSupported               MinIrisPositionStepSize,
268   panPositionSupported                PanPositionCapability,
269   tiltPositionSupported               TiltPositionCapability,
270   zoomMagnificationSupported          MinZoomMagnificationStepSize,
271   panViewSupported                    NULL,
272   tiltViewSupported                   NULL,
273   selectSlideSupported                MaxNumberOfSlides,
274   selectNextSlideSupported            NULL,
275   slideShowModeSupported              NULL,
276   playSlideShowSupported              NULL,
277   setSlideDisplayTimeSupported        MaxSlideDisplayTime,
278   continuousRewindSupported           NULL,
279   continuousFastForwardSupported      NULL,
280   searchBackwardsSupported            NULL,
281   searchForwardsSupported             NULL,
282   pauseSupported                      NULL,
283   selectProgramSupported              MaxNumberOfPrograms,
284   nextProgramSupported                NULL,
285   gotoNormalPlayTimePointSupported    NULL,
286   readStreamPlayerStateSupported      NULL,
287   readProgramDurationSupported        NULL,
288   continuousPlayBackModeSupported     NULL,
289   playbackSpeedSupported              PlayBackSpeedCapability,
290   playSupported                       NULL,
291   setAudioOutputStateSupported        NULL,
292   playToNormalPlayTimePointSupported  NULL,
293   recordSupported                     NULL,
294   recordForDurationSupported          NULL,
295   configurableVideoInputsSupported    VideoInputsCapability,
296   videoInputsSupported                VideoInputsCapability,
297   configurableAudioInputsSupported    AudioInputsCapability,
298   audioInputsSupported                AudioInputsCapability,
299   -- Attributes for Device Events
300   deviceLockStateChangedSupported     NULL,
301   deviceAvailabilityChangedSupported  NULL,
302   cameraPannedToLimitSupported        NULL,
303   cameraTiltedToLimitSupported        NULL,
304   cameraZoomedToLimitSupported        NULL,
305   cameraFocusedToLimitSupported       NULL,
306   autoSlideShowFinishedSupported      NULL,
307   streamPlayerStateChangeSupported    NULL,
308   streamPlayerProgramChangeSupported  NULL,
309   nonStandardAttributeSupported       NonStandardParameter,
310   ...
311 }
312
313 DeviceState ::= CHOICE {active    NULL,
314                         inactive  NULL
315 }
316
317 DeviceDate ::= SEQUENCE {day    Day,
318                          month  Month,
319                          year   Year
320 }
321
322 DeviceTime ::= SEQUENCE {hour    Hour,
323                          minute  Minute
324 }
325
326 DevicePreset ::= SEQUENCE {
327   presetNumber  PresetNumber,
328   mode          CHOICE {store     NULL,
329                         activate  NULL}
330 }
331
332 Mode ::= CHOICE {manual  NULL,
333                  auto    NULL
334 }
335
336 PointingToggle ::= CHOICE {manual  NULL,
337                            auto    NULL,
338                            toggle  NULL
339 }
340
341 SelectExternalLight ::= CHOICE {lightNumber  INTEGER(1..10),
342                                 none         NULL
343 }
344
345 PanContinuous ::= SEQUENCE {
346   panDirection
347     CHOICE {left      NULL,
348             right     NULL,
349             stop      NULL,
350             continue  NULL},
351   timeOut       INTEGER(50..1000) -- Milliseconds
352 }
353
354 TiltContinuous ::= SEQUENCE {
355   tiltDirection
356     CHOICE {up        NULL,
357             down      NULL,
358             stop      NULL,
359             continue  NULL},
360   timeOut        INTEGER(50..1000) -- Milliseconds
361 }
362
363 ZoomContinuous ::= SEQUENCE {
364   zoomDirection
365     CHOICE {telescopic  NULL,
366             wide        NULL,
367             stop        NULL,
368             continue    NULL},
369   timeOut        INTEGER(50..1000) -- Milliseconds
370 }
371
372 FocusContinuous ::= SEQUENCE {
373   focusDirection
374     CHOICE {near      NULL,
375             far       NULL,
376             stop      NULL,
377             continue  NULL},
378   timeOut         INTEGER(50..1000) -- Milliseconds
379 }
380
381 IrisContinuous ::= SEQUENCE {
382   irisDirection
383     CHOICE {darker    NULL,
384             lighter   NULL,
385             stop      NULL,
386             continue  NULL},
387   timeOut        INTEGER(50..1000) -- Milliseconds
388 }
389
390 PositioningMode ::= CHOICE {relative  NULL,
391                             absolute  NULL
392 }
393
394 CameraLensNumber ::= INTEGER(1..255)
395
396 CameraFilterNumber ::= INTEGER(1..255)
397
398 SetZoomPosition ::= SEQUENCE {
399   zoomPosition     ZoomPosition,
400   positioningMode  PositioningMode
401 }
402
403 SetFocusPosition ::= SEQUENCE {
404   focusPosition    FocusPosition,
405   positioningMode  PositioningMode
406 }
407
408 SetIrisPosition ::= SEQUENCE {
409   irisPosition     IrisPosition,
410   positioningMode  PositioningMode
411 }
412
413 SetPanPosition ::= SEQUENCE {
414   panPosition      PanPosition,
415   positioningMode  PositioningMode
416 }
417
418 SetTiltPosition ::= SEQUENCE {
419   tiltPosition     TiltPosition,
420   positioningMode  PositioningMode
421 }
422
423 ZoomMagnification ::= INTEGER(10..1000)
424
425 PanView ::= INTEGER(-1000..1000)
426
427 TiltView ::= INTEGER(-1000..1000)
428
429 SlideNumber ::= INTEGER(0..1023)
430
431 SelectDirection ::= CHOICE {next      NULL,
432                             previous  NULL
433 }
434
435 AutoSlideShowControl ::= CHOICE {start  NULL,
436                                  stop   NULL,
437                                  pause  NULL
438 }
439
440 AutoSlideDisplayTime ::=
441   INTEGER(1..255) -- Automatic slide display time in seconds
442          
443
444 ProgramNumber ::= INTEGER(1..1023)
445
446 ProgramDuration ::= SEQUENCE {
447   hours         INTEGER(0..24),
448   minutes       INTEGER(0..59),
449   seconds       INTEGER(0..59),
450   microseconds  INTEGER(0..99999)
451 }
452
453 PlaybackSpeed ::= SEQUENCE {
454   scaleFactor     INTEGER(10..1000),
455   multiplyFactor  BOOLEAN -- TRUE to multiply, FALSE to divide
456 }
457
458 RecordForDuration ::= SEQUENCE {
459   hours    INTEGER(0..24),
460   minutes  INTEGER(0..59),
461   seconds  INTEGER(0..59)
462 }
463
464 DeviceInputs ::= SEQUENCE {
465   -- When used with the configurableVideoInputs type this device list must only contain 
466   -- devices that source a video stream. 
467   -- When used with the configurableAudioInputs type this device list must only contain
468   -- devices that source an audio stream. 
469   inputDevices
470     SET SIZE (2..64) OF
471       SEQUENCE {deviceClass       DeviceClass,
472                 deviceIdentifier  DeviceID}
473 }
474
475 ControlAttribute ::= CHOICE {
476   setDeviceState                DeviceState,
477   setDeviceDate                 DeviceDate,
478   setDeviceTime                 DeviceTime,
479   setDevicePreset               DevicePreset,
480   setIrisMode                   Mode,
481   setFocusMode                  Mode,
482   setBackLightMode              Mode,
483   setPointingMode               PointingToggle,
484   selectCameraLens              CameraLensNumber,
485   selectCameraFilter            CameraFilterNumber,
486   gotoHomePosition              NULL,
487   selectExternalLight           SelectExternalLight,
488   clearCameraLens               NULL,
489   setCameraPanSpeed             CameraPanSpeed,
490   setCameraTiltSpeed            CameraTiltSpeed,
491   setBackLight                  BackLight,
492   setWhiteBalance               WhiteBalance,
493   setWhiteBalanceMode           Mode,
494   calibrateWhiteBalance         NULL,
495   focusImage                    NULL,
496   captureImage                  NULL,
497   panContinuous                 PanContinuous,
498   tiltContinuous                TiltContinuous,
499   zoomContinuous                ZoomContinuous,
500   focusContinuous               FocusContinuous,
501   setZoomPosition               SetZoomPosition,
502   setFocusPosition              SetFocusPosition,
503   setIrisPosition               SetIrisPosition,
504   setPanPosition                SetPanPosition,
505   setTiltPosition               SetTiltPosition,
506   setZoomMagnification          ZoomMagnification,
507   setPanView                    PanView,
508   setTiltView                   TiltView,
509   selectSlide                   SlideNumber,
510   selectNextSlide               SelectDirection,
511   playAutoSlideShow             AutoSlideShowControl,
512   setAutoSlideDisplayTime       AutoSlideDisplayTime,
513   continuousRewindControl       BOOLEAN, -- TRUE to start, FALSE to Stop
514   continuousFastForwardControl  BOOLEAN, -- TRUE to start, FALSE to Stop
515   searchBackwardsControl        BOOLEAN, -- TRUE to start, FALSE to Stop
516   searchForwardsControl         BOOLEAN, -- TRUE to start, FALSE to Stop
517   pause                         BOOLEAN, -- TRUE to pause, FALSE to release
518   selectProgram                 ProgramNumber,
519   nextProgramSelect             SelectDirection,
520   gotoNormalPlayTimePoint       ProgramDuration,
521   continuousPlayBackMode        BOOLEAN, -- TRUE to set continuous mode
522   setPlaybackSpeed              PlaybackSpeed,
523   play                          BOOLEAN, -- TRUE to pause, FALSE to release
524   setAudioOutputMute            BOOLEAN, -- TRUE to mute, FALSE to unmute
525   playToNormalPlayTimePoint     ProgramDuration,
526   record                        BOOLEAN, -- TRUE to start, FALSE to Stop
527   recordForDuration             RecordForDuration,
528   configureVideoInputs          DeviceInputs, -- Device list contains Video devices
529   configureAudioInputs          DeviceInputs, -- Device list contains Audio Devices
530   nonStandardControl            NonStandardParameter,
531   ...
532 }
533
534 StatusAttributeIdentifier ::= CHOICE {
535   getDeviceState              NULL,
536   getDeviceDate               NULL,
537   getDeviceTime               NULL,
538   getdevicePreset             NULL,
539   getIrisMode                 NULL,
540   getFocusMode                NULL,
541   getBacklightMode            NULL,
542   getPointingMode             NULL,
543   getCameraLens               NULL,
544   getCameraFilter             NULL,
545   getExternalLight            NULL,
546   getCameraPanSpeed           NULL,
547   getCameraTiltSpeed          NULL,
548   getBackLightMode            NULL,
549   getBackLight                NULL,
550   getWhiteBalance             NULL,
551   getWhiteBalanceMode         NULL,
552   getZoomPosition             NULL,
553   getFocusPosition            NULL,
554   getIrisPosition             NULL,
555   getPanPosition              NULL,
556   getTiltPosition             NULL,
557   getSelectedSlide            NULL,
558   getAutoSlideDisplayTime     NULL,
559   getSelectedProgram          NULL,
560   getStreamPlayerState        NULL,
561   getCurrentProgramDuration   NULL,
562   getPlaybackSpeed            NULL,
563   getAudioOutputState         NULL,
564   getConfigurableVideoInputs  NULL,
565   getVideoInputs              NULL,
566   getConfigurableAudioInputs  NULL,
567   getAudioInputs              NULL,
568   getNonStandardStatus        NonStandardIdentifier,
569   ...
570 }
571
572 CurrentDeviceState ::= CHOICE {deviceState  DeviceState,
573                                unknown      NULL
574 }
575
576 CurrentDeviceDate ::= SEQUENCE {
577   currentDay    CHOICE {day      Day,
578                         unknown  NULL},
579   currentMonth  CHOICE {month    Month,
580                         unknown  NULL},
581   currentYear   CHOICE {year     Year,
582                         unknown  NULL}
583 }
584
585 CurrentDeviceTime ::= SEQUENCE {
586   currentHour    CHOICE {hour     Hour,
587                          unknown  NULL},
588   currentMinute  CHOICE {minute   Minute,
589                          unknown  NULL}
590 }
591
592 CurrentDevicePreset ::= CHOICE {preset   PresetNumber,
593                                 unknown  NULL
594 }
595
596 CurrentMode ::= CHOICE {mode     Mode,
597                         unknown  NULL
598 }
599
600 CurrentPointingMode ::= CHOICE {
601   automatic  NULL,
602   manual     NULL,
603   unknown    NULL
604 }
605
606 CurrentCameraLensNumber ::= CHOICE {
607   lensNumber  CameraLensNumber,
608   unknown     NULL
609 }
610
611 CurrentCameraFilterNumber ::= CHOICE {
612   lensNumber  CameraFilterNumber,
613   unknown     NULL
614 }
615
616 CurrentExternalLight ::= CHOICE {
617   lightNumber  INTEGER(1..10),
618   none         NULL,
619   unknown      NULL
620 }
621
622 CurrentCameraPanSpeed ::= CHOICE {speed    CameraPanSpeed,
623                                   unknown  NULL
624 }
625
626 CurrentCameraTiltSpeed ::= CHOICE {speed    CameraTiltSpeed,
627                                    unknown  NULL
628 }
629
630 CurrentBackLight ::= CHOICE {backLight  BackLight,
631                              unknown    NULL
632 }
633
634 CurrentWhiteBalance ::= CHOICE {whiteBalance  WhiteBalance,
635                                 unknown       NULL
636 }
637
638 CurrentZoomPosition ::= CHOICE {zoomPosition  ZoomPosition,
639                                 unknown       NULL
640 }
641
642 CurrentFocusPosition ::= CHOICE {
643   focusPosition  FocusPosition,
644   unknown        NULL
645 }
646
647 CurrentIrisPosition ::= CHOICE {irisPosition  IrisPosition,
648                                 unknown       NULL
649 }
650
651 CurrentPanPosition ::= CHOICE {panPosition  PanPosition,
652                                unknown      NULL
653 }
654
655 CurrentTiltPosition ::= CHOICE {tiltPosition  TiltPosition,
656                                 unknown       NULL
657 }
658
659 CurrentSlide ::= CHOICE {slide    SlideNumber,
660                          unknown  NULL
661 }
662
663 CurrentAutoSlideDisplayTime ::= CHOICE {
664   time     AutoSlideDisplayTime,
665   unknown  NULL
666 }
667
668 CurrentSelectedProgram ::= CHOICE {program  ProgramNumber,
669                                    unknown  NULL
670 }
671
672 CurrentStreamPlayerState ::= CHOICE {state    StreamPlayerState,
673                                      unknown  NULL
674 }
675
676 CurrentPlaybackSpeed ::= CHOICE {speed    PlaybackSpeed,
677                                  unknown  NULL
678 }
679
680 CurrentAudioOutputMute ::= CHOICE {
681   mute     BOOLEAN, -- TRUE if muted
682   unknown  NULL
683 }
684
685 StatusAttribute ::= CHOICE {
686   currentdeviceState           CurrentDeviceState,
687   currentDeviceDate            CurrentDeviceDate,
688   currentDeviceTime            CurrentDeviceTime,
689   currentDevicePreset          CurrentDevicePreset,
690   currentIrisMode              CurrentMode,
691   currentFocusMode             CurrentMode,
692   currentBackLightMode         CurrentMode,
693   currentPointingMode          CurrentPointingMode,
694   currentCameraLens            CurrentCameraLensNumber,
695   currentCameraFilter          CurrentCameraFilterNumber,
696   currentExternalLight         CurrentExternalLight,
697   currentCameraPanSpeed        CurrentCameraPanSpeed,
698   currentCameraTiltSpeed       CurrentCameraTiltSpeed,
699   currentBackLight             CurrentBackLight,
700   currentWhiteBalance          CurrentWhiteBalance,
701   currentWhiteBalanceMode      CurrentMode,
702   currentZoomPosition          CurrentZoomPosition,
703   currentFocusPosition         CurrentFocusPosition,
704   currentIrisPosition          CurrentIrisPosition,
705   currentPanPosition           CurrentPanPosition,
706   currentTiltPosition          CurrentTiltPosition,
707   currentSlide                 CurrentSlide,
708   currentAutoSlideDisplayTime  CurrentAutoSlideDisplayTime,
709   currentSelectedProgram       CurrentSelectedProgram,
710   currentstreamPlayerState     CurrentStreamPlayerState,
711   currentProgramDuration       ProgramDuration,
712   currentPlaybackSpeed         CurrentPlaybackSpeed,
713   currentAudioOutputMute       CurrentAudioOutputMute,
714   configurableVideoInputs      DeviceInputs,
715   videoInputs                  DeviceInputs,
716   configurableAudioInputs      DeviceInputs,
717   audioInputs                  DeviceInputs,
718   nonStandardStatus            NonStandardParameter,
719   ...
720 }
721
722 DeviceEventIdentifier ::= CHOICE {
723   requestDeviceLockChanged          NULL,
724   requestDeviceAvailabilityChanged  NULL,
725   requestCameraPannedToLimit        NULL,
726   requestCameraTiltedToLimit        NULL,
727   requestCameraZoomedToLimit        NULL,
728   requestCameraFocusedToLimit       NULL,
729   requestAutoSlideShowFinished      NULL,
730   requestStreamPlayerStateChange    NULL,
731   requestStreamPlayerProgramChange  NULL,
732   requestNonStandardEvent           NonStandardIdentifier,
733   ...
734 }
735
736 CameraPannedToLimit ::= CHOICE {left   NULL,
737                                 right  NULL
738 }
739
740 CameraTiltedToLimit ::= CHOICE {up    NULL,
741                                 down  NULL
742 }
743
744 CameraZoomedToLimit ::= CHOICE {telescopic  NULL,
745                                 wide        NULL
746 }
747
748 CameraFocusedToLimit ::= CHOICE {near  NULL,
749                                  far   NULL
750 }
751
752 DeviceEvent ::= CHOICE {
753   deviceLockChanged          BOOLEAN, -- TRUE if now locked FALSE if now unlocked
754   deviceAvailabilityChanged  BOOLEAN, -- TRUE if available FALSE if now unavailable
755   cameraPannedToLimit        CameraPannedToLimit,
756   cameraTiltedToLimit        CameraTiltedToLimit,
757   cameraZoomedToLimit        CameraZoomedToLimit,
758   cameraFocusedToLimit       CameraFocusedToLimit,
759   autoSlideShowFinished      NULL,
760   streamPlayerStateChange    StreamPlayerState,
761   streamPlayerProgramChange  ProgramNumber,
762   nonStandardEvent           NonStandardParameter,
763   ...
764 }
765
766 -- ==========================================================================
767 -- Part 2:  PDU Messages
768 -- ==========================================================================
769 SourceSelectRequest ::= SEQUENCE {
770   requestHandle     Handle,
771   deviceClass       DeviceClass,
772   deviceID          DeviceID,
773   streamIdentifier  StreamID,
774   ...
775 }
776
777 SourceSelectResponse ::= SEQUENCE {
778   requestHandle  Handle,
779   result
780     CHOICE {successful             NULL,
781             requestDenied          NULL,
782             deviceUnavailable      NULL,
783             invalidStreamID        NULL,
784             currentDeviceIsLocked  NULL,
785             deviceIncompatible     NULL,
786             ...},
787   ...
788 }
789
790 SourceEventsRequest ::= SEQUENCE {
791   requestHandle      Handle,
792   streamIdentifier   StreamID,
793   sourceEventNotify  BOOLEAN, -- TRUE to request source events
794   ...
795 }
796
797 SourceEventsResponse ::= SEQUENCE {
798   requestHandle  Handle,
799   deviceClass    DeviceClass,
800   deviceID       DeviceID,
801   result
802     CHOICE {successful          NULL,
803             eventsNotSupported  NULL,
804             invalidStreamID     NULL,
805             ...},
806   ...
807 }
808
809 SourceChangeEventIndication ::= SEQUENCE {
810   deviceClass  DeviceClass,
811   deviceID     DeviceID,
812   ...
813 }
814
815 DeviceAttributeRequest ::= SEQUENCE {
816   requestHandle  Handle,
817   deviceClass    DeviceClass,
818   deviceID       DeviceID,
819   ...
820 }
821
822 DeviceAttributeResponse ::= SEQUENCE {
823   requestHandle        Handle,
824   deviceAttributeList  SET OF DeviceAttribute OPTIONAL,
825   result
826     CHOICE {successful     NULL,
827             requestDenied  NULL,
828             unknownDevice  NULL,
829             ...},
830   ...
831 }
832
833 DeviceLockRequest ::= SEQUENCE {
834   requestHandle  Handle,
835   deviceClass    DeviceClass,
836   deviceID       DeviceID,
837   lockFlag       BOOLEAN, -- TRUE to lock
838   ...
839 }
840
841 DeviceLockResponse ::= SEQUENCE {
842   requestHandle  Handle,
843   result
844     CHOICE {successful           NULL,
845             requestDenied        NULL,
846             unknownDevice        NULL,
847             lockingNotSupported  NULL,
848             deviceAlreadyLocked  NULL,
849             ...},
850   ...
851 }
852
853 DeviceLockEnquireRequest ::= SEQUENCE {
854   requestHandle  Handle,
855   deviceClass    DeviceClass,
856   deviceID       DeviceID,
857   ...
858 }
859
860 DeviceLockEnquireResponse ::= SEQUENCE {
861   requestHandle  Handle,
862   result
863     CHOICE {lockRequired     NULL,
864             lockNotRequired  NULL,
865             unknownDevice    NULL,
866             ...},
867   ...
868 }
869
870 DeviceLockTerminatedIndication ::= SEQUENCE {
871   deviceClass  DeviceClass,
872   deviceID     DeviceID,
873   ...
874 }
875
876 DeviceControlRequest ::= SEQUENCE {
877   requestHandle         Handle,
878   deviceClass           DeviceClass,
879   deviceID              DeviceID,
880   controlAttributeList  SET SIZE (1..8) OF ControlAttribute,
881   ...
882 }
883
884 DeviceStatusEnquireRequest ::= SEQUENCE {
885   requestHandle                  Handle,
886   deviceClass                    DeviceClass,
887   deviceID                       DeviceID,
888   statusAttributeIdentifierList  SET SIZE (1..16) OF StatusAttributeIdentifier,
889   ...
890 }
891
892 DeviceStatusEnquireResponse ::= SEQUENCE {
893   requestHandle        Handle,
894   statusAttributeList  SET SIZE (1..16) OF StatusAttribute OPTIONAL,
895   result
896     CHOICE {successful            NULL,
897             requestDenied         NULL,
898             unknownDevice         NULL,
899             deviceUnavailable     NULL,
900             deviceAttributeError  NULL,
901             ...},
902   ...
903 }
904
905 ConfigureDeviceEventsRequest ::= SEQUENCE {
906   requestHandle              Handle,
907   deviceClass                DeviceClass,
908   deviceID                   DeviceID,
909   deviceEventIdentifierList  SET OF DeviceEventIdentifier,
910   ...
911 }
912
913 ConfigureDeviceEventsResponse ::= SEQUENCE {
914   requestHandle  Handle,
915   result
916     CHOICE {successful            NULL,
917             requestDenied         NULL,
918             unknownDevice         NULL,
919             deviceUnavailable     NULL,
920             deviceAttributeError  NULL,
921             ...},
922   ...
923 }
924
925 DeviceEventNotifyIndication ::= SEQUENCE {
926   deviceClass      DeviceClass,
927   deviceID         DeviceID,
928   deviceEventList  SET SIZE (1..8) OF DeviceEvent,
929   ...
930 }
931
932 NonStandardPDU ::= SEQUENCE {nonStandardData  NonStandardParameter,
933                              ...
934 }
935
936 -- ==========================================================================
937 -- Part 3:  Messages sent using  lower layer protocol
938 -- ==========================================================================
939 RDCPDU ::= CHOICE {
940   request     RequestPDU,
941   response    ResponsePDU,
942   indication  IndicationPDU
943 }
944
945 RequestPDU ::= CHOICE {
946   sourceSelectRequest           SourceSelectRequest,
947   sourceEventsRequest           SourceEventsRequest,
948   deviceAttributeRequest        DeviceAttributeRequest,
949   deviceLockRequest             DeviceLockRequest,
950   deviceLockEnquireRequest      DeviceLockEnquireRequest,
951   deviceControlRequest          DeviceControlRequest,
952   deviceStatusEnquireRequest    DeviceStatusEnquireRequest,
953   configureDeviceEventsRequest  ConfigureDeviceEventsRequest,
954   nonStandardRequest            NonStandardPDU,
955   ...
956 }
957
958 ResponsePDU ::= CHOICE {
959   sourceSelectResponse           SourceSelectResponse,
960   sourceEventsResponse           SourceEventsResponse,
961   deviceAttributeResponse        DeviceAttributeResponse,
962   deviceLockResponse             DeviceLockResponse,
963   deviceLockEnquireResponse      DeviceLockEnquireResponse,
964   deviceStatusEnquireResponse    DeviceStatusEnquireResponse,
965   configureDeviceEventsResponse  ConfigureDeviceEventsResponse,
966   nonStandardResponse            NonStandardPDU,
967   ...
968 }
969
970 IndicationPDU ::= CHOICE {
971   sourceChangeEventIndication     SourceChangeEventIndication,
972   deviceLockTerminatedIndication  DeviceLockTerminatedIndication,
973   deviceEventNotifyIndication     DeviceEventNotifyIndication,
974   nonStandardIndication           NonStandardPDU,
975   ...
976 }
977
978 END
979
980 -- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
981