From 31cd25a7dd51f9cb8676370fadf630cf4c81c93b Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 23 Oct 2015 10:18:38 +0200 Subject: Initial import --- ACSE-1.erl | 2014 ++++ ACSE-1.hrl | 45 + CSTA-application-context-information-csta3.erl | 1032 ++ CSTA-application-context-information-csta3.hrl | 16 + KME-specific-types.erl | 10502 +++++++++++++++++++ KME-specific-types.hrl | 205 + acse.set.asn1 | 2 + acse/ACSE-1.asn1 | 255 + acse/DirectoryAbstractService.asn1 | 718 ++ acse/InformationFramework.asn1 | 876 ++ acse/SelectedAttributeTypes.asn1 | 1467 +++ acse/UpperBounds.asn1 | 90 + acse/UsefulDefinitions.asn1 | 240 + csta/CSTA-accept-call.asn1 | 42 + csta/CSTA-activate.asn1 | 42 + csta/CSTA-agent-busy-event.asn1 | 32 + csta/CSTA-agent-logged-off-event.asn1 | 32 + csta/CSTA-agent-logged-on-event.asn1 | 32 + csta/CSTA-agent-not-ready-event.asn1 | 31 + csta/CSTA-agent-ready-event.asn1 | 31 + csta/CSTA-agent-working-after-call-event.asn1 | 35 + csta/CSTA-alternate-call.asn1 | 43 + csta/CSTA-answer-call.asn1 | 42 + csta/CSTA-associate-data.asn1 | 60 + csta/CSTA-attach-media-service.asn1 | 59 + csta/CSTA-auto-answer-event.asn1 | 24 + csta/CSTA-auto-work-mode-event.asn1 | 24 + csta/CSTA-back-in-service-event.asn1 | 26 + csta/CSTA-bookmark-reached-event.asn1 | 35 + csta/CSTA-bridged-event.asn1 | 58 + csta/CSTA-button-information-event.asn1 | 28 + csta/CSTA-button-press-event.asn1 | 27 + csta/CSTA-button-press.asn1 | 41 + csta/CSTA-call-back-call-related.asn1 | 49 + csta/CSTA-call-back-event.asn1 | 24 + csta/CSTA-call-back-message-call-related.asn1 | 39 + csta/CSTA-call-back-message-event.asn1 | 24 + csta/CSTA-call-back-message-non-call-related.asn1 | 38 + csta/CSTA-call-back-non-call-related.asn1 | 38 + csta/CSTA-call-cleared-event.asn1 | 48 + csta/CSTA-call-connection-identifiers.asn1 | 29 + csta/CSTA-call-control.asn1 | 211 + csta/CSTA-call-detail-record.asn1 | 135 + csta/CSTA-call-detail-records-notification.asn1 | 39 + csta/CSTA-call-detail-records-report.asn1 | 39 + csta/CSTA-call-information-event.asn1 | 55 + csta/CSTA-caller-id-status-event.asn1 | 23 + csta/CSTA-camp-on-call.asn1 | 37 + csta/CSTA-cancel-call-back-message.asn1 | 38 + csta/CSTA-cancel-call-back.asn1 | 38 + csta/CSTA-cancel-telephony-tones.asn1 | 37 + csta/CSTA-capability-exchange.asn1 | 3853 +++++++ csta/CSTA-change-connection-information.asn1 | 41 + csta/CSTA-change-monitor-filter.asn1 | 38 + csta/CSTA-change-system-status-filter.asn1 | 38 + csta/CSTA-charge-info.asn1 | 39 + csta/CSTA-charging-event.asn1 | 34 + csta/CSTA-clear-call.asn1 | 45 + csta/CSTA-clear-connection.asn1 | 46 + csta/CSTA-clear.asn1 | 39 + csta/CSTA-completed-event.asn1 | 34 + csta/CSTA-concatenate-message.asn1 | 37 + csta/CSTA-conference-call.asn1 | 50 + csta/CSTA-conferenced-event.asn1 | 61 + csta/CSTA-connection-cleared-event.asn1 | 63 + csta/CSTA-connection-states.asn1 | 43 + csta/CSTA-consultation-call.asn1 | 66 + csta/CSTA-data-call-types.asn1 | 19 + csta/CSTA-data-collected.asn1 | 84 + csta/CSTA-data-collection-resumed.asn1 | 37 + csta/CSTA-data-collection-suspended.asn1 | 37 + csta/CSTA-data-collection.asn1 | 13 + csta/CSTA-data-path-resumed.asn1 | 37 + csta/CSTA-data-path-suspended.asn1 | 38 + csta/CSTA-deactivate.asn1 | 42 + csta/CSTA-deflect-call.asn1 | 62 + csta/CSTA-delete-message.asn1 | 37 + csta/CSTA-delivered-event.asn1 | 74 + csta/CSTA-detach-media-service.asn1 | 40 + csta/CSTA-device-capabilities-changed-event.asn1 | 26 + csta/CSTA-device-feature-types.asn1 | 345 + csta/CSTA-device-identifier.asn1 | 116 + csta/CSTA-device-identifiers.asn1 | 116 + csta/CSTA-dial-digits.asn1 | 46 + csta/CSTA-digits-dialed-event.asn1 | 64 + csta/CSTA-digits-generated-event.asn1 | 29 + csta/CSTA-directed-pickup-call.asn1 | 54 + csta/CSTA-display-updated-event.asn1 | 34 + csta/CSTA-diverted-event.asn1 | 73 + csta/CSTA-do-not-disturb-event.asn1 | 28 + csta/CSTA-dtmf-detected-event.asn1 | 34 + csta/CSTA-emptied-event.asn1 | 34 + csta/CSTA-error-definition.asn1 | 311 + csta/CSTA-escape-register-abort.asn1 | 33 + csta/CSTA-escape-register-cancel.asn1 | 37 + csta/CSTA-escape-register.asn1 | 37 + csta/CSTA-escape-service.asn1 | 41 + csta/CSTA-escape-types.asn1 | 13 + csta/CSTA-established-event.asn1 | 73 + csta/CSTA-event-cause.asn1 | 135 + csta/CSTA-event-causes.asn1 | 135 + csta/CSTA-event-report-definitions.asn1 | 347 + csta/CSTA-extension-types.asn1 | 25 + csta/CSTA-failed-event.asn1 | 74 + csta/CSTA-fast-data.asn1 | 53 + csta/CSTA-forwarding-event.asn1 | 31 + csta/CSTA-generate-digits.asn1 | 46 + csta/CSTA-generate-telephony-tones.asn1 | 42 + csta/CSTA-get-agent-state.asn1 | 58 + csta/CSTA-get-auditory-apparatus-information.asn1 | 41 + csta/CSTA-get-auto-answer.asn1 | 38 + csta/CSTA-get-auto-work-mode.asn1 | 38 + csta/CSTA-get-button-information.asn1 | 51 + csta/CSTA-get-call-back.asn1 | 42 + csta/CSTA-get-caller-id-status.asn1 | 37 + csta/CSTA-get-csta-features-service.asn1 | 70 + csta/CSTA-get-display.asn1 | 52 + csta/CSTA-get-do-not-disturb.asn1 | 42 + csta/CSTA-get-forwarding.asn1 | 40 + csta/CSTA-get-hookswitch-status.asn1 | 45 + csta/CSTA-get-lamp-information.asn1 | 47 + csta/CSTA-get-lamp-mode.asn1 | 50 + csta/CSTA-get-last-number-dialed.asn1 | 37 + csta/CSTA-get-location-information.asn1 | 40 + csta/CSTA-get-location-tracking-capabilities.asn1 | 75 + csta/CSTA-get-location-tracking-sessions.asn1 | 44 + csta/CSTA-get-logical-device-information.asn1 | 83 + csta/CSTA-get-message-waiting-indicator.asn1 | 39 + csta/CSTA-get-microphone-gain.asn1 | 45 + csta/CSTA-get-microphone-mute.asn1 | 45 + csta/CSTA-get-monitor.asn1 | 41 + csta/CSTA-get-physical-device-information.asn1 | 59 + csta/CSTA-get-presence-state.asn1 | 48 + csta/CSTA-get-registrations.asn1 | 45 + csta/CSTA-get-ringer-status.asn1 | 50 + csta/CSTA-get-routeing-mode.asn1 | 37 + csta/CSTA-get-speaker-mute.asn1 | 45 + csta/CSTA-get-speaker-volume.asn1 | 45 + csta/CSTA-get-switching-function-capabilities.asn1 | 202 + csta/CSTA-get-switching-function-devices.asn1 | 62 + csta/CSTA-group-pickup-call.asn1 | 54 + csta/CSTA-held-event.asn1 | 57 + csta/CSTA-hold-call.asn1 | 38 + csta/CSTA-hookswitch-event.asn1 | 27 + csta/CSTA-interruption-detected-event.asn1 | 33 + csta/CSTA-intrude-call.asn1 | 50 + csta/CSTA-io-register-abort.asn1 | 33 + csta/CSTA-io-register-cancel.asn1 | 37 + csta/CSTA-io-register.asn1 | 40 + csta/CSTA-join-call.asn1 | 59 + csta/CSTA-lamp-mode-event.asn1 | 31 + csta/CSTA-location-information-report.asn1 | 44 + csta/CSTA-location-session-info.asn1 | 41 + csta/CSTA-location-tracking-session-resumed.asn1 | 37 + csta/CSTA-location-tracking-session-suspended.asn1 | 41 + csta/CSTA-make-call.asn1 | 70 + csta/CSTA-make-connection.asn1 | 74 + csta/CSTA-make-predictive-call.asn1 | 95 + csta/CSTA-media-attached-event.asn1 | 50 + csta/CSTA-media-detached-event.asn1 | 48 + csta/CSTA-media-services.asn1 | 125 + csta/CSTA-message-waiting-event.asn1 | 24 + csta/CSTA-microphone-gain-event.asn1 | 27 + csta/CSTA-microphone-mute-event.asn1 | 27 + csta/CSTA-monitor-info.asn1 | 38 + csta/CSTA-monitor-start.asn1 | 44 + csta/CSTA-monitor-stop.asn1 | 37 + csta/CSTA-network-capabilities-changed-event.asn1 | 62 + csta/CSTA-network-reached-event.asn1 | 70 + csta/CSTA-not-recognized-event.asn1 | 34 + csta/CSTA-offered-event.asn1 | 72 + csta/CSTA-originated-event.asn1 | 67 + csta/CSTA-out-of-service-event.asn1 | 26 + csta/CSTA-park-call.asn1 | 54 + csta/CSTA-partially-in-service-event.asn1 | 26 + csta/CSTA-physical-device-feature.asn1 | 106 + csta/CSTA-play-event.asn1 | 37 + csta/CSTA-play-message.asn1 | 42 + csta/CSTA-presence-state-event.asn1 | 34 + csta/CSTA-private-data-version-selection.asn1 | 32 + csta/CSTA-private-event.asn1 | 22 + csta/CSTA-query-voice-attribute.asn1 | 68 + csta/CSTA-queue.asn1 | 42 + csta/CSTA-queued-event.asn1 | 66 + csta/CSTA-re-route-request.asn1 | 41 + csta/CSTA-recognized-event.asn1 | 35 + csta/CSTA-reconnect-call.asn1 | 38 + csta/CSTA-record-event.asn1 | 40 + csta/CSTA-record-message.asn1 | 46 + csta/CSTA-registration-info.asn1 | 38 + csta/CSTA-reposition.asn1 | 49 + csta/CSTA-request-system-status.asn1 | 37 + csta/CSTA-resume-data-collection.asn1 | 37 + csta/CSTA-resume-data-path.asn1 | 38 + csta/CSTA-resume-location-tracking-session.asn1 | 36 + csta/CSTA-resume.asn1 | 42 + csta/CSTA-retrieve-call.asn1 | 37 + csta/CSTA-retrieved-event.asn1 | 57 + csta/CSTA-review-event.asn1 | 39 + csta/CSTA-review.asn1 | 47 + csta/CSTA-ringer-status-event.asn1 | 30 + csta/CSTA-route-end-request.asn1 | 36 + csta/CSTA-route-register-abort.asn1 | 33 + csta/CSTA-route-register-cancel.asn1 | 37 + csta/CSTA-route-register.asn1 | 45 + csta/CSTA-route-reject.asn1 | 44 + csta/CSTA-route-request.asn1 | 70 + csta/CSTA-route-select-request.asn1 | 42 + csta/CSTA-route-used-request.asn1 | 45 + csta/CSTA-routeing-mode-event.asn1 | 23 + csta/CSTA-security.asn1 | 23 + csta/CSTA-send-broadcast-data.asn1 | 38 + csta/CSTA-send-data.asn1 | 43 + csta/CSTA-send-message.asn1 | 74 + csta/CSTA-send-multicast-data.asn1 | 39 + csta/CSTA-send-stored-call-detail-records.asn1 | 38 + csta/CSTA-send-user-information.asn1 | 41 + csta/CSTA-service-completion-failure-event.asn1 | 51 + csta/CSTA-service-initiated-event.asn1 | 70 + csta/CSTA-set-agent-state.asn1 | 51 + csta/CSTA-set-auto-answer.asn1 | 39 + csta/CSTA-set-auto-work-mode.asn1 | 39 + csta/CSTA-set-button-information.asn1 | 43 + csta/CSTA-set-caller-id-status.asn1 | 38 + csta/CSTA-set-display.asn1 | 46 + csta/CSTA-set-do-not-disturb.asn1 | 43 + csta/CSTA-set-forwarding.asn1 | 45 + csta/CSTA-set-hookswitch-status.asn1 | 42 + csta/CSTA-set-lamp-mode.asn1 | 45 + csta/CSTA-set-location-information.asn1 | 45 + csta/CSTA-set-message-waiting-indicator.asn1 | 39 + csta/CSTA-set-microphone-gain.asn1 | 42 + csta/CSTA-set-microphone-mute.asn1 | 42 + csta/CSTA-set-presence-state.asn1 | 49 + csta/CSTA-set-ringer-status.asn1 | 44 + csta/CSTA-set-routeing-mode.asn1 | 38 + csta/CSTA-set-speaker-mute.asn1 | 42 + csta/CSTA-set-speaker-volume.asn1 | 42 + csta/CSTA-set-voice-attribute.asn1 | 68 + csta/CSTA-silence-timeout-expired-event.asn1 | 34 + csta/CSTA-single-step-conference.asn1 | 63 + csta/CSTA-single-step-transfer.asn1 | 71 + csta/CSTA-snapshot-call-data.asn1 | 39 + csta/CSTA-snapshot-call.asn1 | 74 + csta/CSTA-snapshot-device-data.asn1 | 39 + csta/CSTA-snapshot-device.asn1 | 45 + csta/CSTA-speaker-mute-event.asn1 | 26 + csta/CSTA-speaker-volume-event.asn1 | 26 + csta/CSTA-speech-detected-event.asn1 | 34 + ...STA-start-call-detail-records-transmission.asn1 | 37 + csta/CSTA-start-data-collection.asn1 | 58 + csta/CSTA-start-data-path.asn1 | 58 + csta/CSTA-start-location-tracking-session.asn1 | 67 + csta/CSTA-start.asn1 | 39 + csta/CSTA-started-event.asn1 | 34 + csta/CSTA-status-reporting.asn1 | 165 + csta/CSTA-stop-call-detail-records.asn1 | 37 + csta/CSTA-stop-data-collection.asn1 | 37 + csta/CSTA-stop-data-path.asn1 | 38 + csta/CSTA-stop-event.asn1 | 40 + csta/CSTA-stop-location-tracking-session.asn1 | 43 + csta/CSTA-stop.asn1 | 42 + csta/CSTA-suspend-data-collection.asn1 | 37 + csta/CSTA-suspend-data-path.asn1 | 38 + csta/CSTA-suspend-location-tracking-session.asn1 | 39 + csta/CSTA-suspend-play-event.asn1 | 40 + csta/CSTA-suspend-record-event.asn1 | 39 + csta/CSTA-suspend.asn1 | 42 + ...TA-switching-function-capabilities-changed.asn1 | 37 + csta/CSTA-switching-function-devices-changed.asn1 | 37 + csta/CSTA-switching-function-devices.asn1 | 53 + csta/CSTA-switching-function-objects.asn1 | 22 + csta/CSTA-synthesize-message.asn1 | 38 + csta/CSTA-system-register-abort.asn1 | 35 + csta/CSTA-system-register-cancel.asn1 | 37 + csta/CSTA-system-register.asn1 | 56 + csta/CSTA-system-status.asn1 | 38 + csta/CSTA-telephony-tones-generated-event.asn1 | 34 + csta/CSTA-transfer-call.asn1 | 49 + csta/CSTA-transferred-event.asn1 | 65 + csta/CSTA-voice-attributes-change-event.asn1 | 61 + csta/CSTA-voice-error-occured-event.asn1 | 34 + ...CSTA-application-context-information-csta3.asn1 | 374 + kme/KME-specific-types.asn1 | 1278 +++ rose/Remote-Operations-Information-Objects.asn1 | 376 + rose/Remote-Operations-Useful-Definitions.asn1 | 93 + tda.erl | 18 + 287 files changed, 36937 insertions(+) create mode 100644 ACSE-1.erl create mode 100644 ACSE-1.hrl create mode 100644 CSTA-application-context-information-csta3.erl create mode 100644 CSTA-application-context-information-csta3.hrl create mode 100644 KME-specific-types.erl create mode 100644 KME-specific-types.hrl create mode 100644 acse.set.asn1 create mode 100644 acse/ACSE-1.asn1 create mode 100644 acse/DirectoryAbstractService.asn1 create mode 100644 acse/InformationFramework.asn1 create mode 100644 acse/SelectedAttributeTypes.asn1 create mode 100644 acse/UpperBounds.asn1 create mode 100644 acse/UsefulDefinitions.asn1 create mode 100644 csta/CSTA-accept-call.asn1 create mode 100644 csta/CSTA-activate.asn1 create mode 100644 csta/CSTA-agent-busy-event.asn1 create mode 100644 csta/CSTA-agent-logged-off-event.asn1 create mode 100644 csta/CSTA-agent-logged-on-event.asn1 create mode 100644 csta/CSTA-agent-not-ready-event.asn1 create mode 100644 csta/CSTA-agent-ready-event.asn1 create mode 100644 csta/CSTA-agent-working-after-call-event.asn1 create mode 100644 csta/CSTA-alternate-call.asn1 create mode 100644 csta/CSTA-answer-call.asn1 create mode 100644 csta/CSTA-associate-data.asn1 create mode 100644 csta/CSTA-attach-media-service.asn1 create mode 100644 csta/CSTA-auto-answer-event.asn1 create mode 100644 csta/CSTA-auto-work-mode-event.asn1 create mode 100644 csta/CSTA-back-in-service-event.asn1 create mode 100644 csta/CSTA-bookmark-reached-event.asn1 create mode 100644 csta/CSTA-bridged-event.asn1 create mode 100644 csta/CSTA-button-information-event.asn1 create mode 100644 csta/CSTA-button-press-event.asn1 create mode 100644 csta/CSTA-button-press.asn1 create mode 100644 csta/CSTA-call-back-call-related.asn1 create mode 100644 csta/CSTA-call-back-event.asn1 create mode 100644 csta/CSTA-call-back-message-call-related.asn1 create mode 100644 csta/CSTA-call-back-message-event.asn1 create mode 100644 csta/CSTA-call-back-message-non-call-related.asn1 create mode 100644 csta/CSTA-call-back-non-call-related.asn1 create mode 100644 csta/CSTA-call-cleared-event.asn1 create mode 100644 csta/CSTA-call-connection-identifiers.asn1 create mode 100644 csta/CSTA-call-control.asn1 create mode 100644 csta/CSTA-call-detail-record.asn1 create mode 100644 csta/CSTA-call-detail-records-notification.asn1 create mode 100644 csta/CSTA-call-detail-records-report.asn1 create mode 100644 csta/CSTA-call-information-event.asn1 create mode 100644 csta/CSTA-caller-id-status-event.asn1 create mode 100644 csta/CSTA-camp-on-call.asn1 create mode 100644 csta/CSTA-cancel-call-back-message.asn1 create mode 100644 csta/CSTA-cancel-call-back.asn1 create mode 100644 csta/CSTA-cancel-telephony-tones.asn1 create mode 100644 csta/CSTA-capability-exchange.asn1 create mode 100644 csta/CSTA-change-connection-information.asn1 create mode 100644 csta/CSTA-change-monitor-filter.asn1 create mode 100644 csta/CSTA-change-system-status-filter.asn1 create mode 100644 csta/CSTA-charge-info.asn1 create mode 100644 csta/CSTA-charging-event.asn1 create mode 100644 csta/CSTA-clear-call.asn1 create mode 100644 csta/CSTA-clear-connection.asn1 create mode 100644 csta/CSTA-clear.asn1 create mode 100644 csta/CSTA-completed-event.asn1 create mode 100644 csta/CSTA-concatenate-message.asn1 create mode 100644 csta/CSTA-conference-call.asn1 create mode 100644 csta/CSTA-conferenced-event.asn1 create mode 100644 csta/CSTA-connection-cleared-event.asn1 create mode 100644 csta/CSTA-connection-states.asn1 create mode 100644 csta/CSTA-consultation-call.asn1 create mode 100644 csta/CSTA-data-call-types.asn1 create mode 100644 csta/CSTA-data-collected.asn1 create mode 100644 csta/CSTA-data-collection-resumed.asn1 create mode 100644 csta/CSTA-data-collection-suspended.asn1 create mode 100644 csta/CSTA-data-collection.asn1 create mode 100644 csta/CSTA-data-path-resumed.asn1 create mode 100644 csta/CSTA-data-path-suspended.asn1 create mode 100644 csta/CSTA-deactivate.asn1 create mode 100644 csta/CSTA-deflect-call.asn1 create mode 100644 csta/CSTA-delete-message.asn1 create mode 100644 csta/CSTA-delivered-event.asn1 create mode 100644 csta/CSTA-detach-media-service.asn1 create mode 100644 csta/CSTA-device-capabilities-changed-event.asn1 create mode 100644 csta/CSTA-device-feature-types.asn1 create mode 100644 csta/CSTA-device-identifier.asn1 create mode 100644 csta/CSTA-device-identifiers.asn1 create mode 100644 csta/CSTA-dial-digits.asn1 create mode 100644 csta/CSTA-digits-dialed-event.asn1 create mode 100644 csta/CSTA-digits-generated-event.asn1 create mode 100644 csta/CSTA-directed-pickup-call.asn1 create mode 100644 csta/CSTA-display-updated-event.asn1 create mode 100644 csta/CSTA-diverted-event.asn1 create mode 100644 csta/CSTA-do-not-disturb-event.asn1 create mode 100644 csta/CSTA-dtmf-detected-event.asn1 create mode 100644 csta/CSTA-emptied-event.asn1 create mode 100644 csta/CSTA-error-definition.asn1 create mode 100644 csta/CSTA-escape-register-abort.asn1 create mode 100644 csta/CSTA-escape-register-cancel.asn1 create mode 100644 csta/CSTA-escape-register.asn1 create mode 100644 csta/CSTA-escape-service.asn1 create mode 100644 csta/CSTA-escape-types.asn1 create mode 100644 csta/CSTA-established-event.asn1 create mode 100644 csta/CSTA-event-cause.asn1 create mode 100644 csta/CSTA-event-causes.asn1 create mode 100644 csta/CSTA-event-report-definitions.asn1 create mode 100644 csta/CSTA-extension-types.asn1 create mode 100644 csta/CSTA-failed-event.asn1 create mode 100644 csta/CSTA-fast-data.asn1 create mode 100644 csta/CSTA-forwarding-event.asn1 create mode 100644 csta/CSTA-generate-digits.asn1 create mode 100644 csta/CSTA-generate-telephony-tones.asn1 create mode 100644 csta/CSTA-get-agent-state.asn1 create mode 100644 csta/CSTA-get-auditory-apparatus-information.asn1 create mode 100644 csta/CSTA-get-auto-answer.asn1 create mode 100644 csta/CSTA-get-auto-work-mode.asn1 create mode 100644 csta/CSTA-get-button-information.asn1 create mode 100644 csta/CSTA-get-call-back.asn1 create mode 100644 csta/CSTA-get-caller-id-status.asn1 create mode 100644 csta/CSTA-get-csta-features-service.asn1 create mode 100644 csta/CSTA-get-display.asn1 create mode 100644 csta/CSTA-get-do-not-disturb.asn1 create mode 100644 csta/CSTA-get-forwarding.asn1 create mode 100644 csta/CSTA-get-hookswitch-status.asn1 create mode 100644 csta/CSTA-get-lamp-information.asn1 create mode 100644 csta/CSTA-get-lamp-mode.asn1 create mode 100644 csta/CSTA-get-last-number-dialed.asn1 create mode 100644 csta/CSTA-get-location-information.asn1 create mode 100644 csta/CSTA-get-location-tracking-capabilities.asn1 create mode 100644 csta/CSTA-get-location-tracking-sessions.asn1 create mode 100644 csta/CSTA-get-logical-device-information.asn1 create mode 100644 csta/CSTA-get-message-waiting-indicator.asn1 create mode 100644 csta/CSTA-get-microphone-gain.asn1 create mode 100644 csta/CSTA-get-microphone-mute.asn1 create mode 100644 csta/CSTA-get-monitor.asn1 create mode 100644 csta/CSTA-get-physical-device-information.asn1 create mode 100644 csta/CSTA-get-presence-state.asn1 create mode 100644 csta/CSTA-get-registrations.asn1 create mode 100644 csta/CSTA-get-ringer-status.asn1 create mode 100644 csta/CSTA-get-routeing-mode.asn1 create mode 100644 csta/CSTA-get-speaker-mute.asn1 create mode 100644 csta/CSTA-get-speaker-volume.asn1 create mode 100644 csta/CSTA-get-switching-function-capabilities.asn1 create mode 100644 csta/CSTA-get-switching-function-devices.asn1 create mode 100644 csta/CSTA-group-pickup-call.asn1 create mode 100644 csta/CSTA-held-event.asn1 create mode 100644 csta/CSTA-hold-call.asn1 create mode 100644 csta/CSTA-hookswitch-event.asn1 create mode 100644 csta/CSTA-interruption-detected-event.asn1 create mode 100644 csta/CSTA-intrude-call.asn1 create mode 100644 csta/CSTA-io-register-abort.asn1 create mode 100644 csta/CSTA-io-register-cancel.asn1 create mode 100644 csta/CSTA-io-register.asn1 create mode 100644 csta/CSTA-join-call.asn1 create mode 100644 csta/CSTA-lamp-mode-event.asn1 create mode 100644 csta/CSTA-location-information-report.asn1 create mode 100644 csta/CSTA-location-session-info.asn1 create mode 100644 csta/CSTA-location-tracking-session-resumed.asn1 create mode 100644 csta/CSTA-location-tracking-session-suspended.asn1 create mode 100644 csta/CSTA-make-call.asn1 create mode 100644 csta/CSTA-make-connection.asn1 create mode 100644 csta/CSTA-make-predictive-call.asn1 create mode 100644 csta/CSTA-media-attached-event.asn1 create mode 100644 csta/CSTA-media-detached-event.asn1 create mode 100644 csta/CSTA-media-services.asn1 create mode 100644 csta/CSTA-message-waiting-event.asn1 create mode 100644 csta/CSTA-microphone-gain-event.asn1 create mode 100644 csta/CSTA-microphone-mute-event.asn1 create mode 100644 csta/CSTA-monitor-info.asn1 create mode 100644 csta/CSTA-monitor-start.asn1 create mode 100644 csta/CSTA-monitor-stop.asn1 create mode 100644 csta/CSTA-network-capabilities-changed-event.asn1 create mode 100644 csta/CSTA-network-reached-event.asn1 create mode 100644 csta/CSTA-not-recognized-event.asn1 create mode 100644 csta/CSTA-offered-event.asn1 create mode 100644 csta/CSTA-originated-event.asn1 create mode 100644 csta/CSTA-out-of-service-event.asn1 create mode 100644 csta/CSTA-park-call.asn1 create mode 100644 csta/CSTA-partially-in-service-event.asn1 create mode 100644 csta/CSTA-physical-device-feature.asn1 create mode 100644 csta/CSTA-play-event.asn1 create mode 100644 csta/CSTA-play-message.asn1 create mode 100644 csta/CSTA-presence-state-event.asn1 create mode 100644 csta/CSTA-private-data-version-selection.asn1 create mode 100644 csta/CSTA-private-event.asn1 create mode 100644 csta/CSTA-query-voice-attribute.asn1 create mode 100644 csta/CSTA-queue.asn1 create mode 100644 csta/CSTA-queued-event.asn1 create mode 100644 csta/CSTA-re-route-request.asn1 create mode 100644 csta/CSTA-recognized-event.asn1 create mode 100644 csta/CSTA-reconnect-call.asn1 create mode 100644 csta/CSTA-record-event.asn1 create mode 100644 csta/CSTA-record-message.asn1 create mode 100644 csta/CSTA-registration-info.asn1 create mode 100644 csta/CSTA-reposition.asn1 create mode 100644 csta/CSTA-request-system-status.asn1 create mode 100644 csta/CSTA-resume-data-collection.asn1 create mode 100644 csta/CSTA-resume-data-path.asn1 create mode 100644 csta/CSTA-resume-location-tracking-session.asn1 create mode 100644 csta/CSTA-resume.asn1 create mode 100644 csta/CSTA-retrieve-call.asn1 create mode 100644 csta/CSTA-retrieved-event.asn1 create mode 100644 csta/CSTA-review-event.asn1 create mode 100644 csta/CSTA-review.asn1 create mode 100644 csta/CSTA-ringer-status-event.asn1 create mode 100644 csta/CSTA-route-end-request.asn1 create mode 100644 csta/CSTA-route-register-abort.asn1 create mode 100644 csta/CSTA-route-register-cancel.asn1 create mode 100644 csta/CSTA-route-register.asn1 create mode 100644 csta/CSTA-route-reject.asn1 create mode 100644 csta/CSTA-route-request.asn1 create mode 100644 csta/CSTA-route-select-request.asn1 create mode 100644 csta/CSTA-route-used-request.asn1 create mode 100644 csta/CSTA-routeing-mode-event.asn1 create mode 100644 csta/CSTA-security.asn1 create mode 100644 csta/CSTA-send-broadcast-data.asn1 create mode 100644 csta/CSTA-send-data.asn1 create mode 100644 csta/CSTA-send-message.asn1 create mode 100644 csta/CSTA-send-multicast-data.asn1 create mode 100644 csta/CSTA-send-stored-call-detail-records.asn1 create mode 100644 csta/CSTA-send-user-information.asn1 create mode 100644 csta/CSTA-service-completion-failure-event.asn1 create mode 100644 csta/CSTA-service-initiated-event.asn1 create mode 100644 csta/CSTA-set-agent-state.asn1 create mode 100644 csta/CSTA-set-auto-answer.asn1 create mode 100644 csta/CSTA-set-auto-work-mode.asn1 create mode 100644 csta/CSTA-set-button-information.asn1 create mode 100644 csta/CSTA-set-caller-id-status.asn1 create mode 100644 csta/CSTA-set-display.asn1 create mode 100644 csta/CSTA-set-do-not-disturb.asn1 create mode 100644 csta/CSTA-set-forwarding.asn1 create mode 100644 csta/CSTA-set-hookswitch-status.asn1 create mode 100644 csta/CSTA-set-lamp-mode.asn1 create mode 100644 csta/CSTA-set-location-information.asn1 create mode 100644 csta/CSTA-set-message-waiting-indicator.asn1 create mode 100644 csta/CSTA-set-microphone-gain.asn1 create mode 100644 csta/CSTA-set-microphone-mute.asn1 create mode 100644 csta/CSTA-set-presence-state.asn1 create mode 100644 csta/CSTA-set-ringer-status.asn1 create mode 100644 csta/CSTA-set-routeing-mode.asn1 create mode 100644 csta/CSTA-set-speaker-mute.asn1 create mode 100644 csta/CSTA-set-speaker-volume.asn1 create mode 100644 csta/CSTA-set-voice-attribute.asn1 create mode 100644 csta/CSTA-silence-timeout-expired-event.asn1 create mode 100644 csta/CSTA-single-step-conference.asn1 create mode 100644 csta/CSTA-single-step-transfer.asn1 create mode 100644 csta/CSTA-snapshot-call-data.asn1 create mode 100644 csta/CSTA-snapshot-call.asn1 create mode 100644 csta/CSTA-snapshot-device-data.asn1 create mode 100644 csta/CSTA-snapshot-device.asn1 create mode 100644 csta/CSTA-speaker-mute-event.asn1 create mode 100644 csta/CSTA-speaker-volume-event.asn1 create mode 100644 csta/CSTA-speech-detected-event.asn1 create mode 100644 csta/CSTA-start-call-detail-records-transmission.asn1 create mode 100644 csta/CSTA-start-data-collection.asn1 create mode 100644 csta/CSTA-start-data-path.asn1 create mode 100644 csta/CSTA-start-location-tracking-session.asn1 create mode 100644 csta/CSTA-start.asn1 create mode 100644 csta/CSTA-started-event.asn1 create mode 100644 csta/CSTA-status-reporting.asn1 create mode 100644 csta/CSTA-stop-call-detail-records.asn1 create mode 100644 csta/CSTA-stop-data-collection.asn1 create mode 100644 csta/CSTA-stop-data-path.asn1 create mode 100644 csta/CSTA-stop-event.asn1 create mode 100644 csta/CSTA-stop-location-tracking-session.asn1 create mode 100644 csta/CSTA-stop.asn1 create mode 100644 csta/CSTA-suspend-data-collection.asn1 create mode 100644 csta/CSTA-suspend-data-path.asn1 create mode 100644 csta/CSTA-suspend-location-tracking-session.asn1 create mode 100644 csta/CSTA-suspend-play-event.asn1 create mode 100644 csta/CSTA-suspend-record-event.asn1 create mode 100644 csta/CSTA-suspend.asn1 create mode 100644 csta/CSTA-switching-function-capabilities-changed.asn1 create mode 100644 csta/CSTA-switching-function-devices-changed.asn1 create mode 100644 csta/CSTA-switching-function-devices.asn1 create mode 100644 csta/CSTA-switching-function-objects.asn1 create mode 100644 csta/CSTA-synthesize-message.asn1 create mode 100644 csta/CSTA-system-register-abort.asn1 create mode 100644 csta/CSTA-system-register-cancel.asn1 create mode 100644 csta/CSTA-system-register.asn1 create mode 100644 csta/CSTA-system-status.asn1 create mode 100644 csta/CSTA-telephony-tones-generated-event.asn1 create mode 100644 csta/CSTA-transfer-call.asn1 create mode 100644 csta/CSTA-transferred-event.asn1 create mode 100644 csta/CSTA-voice-attributes-change-event.asn1 create mode 100644 csta/CSTA-voice-error-occured-event.asn1 create mode 100644 kme/CSTA-application-context-information-csta3.asn1 create mode 100644 kme/KME-specific-types.asn1 create mode 100644 rose/Remote-Operations-Information-Objects.asn1 create mode 100644 rose/Remote-Operations-Useful-Definitions.asn1 create mode 100644 tda.erl diff --git a/ACSE-1.erl b/ACSE-1.erl new file mode 100644 index 0000000..86fec8b --- /dev/null +++ b/ACSE-1.erl @@ -0,0 +1,2014 @@ +%% Generated by the Erlang ASN.1 BER-compiler version:1.7 +%% Purpose: encoder and decoder to the types in mod ACSE-1 + +-module('ACSE-1'). +-include("ACSE-1.hrl"). +-define('RT_BER',asn1rt_ber_bin). +-asn1_info([{vsn,'1.7'}, + {module,'ACSE-1'}, + {options,[{i,[47,104,111,109,101,47,113,117,97,120,47,101,114,108,47,97,115,110]},warnings,ber,errors,{cwd,[47,104,111,109,101,47,113,117,97,120,47,101,114,108,47,97,115,110]},{outdir,[47,104,111,109,101,47,113,117,97,120,47,101,114,108,47,97,115,110]},{i,[46]},{i,[47,104,111,109,101,47,113,117,97,120,47,101,114,108,47,97,115,110,47,97,99,115,101]}]}]). + +-export([encoding_rule/0]). +-export([ +'enc_ACSE-apdu'/2, +'enc_AARQ-apdu'/2, +'enc_AARE-apdu'/2, +'enc_RLRQ-apdu'/2, +'enc_RLRE-apdu'/2, +'enc_ABRT-apdu'/2, +'enc_ABRT-diagnostic'/2, +'enc_ABRT-source'/2, +'enc_ACSE-requirements'/2, +'enc_Application-context-name-list'/2, +'enc_Application-context-name'/2, +'enc_AP-title'/2, +'enc_AE-qualifier'/2, +'enc_AP-title-form1'/2, +'enc_AE-qualifier-form1'/2, +'enc_AP-title-form2'/2, +'enc_AE-qualifier-form2'/2, +'enc_AE-title'/2, +'enc_AE-title-form1'/2, +'enc_AE-title-form2'/2, +'enc_AE-invocation-identifier'/2, +'enc_AP-invocation-identifier'/2, +'enc_Associate-result'/2, +'enc_Associate-source-diagnostic'/2, +'enc_Association-information'/2, +'enc_Authentication-value'/2, +'enc_Implementation-data'/2, +'enc_Mechanism-name'/2, +'enc_Release-request-reason'/2, +'enc_Release-response-reason'/2, +'enc_EXTERNAL'/2 +]). + +-export([ +'dec_ACSE-apdu'/2, +'dec_AARQ-apdu'/2, +'dec_AARE-apdu'/2, +'dec_RLRQ-apdu'/2, +'dec_RLRE-apdu'/2, +'dec_ABRT-apdu'/2, +'dec_ABRT-diagnostic'/2, +'dec_ABRT-source'/2, +'dec_ACSE-requirements'/2, +'dec_Application-context-name-list'/2, +'dec_Application-context-name'/2, +'dec_AP-title'/2, +'dec_AE-qualifier'/2, +'dec_AP-title-form1'/2, +'dec_AE-qualifier-form1'/2, +'dec_AP-title-form2'/2, +'dec_AE-qualifier-form2'/2, +'dec_AE-title'/2, +'dec_AE-title-form1'/2, +'dec_AE-title-form2'/2, +'dec_AE-invocation-identifier'/2, +'dec_AP-invocation-identifier'/2, +'dec_Associate-result'/2, +'dec_Associate-source-diagnostic'/2, +'dec_Association-information'/2, +'dec_Authentication-value'/2, +'dec_Implementation-data'/2, +'dec_Mechanism-name'/2, +'dec_Release-request-reason'/2, +'dec_Release-response-reason'/2, +'dec_EXTERNAL'/2 +]). + +-export([ +'dec_ACSE-apdu'/3, +'dec_AARQ-apdu'/3, +'dec_AARE-apdu'/3, +'dec_RLRQ-apdu'/3, +'dec_RLRE-apdu'/3, +'dec_ABRT-apdu'/3, +'dec_ABRT-diagnostic'/3, +'dec_ABRT-source'/3, +'dec_ACSE-requirements'/3, +'dec_Application-context-name-list'/3, +'dec_Application-context-name'/3, +'dec_AP-title'/3, +'dec_AE-qualifier'/3, +'dec_AP-title-form1'/3, +'dec_AE-qualifier-form1'/3, +'dec_AP-title-form2'/3, +'dec_AE-qualifier-form2'/3, +'dec_AE-title'/3, +'dec_AE-title-form1'/3, +'dec_AE-title-form2'/3, +'dec_AE-invocation-identifier'/3, +'dec_AP-invocation-identifier'/3, +'dec_Associate-result'/3, +'dec_Associate-source-diagnostic'/3, +'dec_Association-information'/3, +'dec_Authentication-value'/3, +'dec_Implementation-data'/3, +'dec_Mechanism-name'/3, +'dec_Release-request-reason'/3, +'dec_Release-response-reason'/3, +'dec_EXTERNAL'/3 +]). + +-export([ +'acse-as-id'/0, +'aCSE-id'/0 +]). + +-export([ +'getenc_ObjectSet'/2 +]). + +-export([ +'getdec_ObjectSet'/2 +]). + +-export([info/0]). + + +-export([encode/2,decode/2,encode_disp/2,decode_disp/2]). + +encoding_rule() -> + ber. + +encode(Type,Data) -> +case catch encode_disp(Type,Data) of + {'EXIT',{error,Reason}} -> + {error,Reason}; + {'EXIT',Reason} -> + {error,{asn1,Reason}}; + {Bytes,_Len} -> + {ok,wrap_encode(Bytes)}; + Bytes -> + {ok,wrap_encode(Bytes)} +end. + +decode(Type,Data) -> +case catch decode_disp(Type,wrap_decode(Data)) of + {'EXIT',{error,Reason}} -> + {error,Reason}; + {'EXIT',Reason} -> + {error,{asn1,Reason}}; + {X,_Rest} -> + {ok,X}; + {X,_Rest,_Len} -> + {ok,X} +end. + +encode_disp('ACSE-apdu',Data) -> 'enc_ACSE-apdu'(Data,[]); +encode_disp('AARQ-apdu',Data) -> 'enc_AARQ-apdu'(Data,[]); +encode_disp('AARE-apdu',Data) -> 'enc_AARE-apdu'(Data,[]); +encode_disp('RLRQ-apdu',Data) -> 'enc_RLRQ-apdu'(Data,[]); +encode_disp('RLRE-apdu',Data) -> 'enc_RLRE-apdu'(Data,[]); +encode_disp('ABRT-apdu',Data) -> 'enc_ABRT-apdu'(Data,[]); +encode_disp('ABRT-diagnostic',Data) -> 'enc_ABRT-diagnostic'(Data,[]); +encode_disp('ABRT-source',Data) -> 'enc_ABRT-source'(Data,[]); +encode_disp('ACSE-requirements',Data) -> 'enc_ACSE-requirements'(Data,[]); +encode_disp('Application-context-name-list',Data) -> 'enc_Application-context-name-list'(Data,[]); +encode_disp('Application-context-name',Data) -> 'enc_Application-context-name'(Data,[]); +encode_disp('AP-title',Data) -> 'enc_AP-title'(Data,[]); +encode_disp('AE-qualifier',Data) -> 'enc_AE-qualifier'(Data,[]); +encode_disp('AP-title-form1',Data) -> 'enc_AP-title-form1'(Data,[]); +encode_disp('AE-qualifier-form1',Data) -> 'enc_AE-qualifier-form1'(Data,[]); +encode_disp('AP-title-form2',Data) -> 'enc_AP-title-form2'(Data,[]); +encode_disp('AE-qualifier-form2',Data) -> 'enc_AE-qualifier-form2'(Data,[]); +encode_disp('AE-title',Data) -> 'enc_AE-title'(Data,[]); +encode_disp('AE-title-form1',Data) -> 'enc_AE-title-form1'(Data,[]); +encode_disp('AE-title-form2',Data) -> 'enc_AE-title-form2'(Data,[]); +encode_disp('AE-invocation-identifier',Data) -> 'enc_AE-invocation-identifier'(Data,[]); +encode_disp('AP-invocation-identifier',Data) -> 'enc_AP-invocation-identifier'(Data,[]); +encode_disp('Associate-result',Data) -> 'enc_Associate-result'(Data,[]); +encode_disp('Associate-source-diagnostic',Data) -> 'enc_Associate-source-diagnostic'(Data,[]); +encode_disp('Association-information',Data) -> 'enc_Association-information'(Data,[]); +encode_disp('Authentication-value',Data) -> 'enc_Authentication-value'(Data,[]); +encode_disp('Implementation-data',Data) -> 'enc_Implementation-data'(Data,[]); +encode_disp('Mechanism-name',Data) -> 'enc_Mechanism-name'(Data,[]); +encode_disp('Release-request-reason',Data) -> 'enc_Release-request-reason'(Data,[]); +encode_disp('Release-response-reason',Data) -> 'enc_Release-response-reason'(Data,[]); +encode_disp('EXTERNAL',Data) -> 'enc_EXTERNAL'(Data,[]); +encode_disp(Type,_Data) -> exit({error,{asn1,{undefined_type,Type}}}). + + +decode_disp('ACSE-apdu',Data) -> 'dec_ACSE-apdu'(Data,mandatory); +decode_disp('AARQ-apdu',Data) -> 'dec_AARQ-apdu'(Data,mandatory); +decode_disp('AARE-apdu',Data) -> 'dec_AARE-apdu'(Data,mandatory); +decode_disp('RLRQ-apdu',Data) -> 'dec_RLRQ-apdu'(Data,mandatory); +decode_disp('RLRE-apdu',Data) -> 'dec_RLRE-apdu'(Data,mandatory); +decode_disp('ABRT-apdu',Data) -> 'dec_ABRT-apdu'(Data,mandatory); +decode_disp('ABRT-diagnostic',Data) -> 'dec_ABRT-diagnostic'(Data,mandatory); +decode_disp('ABRT-source',Data) -> 'dec_ABRT-source'(Data,mandatory); +decode_disp('ACSE-requirements',Data) -> 'dec_ACSE-requirements'(Data,mandatory); +decode_disp('Application-context-name-list',Data) -> 'dec_Application-context-name-list'(Data,mandatory); +decode_disp('Application-context-name',Data) -> 'dec_Application-context-name'(Data,mandatory); +decode_disp('AP-title',Data) -> 'dec_AP-title'(Data,mandatory); +decode_disp('AE-qualifier',Data) -> 'dec_AE-qualifier'(Data,mandatory); +decode_disp('AP-title-form1',Data) -> 'dec_AP-title-form1'(Data,mandatory); +decode_disp('AE-qualifier-form1',Data) -> 'dec_AE-qualifier-form1'(Data,mandatory); +decode_disp('AP-title-form2',Data) -> 'dec_AP-title-form2'(Data,mandatory); +decode_disp('AE-qualifier-form2',Data) -> 'dec_AE-qualifier-form2'(Data,mandatory); +decode_disp('AE-title',Data) -> 'dec_AE-title'(Data,mandatory); +decode_disp('AE-title-form1',Data) -> 'dec_AE-title-form1'(Data,mandatory); +decode_disp('AE-title-form2',Data) -> 'dec_AE-title-form2'(Data,mandatory); +decode_disp('AE-invocation-identifier',Data) -> 'dec_AE-invocation-identifier'(Data,mandatory); +decode_disp('AP-invocation-identifier',Data) -> 'dec_AP-invocation-identifier'(Data,mandatory); +decode_disp('Associate-result',Data) -> 'dec_Associate-result'(Data,mandatory); +decode_disp('Associate-source-diagnostic',Data) -> 'dec_Associate-source-diagnostic'(Data,mandatory); +decode_disp('Association-information',Data) -> 'dec_Association-information'(Data,mandatory); +decode_disp('Authentication-value',Data) -> 'dec_Authentication-value'(Data,mandatory); +decode_disp('Implementation-data',Data) -> 'dec_Implementation-data'(Data,mandatory); +decode_disp('Mechanism-name',Data) -> 'dec_Mechanism-name'(Data,mandatory); +decode_disp('Release-request-reason',Data) -> 'dec_Release-request-reason'(Data,mandatory); +decode_disp('Release-response-reason',Data) -> 'dec_Release-response-reason'(Data,mandatory); +decode_disp('EXTERNAL',Data) -> 'dec_EXTERNAL'(Data,mandatory); +decode_disp(Type,_Data) -> exit({error,{asn1,{undefined_type,Type}}}). + + + +wrap_encode(Bytes) when is_list(Bytes) -> + binary_to_list(list_to_binary(Bytes)); +wrap_encode(Bytes) when is_binary(Bytes) -> + binary_to_list(Bytes); +wrap_encode(Bytes) -> Bytes. + +wrap_decode(Bytes) when is_list(Bytes) -> + list_to_binary(Bytes); +wrap_decode(Bytes) -> Bytes. + + +info() -> + case ?MODULE:module_info() of + MI when is_list(MI) -> + case lists:keysearch(attributes,1,MI) of + {value,{_,Attributes}} when is_list(Attributes) -> + case lists:keysearch(asn1_info,1,Attributes) of + {value,{_,Info}} when is_list(Info) -> + Info; + _ -> + [] + end; + _ -> + [] + end + end. + + +%%================================ +%% ACSE-apdu +%%================================ + +'enc_ACSE-apdu'({'ACSE-apdu',Val}, TagIn) -> + 'enc_ACSE-apdu'(Val, TagIn); + +'enc_ACSE-apdu'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + aarq -> + 'enc_AARQ-apdu'(element(2,Val), []); + aare -> + 'enc_AARE-apdu'(element(2,Val), []); + rlrq -> + 'enc_RLRQ-apdu'(element(2,Val), []); + rlre -> + 'enc_RLRE-apdu'(element(2,Val), []); + abrt -> + 'enc_ABRT-apdu'(element(2,Val), []); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_ACSE-apdu'(Bytes, OptOrMand) -> + 'dec_ACSE-apdu'(Bytes, OptOrMand, []). + +'dec_ACSE-apdu'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'aarq' + <<1:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_AARQ-apdu'(Bytes1, mandatory, []), + {{aarq, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'aare' + <<1:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_AARE-apdu'(Bytes1, mandatory, []), + {{aare, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'rlrq' + <<1:2,_:1,2:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_RLRQ-apdu'(Bytes1, mandatory, []), + {{rlrq, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'rlre' + <<1:2,_:1,3:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_RLRE-apdu'(Bytes1, mandatory, []), + {{rlre, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'abrt' + <<1:2,_:1,4:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_ABRT-apdu'(Bytes1, mandatory, []), + {{abrt, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + _ -> + {{asn1_ExtAlt,Bytes1},<<>>, RbExp} + end. + + +%%================================ +%% AARQ-apdu +%%================================ +'enc_AARQ-apdu'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type BIT STRING DEFAULT = [version1] +%%------------------------------------------------- + {EncBytes1,EncLen1} = case ?RT_BER:cindex(2,Val,'protocol-version') of + asn1_DEFAULT -> {<<>>,0}; + [version1] -> {<<>>,0}; + _ -> + ?RT_BER:encode_bit_string([], ?RT_BER:cindex(2,Val,'protocol-version'), [{version1,0}], [{tag,128,0,'IMPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 2 with type OBJECT IDENTIFIER +%%------------------------------------------------- + {EncBytes2,EncLen2} = ?RT_BER:encode_object_identifier(?RT_BER:cindex(3,Val,'application-context-name'), [{tag,128,1,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 3 External ACSE-1:AP-title OPTIONAL +%%------------------------------------------------- + {EncBytes3,EncLen3} = case ?RT_BER:cindex(4,Val,'called-AP-title') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_AP-title'(?RT_BER:cindex(4,Val,'called-AP-title'), [{tag,128,2,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 4 External ACSE-1:AE-qualifier OPTIONAL +%%------------------------------------------------- + {EncBytes4,EncLen4} = case ?RT_BER:cindex(5,Val,'called-AE-qualifier') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_AE-qualifier'(?RT_BER:cindex(5,Val,'called-AE-qualifier'), [{tag,128,3,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 5 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes5,EncLen5} = case ?RT_BER:cindex(6,Val,'called-AP-invocation-identifier') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(6,Val,'called-AP-invocation-identifier'), [{tag,128,4,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 6 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes6,EncLen6} = case ?RT_BER:cindex(7,Val,'called-AE-invocation-identifier') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(7,Val,'called-AE-invocation-identifier'), [{tag,128,5,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 7 External ACSE-1:AP-title OPTIONAL +%%------------------------------------------------- + {EncBytes7,EncLen7} = case ?RT_BER:cindex(8,Val,'calling-AP-title') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_AP-title'(?RT_BER:cindex(8,Val,'calling-AP-title'), [{tag,128,6,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 8 External ACSE-1:AE-qualifier OPTIONAL +%%------------------------------------------------- + {EncBytes8,EncLen8} = case ?RT_BER:cindex(9,Val,'calling-AE-qualifier') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_AE-qualifier'(?RT_BER:cindex(9,Val,'calling-AE-qualifier'), [{tag,128,7,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 9 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes9,EncLen9} = case ?RT_BER:cindex(10,Val,'calling-AP-invocation-identifier') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(10,Val,'calling-AP-invocation-identifier'), [{tag,128,8,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 10 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes10,EncLen10} = case ?RT_BER:cindex(11,Val,'calling-AE-invocation-identifier') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(11,Val,'calling-AE-invocation-identifier'), [{tag,128,9,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 11 with type BIT STRING OPTIONAL +%%------------------------------------------------- + {EncBytes11,EncLen11} = case ?RT_BER:cindex(12,Val,'sender-acse-requirements') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_bit_string([], ?RT_BER:cindex(12,Val,'sender-acse-requirements'), [{authentication,0},{'application-context-negotiation',1}], [{tag,128,10,'IMPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 12 with type OBJECT IDENTIFIER OPTIONAL +%%------------------------------------------------- + {EncBytes12,EncLen12} = case ?RT_BER:cindex(13,Val,'mechanism-name') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_object_identifier(?RT_BER:cindex(13,Val,'mechanism-name'), [{tag,128,11,'IMPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 13 External ACSE-1:Authentication-value OPTIONAL +%%------------------------------------------------- + {EncBytes13,EncLen13} = case ?RT_BER:cindex(14,Val,'calling-authentication-value') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_Authentication-value'(?RT_BER:cindex(14,Val,'calling-authentication-value'), [{tag,128,12,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 14 External ACSE-1:Application-context-name-list OPTIONAL +%%------------------------------------------------- + {EncBytes14,EncLen14} = case ?RT_BER:cindex(15,Val,'application-context-name-list') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_Application-context-name-list'(?RT_BER:cindex(15,Val,'application-context-name-list'), [{tag,128,13,'IMPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 15 with type GraphicString OPTIONAL +%%------------------------------------------------- + {EncBytes15,EncLen15} = case ?RT_BER:cindex(16,Val,'implementation-information') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(16,Val,'implementation-information'), 25, [{tag,128,29,'IMPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 16 External ACSE-1:Association-information OPTIONAL +%%------------------------------------------------- + {EncBytes16,EncLen16} = case ?RT_BER:cindex(17,Val,'user-information') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_Association-information'(?RT_BER:cindex(17,Val,'user-information'), [{tag,128,30,'IMPLICIT',32}]) + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5, EncBytes6, EncBytes7, EncBytes8, EncBytes9, EncBytes10, EncBytes11, EncBytes12, EncBytes13, EncBytes14, EncBytes15, EncBytes16], + LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5 + EncLen6 + EncLen7 + EncLen8 + EncLen9 + EncLen10 + EncLen11 + EncLen12 + EncLen13 + EncLen14 + EncLen15 + EncLen16, + ?RT_BER:encode_tags(TagIn ++ [{tag,64,0,'IMPLICIT',32},{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_AARQ-apdu'(Bytes, OptOrMand) -> + 'dec_AARQ-apdu'(Bytes, OptOrMand, []). + +'dec_AARQ-apdu'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,64,0,'IMPLICIT',32},{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type BIT STRING DEFAULT = [version1] +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = case Bytes2 of +<<2:2,_:1,0:5,_/binary>> -> +?RT_BER:decode_bit_string(Bytes2,[],[{version1,0}],[{tag,128,0,'IMPLICIT',32}], no_length, mandatory); +_ -> +{[version1],Bytes2, 0 } +end, + +%%------------------------------------------------- +%% attribute number 2 with type OBJECT IDENTIFIER +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_object_identifier(Bytes3,[{tag,128,1,'EXPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 3 External ACSE-1:AP-title OPTIONAL +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = case Bytes4 of +<<2:2,_:1,2:5,_/binary>> -> +'dec_AP-title'(Bytes4, opt_or_default, [{tag,128,2,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes4, 0 } +end, + +%%------------------------------------------------- +%% attribute number 4 External ACSE-1:AE-qualifier OPTIONAL +%%------------------------------------------------- + {Term4,Bytes6,Rb5} = case Bytes5 of +<<2:2,_:1,3:5,_/binary>> -> +'dec_AE-qualifier'(Bytes5, opt_or_default, [{tag,128,3,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes5, 0 } +end, + +%%------------------------------------------------- +%% attribute number 5 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term5,Bytes7,Rb6} = case Bytes6 of +<<2:2,_:1,4:5,_/binary>> -> +?RT_BER:decode_integer(Bytes6,[],[{tag,128,4,'EXPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes6, 0 } +end, + +%%------------------------------------------------- +%% attribute number 6 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term6,Bytes8,Rb7} = case Bytes7 of +<<2:2,_:1,5:5,_/binary>> -> +?RT_BER:decode_integer(Bytes7,[],[{tag,128,5,'EXPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes7, 0 } +end, + +%%------------------------------------------------- +%% attribute number 7 External ACSE-1:AP-title OPTIONAL +%%------------------------------------------------- + {Term7,Bytes9,Rb8} = case Bytes8 of +<<2:2,_:1,6:5,_/binary>> -> +'dec_AP-title'(Bytes8, opt_or_default, [{tag,128,6,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes8, 0 } +end, + +%%------------------------------------------------- +%% attribute number 8 External ACSE-1:AE-qualifier OPTIONAL +%%------------------------------------------------- + {Term8,Bytes10,Rb9} = case Bytes9 of +<<2:2,_:1,7:5,_/binary>> -> +'dec_AE-qualifier'(Bytes9, opt_or_default, [{tag,128,7,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes9, 0 } +end, + +%%------------------------------------------------- +%% attribute number 9 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term9,Bytes11,Rb10} = case Bytes10 of +<<2:2,_:1,8:5,_/binary>> -> +?RT_BER:decode_integer(Bytes10,[],[{tag,128,8,'EXPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes10, 0 } +end, + +%%------------------------------------------------- +%% attribute number 10 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term10,Bytes12,Rb11} = case Bytes11 of +<<2:2,_:1,9:5,_/binary>> -> +?RT_BER:decode_integer(Bytes11,[],[{tag,128,9,'EXPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes11, 0 } +end, + +%%------------------------------------------------- +%% attribute number 11 with type BIT STRING OPTIONAL +%%------------------------------------------------- + {Term11,Bytes13,Rb12} = case Bytes12 of +<<2:2,_:1,10:5,_/binary>> -> +?RT_BER:decode_bit_string(Bytes12,[],[{authentication,0},{'application-context-negotiation',1}],[{tag,128,10,'IMPLICIT',32}], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes12, 0 } +end, + +%%------------------------------------------------- +%% attribute number 12 with type OBJECT IDENTIFIER OPTIONAL +%%------------------------------------------------- + {Term12,Bytes14,Rb13} = case Bytes13 of +<<2:2,_:1,11:5,_/binary>> -> +?RT_BER:decode_object_identifier(Bytes13,[{tag,128,11,'IMPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes13, 0 } +end, + +%%------------------------------------------------- +%% attribute number 13 External ACSE-1:Authentication-value OPTIONAL +%%------------------------------------------------- + {Term13,Bytes15,Rb14} = case Bytes14 of +<<2:2,_:1,12:5,_/binary>> -> +'dec_Authentication-value'(Bytes14, opt_or_default, [{tag,128,12,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes14, 0 } +end, + +%%------------------------------------------------- +%% attribute number 14 External ACSE-1:Application-context-name-list OPTIONAL +%%------------------------------------------------- + {Term14,Bytes16,Rb15} = case Bytes15 of +<<2:2,_:1,13:5,_/binary>> -> +'dec_Application-context-name-list'(Bytes15, opt_or_default, [{tag,128,13,'IMPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes15, 0 } +end, + +%%------------------------------------------------- +%% attribute number 15 with type GraphicString OPTIONAL +%%------------------------------------------------- + {Term15,Bytes17,Rb16} = case Bytes16 of +<<2:2,_:1,29:5,_/binary>> -> +?RT_BER:decode_restricted_string(Bytes16,[],25,[{tag,128,29,'IMPLICIT',32}], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes16, 0 } +end, + {Bytes18, Rb17} = ?RT_BER:skip_ExtensionAdditions(Bytes17, [{tag,128,30,'IMPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 15 External ACSE-1:Association-information OPTIONAL +%%------------------------------------------------- + {Term16,Bytes19,Rb18} = case Bytes18 of +<<2:2,_:1,30:5,_/binary>> -> +'dec_Association-information'(Bytes18, opt_or_default, [{tag,128,30,'IMPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes18, 0 } +end, + + {Bytes20,Rb19} = ?RT_BER:restbytes2(RemBytes, Bytes19,noext), + {{'AARQ-apdu', Term1, Term2, Term3, Term4, Term5, Term6, Term7, Term8, Term9, Term10, Term11, Term12, Term13, Term14, Term15, Term16}, Bytes20, Rb1+Rb2+Rb3+Rb4+Rb5+Rb6+Rb7+Rb8+Rb9+Rb10+Rb11+Rb12+Rb13+Rb14+Rb15+Rb16+Rb17+Rb18+Rb19}. + + +%%================================ +%% AARE-apdu +%%================================ +'enc_AARE-apdu'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type BIT STRING DEFAULT = [version1] +%%------------------------------------------------- + {EncBytes1,EncLen1} = case ?RT_BER:cindex(2,Val,'protocol-version') of + asn1_DEFAULT -> {<<>>,0}; + [version1] -> {<<>>,0}; + _ -> + ?RT_BER:encode_bit_string([], ?RT_BER:cindex(2,Val,'protocol-version'), [{version1,0}], [{tag,128,0,'IMPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 2 with type OBJECT IDENTIFIER +%%------------------------------------------------- + {EncBytes2,EncLen2} = ?RT_BER:encode_object_identifier(?RT_BER:cindex(3,Val,'application-context-name'), [{tag,128,1,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 3 with type INTEGER +%%------------------------------------------------- + {EncBytes3,EncLen3} = ?RT_BER:encode_integer([], ?RT_BER:cindex(4,Val,result), [{accepted,0},{'rejected-permanent',1},{'rejected-transient',2}], [{tag,128,2,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 4 External ACSE-1:Associate-source-diagnostic +%%------------------------------------------------- + {EncBytes4,EncLen4} = 'enc_Associate-source-diagnostic'(?RT_BER:cindex(5,Val,'result-source-diagnostic'), [{tag,128,3,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 5 External ACSE-1:AP-title OPTIONAL +%%------------------------------------------------- + {EncBytes5,EncLen5} = case ?RT_BER:cindex(6,Val,'responding-AP-title') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_AP-title'(?RT_BER:cindex(6,Val,'responding-AP-title'), [{tag,128,4,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 6 External ACSE-1:AE-qualifier OPTIONAL +%%------------------------------------------------- + {EncBytes6,EncLen6} = case ?RT_BER:cindex(7,Val,'responding-AE-qualifier') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_AE-qualifier'(?RT_BER:cindex(7,Val,'responding-AE-qualifier'), [{tag,128,5,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 7 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes7,EncLen7} = case ?RT_BER:cindex(8,Val,'responding-AP-invocation-identifier') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(8,Val,'responding-AP-invocation-identifier'), [{tag,128,6,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 8 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes8,EncLen8} = case ?RT_BER:cindex(9,Val,'responding-AE-invocation-identifier') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(9,Val,'responding-AE-invocation-identifier'), [{tag,128,7,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 9 with type BIT STRING OPTIONAL +%%------------------------------------------------- + {EncBytes9,EncLen9} = case ?RT_BER:cindex(10,Val,'responder-acse-requirements') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_bit_string([], ?RT_BER:cindex(10,Val,'responder-acse-requirements'), [{authentication,0},{'application-context-negotiation',1}], [{tag,128,8,'IMPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 10 with type OBJECT IDENTIFIER OPTIONAL +%%------------------------------------------------- + {EncBytes10,EncLen10} = case ?RT_BER:cindex(11,Val,'mechanism-name') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_object_identifier(?RT_BER:cindex(11,Val,'mechanism-name'), [{tag,128,9,'IMPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 11 External ACSE-1:Authentication-value OPTIONAL +%%------------------------------------------------- + {EncBytes11,EncLen11} = case ?RT_BER:cindex(12,Val,'responding-authentication-value') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_Authentication-value'(?RT_BER:cindex(12,Val,'responding-authentication-value'), [{tag,128,10,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 12 External ACSE-1:Application-context-name-list OPTIONAL +%%------------------------------------------------- + {EncBytes12,EncLen12} = case ?RT_BER:cindex(13,Val,'application-context-name-list') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_Application-context-name-list'(?RT_BER:cindex(13,Val,'application-context-name-list'), [{tag,128,11,'IMPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 13 with type GraphicString OPTIONAL +%%------------------------------------------------- + {EncBytes13,EncLen13} = case ?RT_BER:cindex(14,Val,'implementation-information') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(14,Val,'implementation-information'), 25, [{tag,128,29,'IMPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 14 External ACSE-1:Association-information OPTIONAL +%%------------------------------------------------- + {EncBytes14,EncLen14} = case ?RT_BER:cindex(15,Val,'user-information') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_Association-information'(?RT_BER:cindex(15,Val,'user-information'), [{tag,128,30,'IMPLICIT',32}]) + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5, EncBytes6, EncBytes7, EncBytes8, EncBytes9, EncBytes10, EncBytes11, EncBytes12, EncBytes13, EncBytes14], + LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5 + EncLen6 + EncLen7 + EncLen8 + EncLen9 + EncLen10 + EncLen11 + EncLen12 + EncLen13 + EncLen14, + ?RT_BER:encode_tags(TagIn ++ [{tag,64,1,'IMPLICIT',32},{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_AARE-apdu'(Bytes, OptOrMand) -> + 'dec_AARE-apdu'(Bytes, OptOrMand, []). + +'dec_AARE-apdu'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,64,1,'IMPLICIT',32},{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type BIT STRING DEFAULT = [version1] +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = case Bytes2 of +<<2:2,_:1,0:5,_/binary>> -> +?RT_BER:decode_bit_string(Bytes2,[],[{version1,0}],[{tag,128,0,'IMPLICIT',32}], no_length, mandatory); +_ -> +{[version1],Bytes2, 0 } +end, + +%%------------------------------------------------- +%% attribute number 2 with type OBJECT IDENTIFIER +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_object_identifier(Bytes3,[{tag,128,1,'EXPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 3 with type INTEGER +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = ?RT_BER:decode_integer(Bytes4,[],[{accepted,0},{'rejected-permanent',1},{'rejected-transient',2}],[{tag,128,2,'EXPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 4 External ACSE-1:Associate-source-diagnostic +%%------------------------------------------------- + {Term4,Bytes6,Rb5} = 'dec_Associate-source-diagnostic'(Bytes5, mandatory, [{tag,128,3,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 5 External ACSE-1:AP-title OPTIONAL +%%------------------------------------------------- + {Term5,Bytes7,Rb6} = case Bytes6 of +<<2:2,_:1,4:5,_/binary>> -> +'dec_AP-title'(Bytes6, opt_or_default, [{tag,128,4,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes6, 0 } +end, + +%%------------------------------------------------- +%% attribute number 6 External ACSE-1:AE-qualifier OPTIONAL +%%------------------------------------------------- + {Term6,Bytes8,Rb7} = case Bytes7 of +<<2:2,_:1,5:5,_/binary>> -> +'dec_AE-qualifier'(Bytes7, opt_or_default, [{tag,128,5,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes7, 0 } +end, + +%%------------------------------------------------- +%% attribute number 7 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term7,Bytes9,Rb8} = case Bytes8 of +<<2:2,_:1,6:5,_/binary>> -> +?RT_BER:decode_integer(Bytes8,[],[{tag,128,6,'EXPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes8, 0 } +end, + +%%------------------------------------------------- +%% attribute number 8 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term8,Bytes10,Rb9} = case Bytes9 of +<<2:2,_:1,7:5,_/binary>> -> +?RT_BER:decode_integer(Bytes9,[],[{tag,128,7,'EXPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes9, 0 } +end, + +%%------------------------------------------------- +%% attribute number 9 with type BIT STRING OPTIONAL +%%------------------------------------------------- + {Term9,Bytes11,Rb10} = case Bytes10 of +<<2:2,_:1,8:5,_/binary>> -> +?RT_BER:decode_bit_string(Bytes10,[],[{authentication,0},{'application-context-negotiation',1}],[{tag,128,8,'IMPLICIT',32}], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes10, 0 } +end, + +%%------------------------------------------------- +%% attribute number 10 with type OBJECT IDENTIFIER OPTIONAL +%%------------------------------------------------- + {Term10,Bytes12,Rb11} = case Bytes11 of +<<2:2,_:1,9:5,_/binary>> -> +?RT_BER:decode_object_identifier(Bytes11,[{tag,128,9,'IMPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes11, 0 } +end, + +%%------------------------------------------------- +%% attribute number 11 External ACSE-1:Authentication-value OPTIONAL +%%------------------------------------------------- + {Term11,Bytes13,Rb12} = case Bytes12 of +<<2:2,_:1,10:5,_/binary>> -> +'dec_Authentication-value'(Bytes12, opt_or_default, [{tag,128,10,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes12, 0 } +end, + +%%------------------------------------------------- +%% attribute number 12 External ACSE-1:Application-context-name-list OPTIONAL +%%------------------------------------------------- + {Term12,Bytes14,Rb13} = case Bytes13 of +<<2:2,_:1,11:5,_/binary>> -> +'dec_Application-context-name-list'(Bytes13, opt_or_default, [{tag,128,11,'IMPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes13, 0 } +end, + +%%------------------------------------------------- +%% attribute number 13 with type GraphicString OPTIONAL +%%------------------------------------------------- + {Term13,Bytes15,Rb14} = case Bytes14 of +<<2:2,_:1,29:5,_/binary>> -> +?RT_BER:decode_restricted_string(Bytes14,[],25,[{tag,128,29,'IMPLICIT',32}], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes14, 0 } +end, + {Bytes16, Rb15} = ?RT_BER:skip_ExtensionAdditions(Bytes15, [{tag,128,30,'IMPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 13 External ACSE-1:Association-information OPTIONAL +%%------------------------------------------------- + {Term14,Bytes17,Rb16} = case Bytes16 of +<<2:2,_:1,30:5,_/binary>> -> +'dec_Association-information'(Bytes16, opt_or_default, [{tag,128,30,'IMPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes16, 0 } +end, + + {Bytes18,Rb17} = ?RT_BER:restbytes2(RemBytes, Bytes17,noext), + {{'AARE-apdu', Term1, Term2, Term3, Term4, Term5, Term6, Term7, Term8, Term9, Term10, Term11, Term12, Term13, Term14}, Bytes18, Rb1+Rb2+Rb3+Rb4+Rb5+Rb6+Rb7+Rb8+Rb9+Rb10+Rb11+Rb12+Rb13+Rb14+Rb15+Rb16+Rb17}. + + +%%================================ +%% RLRQ-apdu +%%================================ +'enc_RLRQ-apdu'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes1,EncLen1} = case ?RT_BER:cindex(2,Val,reason) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(2,Val,reason), [{normal,0},{urgent,1},{'user-defined',30}], [{tag,128,0,'IMPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 2 External ACSE-1:Association-information OPTIONAL +%%------------------------------------------------- + {EncBytes2,EncLen2} = case ?RT_BER:cindex(3,Val,'user-information') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_Association-information'(?RT_BER:cindex(3,Val,'user-information'), [{tag,128,30,'IMPLICIT',32}]) + end, + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,64,2,'IMPLICIT',32},{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_RLRQ-apdu'(Bytes, OptOrMand) -> + 'dec_RLRQ-apdu'(Bytes, OptOrMand, []). + +'dec_RLRQ-apdu'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,64,2,'IMPLICIT',32},{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = case Bytes2 of +<<2:2,_:1,0:5,_/binary>> -> +?RT_BER:decode_integer(Bytes2,[],[{normal,0},{urgent,1},{'user-defined',30}],[{tag,128,0,'IMPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes2, 0 } +end, + {Bytes4, Rb3} = ?RT_BER:skip_ExtensionAdditions(Bytes3, [{tag,128,30,'IMPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 1 External ACSE-1:Association-information OPTIONAL +%%------------------------------------------------- + {Term2,Bytes5,Rb4} = case Bytes4 of +<<2:2,_:1,30:5,_/binary>> -> +'dec_Association-information'(Bytes4, opt_or_default, [{tag,128,30,'IMPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes4, 0 } +end, + + {Bytes6,Rb5} = ?RT_BER:restbytes2(RemBytes, Bytes5,noext), + {{'RLRQ-apdu', Term1, Term2}, Bytes6, Rb1+Rb2+Rb3+Rb4+Rb5}. + + +%%================================ +%% RLRE-apdu +%%================================ +'enc_RLRE-apdu'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes1,EncLen1} = case ?RT_BER:cindex(2,Val,reason) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(2,Val,reason), [{normal,0},{'not-finished',1},{'user-defined',30}], [{tag,128,0,'IMPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 2 External ACSE-1:Association-information OPTIONAL +%%------------------------------------------------- + {EncBytes2,EncLen2} = case ?RT_BER:cindex(3,Val,'user-information') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_Association-information'(?RT_BER:cindex(3,Val,'user-information'), [{tag,128,30,'IMPLICIT',32}]) + end, + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,64,3,'IMPLICIT',32},{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_RLRE-apdu'(Bytes, OptOrMand) -> + 'dec_RLRE-apdu'(Bytes, OptOrMand, []). + +'dec_RLRE-apdu'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,64,3,'IMPLICIT',32},{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = case Bytes2 of +<<2:2,_:1,0:5,_/binary>> -> +?RT_BER:decode_integer(Bytes2,[],[{normal,0},{'not-finished',1},{'user-defined',30}],[{tag,128,0,'IMPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes2, 0 } +end, + {Bytes4, Rb3} = ?RT_BER:skip_ExtensionAdditions(Bytes3, [{tag,128,30,'IMPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 1 External ACSE-1:Association-information OPTIONAL +%%------------------------------------------------- + {Term2,Bytes5,Rb4} = case Bytes4 of +<<2:2,_:1,30:5,_/binary>> -> +'dec_Association-information'(Bytes4, opt_or_default, [{tag,128,30,'IMPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes4, 0 } +end, + + {Bytes6,Rb5} = ?RT_BER:restbytes2(RemBytes, Bytes5,noext), + {{'RLRE-apdu', Term1, Term2}, Bytes6, Rb1+Rb2+Rb3+Rb4+Rb5}. + + +%%================================ +%% ABRT-apdu +%%================================ +'enc_ABRT-apdu'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_integer([], ?RT_BER:cindex(2,Val,'abort-source'), [{'acse-service-user',0},{'acse-service-provider',1}], [{tag,128,0,'IMPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED OPTIONAL +%%------------------------------------------------- + {EncBytes2,EncLen2} = case ?RT_BER:cindex(3,Val,'abort-diagnostic') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + case (case ?RT_BER:cindex(3,Val,'abort-diagnostic') of {_,Enumval2}->Enumval2;_->?RT_BER:cindex(3,Val,'abort-diagnostic') end) of +'no-reason-given' -> ?RT_BER:encode_enumerated(1,[{tag,128,1,'IMPLICIT',32}]); +'protocol-error' -> ?RT_BER:encode_enumerated(2,[{tag,128,1,'IMPLICIT',32}]); +'authentication-mechanism-name-not-recognized' -> ?RT_BER:encode_enumerated(3,[{tag,128,1,'IMPLICIT',32}]); +'authentication-mechanism-name-required' -> ?RT_BER:encode_enumerated(4,[{tag,128,1,'IMPLICIT',32}]); +'authentication-failure' -> ?RT_BER:encode_enumerated(5,[{tag,128,1,'IMPLICIT',32}]); +'authentication-required' -> ?RT_BER:encode_enumerated(6,[{tag,128,1,'IMPLICIT',32}]); +Enumval3 -> exit({error,{asn1, {enumerated_not_in_range,Enumval3}}}) +end + end, + +%%------------------------------------------------- +%% attribute number 3 External ACSE-1:Association-information OPTIONAL +%%------------------------------------------------- + {EncBytes3,EncLen3} = case ?RT_BER:cindex(4,Val,'user-information') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_Association-information'(?RT_BER:cindex(4,Val,'user-information'), [{tag,128,30,'IMPLICIT',32}]) + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], + LenSoFar = EncLen1 + EncLen2 + EncLen3, + ?RT_BER:encode_tags(TagIn ++ [{tag,64,4,'IMPLICIT',32},{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_ABRT-apdu'(Bytes, OptOrMand) -> + 'dec_ABRT-apdu'(Bytes, OptOrMand, []). + +'dec_ABRT-apdu'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,64,4,'IMPLICIT',32},{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_integer(Bytes2,[],[{'acse-service-user',0},{'acse-service-provider',1}],[{tag,128,0,'IMPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED OPTIONAL +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = case Bytes3 of +<<2:2,_:1,1:5,_/binary>> -> +?RT_BER:decode_enumerated(Bytes3,[],{[{'no-reason-given',1},{'protocol-error',2},{'authentication-mechanism-name-not-recognized',3},{'authentication-mechanism-name-required',4},{'authentication-failure',5},{'authentication-required',6}],[]},[{tag,128,1,'IMPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes3, 0 } +end, + {Bytes5, Rb4} = ?RT_BER:skip_ExtensionAdditions(Bytes4, [{tag,128,30,'IMPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 External ACSE-1:Association-information OPTIONAL +%%------------------------------------------------- + {Term3,Bytes6,Rb5} = case Bytes5 of +<<2:2,_:1,30:5,_/binary>> -> +'dec_Association-information'(Bytes5, opt_or_default, [{tag,128,30,'IMPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes5, 0 } +end, + + {Bytes7,Rb6} = ?RT_BER:restbytes2(RemBytes, Bytes6,noext), + {{'ABRT-apdu', Term1, Term2, Term3}, Bytes7, Rb1+Rb2+Rb3+Rb4+Rb5+Rb6}. + + +%%================================ +%% ABRT-diagnostic +%%================================ + +'enc_ABRT-diagnostic'({'ABRT-diagnostic',Val}, TagIn) -> + 'enc_ABRT-diagnostic'(Val, TagIn); + +'enc_ABRT-diagnostic'(Val, TagIn) -> +case (case Val of {_,Enumval1}->Enumval1;_->Val end) of +'no-reason-given' -> ?RT_BER:encode_enumerated(1,TagIn ++ []); +'protocol-error' -> ?RT_BER:encode_enumerated(2,TagIn ++ []); +'authentication-mechanism-name-not-recognized' -> ?RT_BER:encode_enumerated(3,TagIn ++ []); +'authentication-mechanism-name-required' -> ?RT_BER:encode_enumerated(4,TagIn ++ []); +'authentication-failure' -> ?RT_BER:encode_enumerated(5,TagIn ++ []); +'authentication-required' -> ?RT_BER:encode_enumerated(6,TagIn ++ []); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end. + + +'dec_ABRT-diagnostic'(Bytes, OptOrMand) -> + 'dec_ABRT-diagnostic'(Bytes, OptOrMand, []). + +'dec_ABRT-diagnostic'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_enumerated(Bytes,[],{[{'no-reason-given',1},{'protocol-error',2},{'authentication-mechanism-name-not-recognized',3},{'authentication-mechanism-name-required',4},{'authentication-failure',5},{'authentication-required',6}],[]},TagIn++[], OptOrMand). + + + +%%================================ +%% ABRT-source +%%================================ + +'enc_ABRT-source'({'ABRT-source',Val}, TagIn) -> + 'enc_ABRT-source'(Val, TagIn); + +'enc_ABRT-source'(Val, TagIn) -> +?RT_BER:encode_integer([], Val, [{'acse-service-user',0},{'acse-service-provider',1}], TagIn ++ []). + + +'dec_ABRT-source'(Bytes, OptOrMand) -> + 'dec_ABRT-source'(Bytes, OptOrMand, []). + +'dec_ABRT-source'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_integer(Bytes,[],[{'acse-service-user',0},{'acse-service-provider',1}],TagIn++[], OptOrMand). + + + +%%================================ +%% ACSE-requirements +%%================================ + +'enc_ACSE-requirements'({'ACSE-requirements',Val}, TagIn) -> + 'enc_ACSE-requirements'(Val, TagIn); + +'enc_ACSE-requirements'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{authentication,0},{'application-context-negotiation',1}], TagIn ++ []). + + +'dec_ACSE-requirements'(Bytes, OptOrMand) -> + 'dec_ACSE-requirements'(Bytes, OptOrMand, []). + +'dec_ACSE-requirements'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{authentication,0},{'application-context-negotiation',1}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% Application-context-name-list +%%================================ + +'enc_Application-context-name-list'({'Application-context-name-list',Val}, TagIn) -> + 'enc_Application-context-name-list'(Val, TagIn); + +'enc_Application-context-name-list'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_Application-context-name-list_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_Application-context-name-list_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_Application-context-name-list_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = ?RT_BER:encode_object_identifier(H, []), + 'enc_Application-context-name-list_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + + + +'dec_Application-context-name-list'(Bytes, OptOrMand) -> + 'dec_Application-context-name-list'(Bytes, OptOrMand, []). + +'dec_Application-context-name-list'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun(FBytes,_,_)-> +?RT_BER:decode_object_identifier(FBytes,[], mandatory) +end, [], []). + + + + +%%================================ +%% Application-context-name +%%================================ + +'enc_Application-context-name'({'Application-context-name',Val}, TagIn) -> + 'enc_Application-context-name'(Val, TagIn); + +'enc_Application-context-name'(Val, TagIn) -> +?RT_BER:encode_object_identifier(Val, TagIn ++ []). + + +'dec_Application-context-name'(Bytes, OptOrMand) -> + 'dec_Application-context-name'(Bytes, OptOrMand, []). + +'dec_Application-context-name'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_object_identifier(Bytes,TagIn++[], OptOrMand). + + + +%%================================ +%% AP-title +%%================================ + +'enc_AP-title'({'AP-title',Val}, TagIn) -> + 'enc_AP-title'(Val, TagIn); + +'enc_AP-title'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + 'ap-title-form1' -> + 'enc_AP-title-form1'(element(2,Val), []); + 'ap-title-form2' -> + ?RT_BER:encode_object_identifier(element(2,Val), []); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_AP-title'(Bytes, OptOrMand) -> + 'dec_AP-title'(Bytes, OptOrMand, []). + +'dec_AP-title'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'ap-title-form1' + <<0:2,_:1,16:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_AP-title-form1'(Bytes1, mandatory, []), + {{'ap-title-form1', Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'ap-title-form2' + <<0:2,_:1,6:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_object_identifier(Bytes1,[], mandatory), + {{'ap-title-form2', Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + _ -> + {{asn1_ExtAlt,Bytes1},<<>>, RbExp} + end. + + +%%================================ +%% AE-qualifier +%%================================ + +'enc_AE-qualifier'({'AE-qualifier',Val}, TagIn) -> + 'enc_AE-qualifier'(Val, TagIn); + +'enc_AE-qualifier'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + 'ae-qualifier-form1' -> + 'enc_AE-qualifier-form1'(element(2,Val), []); + 'ae-qualifier-form2' -> + ?RT_BER:encode_integer([], element(2,Val), []); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_AE-qualifier'(Bytes, OptOrMand) -> + 'dec_AE-qualifier'(Bytes, OptOrMand, []). + +'dec_AE-qualifier'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'ae-qualifier-form1' + <<0:2,_:1,17:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_AE-qualifier-form1'(Bytes1, mandatory, []), + {{'ae-qualifier-form1', Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'ae-qualifier-form2' + <<0:2,_:1,2:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_integer(Bytes1,[],[], mandatory), + {{'ae-qualifier-form2', Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + _ -> + {{asn1_ExtAlt,Bytes1},<<>>, RbExp} + end. + + +%%================================ +%% AP-title-form1 +%%================================ + +'enc_AP-title-form1'({'AP-title-form1',Val}, TagIn) -> + 'enc_AP-title-form1'(Val, TagIn); + +'enc_AP-title-form1'(Val, TagIn) -> + 'InformationFramework':'enc_Name'(Val, TagIn ++ []). + + +'dec_AP-title-form1'(Bytes, OptOrMand) -> + 'dec_AP-title-form1'(Bytes, OptOrMand, []). + +'dec_AP-title-form1'(Bytes, OptOrMand, TagIn) -> +'InformationFramework':'dec_Name'(Bytes, OptOrMand, TagIn++[]). + + + +%%================================ +%% AE-qualifier-form1 +%%================================ + +'enc_AE-qualifier-form1'({'AE-qualifier-form1',Val}, TagIn) -> + 'enc_AE-qualifier-form1'(Val, TagIn); + +'enc_AE-qualifier-form1'(Val, TagIn) -> + 'InformationFramework':'enc_RelativeDistinguishedName'(Val, TagIn ++ []). + + +'dec_AE-qualifier-form1'(Bytes, OptOrMand) -> + 'dec_AE-qualifier-form1'(Bytes, OptOrMand, []). + +'dec_AE-qualifier-form1'(Bytes, OptOrMand, TagIn) -> +'InformationFramework':'dec_RelativeDistinguishedName'(Bytes, OptOrMand, TagIn++[]). + + + +%%================================ +%% AP-title-form2 +%%================================ + +'enc_AP-title-form2'({'AP-title-form2',Val}, TagIn) -> + 'enc_AP-title-form2'(Val, TagIn); + +'enc_AP-title-form2'(Val, TagIn) -> +?RT_BER:encode_object_identifier(Val, TagIn ++ []). + + +'dec_AP-title-form2'(Bytes, OptOrMand) -> + 'dec_AP-title-form2'(Bytes, OptOrMand, []). + +'dec_AP-title-form2'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_object_identifier(Bytes,TagIn++[], OptOrMand). + + + +%%================================ +%% AE-qualifier-form2 +%%================================ + +'enc_AE-qualifier-form2'({'AE-qualifier-form2',Val}, TagIn) -> + 'enc_AE-qualifier-form2'(Val, TagIn); + +'enc_AE-qualifier-form2'(Val, TagIn) -> +?RT_BER:encode_integer([], Val, TagIn ++ []). + + +'dec_AE-qualifier-form2'(Bytes, OptOrMand) -> + 'dec_AE-qualifier-form2'(Bytes, OptOrMand, []). + +'dec_AE-qualifier-form2'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_integer(Bytes,[],TagIn++[], OptOrMand). + + + +%%================================ +%% AE-title +%%================================ + +'enc_AE-title'({'AE-title',Val}, TagIn) -> + 'enc_AE-title'(Val, TagIn); + +'enc_AE-title'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + 'ae-title-form1' -> + 'enc_AE-title-form1'(element(2,Val), []); + 'ae-title-form2' -> + ?RT_BER:encode_object_identifier(element(2,Val), []); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_AE-title'(Bytes, OptOrMand) -> + 'dec_AE-title'(Bytes, OptOrMand, []). + +'dec_AE-title'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'ae-title-form1' + <<0:2,_:1,16:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_AE-title-form1'(Bytes1, mandatory, []), + {{'ae-title-form1', Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'ae-title-form2' + <<0:2,_:1,6:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_object_identifier(Bytes1,[], mandatory), + {{'ae-title-form2', Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + _ -> + {{asn1_ExtAlt,Bytes1},<<>>, RbExp} + end. + + +%%================================ +%% AE-title-form1 +%%================================ + +'enc_AE-title-form1'({'AE-title-form1',Val}, TagIn) -> + 'enc_AE-title-form1'(Val, TagIn); + +'enc_AE-title-form1'(Val, TagIn) -> + 'InformationFramework':'enc_Name'(Val, TagIn ++ []). + + +'dec_AE-title-form1'(Bytes, OptOrMand) -> + 'dec_AE-title-form1'(Bytes, OptOrMand, []). + +'dec_AE-title-form1'(Bytes, OptOrMand, TagIn) -> +'InformationFramework':'dec_Name'(Bytes, OptOrMand, TagIn++[]). + + + +%%================================ +%% AE-title-form2 +%%================================ + +'enc_AE-title-form2'({'AE-title-form2',Val}, TagIn) -> + 'enc_AE-title-form2'(Val, TagIn); + +'enc_AE-title-form2'(Val, TagIn) -> +?RT_BER:encode_object_identifier(Val, TagIn ++ []). + + +'dec_AE-title-form2'(Bytes, OptOrMand) -> + 'dec_AE-title-form2'(Bytes, OptOrMand, []). + +'dec_AE-title-form2'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_object_identifier(Bytes,TagIn++[], OptOrMand). + + + +%%================================ +%% AE-invocation-identifier +%%================================ + +'enc_AE-invocation-identifier'({'AE-invocation-identifier',Val}, TagIn) -> + 'enc_AE-invocation-identifier'(Val, TagIn); + +'enc_AE-invocation-identifier'(Val, TagIn) -> +?RT_BER:encode_integer([], Val, TagIn ++ []). + + +'dec_AE-invocation-identifier'(Bytes, OptOrMand) -> + 'dec_AE-invocation-identifier'(Bytes, OptOrMand, []). + +'dec_AE-invocation-identifier'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_integer(Bytes,[],TagIn++[], OptOrMand). + + + +%%================================ +%% AP-invocation-identifier +%%================================ + +'enc_AP-invocation-identifier'({'AP-invocation-identifier',Val}, TagIn) -> + 'enc_AP-invocation-identifier'(Val, TagIn); + +'enc_AP-invocation-identifier'(Val, TagIn) -> +?RT_BER:encode_integer([], Val, TagIn ++ []). + + +'dec_AP-invocation-identifier'(Bytes, OptOrMand) -> + 'dec_AP-invocation-identifier'(Bytes, OptOrMand, []). + +'dec_AP-invocation-identifier'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_integer(Bytes,[],TagIn++[], OptOrMand). + + + +%%================================ +%% Associate-result +%%================================ + +'enc_Associate-result'({'Associate-result',Val}, TagIn) -> + 'enc_Associate-result'(Val, TagIn); + +'enc_Associate-result'(Val, TagIn) -> +?RT_BER:encode_integer([], Val, [{accepted,0},{'rejected-permanent',1},{'rejected-transient',2}], TagIn ++ []). + + +'dec_Associate-result'(Bytes, OptOrMand) -> + 'dec_Associate-result'(Bytes, OptOrMand, []). + +'dec_Associate-result'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_integer(Bytes,[],[{accepted,0},{'rejected-permanent',1},{'rejected-transient',2}],TagIn++[], OptOrMand). + + + +%%================================ +%% Associate-source-diagnostic +%%================================ + +'enc_Associate-source-diagnostic'({'Associate-source-diagnostic',Val}, TagIn) -> + 'enc_Associate-source-diagnostic'(Val, TagIn); + +'enc_Associate-source-diagnostic'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + 'acse-service-user' -> + ?RT_BER:encode_integer([], element(2,Val), [{null,0},{'no-reason-given',1},{'application-context-name-not-supported',2},{'calling-AP-title-not-recognized',3},{'calling-AP-invocation-identifier-not-recognized',4},{'calling-AE-qualifier-not-recognized',5},{'calling-AE-invocation-identifier-not-recognized',6},{'called-AP-title-not-recognized',7},{'called-AP-invocation-identifier-not-recognized',8},{'called-AE-qualifier-not-recognized',9},{'called-AE-invocation-identifier-not-recognized',10},{'authentication-mechanism-name-not-recognized',11},{'authentication-mechanism-name-required',12},{'authentication-failure',13},{'authentication-required',14}], [{tag,128,1,'EXPLICIT',32}]); + 'acse-service-provider' -> + ?RT_BER:encode_integer([], element(2,Val), [{null,0},{'no-reason-given',1},{'no-common-acse-version',2}], [{tag,128,2,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_Associate-source-diagnostic'(Bytes, OptOrMand) -> + 'dec_Associate-source-diagnostic'(Bytes, OptOrMand, []). + +'dec_Associate-source-diagnostic'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'acse-service-user' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_integer(Bytes1,[],[{null,0},{'no-reason-given',1},{'application-context-name-not-supported',2},{'calling-AP-title-not-recognized',3},{'calling-AP-invocation-identifier-not-recognized',4},{'calling-AE-qualifier-not-recognized',5},{'calling-AE-invocation-identifier-not-recognized',6},{'called-AP-title-not-recognized',7},{'called-AP-invocation-identifier-not-recognized',8},{'called-AE-qualifier-not-recognized',9},{'called-AE-invocation-identifier-not-recognized',10},{'authentication-mechanism-name-not-recognized',11},{'authentication-mechanism-name-required',12},{'authentication-failure',13},{'authentication-required',14}],[{tag,128,1,'EXPLICIT',32}], mandatory), + {{'acse-service-user', Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'acse-service-provider' + <<2:2,_:1,2:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_integer(Bytes1,[],[{null,0},{'no-reason-given',1},{'no-common-acse-version',2}],[{tag,128,2,'EXPLICIT',32}], mandatory), + {{'acse-service-provider', Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% Association-information +%%================================ + +'enc_Association-information'({'Association-information',Val}, TagIn) -> + 'enc_Association-information'(Val, TagIn); + +'enc_Association-information'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_Association-information_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_Association-information_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_Association-information_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'enc_EXTERNAL'(H, []), + 'enc_Association-information_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + + + +'dec_Association-information'(Bytes, OptOrMand) -> + 'dec_Association-information'(Bytes, OptOrMand, []). + +'dec_Association-information'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'dec_EXTERNAL'/3, [], []). + + + + +%%================================ +%% Authentication-value +%%================================ + +'enc_Authentication-value'({'Authentication-value',Val}, TagIn) -> + 'enc_Authentication-value'(Val, TagIn); + +'enc_Authentication-value'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + charstring -> + ?RT_BER:encode_restricted_string([], element(2,Val), 25, [{tag,128,0,'IMPLICIT',32}]); + bitstring -> + ?RT_BER:encode_bit_string([], element(2,Val), [], [{tag,128,1,'IMPLICIT',32}]); + external -> + 'enc_EXTERNAL'(element(2,Val), [{tag,128,2,'IMPLICIT',32}]); + other -> + 'enc_Authentication-value_other'(element(2,Val), [{tag,128,3,'IMPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + + +%%================================ +%% Authentication-value_other +%%================================ +'enc_Authentication-value_other'(Val, TagIn) -> + Objother_mechanism_name = + 'ACSE-1':'getenc_ObjectSet'(id, + value_match([],?RT_BER:cindex(2,Val,'other-mechanism-name'))), + +%%------------------------------------------------- +%% attribute number 1 with type fixedtypevaluefieldidtypeOBJECT IDENTIFIERno +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_object_identifier(?RT_BER:cindex(2,Val,'other-mechanism-name'), []), + +%%------------------------------------------------- +%% attribute number 2 with type typefieldType +%%------------------------------------------------- + {TmpBytes1,_} = Objother_mechanism_name('Type', ?RT_BER:cindex(3,Val,'other-mechanism-value'), [], []), + {EncBytes2, EncLen2} = ?RT_BER:encode_open_type(TmpBytes1,[]), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). +'dec_Authentication-value_other'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type fixedtypevaluefieldidtypeOBJECT IDENTIFIERno +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_object_identifier(Bytes2,[], mandatory), + +%%------------------------------------------------- +%% attribute number 2 with type typefieldType +%%------------------------------------------------- + {Tmpterm1, Bytes4,Rb3} = ?RT_BER:decode_open_type(Bytes3,[]), + +DecObjother_mechanism_nameTerm1 = + 'ACSE-1':'getdec_ObjectSet'(id, Term1), +{Term2, _, _} = + case (catch DecObjother_mechanism_nameTerm1('Type', Tmpterm1, [], [])) of + {'EXIT', Reason1} -> + exit({'Type not compatible with table constraint',Reason1}); + Tmpterm2 -> + Tmpterm2 + end, + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'Authentication-value_other', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +'dec_Authentication-value'(Bytes, OptOrMand) -> + 'dec_Authentication-value'(Bytes, OptOrMand, []). + +'dec_Authentication-value'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'charstring' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_restricted_string(Bytes1,[],25,[{tag,128,0,'IMPLICIT',32}], no_length, mandatory), + {{charstring, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'bitstring' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_bit_string(Bytes1,[],[],[{tag,128,1,'IMPLICIT',32}], no_length, mandatory), + {{bitstring, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'external' + <<2:2,_:1,2:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_EXTERNAL'(Bytes1, mandatory, [{tag,128,2,'IMPLICIT',32}]), + {{external, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'other' + <<2:2,_:1,3:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_Authentication-value_other'(Bytes1, mandatory, [{tag,128,3,'IMPLICIT',32}]), + {{other, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% Implementation-data +%%================================ + +'enc_Implementation-data'({'Implementation-data',Val}, TagIn) -> + 'enc_Implementation-data'(Val, TagIn); + +'enc_Implementation-data'(Val, TagIn) -> +?RT_BER:encode_restricted_string([], Val, 25, TagIn ++ []). + + +'dec_Implementation-data'(Bytes, OptOrMand) -> + 'dec_Implementation-data'(Bytes, OptOrMand, []). + +'dec_Implementation-data'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_restricted_string(Bytes,[],25,TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% Mechanism-name +%%================================ + +'enc_Mechanism-name'({'Mechanism-name',Val}, TagIn) -> + 'enc_Mechanism-name'(Val, TagIn); + +'enc_Mechanism-name'(Val, TagIn) -> +?RT_BER:encode_object_identifier(Val, TagIn ++ []). + + +'dec_Mechanism-name'(Bytes, OptOrMand) -> + 'dec_Mechanism-name'(Bytes, OptOrMand, []). + +'dec_Mechanism-name'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_object_identifier(Bytes,TagIn++[], OptOrMand). + + + +%%================================ +%% Release-request-reason +%%================================ + +'enc_Release-request-reason'({'Release-request-reason',Val}, TagIn) -> + 'enc_Release-request-reason'(Val, TagIn); + +'enc_Release-request-reason'(Val, TagIn) -> +?RT_BER:encode_integer([], Val, [{normal,0},{urgent,1},{'user-defined',30}], TagIn ++ []). + + +'dec_Release-request-reason'(Bytes, OptOrMand) -> + 'dec_Release-request-reason'(Bytes, OptOrMand, []). + +'dec_Release-request-reason'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_integer(Bytes,[],[{normal,0},{urgent,1},{'user-defined',30}],TagIn++[], OptOrMand). + + + +%%================================ +%% Release-response-reason +%%================================ + +'enc_Release-response-reason'({'Release-response-reason',Val}, TagIn) -> + 'enc_Release-response-reason'(Val, TagIn); + +'enc_Release-response-reason'(Val, TagIn) -> +?RT_BER:encode_integer([], Val, [{normal,0},{'not-finished',1},{'user-defined',30}], TagIn ++ []). + + +'dec_Release-response-reason'(Bytes, OptOrMand) -> + 'dec_Release-response-reason'(Bytes, OptOrMand, []). + +'dec_Release-response-reason'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_integer(Bytes,[],[{normal,0},{'not-finished',1},{'user-defined',30}],TagIn++[], OptOrMand). + + + +%%================================ +%% EXTERNAL +%%================================ +'enc_EXTERNAL'(Val, TagIn) -> + NewVal = asn1rt_check:transform_to_EXTERNAL1990(Val), + +%%------------------------------------------------- +%% attribute number 1 with type OBJECT IDENTIFIER OPTIONAL +%%------------------------------------------------- + {EncBytes1,EncLen1} = case ?RT_BER:cindex(2,NewVal,'direct-reference') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_object_identifier(?RT_BER:cindex(2,NewVal,'direct-reference'), []) + end, + +%%------------------------------------------------- +%% attribute number 2 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes2,EncLen2} = case ?RT_BER:cindex(3,NewVal,'indirect-reference') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(3,NewVal,'indirect-reference'), []) + end, + +%%------------------------------------------------- +%% attribute number 3 with type ObjectDescriptor OPTIONAL +%%------------------------------------------------- + {EncBytes3,EncLen3} = case ?RT_BER:cindex(4,NewVal,'data-value-descriptor') of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(4,NewVal,'data-value-descriptor'), 7, []) + end, + +%%------------------------------------------------- +%% attribute number 4 with type CHOICE +%%------------------------------------------------- + {EncBytes4,EncLen4} = 'enc_EXTERNAL_encoding'(?RT_BER:cindex(5,NewVal,encoding), []), + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4], + LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,8,'IMPLICIT',32},{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% EXTERNAL_encoding +%%================================ + +'enc_EXTERNAL_encoding'({'EXTERNAL_encoding',Val}, TagIn) -> + 'enc_EXTERNAL_encoding'(Val, TagIn); + +'enc_EXTERNAL_encoding'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + 'single-ASN1-type' -> + ?RT_BER:encode_open_type(element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + 'octet-aligned' -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,1,'IMPLICIT',0}]); + arbitrary -> + ?RT_BER:encode_bit_string([], element(2,Val), [], [{tag,128,2,'IMPLICIT',0}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + +'dec_EXTERNAL_encoding'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'single-ASN1-type' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_open_type(ber,Bytes1,[{tag,128,0,'EXPLICIT',32}]), + {{'single-ASN1-type', Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'octet-aligned' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,[],[{tag,128,1,'IMPLICIT',0}], no_length, mandatory), + {{'octet-aligned', Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'arbitrary' + <<2:2,_:1,2:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_bit_string(Bytes1,[],[],[{tag,128,2,'IMPLICIT',0}], no_length, mandatory), + {{arbitrary, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +'dec_EXTERNAL'(Bytes, OptOrMand) -> + 'dec_EXTERNAL'(Bytes, OptOrMand, []). + +'dec_EXTERNAL'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,8,'IMPLICIT',32},{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type OBJECT IDENTIFIER OPTIONAL +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = case Bytes2 of +<<0:2,_:1,6:5,_/binary>> -> +?RT_BER:decode_object_identifier(Bytes2,[], mandatory); +_ -> +{ asn1_NOVALUE, Bytes2, 0 } +end, + +%%------------------------------------------------- +%% attribute number 2 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = case Bytes3 of +<<0:2,_:1,2:5,_/binary>> -> +?RT_BER:decode_integer(Bytes3,[],[], mandatory); +_ -> +{ asn1_NOVALUE, Bytes3, 0 } +end, + +%%------------------------------------------------- +%% attribute number 3 with type ObjectDescriptor OPTIONAL +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = case Bytes4 of +<<0:2,_:1,7:5,_/binary>> -> +?RT_BER:decode_restricted_string(Bytes4,[],7,[], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes4, 0 } +end, + +%%------------------------------------------------- +%% attribute number 4 with type CHOICE +%%------------------------------------------------- + {Term4,Bytes6,Rb5} = 'dec_EXTERNAL_encoding'(Bytes5, mandatory, []), + + {Bytes7,Rb6} = ?RT_BER:restbytes2(RemBytes, Bytes6,noext), + OldFormat={'EXTERNAL', Term1, Term2, Term3, Term4}, + ASN11994Format = + asn1rt_check:transform_to_EXTERNAL1994(OldFormat), + {ASN11994Format,Bytes7, Rb1+Rb2+Rb3+Rb4+Rb5+Rb6}. +value_match([{Index,Cname}|Rest],Value) -> + Value2 = + case element(Index,Value) of + {Cname,Val2} -> Val2; + X -> X + end, + value_match(Rest,Value2); +value_match([],Value) -> + Value. +'acse-as-id'() -> +{2,2,1,0,1}. + +'aCSE-id'() -> +{2,2,3,1,1}. + + + + +%%================================ +%% ObjectSet +%%================================ +'getenc_ObjectSet'(_, _) -> + fun(_Attr, Val, _TagIn, _RestPrimFieldName) -> + Len = case Val of + Bin when is_binary(Bin) -> size(Bin); + _ -> length(Val) + end, {Val,Len} + end. + +'getdec_ObjectSet'(_, _) -> + fun(_, Bytes, _, _) -> + Len = case Bytes of + Bin when is_binary(Bin) -> size(Bin); + _ -> length(Bytes) + end, {Bytes,[],Len} + end. + + diff --git a/ACSE-1.hrl b/ACSE-1.hrl new file mode 100644 index 0000000..1f53585 --- /dev/null +++ b/ACSE-1.hrl @@ -0,0 +1,45 @@ +%% Generated by the Erlang ASN.1 compiler version:1.7 +%% Purpose: Erlang record definitions for each named and unnamed +%% SEQUENCE and SET, and macro definitions for each value +%% definition,in module ACSE-1 + + + +-record('AARQ-apdu',{ +'protocol-version' = asn1_DEFAULT, 'application-context-name', 'called-AP-title' = asn1_NOVALUE, 'called-AE-qualifier' = asn1_NOVALUE, 'called-AP-invocation-identifier' = asn1_NOVALUE, 'called-AE-invocation-identifier' = asn1_NOVALUE, 'calling-AP-title' = asn1_NOVALUE, 'calling-AE-qualifier' = asn1_NOVALUE, 'calling-AP-invocation-identifier' = asn1_NOVALUE, 'calling-AE-invocation-identifier' = asn1_NOVALUE, 'sender-acse-requirements' = asn1_NOVALUE, 'mechanism-name' = asn1_NOVALUE, 'calling-authentication-value' = asn1_NOVALUE, 'application-context-name-list' = asn1_NOVALUE, 'implementation-information' = asn1_NOVALUE, +%% with extensions +%% end of extensions +'user-information' = asn1_NOVALUE}). + +-record('AARE-apdu',{ +'protocol-version' = asn1_DEFAULT, 'application-context-name', result, 'result-source-diagnostic', 'responding-AP-title' = asn1_NOVALUE, 'responding-AE-qualifier' = asn1_NOVALUE, 'responding-AP-invocation-identifier' = asn1_NOVALUE, 'responding-AE-invocation-identifier' = asn1_NOVALUE, 'responder-acse-requirements' = asn1_NOVALUE, 'mechanism-name' = asn1_NOVALUE, 'responding-authentication-value' = asn1_NOVALUE, 'application-context-name-list' = asn1_NOVALUE, 'implementation-information' = asn1_NOVALUE, +%% with extensions +%% end of extensions +'user-information' = asn1_NOVALUE}). + +-record('RLRQ-apdu',{ +reason = asn1_NOVALUE, +%% with extensions +%% end of extensions +'user-information' = asn1_NOVALUE}). + +-record('RLRE-apdu',{ +reason = asn1_NOVALUE, +%% with extensions +%% end of extensions +'user-information' = asn1_NOVALUE}). + +-record('ABRT-apdu',{ +'abort-source', 'abort-diagnostic' = asn1_NOVALUE, +%% with extensions +%% end of extensions +'user-information' = asn1_NOVALUE}). + +-record('Authentication-value_other',{ +'other-mechanism-name', 'other-mechanism-value'}). + +-record('EXTERNAL',{ +'direct-reference' = asn1_NOVALUE, 'indirect-reference' = asn1_NOVALUE, 'data-value-descriptor' = asn1_NOVALUE, encoding}). + +-define('acse-as-id', {2,2,1,0,1}). +-define('aCSE-id', {2,2,3,1,1}). diff --git a/CSTA-application-context-information-csta3.erl b/CSTA-application-context-information-csta3.erl new file mode 100644 index 0000000..fdf7405 --- /dev/null +++ b/CSTA-application-context-information-csta3.erl @@ -0,0 +1,1032 @@ +%% Generated by the Erlang ASN.1 BER-compiler version:1.7 +%% Purpose: encoder and decoder to the types in mod CSTA-application-context-information-csta3 + +-module('CSTA-application-context-information-csta3'). +-include("CSTA-application-context-information-csta3.hrl"). +-define('RT_BER',asn1rt_ber_bin). +-asn1_info([{vsn,'1.7'}, + {module,'CSTA-application-context-information-csta3'}, + {options,[{i,[47,104,111,109,101,47,113,117,97,120,47,101,114,108,47,97,115,110]},warnings,ber,errors,{cwd,[47,104,111,109,101,47,113,117,97,120,47,101,114,108,47,97,115,110]},{outdir,[47,104,111,109,101,47,113,117,97,120,47,101,114,108,47,97,115,110]},{i,[46]},{i,[47,104,111,109,101,47,113,117,97,120,47,101,114,108,47,97,115,110,47,107,109,101]}]}]). + +-export([encoding_rule/0]). +-export([ +'enc_CSTAFunctionality'/2, +'enc_SwitchingFunctionServicesC2'/2, +'enc_EventReportServicesC2'/2, +'enc_ComputingFunctionServicesC2'/2, +'enc_BidirectionalServicesC2'/2, +'enc_StatusReportingServicesC2'/2, +'enc_InputOutputServicesC2'/2, +'enc_VoiceUnitServicesC2'/2, +'enc_ACSEUserInformationForCSTA'/2, +'enc_OldACSEUserInformationForCSTA'/2, +'enc_NewACSEUserInformationForCSTA'/2, +'enc_CSTAPrivateDataVersionList'/2, +'enc_CSTAVersion'/2, +'enc_CallControlServices'/2, +'enc_CallAssociatedServices'/2, +'enc_MediaAttachmentServices'/2, +'enc_RouteingServices'/2, +'enc_VoiceUnitServices'/2, +'enc_LocationServices'/2, +'enc_CallControlEvents'/2, +'enc_CallAssociatedEvents'/2, +'enc_MediaAttachmentEvents'/2, +'enc_PhysicalDeviceFeatureEvents'/2, +'enc_LogicalDeviceFeatureEvents'/2, +'enc_DeviceMaintenanceEvents'/2, +'enc_VoiceUnitEvents'/2, +'enc_VendorSpecEvents'/2 +]). + +-export([ +'dec_CSTAFunctionality'/2, +'dec_SwitchingFunctionServicesC2'/2, +'dec_EventReportServicesC2'/2, +'dec_ComputingFunctionServicesC2'/2, +'dec_BidirectionalServicesC2'/2, +'dec_StatusReportingServicesC2'/2, +'dec_InputOutputServicesC2'/2, +'dec_VoiceUnitServicesC2'/2, +'dec_ACSEUserInformationForCSTA'/2, +'dec_OldACSEUserInformationForCSTA'/2, +'dec_NewACSEUserInformationForCSTA'/2, +'dec_CSTAPrivateDataVersionList'/2, +'dec_CSTAVersion'/2, +'dec_CallControlServices'/2, +'dec_CallAssociatedServices'/2, +'dec_MediaAttachmentServices'/2, +'dec_RouteingServices'/2, +'dec_VoiceUnitServices'/2, +'dec_LocationServices'/2, +'dec_CallControlEvents'/2, +'dec_CallAssociatedEvents'/2, +'dec_MediaAttachmentEvents'/2, +'dec_PhysicalDeviceFeatureEvents'/2, +'dec_LogicalDeviceFeatureEvents'/2, +'dec_DeviceMaintenanceEvents'/2, +'dec_VoiceUnitEvents'/2, +'dec_VendorSpecEvents'/2 +]). + +-export([ +'dec_CSTAFunctionality'/3, +'dec_SwitchingFunctionServicesC2'/3, +'dec_EventReportServicesC2'/3, +'dec_ComputingFunctionServicesC2'/3, +'dec_BidirectionalServicesC2'/3, +'dec_StatusReportingServicesC2'/3, +'dec_InputOutputServicesC2'/3, +'dec_VoiceUnitServicesC2'/3, +'dec_ACSEUserInformationForCSTA'/3, +'dec_OldACSEUserInformationForCSTA'/3, +'dec_NewACSEUserInformationForCSTA'/3, +'dec_CSTAPrivateDataVersionList'/3, +'dec_CSTAVersion'/3, +'dec_CallControlServices'/3, +'dec_CallAssociatedServices'/3, +'dec_MediaAttachmentServices'/3, +'dec_RouteingServices'/3, +'dec_VoiceUnitServices'/3, +'dec_LocationServices'/3, +'dec_CallControlEvents'/3, +'dec_CallAssociatedEvents'/3, +'dec_MediaAttachmentEvents'/3, +'dec_PhysicalDeviceFeatureEvents'/3, +'dec_LogicalDeviceFeatureEvents'/3, +'dec_DeviceMaintenanceEvents'/3, +'dec_VoiceUnitEvents'/3, +'dec_VendorSpecEvents'/3 +]). + +-export([info/0]). + + +-export([encode/2,decode/2,encode_disp/2,decode_disp/2]). + +encoding_rule() -> + ber. + +encode(Type,Data) -> +case catch encode_disp(Type,Data) of + {'EXIT',{error,Reason}} -> + {error,Reason}; + {'EXIT',Reason} -> + {error,{asn1,Reason}}; + {Bytes,_Len} -> + {ok,wrap_encode(Bytes)}; + Bytes -> + {ok,wrap_encode(Bytes)} +end. + +decode(Type,Data) -> +case catch decode_disp(Type,wrap_decode(Data)) of + {'EXIT',{error,Reason}} -> + {error,Reason}; + {'EXIT',Reason} -> + {error,{asn1,Reason}}; + {X,_Rest} -> + {ok,X}; + {X,_Rest,_Len} -> + {ok,X} +end. + +encode_disp('CSTAFunctionality',Data) -> 'enc_CSTAFunctionality'(Data,[]); +encode_disp('SwitchingFunctionServicesC2',Data) -> 'enc_SwitchingFunctionServicesC2'(Data,[]); +encode_disp('EventReportServicesC2',Data) -> 'enc_EventReportServicesC2'(Data,[]); +encode_disp('ComputingFunctionServicesC2',Data) -> 'enc_ComputingFunctionServicesC2'(Data,[]); +encode_disp('BidirectionalServicesC2',Data) -> 'enc_BidirectionalServicesC2'(Data,[]); +encode_disp('StatusReportingServicesC2',Data) -> 'enc_StatusReportingServicesC2'(Data,[]); +encode_disp('InputOutputServicesC2',Data) -> 'enc_InputOutputServicesC2'(Data,[]); +encode_disp('VoiceUnitServicesC2',Data) -> 'enc_VoiceUnitServicesC2'(Data,[]); +encode_disp('ACSEUserInformationForCSTA',Data) -> 'enc_ACSEUserInformationForCSTA'(Data,[]); +encode_disp('OldACSEUserInformationForCSTA',Data) -> 'enc_OldACSEUserInformationForCSTA'(Data,[]); +encode_disp('NewACSEUserInformationForCSTA',Data) -> 'enc_NewACSEUserInformationForCSTA'(Data,[]); +encode_disp('CSTAPrivateDataVersionList',Data) -> 'enc_CSTAPrivateDataVersionList'(Data,[]); +encode_disp('CSTAVersion',Data) -> 'enc_CSTAVersion'(Data,[]); +encode_disp('CallControlServices',Data) -> 'enc_CallControlServices'(Data,[]); +encode_disp('CallAssociatedServices',Data) -> 'enc_CallAssociatedServices'(Data,[]); +encode_disp('MediaAttachmentServices',Data) -> 'enc_MediaAttachmentServices'(Data,[]); +encode_disp('RouteingServices',Data) -> 'enc_RouteingServices'(Data,[]); +encode_disp('VoiceUnitServices',Data) -> 'enc_VoiceUnitServices'(Data,[]); +encode_disp('LocationServices',Data) -> 'enc_LocationServices'(Data,[]); +encode_disp('CallControlEvents',Data) -> 'enc_CallControlEvents'(Data,[]); +encode_disp('CallAssociatedEvents',Data) -> 'enc_CallAssociatedEvents'(Data,[]); +encode_disp('MediaAttachmentEvents',Data) -> 'enc_MediaAttachmentEvents'(Data,[]); +encode_disp('PhysicalDeviceFeatureEvents',Data) -> 'enc_PhysicalDeviceFeatureEvents'(Data,[]); +encode_disp('LogicalDeviceFeatureEvents',Data) -> 'enc_LogicalDeviceFeatureEvents'(Data,[]); +encode_disp('DeviceMaintenanceEvents',Data) -> 'enc_DeviceMaintenanceEvents'(Data,[]); +encode_disp('VoiceUnitEvents',Data) -> 'enc_VoiceUnitEvents'(Data,[]); +encode_disp('VendorSpecEvents',Data) -> 'enc_VendorSpecEvents'(Data,[]); +encode_disp(Type,_Data) -> exit({error,{asn1,{undefined_type,Type}}}). + + +decode_disp('CSTAFunctionality',Data) -> 'dec_CSTAFunctionality'(Data,mandatory); +decode_disp('SwitchingFunctionServicesC2',Data) -> 'dec_SwitchingFunctionServicesC2'(Data,mandatory); +decode_disp('EventReportServicesC2',Data) -> 'dec_EventReportServicesC2'(Data,mandatory); +decode_disp('ComputingFunctionServicesC2',Data) -> 'dec_ComputingFunctionServicesC2'(Data,mandatory); +decode_disp('BidirectionalServicesC2',Data) -> 'dec_BidirectionalServicesC2'(Data,mandatory); +decode_disp('StatusReportingServicesC2',Data) -> 'dec_StatusReportingServicesC2'(Data,mandatory); +decode_disp('InputOutputServicesC2',Data) -> 'dec_InputOutputServicesC2'(Data,mandatory); +decode_disp('VoiceUnitServicesC2',Data) -> 'dec_VoiceUnitServicesC2'(Data,mandatory); +decode_disp('ACSEUserInformationForCSTA',Data) -> 'dec_ACSEUserInformationForCSTA'(Data,mandatory); +decode_disp('OldACSEUserInformationForCSTA',Data) -> 'dec_OldACSEUserInformationForCSTA'(Data,mandatory); +decode_disp('NewACSEUserInformationForCSTA',Data) -> 'dec_NewACSEUserInformationForCSTA'(Data,mandatory); +decode_disp('CSTAPrivateDataVersionList',Data) -> 'dec_CSTAPrivateDataVersionList'(Data,mandatory); +decode_disp('CSTAVersion',Data) -> 'dec_CSTAVersion'(Data,mandatory); +decode_disp('CallControlServices',Data) -> 'dec_CallControlServices'(Data,mandatory); +decode_disp('CallAssociatedServices',Data) -> 'dec_CallAssociatedServices'(Data,mandatory); +decode_disp('MediaAttachmentServices',Data) -> 'dec_MediaAttachmentServices'(Data,mandatory); +decode_disp('RouteingServices',Data) -> 'dec_RouteingServices'(Data,mandatory); +decode_disp('VoiceUnitServices',Data) -> 'dec_VoiceUnitServices'(Data,mandatory); +decode_disp('LocationServices',Data) -> 'dec_LocationServices'(Data,mandatory); +decode_disp('CallControlEvents',Data) -> 'dec_CallControlEvents'(Data,mandatory); +decode_disp('CallAssociatedEvents',Data) -> 'dec_CallAssociatedEvents'(Data,mandatory); +decode_disp('MediaAttachmentEvents',Data) -> 'dec_MediaAttachmentEvents'(Data,mandatory); +decode_disp('PhysicalDeviceFeatureEvents',Data) -> 'dec_PhysicalDeviceFeatureEvents'(Data,mandatory); +decode_disp('LogicalDeviceFeatureEvents',Data) -> 'dec_LogicalDeviceFeatureEvents'(Data,mandatory); +decode_disp('DeviceMaintenanceEvents',Data) -> 'dec_DeviceMaintenanceEvents'(Data,mandatory); +decode_disp('VoiceUnitEvents',Data) -> 'dec_VoiceUnitEvents'(Data,mandatory); +decode_disp('VendorSpecEvents',Data) -> 'dec_VendorSpecEvents'(Data,mandatory); +decode_disp(Type,_Data) -> exit({error,{asn1,{undefined_type,Type}}}). + + + +wrap_encode(Bytes) when is_list(Bytes) -> + binary_to_list(list_to_binary(Bytes)); +wrap_encode(Bytes) when is_binary(Bytes) -> + binary_to_list(Bytes); +wrap_encode(Bytes) -> Bytes. + +wrap_decode(Bytes) when is_list(Bytes) -> + list_to_binary(Bytes); +wrap_decode(Bytes) -> Bytes. + + +info() -> + case ?MODULE:module_info() of + MI when is_list(MI) -> + case lists:keysearch(attributes,1,MI) of + {value,{_,Attributes}} when is_list(Attributes) -> + case lists:keysearch(asn1_info,1,Attributes) of + {value,{_,Info}} when is_list(Info) -> + Info; + _ -> + [] + end; + _ -> + [] + end + end. + + +%%================================ +%% CSTAFunctionality +%%================================ +'enc_CSTAFunctionality'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type BIT STRING DEFAULT = [] +%%------------------------------------------------- + {EncBytes1,EncLen1} = case ?RT_BER:cindex(2,Val,switchingFunctionServices) of + asn1_DEFAULT -> {<<>>,0}; + [] -> {<<>>,0}; + _ -> + ?RT_BER:encode_bit_string([], ?RT_BER:cindex(2,Val,switchingFunctionServices), [{alternateCall,0},{answerCall,1},{associateData,2},{callCompletion,3},{clearCall,4},{clearConnection,5},{conferenceCall,6},{consultationCall,7},{divertCall,8},{holdCall,9},{makeCall,10},{makePredictiveCall,11},{parkCall,12},{queryDevice,13},{reconnectCall,14},{retrieveCall,15},{sendDTMFTones,16},{setFeature,17},{singleStepConference,18},{singleStepTransfer,19},{transferCall,20}], [{tag,128,0,'IMPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 2 with type BIT STRING DEFAULT = [] +%%------------------------------------------------- + {EncBytes2,EncLen2} = case ?RT_BER:cindex(3,Val,eventReportServices) of + asn1_DEFAULT -> {<<>>,0}; + [] -> {<<>>,0}; + _ -> + ?RT_BER:encode_bit_string([], ?RT_BER:cindex(3,Val,eventReportServices), [{callCleared,0},{conferenced,1},{connectionCleared,2},{delivered,3},{diverted,4},{established,5},{failed,6},{held,7},{networkReached,8},{originated,9},{queued,10},{retrieved,11},{serviceInitiated,12},{transferred,13},{autoAnswer,14},{callInformation,15},{doNotDisturb,16},{forwarding,17},{messageWaiting,18},{microphoneMute,19},{speakerMute,20},{speakerVolume,21},{agentBusy,22},{loggedOn,23},{loggedOff,24},{notReady,25},{ready,26},{workingAfterCall,27},{backInService,28},{outOfServiceEvent,29},{privateEvent,30},{playEvent,31},{recordEvent,32},{reviewEvent,33},{stopEvent,34},{suspendPlayEvent,35},{suspendRecordEvent,36},{voiceAttributesChangeEvent,37}], [{tag,128,1,'IMPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 3 with type BIT STRING DEFAULT = [] +%%------------------------------------------------- + {EncBytes3,EncLen3} = case ?RT_BER:cindex(4,Val,computingFunctionServices) of + asn1_DEFAULT -> {<<>>,0}; + [] -> {<<>>,0}; + _ -> + ?RT_BER:encode_bit_string([], ?RT_BER:cindex(4,Val,computingFunctionServices), [{routeRequest,0},{reRouteRequest,1},{routeSelectRequest,2},{routeUsedRequest,3},{routeEndRequest,4}], [{tag,128,2,'IMPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 4 with type BIT STRING DEFAULT = [] +%%------------------------------------------------- + {EncBytes4,EncLen4} = case ?RT_BER:cindex(5,Val,bidirectionalServices) of + asn1_DEFAULT -> {<<>>,0}; + [] -> {<<>>,0}; + _ -> + ?RT_BER:encode_bit_string([], ?RT_BER:cindex(5,Val,bidirectionalServices), [{escapeService,0},{systemStatus,1}], [{tag,128,3,'IMPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 5 with type BIT STRING DEFAULT = [] +%%------------------------------------------------- + {EncBytes5,EncLen5} = case ?RT_BER:cindex(6,Val,statusReportingServices) of + asn1_DEFAULT -> {<<>>,0}; + [] -> {<<>>,0}; + _ -> + ?RT_BER:encode_bit_string([], ?RT_BER:cindex(6,Val,statusReportingServices), [{monitorStart,0},{changeMonitorFilter,1},{monitorStop,2},{snapshotDevice,3},{snapshotCall,4}], [{tag,128,4,'IMPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 6 with type BIT STRING DEFAULT = [] +%%------------------------------------------------- + {EncBytes6,EncLen6} = case ?RT_BER:cindex(7,Val,inputOutputServices) of + asn1_DEFAULT -> {<<>>,0}; + [] -> {<<>>,0}; + _ -> + ?RT_BER:encode_bit_string([], ?RT_BER:cindex(7,Val,inputOutputServices), [{startDataPathService,0},{stopDataPathService,1},{sendDataService,2},{sendMulticastDataService,3},{sendBroadcastDataService,4},{suspendDataPathService,5},{dataPathSuspendedService,6},{resumeDataPath,7},{dataPathResumedService,8},{fastData,9}], [{tag,128,5,'IMPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 7 with type BIT STRING DEFAULT = [] +%%------------------------------------------------- + {EncBytes7,EncLen7} = case ?RT_BER:cindex(8,Val,voiceUnitServices) of + asn1_DEFAULT -> {<<>>,0}; + [] -> {<<>>,0}; + _ -> + ?RT_BER:encode_bit_string([], ?RT_BER:cindex(8,Val,voiceUnitServices), [{concatenateMessage,0},{deleteMessage,1},{playMessage,2},{queryVoiceAttribute,3},{recordMessage,4},{reposition,5},{resume,6},{review,7},{setVoiceAttribute,8},{stop,9},{suspend,10},{synthesizeMessage,11}], [{tag,128,6,'IMPLICIT',32}]) + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5, EncBytes6, EncBytes7], + LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5 + EncLen6 + EncLen7, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_CSTAFunctionality'(Bytes, OptOrMand) -> + 'dec_CSTAFunctionality'(Bytes, OptOrMand, []). + +'dec_CSTAFunctionality'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type BIT STRING DEFAULT = [] +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = case Bytes2 of +<<2:2,_:1,0:5,_/binary>> -> +?RT_BER:decode_bit_string(Bytes2,[],[{alternateCall,0},{answerCall,1},{associateData,2},{callCompletion,3},{clearCall,4},{clearConnection,5},{conferenceCall,6},{consultationCall,7},{divertCall,8},{holdCall,9},{makeCall,10},{makePredictiveCall,11},{parkCall,12},{queryDevice,13},{reconnectCall,14},{retrieveCall,15},{sendDTMFTones,16},{setFeature,17},{singleStepConference,18},{singleStepTransfer,19},{transferCall,20}],[{tag,128,0,'IMPLICIT',32}], no_length, mandatory); +_ -> +{[],Bytes2, 0 } +end, + +%%------------------------------------------------- +%% attribute number 2 with type BIT STRING DEFAULT = [] +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = case Bytes3 of +<<2:2,_:1,1:5,_/binary>> -> +?RT_BER:decode_bit_string(Bytes3,[],[{callCleared,0},{conferenced,1},{connectionCleared,2},{delivered,3},{diverted,4},{established,5},{failed,6},{held,7},{networkReached,8},{originated,9},{queued,10},{retrieved,11},{serviceInitiated,12},{transferred,13},{autoAnswer,14},{callInformation,15},{doNotDisturb,16},{forwarding,17},{messageWaiting,18},{microphoneMute,19},{speakerMute,20},{speakerVolume,21},{agentBusy,22},{loggedOn,23},{loggedOff,24},{notReady,25},{ready,26},{workingAfterCall,27},{backInService,28},{outOfServiceEvent,29},{privateEvent,30},{playEvent,31},{recordEvent,32},{reviewEvent,33},{stopEvent,34},{suspendPlayEvent,35},{suspendRecordEvent,36},{voiceAttributesChangeEvent,37}],[{tag,128,1,'IMPLICIT',32}], no_length, mandatory); +_ -> +{[],Bytes3, 0 } +end, + +%%------------------------------------------------- +%% attribute number 3 with type BIT STRING DEFAULT = [] +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = case Bytes4 of +<<2:2,_:1,2:5,_/binary>> -> +?RT_BER:decode_bit_string(Bytes4,[],[{routeRequest,0},{reRouteRequest,1},{routeSelectRequest,2},{routeUsedRequest,3},{routeEndRequest,4}],[{tag,128,2,'IMPLICIT',32}], no_length, mandatory); +_ -> +{[],Bytes4, 0 } +end, + +%%------------------------------------------------- +%% attribute number 4 with type BIT STRING DEFAULT = [] +%%------------------------------------------------- + {Term4,Bytes6,Rb5} = case Bytes5 of +<<2:2,_:1,3:5,_/binary>> -> +?RT_BER:decode_bit_string(Bytes5,[],[{escapeService,0},{systemStatus,1}],[{tag,128,3,'IMPLICIT',32}], no_length, mandatory); +_ -> +{[],Bytes5, 0 } +end, + +%%------------------------------------------------- +%% attribute number 5 with type BIT STRING DEFAULT = [] +%%------------------------------------------------- + {Term5,Bytes7,Rb6} = case Bytes6 of +<<2:2,_:1,4:5,_/binary>> -> +?RT_BER:decode_bit_string(Bytes6,[],[{monitorStart,0},{changeMonitorFilter,1},{monitorStop,2},{snapshotDevice,3},{snapshotCall,4}],[{tag,128,4,'IMPLICIT',32}], no_length, mandatory); +_ -> +{[],Bytes6, 0 } +end, + +%%------------------------------------------------- +%% attribute number 6 with type BIT STRING DEFAULT = [] +%%------------------------------------------------- + {Term6,Bytes8,Rb7} = case Bytes7 of +<<2:2,_:1,5:5,_/binary>> -> +?RT_BER:decode_bit_string(Bytes7,[],[{startDataPathService,0},{stopDataPathService,1},{sendDataService,2},{sendMulticastDataService,3},{sendBroadcastDataService,4},{suspendDataPathService,5},{dataPathSuspendedService,6},{resumeDataPath,7},{dataPathResumedService,8},{fastData,9}],[{tag,128,5,'IMPLICIT',32}], no_length, mandatory); +_ -> +{[],Bytes7, 0 } +end, + +%%------------------------------------------------- +%% attribute number 7 with type BIT STRING DEFAULT = [] +%%------------------------------------------------- + {Term7,Bytes9,Rb8} = case Bytes8 of +<<2:2,_:1,6:5,_/binary>> -> +?RT_BER:decode_bit_string(Bytes8,[],[{concatenateMessage,0},{deleteMessage,1},{playMessage,2},{queryVoiceAttribute,3},{recordMessage,4},{reposition,5},{resume,6},{review,7},{setVoiceAttribute,8},{stop,9},{suspend,10},{synthesizeMessage,11}],[{tag,128,6,'IMPLICIT',32}], no_length, mandatory); +_ -> +{[],Bytes8, 0 } +end, + + {Bytes10,Rb9} = ?RT_BER:restbytes2(RemBytes, Bytes9,noext), + {{'CSTAFunctionality', Term1, Term2, Term3, Term4, Term5, Term6, Term7}, Bytes10, Rb1+Rb2+Rb3+Rb4+Rb5+Rb6+Rb7+Rb8+Rb9}. + + +%%================================ +%% SwitchingFunctionServicesC2 +%%================================ + +'enc_SwitchingFunctionServicesC2'({'SwitchingFunctionServicesC2',Val}, TagIn) -> + 'enc_SwitchingFunctionServicesC2'(Val, TagIn); + +'enc_SwitchingFunctionServicesC2'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{alternateCall,0},{answerCall,1},{associateData,2},{callCompletion,3},{clearCall,4},{clearConnection,5},{conferenceCall,6},{consultationCall,7},{divertCall,8},{holdCall,9},{makeCall,10},{makePredictiveCall,11},{parkCall,12},{queryDevice,13},{reconnectCall,14},{retrieveCall,15},{sendDTMFTones,16},{setFeature,17},{singleStepConference,18},{singleStepTransfer,19},{transferCall,20}], TagIn ++ []). + + +'dec_SwitchingFunctionServicesC2'(Bytes, OptOrMand) -> + 'dec_SwitchingFunctionServicesC2'(Bytes, OptOrMand, []). + +'dec_SwitchingFunctionServicesC2'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{alternateCall,0},{answerCall,1},{associateData,2},{callCompletion,3},{clearCall,4},{clearConnection,5},{conferenceCall,6},{consultationCall,7},{divertCall,8},{holdCall,9},{makeCall,10},{makePredictiveCall,11},{parkCall,12},{queryDevice,13},{reconnectCall,14},{retrieveCall,15},{sendDTMFTones,16},{setFeature,17},{singleStepConference,18},{singleStepTransfer,19},{transferCall,20}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% EventReportServicesC2 +%%================================ + +'enc_EventReportServicesC2'({'EventReportServicesC2',Val}, TagIn) -> + 'enc_EventReportServicesC2'(Val, TagIn); + +'enc_EventReportServicesC2'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{callCleared,0},{conferenced,1},{connectionCleared,2},{delivered,3},{diverted,4},{established,5},{failed,6},{held,7},{networkReached,8},{originated,9},{queued,10},{retrieved,11},{serviceInitiated,12},{transferred,13},{autoAnswer,14},{callInformation,15},{doNotDisturb,16},{forwarding,17},{messageWaiting,18},{microphoneMute,19},{speakerMute,20},{speakerVolume,21},{agentBusy,22},{loggedOn,23},{loggedOff,24},{notReady,25},{ready,26},{workingAfterCall,27},{backInService,28},{outOfServiceEvent,29},{privateEvent,30},{playEvent,31},{recordEvent,32},{reviewEvent,33},{stopEvent,34},{suspendPlayEvent,35},{suspendRecordEvent,36},{voiceAttributesChangeEvent,37}], TagIn ++ []). + + +'dec_EventReportServicesC2'(Bytes, OptOrMand) -> + 'dec_EventReportServicesC2'(Bytes, OptOrMand, []). + +'dec_EventReportServicesC2'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{callCleared,0},{conferenced,1},{connectionCleared,2},{delivered,3},{diverted,4},{established,5},{failed,6},{held,7},{networkReached,8},{originated,9},{queued,10},{retrieved,11},{serviceInitiated,12},{transferred,13},{autoAnswer,14},{callInformation,15},{doNotDisturb,16},{forwarding,17},{messageWaiting,18},{microphoneMute,19},{speakerMute,20},{speakerVolume,21},{agentBusy,22},{loggedOn,23},{loggedOff,24},{notReady,25},{ready,26},{workingAfterCall,27},{backInService,28},{outOfServiceEvent,29},{privateEvent,30},{playEvent,31},{recordEvent,32},{reviewEvent,33},{stopEvent,34},{suspendPlayEvent,35},{suspendRecordEvent,36},{voiceAttributesChangeEvent,37}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% ComputingFunctionServicesC2 +%%================================ + +'enc_ComputingFunctionServicesC2'({'ComputingFunctionServicesC2',Val}, TagIn) -> + 'enc_ComputingFunctionServicesC2'(Val, TagIn); + +'enc_ComputingFunctionServicesC2'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{routeRequest,0},{reRouteRequest,1},{routeSelectRequest,2},{routeUsedRequest,3},{routeEndRequest,4}], TagIn ++ []). + + +'dec_ComputingFunctionServicesC2'(Bytes, OptOrMand) -> + 'dec_ComputingFunctionServicesC2'(Bytes, OptOrMand, []). + +'dec_ComputingFunctionServicesC2'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{routeRequest,0},{reRouteRequest,1},{routeSelectRequest,2},{routeUsedRequest,3},{routeEndRequest,4}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% BidirectionalServicesC2 +%%================================ + +'enc_BidirectionalServicesC2'({'BidirectionalServicesC2',Val}, TagIn) -> + 'enc_BidirectionalServicesC2'(Val, TagIn); + +'enc_BidirectionalServicesC2'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{escapeService,0},{systemStatus,1}], TagIn ++ []). + + +'dec_BidirectionalServicesC2'(Bytes, OptOrMand) -> + 'dec_BidirectionalServicesC2'(Bytes, OptOrMand, []). + +'dec_BidirectionalServicesC2'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{escapeService,0},{systemStatus,1}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% StatusReportingServicesC2 +%%================================ + +'enc_StatusReportingServicesC2'({'StatusReportingServicesC2',Val}, TagIn) -> + 'enc_StatusReportingServicesC2'(Val, TagIn); + +'enc_StatusReportingServicesC2'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{monitorStart,0},{changeMonitorFilter,1},{monitorStop,2},{snapshotDevice,3},{snapshotCall,4}], TagIn ++ []). + + +'dec_StatusReportingServicesC2'(Bytes, OptOrMand) -> + 'dec_StatusReportingServicesC2'(Bytes, OptOrMand, []). + +'dec_StatusReportingServicesC2'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{monitorStart,0},{changeMonitorFilter,1},{monitorStop,2},{snapshotDevice,3},{snapshotCall,4}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% InputOutputServicesC2 +%%================================ + +'enc_InputOutputServicesC2'({'InputOutputServicesC2',Val}, TagIn) -> + 'enc_InputOutputServicesC2'(Val, TagIn); + +'enc_InputOutputServicesC2'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{startDataPathService,0},{stopDataPathService,1},{sendDataService,2},{sendMulticastDataService,3},{sendBroadcastDataService,4},{suspendDataPathService,5},{dataPathSuspendedService,6},{resumeDataPath,7},{dataPathResumedService,8},{fastData,9}], TagIn ++ []). + + +'dec_InputOutputServicesC2'(Bytes, OptOrMand) -> + 'dec_InputOutputServicesC2'(Bytes, OptOrMand, []). + +'dec_InputOutputServicesC2'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{startDataPathService,0},{stopDataPathService,1},{sendDataService,2},{sendMulticastDataService,3},{sendBroadcastDataService,4},{suspendDataPathService,5},{dataPathSuspendedService,6},{resumeDataPath,7},{dataPathResumedService,8},{fastData,9}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% VoiceUnitServicesC2 +%%================================ + +'enc_VoiceUnitServicesC2'({'VoiceUnitServicesC2',Val}, TagIn) -> + 'enc_VoiceUnitServicesC2'(Val, TagIn); + +'enc_VoiceUnitServicesC2'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{concatenateMessage,0},{deleteMessage,1},{playMessage,2},{queryVoiceAttribute,3},{recordMessage,4},{reposition,5},{resume,6},{review,7},{setVoiceAttribute,8},{stop,9},{suspend,10},{synthesizeMessage,11}], TagIn ++ []). + + +'dec_VoiceUnitServicesC2'(Bytes, OptOrMand) -> + 'dec_VoiceUnitServicesC2'(Bytes, OptOrMand, []). + +'dec_VoiceUnitServicesC2'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{concatenateMessage,0},{deleteMessage,1},{playMessage,2},{queryVoiceAttribute,3},{recordMessage,4},{reposition,5},{resume,6},{review,7},{setVoiceAttribute,8},{stop,9},{suspend,10},{synthesizeMessage,11}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% ACSEUserInformationForCSTA +%%================================ + +'enc_ACSEUserInformationForCSTA'({'ACSEUserInformationForCSTA',Val}, TagIn) -> + 'enc_ACSEUserInformationForCSTA'(Val, TagIn); + +'enc_ACSEUserInformationForCSTA'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + oldDefinition -> + 'enc_OldACSEUserInformationForCSTA'(element(2,Val), []); + newDefinition -> + 'enc_NewACSEUserInformationForCSTA'(element(2,Val), [{tag,128,0,'IMPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_ACSEUserInformationForCSTA'(Bytes, OptOrMand) -> + 'dec_ACSEUserInformationForCSTA'(Bytes, OptOrMand, []). + +'dec_ACSEUserInformationForCSTA'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'oldDefinition' + <<0:2,_:1,16:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_OldACSEUserInformationForCSTA'(Bytes1, mandatory, []), + {{oldDefinition, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'newDefinition' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_NewACSEUserInformationForCSTA'(Bytes1, mandatory, [{tag,128,0,'IMPLICIT',32}]), + {{newDefinition, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% OldACSEUserInformationForCSTA +%%================================ +'enc_OldACSEUserInformationForCSTA'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type BIT STRING +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_bit_string([], ?RT_BER:cindex(2,Val,cSTAVersion), [{versionOne,0},{versionTwo,1},{versionThree,2},{versionFour,3},{versionFive,4},{versionSix,5},{versionSeven,6},{versionEight,7},{versionNine,8},{versionTen,9},{versionEleven,10},{versionTwelve,11},{versionThirteen,12},{versionFourteen,13},{versionFifteen,14},{versionSixteen,15},{versionSeventeen,16},{versionEighteen,17},{versionNineteen,18},{versionTwenty,19},{versionTwentyone,20},{versionTwentytwo,21},{versionTwentythree,22},{versionTwentyfour,23}], []), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-application-context-information-csta3:CSTAFunctionality +%%------------------------------------------------- + {EncBytes2,EncLen2} = 'enc_CSTAFunctionality'(?RT_BER:cindex(3,Val,cSTAFunctionsRequiredByApplication), []), + +%%------------------------------------------------- +%% attribute number 3 External CSTA-application-context-information-csta3:CSTAFunctionality +%%------------------------------------------------- + {EncBytes3,EncLen3} = 'enc_CSTAFunctionality'(?RT_BER:cindex(4,Val,cSTAFunctionsThatCanBeSupplied), []), + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], + LenSoFar = EncLen1 + EncLen2 + EncLen3, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_OldACSEUserInformationForCSTA'(Bytes, OptOrMand) -> + 'dec_OldACSEUserInformationForCSTA'(Bytes, OptOrMand, []). + +'dec_OldACSEUserInformationForCSTA'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type BIT STRING +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_bit_string(Bytes2,[],[{versionOne,0},{versionTwo,1},{versionThree,2},{versionFour,3},{versionFive,4},{versionSix,5},{versionSeven,6},{versionEight,7},{versionNine,8},{versionTen,9},{versionEleven,10},{versionTwelve,11},{versionThirteen,12},{versionFourteen,13},{versionFifteen,14},{versionSixteen,15},{versionSeventeen,16},{versionEighteen,17},{versionNineteen,18},{versionTwenty,19},{versionTwentyone,20},{versionTwentytwo,21},{versionTwentythree,22},{versionTwentyfour,23}],[], no_length, mandatory), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-application-context-information-csta3:CSTAFunctionality +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = 'dec_CSTAFunctionality'(Bytes3, mandatory, []), + +%%------------------------------------------------- +%% attribute number 3 External CSTA-application-context-information-csta3:CSTAFunctionality +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = 'dec_CSTAFunctionality'(Bytes4, mandatory, []), + + {Bytes6,Rb5} = ?RT_BER:restbytes2(RemBytes, Bytes5,noext), + {{'OldACSEUserInformationForCSTA', Term1, Term2, Term3}, Bytes6, Rb1+Rb2+Rb3+Rb4+Rb5}. + + +%%================================ +%% NewACSEUserInformationForCSTA +%%================================ +'enc_NewACSEUserInformationForCSTA'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type BIT STRING +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_bit_string([], ?RT_BER:cindex(2,Val,cSTAVersion), [{versionOne,0},{versionTwo,1},{versionThree,2},{versionFour,3},{versionFive,4},{versionSix,5},{versionSeven,6},{versionEight,7},{versionNine,8},{versionTen,9},{versionEleven,10},{versionTwelve,11},{versionThirteen,12},{versionFourteen,13},{versionFifteen,14},{versionSixteen,15},{versionSeventeen,16},{versionEighteen,17},{versionNineteen,18},{versionTwenty,19},{versionTwentyone,20},{versionTwentytwo,21},{versionTwentythree,22},{versionTwentyfour,23}], []), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-application-context-information-csta3:CSTAFunctionality OPTIONAL +%%------------------------------------------------- + {EncBytes2,EncLen2} = case ?RT_BER:cindex(3,Val,cSTAFunctionsRequiredByApplication) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_CSTAFunctionality'(?RT_BER:cindex(3,Val,cSTAFunctionsRequiredByApplication), [{tag,128,0,'IMPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 3 External CSTA-application-context-information-csta3:CSTAFunctionality OPTIONAL +%%------------------------------------------------- + {EncBytes3,EncLen3} = case ?RT_BER:cindex(4,Val,cSTAFunctionsThatCanBeSupplied) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_CSTAFunctionality'(?RT_BER:cindex(4,Val,cSTAFunctionsThatCanBeSupplied), [{tag,128,1,'IMPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 4 External CSTA-application-context-information-csta3:CSTAPrivateDataVersionList OPTIONAL +%%------------------------------------------------- + {EncBytes4,EncLen4} = case ?RT_BER:cindex(5,Val,cSTAPrivateDataVersionList) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_CSTAPrivateDataVersionList'(?RT_BER:cindex(5,Val,cSTAPrivateDataVersionList), [{tag,128,2,'IMPLICIT',32}]) + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4], + LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_NewACSEUserInformationForCSTA'(Bytes, OptOrMand) -> + 'dec_NewACSEUserInformationForCSTA'(Bytes, OptOrMand, []). + +'dec_NewACSEUserInformationForCSTA'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type BIT STRING +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_bit_string(Bytes2,[],[{versionOne,0},{versionTwo,1},{versionThree,2},{versionFour,3},{versionFive,4},{versionSix,5},{versionSeven,6},{versionEight,7},{versionNine,8},{versionTen,9},{versionEleven,10},{versionTwelve,11},{versionThirteen,12},{versionFourteen,13},{versionFifteen,14},{versionSixteen,15},{versionSeventeen,16},{versionEighteen,17},{versionNineteen,18},{versionTwenty,19},{versionTwentyone,20},{versionTwentytwo,21},{versionTwentythree,22},{versionTwentyfour,23}],[], no_length, mandatory), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-application-context-information-csta3:CSTAFunctionality OPTIONAL +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = case Bytes3 of +<<2:2,_:1,0:5,_/binary>> -> +'dec_CSTAFunctionality'(Bytes3, opt_or_default, [{tag,128,0,'IMPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes3, 0 } +end, + +%%------------------------------------------------- +%% attribute number 3 External CSTA-application-context-information-csta3:CSTAFunctionality OPTIONAL +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = case Bytes4 of +<<2:2,_:1,1:5,_/binary>> -> +'dec_CSTAFunctionality'(Bytes4, opt_or_default, [{tag,128,1,'IMPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes4, 0 } +end, + +%%------------------------------------------------- +%% attribute number 4 External CSTA-application-context-information-csta3:CSTAPrivateDataVersionList OPTIONAL +%%------------------------------------------------- + {Term4,Bytes6,Rb5} = case Bytes5 of +<<2:2,_:1,2:5,_/binary>> -> +'dec_CSTAPrivateDataVersionList'(Bytes5, opt_or_default, [{tag,128,2,'IMPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes5, 0 } +end, + + {Bytes7,Rb6} = ?RT_BER:restbytes2(RemBytes, Bytes6,noext), + {{'NewACSEUserInformationForCSTA', Term1, Term2, Term3, Term4}, Bytes7, Rb1+Rb2+Rb3+Rb4+Rb5+Rb6}. + + +%%================================ +%% CSTAPrivateDataVersionList +%%================================ + +'enc_CSTAPrivateDataVersionList'({'CSTAPrivateDataVersionList',Val}, TagIn) -> + 'enc_CSTAPrivateDataVersionList'(Val, TagIn); + +'enc_CSTAPrivateDataVersionList'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_CSTAPrivateDataVersionList_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_CSTAPrivateDataVersionList_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_CSTAPrivateDataVersionList_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = ?RT_BER:encode_integer([], H, []), + 'enc_CSTAPrivateDataVersionList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + + + +'dec_CSTAPrivateDataVersionList'(Bytes, OptOrMand) -> + 'dec_CSTAPrivateDataVersionList'(Bytes, OptOrMand, []). + +'dec_CSTAPrivateDataVersionList'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun(FBytes,_,_)-> +?RT_BER:decode_integer(FBytes,[],[], mandatory) +end, [], []). + + + + +%%================================ +%% CSTAVersion +%%================================ + +'enc_CSTAVersion'({'CSTAVersion',Val}, TagIn) -> + 'enc_CSTAVersion'(Val, TagIn); + +'enc_CSTAVersion'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{versionOne,0},{versionTwo,1},{versionThree,2},{versionFour,3},{versionFive,4},{versionSix,5},{versionSeven,6},{versionEight,7},{versionNine,8},{versionTen,9},{versionEleven,10},{versionTwelve,11},{versionThirteen,12},{versionFourteen,13},{versionFifteen,14},{versionSixteen,15},{versionSeventeen,16},{versionEighteen,17},{versionNineteen,18},{versionTwenty,19},{versionTwentyone,20},{versionTwentytwo,21},{versionTwentythree,22},{versionTwentyfour,23}], TagIn ++ []). + + +'dec_CSTAVersion'(Bytes, OptOrMand) -> + 'dec_CSTAVersion'(Bytes, OptOrMand, []). + +'dec_CSTAVersion'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{versionOne,0},{versionTwo,1},{versionThree,2},{versionFour,3},{versionFive,4},{versionSix,5},{versionSeven,6},{versionEight,7},{versionNine,8},{versionTen,9},{versionEleven,10},{versionTwelve,11},{versionThirteen,12},{versionFourteen,13},{versionFifteen,14},{versionSixteen,15},{versionSeventeen,16},{versionEighteen,17},{versionNineteen,18},{versionTwenty,19},{versionTwentyone,20},{versionTwentytwo,21},{versionTwentythree,22},{versionTwentyfour,23}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% CallControlServices +%%================================ + +'enc_CallControlServices'({'CallControlServices',Val}, TagIn) -> + 'enc_CallControlServices'(Val, TagIn); + +'enc_CallControlServices'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{acceptCall,0},{alternateCall,1},{answerCall,2},{callBack,3},{callBackMessage,4},{campOnCall,5},{clearCall,6},{clearConnection,7},{conferenceCall,8},{consultationCall,9},{deflectCall,10},{dialDigits,11},{directedPickupCall,12},{groupPickupCall,13},{holdCall,14},{intrudeCall,15},{joinCall,16},{makeCall,17},{makePredictiveCall,18},{parkCall,19},{reconnectCall,20},{retrieveCall,21},{singleStepConference,22},{singleStepTransfer,23},{transferCall,24},{makeConnection,25},{sendMessage,26}], TagIn ++ []). + + +'dec_CallControlServices'(Bytes, OptOrMand) -> + 'dec_CallControlServices'(Bytes, OptOrMand, []). + +'dec_CallControlServices'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{acceptCall,0},{alternateCall,1},{answerCall,2},{callBack,3},{callBackMessage,4},{campOnCall,5},{clearCall,6},{clearConnection,7},{conferenceCall,8},{consultationCall,9},{deflectCall,10},{dialDigits,11},{directedPickupCall,12},{groupPickupCall,13},{holdCall,14},{intrudeCall,15},{joinCall,16},{makeCall,17},{makePredictiveCall,18},{parkCall,19},{reconnectCall,20},{retrieveCall,21},{singleStepConference,22},{singleStepTransfer,23},{transferCall,24},{makeConnection,25},{sendMessage,26}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% CallAssociatedServices +%%================================ + +'enc_CallAssociatedServices'({'CallAssociatedServices',Val}, TagIn) -> + 'enc_CallAssociatedServices'(Val, TagIn); + +'enc_CallAssociatedServices'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{associateData,0},{cancelTelephonyTones,1},{generateDigits,2},{generateTelephonyTones,3},{sendUserInformation,4},{changeConnectionInformation,5}], TagIn ++ []). + + +'dec_CallAssociatedServices'(Bytes, OptOrMand) -> + 'dec_CallAssociatedServices'(Bytes, OptOrMand, []). + +'dec_CallAssociatedServices'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{associateData,0},{cancelTelephonyTones,1},{generateDigits,2},{generateTelephonyTones,3},{sendUserInformation,4},{changeConnectionInformation,5}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% MediaAttachmentServices +%%================================ + +'enc_MediaAttachmentServices'({'MediaAttachmentServices',Val}, TagIn) -> + 'enc_MediaAttachmentServices'(Val, TagIn); + +'enc_MediaAttachmentServices'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{attachMediaService,0},{detachMediaService,1}], TagIn ++ []). + + +'dec_MediaAttachmentServices'(Bytes, OptOrMand) -> + 'dec_MediaAttachmentServices'(Bytes, OptOrMand, []). + +'dec_MediaAttachmentServices'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{attachMediaService,0},{detachMediaService,1}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% RouteingServices +%%================================ + +'enc_RouteingServices'({'RouteingServices',Val}, TagIn) -> + 'enc_RouteingServices'(Val, TagIn); + +'enc_RouteingServices'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{routeRegister,0},{routeRegisterCancel,1},{routeRegisterAbort,2},{reroute,3},{routeEnd,4},{routeReject,5},{routeRequest,6},{routeSelect,7},{routeUsed,8}], TagIn ++ []). + + +'dec_RouteingServices'(Bytes, OptOrMand) -> + 'dec_RouteingServices'(Bytes, OptOrMand, []). + +'dec_RouteingServices'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{routeRegister,0},{routeRegisterCancel,1},{routeRegisterAbort,2},{reroute,3},{routeEnd,4},{routeReject,5},{routeRequest,6},{routeSelect,7},{routeUsed,8}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% VoiceUnitServices +%%================================ + +'enc_VoiceUnitServices'({'VoiceUnitServices',Val}, TagIn) -> + 'enc_VoiceUnitServices'(Val, TagIn); + +'enc_VoiceUnitServices'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{concatenateMessage,0},{deleteMessage,1},{playMessage,2},{queryVoiceAttribute,3},{recordMessage,4},{reposition,5},{resume,6},{review,7},{setVoiceAttribute,8},{stop,9},{suspend,10},{synthesizeMessage,11},{activate,12},{clear,13},{deactivate,14}], TagIn ++ []). + + +'dec_VoiceUnitServices'(Bytes, OptOrMand) -> + 'dec_VoiceUnitServices'(Bytes, OptOrMand, []). + +'dec_VoiceUnitServices'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{concatenateMessage,0},{deleteMessage,1},{playMessage,2},{queryVoiceAttribute,3},{recordMessage,4},{reposition,5},{resume,6},{review,7},{setVoiceAttribute,8},{stop,9},{suspend,10},{synthesizeMessage,11},{activate,12},{clear,13},{deactivate,14}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% LocationServices +%%================================ + +'enc_LocationServices'({'LocationServices',Val}, TagIn) -> + 'enc_LocationServices'(Val, TagIn); + +'enc_LocationServices'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{getLocationInformation,0},{setLocationInformation,1},{locationTrackkingSessionResumed,2},{locationTrackkingSessionSuspended,3},{resumeLocationTrackingSession,4},{locationInformationReport,5},{startLocationTrackingSession,6},{stopLocationTrackingSession,7},{suspendLocationTrackingCapabilities,8},{locationSessionInfo,9}], TagIn ++ []). + + +'dec_LocationServices'(Bytes, OptOrMand) -> + 'dec_LocationServices'(Bytes, OptOrMand, []). + +'dec_LocationServices'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{getLocationInformation,0},{setLocationInformation,1},{locationTrackkingSessionResumed,2},{locationTrackkingSessionSuspended,3},{resumeLocationTrackingSession,4},{locationInformationReport,5},{startLocationTrackingSession,6},{stopLocationTrackingSession,7},{suspendLocationTrackingCapabilities,8},{locationSessionInfo,9}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% CallControlEvents +%%================================ + +'enc_CallControlEvents'({'CallControlEvents',Val}, TagIn) -> + 'enc_CallControlEvents'(Val, TagIn); + +'enc_CallControlEvents'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{callCleared,0},{conferenced,1},{connectionCleared,2},{delivered,3},{diverted,4},{established,5},{failed,6},{held,7},{networkReached,8},{originated,9},{queued,10},{retrieved,11},{serviceInitiated,12},{transferred,13},{digitsDialed,14},{bridged,15},{networkCapabilitiesChanged,16},{offered,17}], TagIn ++ []). + + +'dec_CallControlEvents'(Bytes, OptOrMand) -> + 'dec_CallControlEvents'(Bytes, OptOrMand, []). + +'dec_CallControlEvents'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{callCleared,0},{conferenced,1},{connectionCleared,2},{delivered,3},{diverted,4},{established,5},{failed,6},{held,7},{networkReached,8},{originated,9},{queued,10},{retrieved,11},{serviceInitiated,12},{transferred,13},{digitsDialed,14},{bridged,15},{networkCapabilitiesChanged,16},{offered,17}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% CallAssociatedEvents +%%================================ + +'enc_CallAssociatedEvents'({'CallAssociatedEvents',Val}, TagIn) -> + 'enc_CallAssociatedEvents'(Val, TagIn); + +'enc_CallAssociatedEvents'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{callInformation,0},{charging,1},{dTMFDigitsDetected,2},{telephonyTonesDetected,3},{serviceCompletionFailure,4}], TagIn ++ []). + + +'dec_CallAssociatedEvents'(Bytes, OptOrMand) -> + 'dec_CallAssociatedEvents'(Bytes, OptOrMand, []). + +'dec_CallAssociatedEvents'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{callInformation,0},{charging,1},{dTMFDigitsDetected,2},{telephonyTonesDetected,3},{serviceCompletionFailure,4}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% MediaAttachmentEvents +%%================================ + +'enc_MediaAttachmentEvents'({'MediaAttachmentEvents',Val}, TagIn) -> + 'enc_MediaAttachmentEvents'(Val, TagIn); + +'enc_MediaAttachmentEvents'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{mediaAttached,0},{mediaDetached,1}], TagIn ++ []). + + +'dec_MediaAttachmentEvents'(Bytes, OptOrMand) -> + 'dec_MediaAttachmentEvents'(Bytes, OptOrMand, []). + +'dec_MediaAttachmentEvents'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{mediaAttached,0},{mediaDetached,1}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% PhysicalDeviceFeatureEvents +%%================================ + +'enc_PhysicalDeviceFeatureEvents'({'PhysicalDeviceFeatureEvents',Val}, TagIn) -> + 'enc_PhysicalDeviceFeatureEvents'(Val, TagIn); + +'enc_PhysicalDeviceFeatureEvents'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{buttonInformation,0},{buttonPress,1},{displayUpdated,2},{hookswitch,3},{lampMode,4},{messageWaiting,5},{microphoneGain,6},{microphoneMute,7},{ringerStatus,8},{speakerMute,9},{speakerVolume,10}], TagIn ++ []). + + +'dec_PhysicalDeviceFeatureEvents'(Bytes, OptOrMand) -> + 'dec_PhysicalDeviceFeatureEvents'(Bytes, OptOrMand, []). + +'dec_PhysicalDeviceFeatureEvents'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{buttonInformation,0},{buttonPress,1},{displayUpdated,2},{hookswitch,3},{lampMode,4},{messageWaiting,5},{microphoneGain,6},{microphoneMute,7},{ringerStatus,8},{speakerMute,9},{speakerVolume,10}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% LogicalDeviceFeatureEvents +%%================================ + +'enc_LogicalDeviceFeatureEvents'({'LogicalDeviceFeatureEvents',Val}, TagIn) -> + 'enc_LogicalDeviceFeatureEvents'(Val, TagIn); + +'enc_LogicalDeviceFeatureEvents'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{agentBusy,0},{agentLoggedOn,1},{agentLoggedOff,2},{agentNotReady,3},{agentReady,4},{agentWorkingAfterCall,5},{autoAnswer,6},{autoWorkMode,7},{callBack,8},{callBackMessage,9},{callerIDStatus,10},{doNotDisturb,11},{forwarding,12},{routeingMode,13},{presenceState,14}], TagIn ++ []). + + +'dec_LogicalDeviceFeatureEvents'(Bytes, OptOrMand) -> + 'dec_LogicalDeviceFeatureEvents'(Bytes, OptOrMand, []). + +'dec_LogicalDeviceFeatureEvents'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{agentBusy,0},{agentLoggedOn,1},{agentLoggedOff,2},{agentNotReady,3},{agentReady,4},{agentWorkingAfterCall,5},{autoAnswer,6},{autoWorkMode,7},{callBack,8},{callBackMessage,9},{callerIDStatus,10},{doNotDisturb,11},{forwarding,12},{routeingMode,13},{presenceState,14}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% DeviceMaintenanceEvents +%%================================ + +'enc_DeviceMaintenanceEvents'({'DeviceMaintenanceEvents',Val}, TagIn) -> + 'enc_DeviceMaintenanceEvents'(Val, TagIn); + +'enc_DeviceMaintenanceEvents'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{backInService,0},{outOfService,1},{deviceCapabilityChanged,2},{partiallyInService,3}], TagIn ++ []). + + +'dec_DeviceMaintenanceEvents'(Bytes, OptOrMand) -> + 'dec_DeviceMaintenanceEvents'(Bytes, OptOrMand, []). + +'dec_DeviceMaintenanceEvents'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{backInService,0},{outOfService,1},{deviceCapabilityChanged,2},{partiallyInService,3}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% VoiceUnitEvents +%%================================ + +'enc_VoiceUnitEvents'({'VoiceUnitEvents',Val}, TagIn) -> + 'enc_VoiceUnitEvents'(Val, TagIn); + +'enc_VoiceUnitEvents'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{stop,0},{play,1},{suspendPlay,2},{record,3},{suspendRecord,4},{review,5},{voiceAttributesChange,6},{bookmarkReached,7},{completed,8},{dtmfDetected,9},{emptied,10},{interruptionDetected,11},{notRecognized,12},{recognized,13},{started,14},{silenceTimeoutExpired,15},{speechDetected,16},{voiceErrorOccured,17}], TagIn ++ []). + + +'dec_VoiceUnitEvents'(Bytes, OptOrMand) -> + 'dec_VoiceUnitEvents'(Bytes, OptOrMand, []). + +'dec_VoiceUnitEvents'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{stop,0},{play,1},{suspendPlay,2},{record,3},{suspendRecord,4},{review,5},{voiceAttributesChange,6},{bookmarkReached,7},{completed,8},{dtmfDetected,9},{emptied,10},{interruptionDetected,11},{notRecognized,12},{recognized,13},{started,14},{silenceTimeoutExpired,15},{speechDetected,16},{voiceErrorOccured,17}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% VendorSpecEvents +%%================================ + +'enc_VendorSpecEvents'({'VendorSpecEvents',Val}, TagIn) -> + 'enc_VendorSpecEvents'(Val, TagIn); + +'enc_VendorSpecEvents'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{privateEvent,0}], TagIn ++ []). + + +'dec_VendorSpecEvents'(Bytes, OptOrMand) -> + 'dec_VendorSpecEvents'(Bytes, OptOrMand, []). + +'dec_VendorSpecEvents'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{privateEvent,0}],TagIn++[], no_length, OptOrMand). + diff --git a/CSTA-application-context-information-csta3.hrl b/CSTA-application-context-information-csta3.hrl new file mode 100644 index 0000000..64728f5 --- /dev/null +++ b/CSTA-application-context-information-csta3.hrl @@ -0,0 +1,16 @@ +%% Generated by the Erlang ASN.1 compiler version:1.7 +%% Purpose: Erlang record definitions for each named and unnamed +%% SEQUENCE and SET, and macro definitions for each value +%% definition,in module CSTA-application-context-information-csta3 + + + +-record('CSTAFunctionality',{ +switchingFunctionServices = asn1_DEFAULT, eventReportServices = asn1_DEFAULT, computingFunctionServices = asn1_DEFAULT, bidirectionalServices = asn1_DEFAULT, statusReportingServices = asn1_DEFAULT, inputOutputServices = asn1_DEFAULT, voiceUnitServices = asn1_DEFAULT}). + +-record('OldACSEUserInformationForCSTA',{ +cSTAVersion, cSTAFunctionsRequiredByApplication, cSTAFunctionsThatCanBeSupplied}). + +-record('NewACSEUserInformationForCSTA',{ +cSTAVersion, cSTAFunctionsRequiredByApplication = asn1_NOVALUE, cSTAFunctionsThatCanBeSupplied = asn1_NOVALUE, cSTAPrivateDataVersionList = asn1_NOVALUE}). + diff --git a/KME-specific-types.erl b/KME-specific-types.erl new file mode 100644 index 0000000..d23ccf6 --- /dev/null +++ b/KME-specific-types.erl @@ -0,0 +1,10502 @@ +%% Generated by the Erlang ASN.1 BER-compiler version:1.7 +%% Purpose: encoder and decoder to the types in mod KME-specific-types + +-module('KME-specific-types'). +-include("KME-specific-types.hrl"). +-define('RT_BER',asn1rt_ber_bin). +-asn1_info([{vsn,'1.7'}, + {module,'KME-specific-types'}, + {options,[{i,[47,104,111,109,101,47,113,117,97,120,47,101,114,108,47,97,115,110]},warnings,ber,errors,{cwd,[47,104,111,109,101,47,113,117,97,120,47,101,114,108,47,97,115,110]},{outdir,[47,104,111,109,101,47,113,117,97,120,47,101,114,108,47,97,115,110]},{i,[47,104,111,109,101,47,113,117,97,120,47,101,114,108,47,97,115,110,47,99,115,116,97]},{i,[46]},{i,[47,104,111,109,101,47,113,117,97,120,47,101,114,108,47,97,115,110,47,107,109,101]}]}]). + +-export([encoding_rule/0]). +-export([ +'enc_KmeDeviceLock'/2, +'enc_KmeTimeStamp'/2, +'enc_KmeSpeedDialRequest'/2, +'enc_KmeSpeedDial'/2, +'enc_KmeWakeUpTime'/2, +'enc_KmeWakeUpSchedule'/2, +'enc_KmeWakeUpInfo'/2, +'enc_KmeWakeupState'/2, +'enc_KmeAbsentMessage'/2, +'enc_KmeDnMode'/2, +'enc_KmeDayNightMode'/2, +'enc_KmeOgmPlayState'/2, +'enc_KmeForwardType'/2, +'enc_KmeSetForwardInfo'/2, +'enc_KmeFeatureList'/2, +'enc_KmeExtGroupEntry'/2, +'enc_KmeTrkGroupEntry'/2, +'enc_KmeExtMembers'/2, +'enc_KmeTrkMembers'/2, +'enc_KmeExtTrkGroupList'/2, +'enc_KmeGroupMembers'/2, +'enc_KmePckPagGroupList'/2, +'enc_KmeIcmGrpMembers'/2, +'enc_KmeIncomingGroupList'/2, +'enc_KmeDoorPhone'/2, +'enc_KmeVmGroup'/2, +'enc_KmeVmDtmfType'/2, +'enc_KmeVmGroupList'/2, +'enc_KmePsGroupList'/2, +'enc_KmeChangeExtNo'/2, +'enc_KmeChangeName'/2, +'enc_KmeDeviceCategory'/2, +'enc_KmeRequestedDevice'/2, +'enc_KmeChangedDeviceCategory'/2, +'enc_KmeDeviceStateList'/2, +'enc_KmeDeviceStateEntry'/2, +'enc_KmeDeviceState'/2, +'enc_KmeGroupType'/2, +'enc_KmePhoneProperty'/2, +'enc_KmeDeviceExtNo'/2, +'enc_KmeDeviceName'/2, +'enc_KmeFcoKeyInfo'/2, +'enc_KmeFcoKeyList'/2, +'enc_KmeExternalSensorList'/2, +'enc_KmeTenantSpeedDial'/2, +'enc_KmeDistributionMethod'/2, +'enc_KmePDFStart'/2, +'enc_KmePDFStop'/2, +'enc_KmePDFStatus'/2, +'enc_KmePDFSrvEvt'/2, +'enc_KmeSvmList'/2, +'enc_KmeExtName'/2, +'enc_NumberOfMsgPort'/2, +'enc_KmeDndOverride'/2, +'enc_KmeInteruptCall'/2, +'enc_KmeExternalFeatureAccess'/2, +'enc_KmeTempTollChange'/2, +'enc_KmeDoorOpen'/2, +'enc_KmeTwoWayRec'/2, +'enc_KmeCallBackInvokeReq'/2, +'enc_KmeCallBackInvokeRsp'/2, +'enc_CallBackNotification'/2, +'enc_KmeCallBackInvoke'/2, +'enc_KmePcRec'/2, +'enc_KmeDeviceAgentStatus'/2, +'enc_KmeDeviceCallStatus'/2, +'enc_KmeDeviceServiceStatus'/2, +'enc_KmeLineStatus'/2, +'enc_KmeLineStatusSegment'/2, +'enc_KmeStartDeviceMonitor'/2, +'enc_KmeStopDeviceMonitor'/2, +'enc_CallMonitorEvent'/2, +'enc_KmeBroadcastGroupList'/2, +'enc_KmeBroadcastGrpMembers'/2, +'enc_KmeAlterIfSrvEvt'/2, +'enc_KmeAlterIf'/2, +'enc_KmeIfAltered'/2, +'enc_IfVersion'/2, +'enc_KmeDeviceDataList'/2, +'enc_KmePdnGMembers'/2, +'enc_KmeHotelSrvEvt'/2, +'enc_KmeCheckStatusList'/2, +'enc_KmeRoomStatus'/2, +'enc_KmeCleanUpStatus'/2, +'enc_KmeGetSystemDataReq'/2, +'enc_KmeGetSystemDataRsp'/2, +'enc_KmeGetSystemData'/2, +'enc_KmeSetSystemData'/2, +'enc_KmeSystemDataChanged'/2, +'enc_KmeSystemDataLinkedReply'/2, +'enc_KmeGetSystemDataPosAck'/2, +'enc_KmeSystemCrossRefID'/2, +'enc_KmeLockSystemData'/2, +'enc_KmeSystemDataStatus'/2, +'enc_KmeSystemDataRevision'/2, +'enc_KmeGetSystemDataRevision'/2, +'enc_KmeRevisionType'/2, +'enc_ProgrammingEventOn'/2, +'enc_KmeSetProgrammingEventOn'/2, +'enc_KmeLocalAlerm'/2, +'enc_KmeTrunkId'/2, +'enc_KmeOtherDevice'/2, +'enc_KmeCdrConditionCode'/2, +'enc_KmeFeatureNumber'/2, +'enc_KmeProprietaryChars'/2, +'enc_KmeHoldType'/2, +'enc_KmeForcedAlerting'/2, +'enc_KmeDigitsReport'/2, +'enc_KmeOgmStatus'/2, +'enc_KmeWakeupResult'/2, +'enc_KmeUnconferenced'/2, +'enc_KmeTamEnded'/2, +'enc_KmePcRecEnded'/2, +'enc_KmeSwitchChannel'/2, +'enc_KmeFreeOgmPort'/2, +'enc_KmeCallControlSrvEvt'/2, +'enc_KmeDeviceStatus'/2, +'enc_KmeDeviceMonitor'/2, +'enc_KmeSystemData'/2, +'enc_KmeAdditionalData'/2, +'enc_KmePrivateEvent'/2, +'enc_KmeResourceControl'/2, +'enc_KmeOgmStart'/2, +'enc_KmeOgmStop'/2, +'enc_KmeGenericSrvEvt'/2, +'enc_KmeGenericServiceReq'/2, +'enc_KmeGenericServiceRsp'/2, +'enc_KmeGenericEvent'/2, +'enc_KMESpecificPrivateData'/2 +]). + +-export([ +'dec_KmeDeviceLock'/2, +'dec_KmeTimeStamp'/2, +'dec_KmeSpeedDialRequest'/2, +'dec_KmeSpeedDial'/2, +'dec_KmeWakeUpTime'/2, +'dec_KmeWakeUpSchedule'/2, +'dec_KmeWakeUpInfo'/2, +'dec_KmeWakeupState'/2, +'dec_KmeAbsentMessage'/2, +'dec_KmeDnMode'/2, +'dec_KmeDayNightMode'/2, +'dec_KmeOgmPlayState'/2, +'dec_KmeForwardType'/2, +'dec_KmeSetForwardInfo'/2, +'dec_KmeFeatureList'/2, +'dec_KmeExtGroupEntry'/2, +'dec_KmeTrkGroupEntry'/2, +'dec_KmeExtMembers'/2, +'dec_KmeTrkMembers'/2, +'dec_KmeExtTrkGroupList'/2, +'dec_KmeGroupMembers'/2, +'dec_KmePckPagGroupList'/2, +'dec_KmeIcmGrpMembers'/2, +'dec_KmeIncomingGroupList'/2, +'dec_KmeDoorPhone'/2, +'dec_KmeVmGroup'/2, +'dec_KmeVmDtmfType'/2, +'dec_KmeVmGroupList'/2, +'dec_KmePsGroupList'/2, +'dec_KmeChangeExtNo'/2, +'dec_KmeChangeName'/2, +'dec_KmeDeviceCategory'/2, +'dec_KmeRequestedDevice'/2, +'dec_KmeChangedDeviceCategory'/2, +'dec_KmeDeviceStateList'/2, +'dec_KmeDeviceStateEntry'/2, +'dec_KmeDeviceState'/2, +'dec_KmeGroupType'/2, +'dec_KmePhoneProperty'/2, +'dec_KmeDeviceExtNo'/2, +'dec_KmeDeviceName'/2, +'dec_KmeFcoKeyInfo'/2, +'dec_KmeFcoKeyList'/2, +'dec_KmeExternalSensorList'/2, +'dec_KmeTenantSpeedDial'/2, +'dec_KmeDistributionMethod'/2, +'dec_KmePDFStart'/2, +'dec_KmePDFStop'/2, +'dec_KmePDFStatus'/2, +'dec_KmePDFSrvEvt'/2, +'dec_KmeSvmList'/2, +'dec_KmeExtName'/2, +'dec_NumberOfMsgPort'/2, +'dec_KmeDndOverride'/2, +'dec_KmeInteruptCall'/2, +'dec_KmeExternalFeatureAccess'/2, +'dec_KmeTempTollChange'/2, +'dec_KmeDoorOpen'/2, +'dec_KmeTwoWayRec'/2, +'dec_KmeCallBackInvokeReq'/2, +'dec_KmeCallBackInvokeRsp'/2, +'dec_CallBackNotification'/2, +'dec_KmeCallBackInvoke'/2, +'dec_KmePcRec'/2, +'dec_KmeDeviceAgentStatus'/2, +'dec_KmeDeviceCallStatus'/2, +'dec_KmeDeviceServiceStatus'/2, +'dec_KmeLineStatus'/2, +'dec_KmeLineStatusSegment'/2, +'dec_KmeStartDeviceMonitor'/2, +'dec_KmeStopDeviceMonitor'/2, +'dec_CallMonitorEvent'/2, +'dec_KmeBroadcastGroupList'/2, +'dec_KmeBroadcastGrpMembers'/2, +'dec_KmeAlterIfSrvEvt'/2, +'dec_KmeAlterIf'/2, +'dec_KmeIfAltered'/2, +'dec_IfVersion'/2, +'dec_KmeDeviceDataList'/2, +'dec_KmePdnGMembers'/2, +'dec_KmeHotelSrvEvt'/2, +'dec_KmeCheckStatusList'/2, +'dec_KmeRoomStatus'/2, +'dec_KmeCleanUpStatus'/2, +'dec_KmeGetSystemDataReq'/2, +'dec_KmeGetSystemDataRsp'/2, +'dec_KmeGetSystemData'/2, +'dec_KmeSetSystemData'/2, +'dec_KmeSystemDataChanged'/2, +'dec_KmeSystemDataLinkedReply'/2, +'dec_KmeGetSystemDataPosAck'/2, +'dec_KmeSystemCrossRefID'/2, +'dec_KmeLockSystemData'/2, +'dec_KmeSystemDataStatus'/2, +'dec_KmeSystemDataRevision'/2, +'dec_KmeGetSystemDataRevision'/2, +'dec_KmeRevisionType'/2, +'dec_ProgrammingEventOn'/2, +'dec_KmeSetProgrammingEventOn'/2, +'dec_KmeLocalAlerm'/2, +'dec_KmeTrunkId'/2, +'dec_KmeOtherDevice'/2, +'dec_KmeCdrConditionCode'/2, +'dec_KmeFeatureNumber'/2, +'dec_KmeProprietaryChars'/2, +'dec_KmeHoldType'/2, +'dec_KmeForcedAlerting'/2, +'dec_KmeDigitsReport'/2, +'dec_KmeOgmStatus'/2, +'dec_KmeWakeupResult'/2, +'dec_KmeUnconferenced'/2, +'dec_KmeTamEnded'/2, +'dec_KmePcRecEnded'/2, +'dec_KmeSwitchChannel'/2, +'dec_KmeFreeOgmPort'/2, +'dec_KmeCallControlSrvEvt'/2, +'dec_KmeDeviceStatus'/2, +'dec_KmeDeviceMonitor'/2, +'dec_KmeSystemData'/2, +'dec_KmeAdditionalData'/2, +'dec_KmePrivateEvent'/2, +'dec_KmeResourceControl'/2, +'dec_KmeOgmStart'/2, +'dec_KmeOgmStop'/2, +'dec_KmeGenericSrvEvt'/2, +'dec_KmeGenericServiceReq'/2, +'dec_KmeGenericServiceRsp'/2, +'dec_KmeGenericEvent'/2, +'dec_KMESpecificPrivateData'/2 +]). + +-export([ +'dec_KmeDeviceLock'/3, +'dec_KmeTimeStamp'/3, +'dec_KmeSpeedDialRequest'/3, +'dec_KmeSpeedDial'/3, +'dec_KmeWakeUpTime'/3, +'dec_KmeWakeUpSchedule'/3, +'dec_KmeWakeUpInfo'/3, +'dec_KmeWakeupState'/3, +'dec_KmeAbsentMessage'/3, +'dec_KmeDnMode'/3, +'dec_KmeDayNightMode'/3, +'dec_KmeOgmPlayState'/3, +'dec_KmeForwardType'/3, +'dec_KmeSetForwardInfo'/3, +'dec_KmeFeatureList'/3, +'dec_KmeExtGroupEntry'/3, +'dec_KmeTrkGroupEntry'/3, +'dec_KmeExtMembers'/3, +'dec_KmeTrkMembers'/3, +'dec_KmeExtTrkGroupList'/3, +'dec_KmeGroupMembers'/3, +'dec_KmePckPagGroupList'/3, +'dec_KmeIcmGrpMembers'/3, +'dec_KmeIncomingGroupList'/3, +'dec_KmeDoorPhone'/3, +'dec_KmeVmGroup'/3, +'dec_KmeVmDtmfType'/3, +'dec_KmeVmGroupList'/3, +'dec_KmePsGroupList'/3, +'dec_KmeChangeExtNo'/3, +'dec_KmeChangeName'/3, +'dec_KmeDeviceCategory'/3, +'dec_KmeRequestedDevice'/3, +'dec_KmeChangedDeviceCategory'/3, +'dec_KmeDeviceStateList'/3, +'dec_KmeDeviceStateEntry'/3, +'dec_KmeDeviceState'/3, +'dec_KmeGroupType'/3, +'dec_KmePhoneProperty'/3, +'dec_KmeDeviceExtNo'/3, +'dec_KmeDeviceName'/3, +'dec_KmeFcoKeyInfo'/3, +'dec_KmeFcoKeyList'/3, +'dec_KmeExternalSensorList'/3, +'dec_KmeTenantSpeedDial'/3, +'dec_KmeDistributionMethod'/3, +'dec_KmePDFStart'/3, +'dec_KmePDFStop'/3, +'dec_KmePDFStatus'/3, +'dec_KmePDFSrvEvt'/3, +'dec_KmeSvmList'/3, +'dec_KmeExtName'/3, +'dec_NumberOfMsgPort'/3, +'dec_KmeDndOverride'/3, +'dec_KmeInteruptCall'/3, +'dec_KmeExternalFeatureAccess'/3, +'dec_KmeTempTollChange'/3, +'dec_KmeDoorOpen'/3, +'dec_KmeTwoWayRec'/3, +'dec_KmeCallBackInvokeReq'/3, +'dec_KmeCallBackInvokeRsp'/3, +'dec_CallBackNotification'/3, +'dec_KmeCallBackInvoke'/3, +'dec_KmePcRec'/3, +'dec_KmeDeviceAgentStatus'/3, +'dec_KmeDeviceCallStatus'/3, +'dec_KmeDeviceServiceStatus'/3, +'dec_KmeLineStatus'/3, +'dec_KmeLineStatusSegment'/3, +'dec_KmeStartDeviceMonitor'/3, +'dec_KmeStopDeviceMonitor'/3, +'dec_CallMonitorEvent'/3, +'dec_KmeBroadcastGroupList'/3, +'dec_KmeBroadcastGrpMembers'/3, +'dec_KmeAlterIfSrvEvt'/3, +'dec_KmeAlterIf'/3, +'dec_KmeIfAltered'/3, +'dec_IfVersion'/3, +'dec_KmeDeviceDataList'/3, +'dec_KmePdnGMembers'/3, +'dec_KmeHotelSrvEvt'/3, +'dec_KmeCheckStatusList'/3, +'dec_KmeRoomStatus'/3, +'dec_KmeCleanUpStatus'/3, +'dec_KmeGetSystemDataReq'/3, +'dec_KmeGetSystemDataRsp'/3, +'dec_KmeGetSystemData'/3, +'dec_KmeSetSystemData'/3, +'dec_KmeSystemDataChanged'/3, +'dec_KmeSystemDataLinkedReply'/3, +'dec_KmeGetSystemDataPosAck'/3, +'dec_KmeSystemCrossRefID'/3, +'dec_KmeLockSystemData'/3, +'dec_KmeSystemDataStatus'/3, +'dec_KmeSystemDataRevision'/3, +'dec_KmeGetSystemDataRevision'/3, +'dec_KmeRevisionType'/3, +'dec_ProgrammingEventOn'/3, +'dec_KmeSetProgrammingEventOn'/3, +'dec_KmeLocalAlerm'/3, +'dec_KmeTrunkId'/3, +'dec_KmeOtherDevice'/3, +'dec_KmeCdrConditionCode'/3, +'dec_KmeFeatureNumber'/3, +'dec_KmeProprietaryChars'/3, +'dec_KmeHoldType'/3, +'dec_KmeForcedAlerting'/3, +'dec_KmeDigitsReport'/3, +'dec_KmeOgmStatus'/3, +'dec_KmeWakeupResult'/3, +'dec_KmeUnconferenced'/3, +'dec_KmeTamEnded'/3, +'dec_KmePcRecEnded'/3, +'dec_KmeSwitchChannel'/3, +'dec_KmeFreeOgmPort'/3, +'dec_KmeCallControlSrvEvt'/3, +'dec_KmeDeviceStatus'/3, +'dec_KmeDeviceMonitor'/3, +'dec_KmeSystemData'/3, +'dec_KmeAdditionalData'/3, +'dec_KmePrivateEvent'/3, +'dec_KmeResourceControl'/3, +'dec_KmeOgmStart'/3, +'dec_KmeOgmStop'/3, +'dec_KmeGenericSrvEvt'/3, +'dec_KmeGenericServiceReq'/3, +'dec_KmeGenericServiceRsp'/3, +'dec_KmeGenericEvent'/3, +'dec_KMESpecificPrivateData'/3 +]). + +-export([info/0]). + + +-export([encode/2,decode/2,encode_disp/2,decode_disp/2]). + +encoding_rule() -> + ber. + +encode(Type,Data) -> +case catch encode_disp(Type,Data) of + {'EXIT',{error,Reason}} -> + {error,Reason}; + {'EXIT',Reason} -> + {error,{asn1,Reason}}; + {Bytes,_Len} -> + {ok,wrap_encode(Bytes)}; + Bytes -> + {ok,wrap_encode(Bytes)} +end. + +decode(Type,Data) -> +case catch decode_disp(Type,wrap_decode(Data)) of + {'EXIT',{error,Reason}} -> + {error,Reason}; + {'EXIT',Reason} -> + {error,{asn1,Reason}}; + {X,_Rest} -> + {ok,X}; + {X,_Rest,_Len} -> + {ok,X} +end. + +encode_disp('KmeDeviceLock',Data) -> 'enc_KmeDeviceLock'(Data,[]); +encode_disp('KmeTimeStamp',Data) -> 'enc_KmeTimeStamp'(Data,[]); +encode_disp('KmeSpeedDialRequest',Data) -> 'enc_KmeSpeedDialRequest'(Data,[]); +encode_disp('KmeSpeedDial',Data) -> 'enc_KmeSpeedDial'(Data,[]); +encode_disp('KmeWakeUpTime',Data) -> 'enc_KmeWakeUpTime'(Data,[]); +encode_disp('KmeWakeUpSchedule',Data) -> 'enc_KmeWakeUpSchedule'(Data,[]); +encode_disp('KmeWakeUpInfo',Data) -> 'enc_KmeWakeUpInfo'(Data,[]); +encode_disp('KmeWakeupState',Data) -> 'enc_KmeWakeupState'(Data,[]); +encode_disp('KmeAbsentMessage',Data) -> 'enc_KmeAbsentMessage'(Data,[]); +encode_disp('KmeDnMode',Data) -> 'enc_KmeDnMode'(Data,[]); +encode_disp('KmeDayNightMode',Data) -> 'enc_KmeDayNightMode'(Data,[]); +encode_disp('KmeOgmPlayState',Data) -> 'enc_KmeOgmPlayState'(Data,[]); +encode_disp('KmeForwardType',Data) -> 'enc_KmeForwardType'(Data,[]); +encode_disp('KmeSetForwardInfo',Data) -> 'enc_KmeSetForwardInfo'(Data,[]); +encode_disp('KmeFeatureList',Data) -> 'enc_KmeFeatureList'(Data,[]); +encode_disp('KmeExtGroupEntry',Data) -> 'enc_KmeExtGroupEntry'(Data,[]); +encode_disp('KmeTrkGroupEntry',Data) -> 'enc_KmeTrkGroupEntry'(Data,[]); +encode_disp('KmeExtMembers',Data) -> 'enc_KmeExtMembers'(Data,[]); +encode_disp('KmeTrkMembers',Data) -> 'enc_KmeTrkMembers'(Data,[]); +encode_disp('KmeExtTrkGroupList',Data) -> 'enc_KmeExtTrkGroupList'(Data,[]); +encode_disp('KmeGroupMembers',Data) -> 'enc_KmeGroupMembers'(Data,[]); +encode_disp('KmePckPagGroupList',Data) -> 'enc_KmePckPagGroupList'(Data,[]); +encode_disp('KmeIcmGrpMembers',Data) -> 'enc_KmeIcmGrpMembers'(Data,[]); +encode_disp('KmeIncomingGroupList',Data) -> 'enc_KmeIncomingGroupList'(Data,[]); +encode_disp('KmeDoorPhone',Data) -> 'enc_KmeDoorPhone'(Data,[]); +encode_disp('KmeVmGroup',Data) -> 'enc_KmeVmGroup'(Data,[]); +encode_disp('KmeVmDtmfType',Data) -> 'enc_KmeVmDtmfType'(Data,[]); +encode_disp('KmeVmGroupList',Data) -> 'enc_KmeVmGroupList'(Data,[]); +encode_disp('KmePsGroupList',Data) -> 'enc_KmePsGroupList'(Data,[]); +encode_disp('KmeChangeExtNo',Data) -> 'enc_KmeChangeExtNo'(Data,[]); +encode_disp('KmeChangeName',Data) -> 'enc_KmeChangeName'(Data,[]); +encode_disp('KmeDeviceCategory',Data) -> 'enc_KmeDeviceCategory'(Data,[]); +encode_disp('KmeRequestedDevice',Data) -> 'enc_KmeRequestedDevice'(Data,[]); +encode_disp('KmeChangedDeviceCategory',Data) -> 'enc_KmeChangedDeviceCategory'(Data,[]); +encode_disp('KmeDeviceStateList',Data) -> 'enc_KmeDeviceStateList'(Data,[]); +encode_disp('KmeDeviceStateEntry',Data) -> 'enc_KmeDeviceStateEntry'(Data,[]); +encode_disp('KmeDeviceState',Data) -> 'enc_KmeDeviceState'(Data,[]); +encode_disp('KmeGroupType',Data) -> 'enc_KmeGroupType'(Data,[]); +encode_disp('KmePhoneProperty',Data) -> 'enc_KmePhoneProperty'(Data,[]); +encode_disp('KmeDeviceExtNo',Data) -> 'enc_KmeDeviceExtNo'(Data,[]); +encode_disp('KmeDeviceName',Data) -> 'enc_KmeDeviceName'(Data,[]); +encode_disp('KmeFcoKeyInfo',Data) -> 'enc_KmeFcoKeyInfo'(Data,[]); +encode_disp('KmeFcoKeyList',Data) -> 'enc_KmeFcoKeyList'(Data,[]); +encode_disp('KmeExternalSensorList',Data) -> 'enc_KmeExternalSensorList'(Data,[]); +encode_disp('KmeTenantSpeedDial',Data) -> 'enc_KmeTenantSpeedDial'(Data,[]); +encode_disp('KmeDistributionMethod',Data) -> 'enc_KmeDistributionMethod'(Data,[]); +encode_disp('KmePDFStart',Data) -> 'enc_KmePDFStart'(Data,[]); +encode_disp('KmePDFStop',Data) -> 'enc_KmePDFStop'(Data,[]); +encode_disp('KmePDFStatus',Data) -> 'enc_KmePDFStatus'(Data,[]); +encode_disp('KmePDFSrvEvt',Data) -> 'enc_KmePDFSrvEvt'(Data,[]); +encode_disp('KmeSvmList',Data) -> 'enc_KmeSvmList'(Data,[]); +encode_disp('KmeExtName',Data) -> 'enc_KmeExtName'(Data,[]); +encode_disp('NumberOfMsgPort',Data) -> 'enc_NumberOfMsgPort'(Data,[]); +encode_disp('KmeDndOverride',Data) -> 'enc_KmeDndOverride'(Data,[]); +encode_disp('KmeInteruptCall',Data) -> 'enc_KmeInteruptCall'(Data,[]); +encode_disp('KmeExternalFeatureAccess',Data) -> 'enc_KmeExternalFeatureAccess'(Data,[]); +encode_disp('KmeTempTollChange',Data) -> 'enc_KmeTempTollChange'(Data,[]); +encode_disp('KmeDoorOpen',Data) -> 'enc_KmeDoorOpen'(Data,[]); +encode_disp('KmeTwoWayRec',Data) -> 'enc_KmeTwoWayRec'(Data,[]); +encode_disp('KmeCallBackInvokeReq',Data) -> 'enc_KmeCallBackInvokeReq'(Data,[]); +encode_disp('KmeCallBackInvokeRsp',Data) -> 'enc_KmeCallBackInvokeRsp'(Data,[]); +encode_disp('CallBackNotification',Data) -> 'enc_CallBackNotification'(Data,[]); +encode_disp('KmeCallBackInvoke',Data) -> 'enc_KmeCallBackInvoke'(Data,[]); +encode_disp('KmePcRec',Data) -> 'enc_KmePcRec'(Data,[]); +encode_disp('KmeDeviceAgentStatus',Data) -> 'enc_KmeDeviceAgentStatus'(Data,[]); +encode_disp('KmeDeviceCallStatus',Data) -> 'enc_KmeDeviceCallStatus'(Data,[]); +encode_disp('KmeDeviceServiceStatus',Data) -> 'enc_KmeDeviceServiceStatus'(Data,[]); +encode_disp('KmeLineStatus',Data) -> 'enc_KmeLineStatus'(Data,[]); +encode_disp('KmeLineStatusSegment',Data) -> 'enc_KmeLineStatusSegment'(Data,[]); +encode_disp('KmeStartDeviceMonitor',Data) -> 'enc_KmeStartDeviceMonitor'(Data,[]); +encode_disp('KmeStopDeviceMonitor',Data) -> 'enc_KmeStopDeviceMonitor'(Data,[]); +encode_disp('CallMonitorEvent',Data) -> 'enc_CallMonitorEvent'(Data,[]); +encode_disp('KmeBroadcastGroupList',Data) -> 'enc_KmeBroadcastGroupList'(Data,[]); +encode_disp('KmeBroadcastGrpMembers',Data) -> 'enc_KmeBroadcastGrpMembers'(Data,[]); +encode_disp('KmeAlterIfSrvEvt',Data) -> 'enc_KmeAlterIfSrvEvt'(Data,[]); +encode_disp('KmeAlterIf',Data) -> 'enc_KmeAlterIf'(Data,[]); +encode_disp('KmeIfAltered',Data) -> 'enc_KmeIfAltered'(Data,[]); +encode_disp('IfVersion',Data) -> 'enc_IfVersion'(Data,[]); +encode_disp('KmeDeviceDataList',Data) -> 'enc_KmeDeviceDataList'(Data,[]); +encode_disp('KmePdnGMembers',Data) -> 'enc_KmePdnGMembers'(Data,[]); +encode_disp('KmeHotelSrvEvt',Data) -> 'enc_KmeHotelSrvEvt'(Data,[]); +encode_disp('KmeCheckStatusList',Data) -> 'enc_KmeCheckStatusList'(Data,[]); +encode_disp('KmeRoomStatus',Data) -> 'enc_KmeRoomStatus'(Data,[]); +encode_disp('KmeCleanUpStatus',Data) -> 'enc_KmeCleanUpStatus'(Data,[]); +encode_disp('KmeGetSystemDataReq',Data) -> 'enc_KmeGetSystemDataReq'(Data,[]); +encode_disp('KmeGetSystemDataRsp',Data) -> 'enc_KmeGetSystemDataRsp'(Data,[]); +encode_disp('KmeGetSystemData',Data) -> 'enc_KmeGetSystemData'(Data,[]); +encode_disp('KmeSetSystemData',Data) -> 'enc_KmeSetSystemData'(Data,[]); +encode_disp('KmeSystemDataChanged',Data) -> 'enc_KmeSystemDataChanged'(Data,[]); +encode_disp('KmeSystemDataLinkedReply',Data) -> 'enc_KmeSystemDataLinkedReply'(Data,[]); +encode_disp('KmeGetSystemDataPosAck',Data) -> 'enc_KmeGetSystemDataPosAck'(Data,[]); +encode_disp('KmeSystemCrossRefID',Data) -> 'enc_KmeSystemCrossRefID'(Data,[]); +encode_disp('KmeLockSystemData',Data) -> 'enc_KmeLockSystemData'(Data,[]); +encode_disp('KmeSystemDataStatus',Data) -> 'enc_KmeSystemDataStatus'(Data,[]); +encode_disp('KmeSystemDataRevision',Data) -> 'enc_KmeSystemDataRevision'(Data,[]); +encode_disp('KmeGetSystemDataRevision',Data) -> 'enc_KmeGetSystemDataRevision'(Data,[]); +encode_disp('KmeRevisionType',Data) -> 'enc_KmeRevisionType'(Data,[]); +encode_disp('ProgrammingEventOn',Data) -> 'enc_ProgrammingEventOn'(Data,[]); +encode_disp('KmeSetProgrammingEventOn',Data) -> 'enc_KmeSetProgrammingEventOn'(Data,[]); +encode_disp('KmeLocalAlerm',Data) -> 'enc_KmeLocalAlerm'(Data,[]); +encode_disp('KmeTrunkId',Data) -> 'enc_KmeTrunkId'(Data,[]); +encode_disp('KmeOtherDevice',Data) -> 'enc_KmeOtherDevice'(Data,[]); +encode_disp('KmeCdrConditionCode',Data) -> 'enc_KmeCdrConditionCode'(Data,[]); +encode_disp('KmeFeatureNumber',Data) -> 'enc_KmeFeatureNumber'(Data,[]); +encode_disp('KmeProprietaryChars',Data) -> 'enc_KmeProprietaryChars'(Data,[]); +encode_disp('KmeHoldType',Data) -> 'enc_KmeHoldType'(Data,[]); +encode_disp('KmeForcedAlerting',Data) -> 'enc_KmeForcedAlerting'(Data,[]); +encode_disp('KmeDigitsReport',Data) -> 'enc_KmeDigitsReport'(Data,[]); +encode_disp('KmeOgmStatus',Data) -> 'enc_KmeOgmStatus'(Data,[]); +encode_disp('KmeWakeupResult',Data) -> 'enc_KmeWakeupResult'(Data,[]); +encode_disp('KmeUnconferenced',Data) -> 'enc_KmeUnconferenced'(Data,[]); +encode_disp('KmeTamEnded',Data) -> 'enc_KmeTamEnded'(Data,[]); +encode_disp('KmePcRecEnded',Data) -> 'enc_KmePcRecEnded'(Data,[]); +encode_disp('KmeSwitchChannel',Data) -> 'enc_KmeSwitchChannel'(Data,[]); +encode_disp('KmeFreeOgmPort',Data) -> 'enc_KmeFreeOgmPort'(Data,[]); +encode_disp('KmeCallControlSrvEvt',Data) -> 'enc_KmeCallControlSrvEvt'(Data,[]); +encode_disp('KmeDeviceStatus',Data) -> 'enc_KmeDeviceStatus'(Data,[]); +encode_disp('KmeDeviceMonitor',Data) -> 'enc_KmeDeviceMonitor'(Data,[]); +encode_disp('KmeSystemData',Data) -> 'enc_KmeSystemData'(Data,[]); +encode_disp('KmeAdditionalData',Data) -> 'enc_KmeAdditionalData'(Data,[]); +encode_disp('KmePrivateEvent',Data) -> 'enc_KmePrivateEvent'(Data,[]); +encode_disp('KmeResourceControl',Data) -> 'enc_KmeResourceControl'(Data,[]); +encode_disp('KmeOgmStart',Data) -> 'enc_KmeOgmStart'(Data,[]); +encode_disp('KmeOgmStop',Data) -> 'enc_KmeOgmStop'(Data,[]); +encode_disp('KmeGenericSrvEvt',Data) -> 'enc_KmeGenericSrvEvt'(Data,[]); +encode_disp('KmeGenericServiceReq',Data) -> 'enc_KmeGenericServiceReq'(Data,[]); +encode_disp('KmeGenericServiceRsp',Data) -> 'enc_KmeGenericServiceRsp'(Data,[]); +encode_disp('KmeGenericEvent',Data) -> 'enc_KmeGenericEvent'(Data,[]); +encode_disp('KMESpecificPrivateData',Data) -> 'enc_KMESpecificPrivateData'(Data,[]); +encode_disp(Type,_Data) -> exit({error,{asn1,{undefined_type,Type}}}). + + +decode_disp('KmeDeviceLock',Data) -> 'dec_KmeDeviceLock'(Data,mandatory); +decode_disp('KmeTimeStamp',Data) -> 'dec_KmeTimeStamp'(Data,mandatory); +decode_disp('KmeSpeedDialRequest',Data) -> 'dec_KmeSpeedDialRequest'(Data,mandatory); +decode_disp('KmeSpeedDial',Data) -> 'dec_KmeSpeedDial'(Data,mandatory); +decode_disp('KmeWakeUpTime',Data) -> 'dec_KmeWakeUpTime'(Data,mandatory); +decode_disp('KmeWakeUpSchedule',Data) -> 'dec_KmeWakeUpSchedule'(Data,mandatory); +decode_disp('KmeWakeUpInfo',Data) -> 'dec_KmeWakeUpInfo'(Data,mandatory); +decode_disp('KmeWakeupState',Data) -> 'dec_KmeWakeupState'(Data,mandatory); +decode_disp('KmeAbsentMessage',Data) -> 'dec_KmeAbsentMessage'(Data,mandatory); +decode_disp('KmeDnMode',Data) -> 'dec_KmeDnMode'(Data,mandatory); +decode_disp('KmeDayNightMode',Data) -> 'dec_KmeDayNightMode'(Data,mandatory); +decode_disp('KmeOgmPlayState',Data) -> 'dec_KmeOgmPlayState'(Data,mandatory); +decode_disp('KmeForwardType',Data) -> 'dec_KmeForwardType'(Data,mandatory); +decode_disp('KmeSetForwardInfo',Data) -> 'dec_KmeSetForwardInfo'(Data,mandatory); +decode_disp('KmeFeatureList',Data) -> 'dec_KmeFeatureList'(Data,mandatory); +decode_disp('KmeExtGroupEntry',Data) -> 'dec_KmeExtGroupEntry'(Data,mandatory); +decode_disp('KmeTrkGroupEntry',Data) -> 'dec_KmeTrkGroupEntry'(Data,mandatory); +decode_disp('KmeExtMembers',Data) -> 'dec_KmeExtMembers'(Data,mandatory); +decode_disp('KmeTrkMembers',Data) -> 'dec_KmeTrkMembers'(Data,mandatory); +decode_disp('KmeExtTrkGroupList',Data) -> 'dec_KmeExtTrkGroupList'(Data,mandatory); +decode_disp('KmeGroupMembers',Data) -> 'dec_KmeGroupMembers'(Data,mandatory); +decode_disp('KmePckPagGroupList',Data) -> 'dec_KmePckPagGroupList'(Data,mandatory); +decode_disp('KmeIcmGrpMembers',Data) -> 'dec_KmeIcmGrpMembers'(Data,mandatory); +decode_disp('KmeIncomingGroupList',Data) -> 'dec_KmeIncomingGroupList'(Data,mandatory); +decode_disp('KmeDoorPhone',Data) -> 'dec_KmeDoorPhone'(Data,mandatory); +decode_disp('KmeVmGroup',Data) -> 'dec_KmeVmGroup'(Data,mandatory); +decode_disp('KmeVmDtmfType',Data) -> 'dec_KmeVmDtmfType'(Data,mandatory); +decode_disp('KmeVmGroupList',Data) -> 'dec_KmeVmGroupList'(Data,mandatory); +decode_disp('KmePsGroupList',Data) -> 'dec_KmePsGroupList'(Data,mandatory); +decode_disp('KmeChangeExtNo',Data) -> 'dec_KmeChangeExtNo'(Data,mandatory); +decode_disp('KmeChangeName',Data) -> 'dec_KmeChangeName'(Data,mandatory); +decode_disp('KmeDeviceCategory',Data) -> 'dec_KmeDeviceCategory'(Data,mandatory); +decode_disp('KmeRequestedDevice',Data) -> 'dec_KmeRequestedDevice'(Data,mandatory); +decode_disp('KmeChangedDeviceCategory',Data) -> 'dec_KmeChangedDeviceCategory'(Data,mandatory); +decode_disp('KmeDeviceStateList',Data) -> 'dec_KmeDeviceStateList'(Data,mandatory); +decode_disp('KmeDeviceStateEntry',Data) -> 'dec_KmeDeviceStateEntry'(Data,mandatory); +decode_disp('KmeDeviceState',Data) -> 'dec_KmeDeviceState'(Data,mandatory); +decode_disp('KmeGroupType',Data) -> 'dec_KmeGroupType'(Data,mandatory); +decode_disp('KmePhoneProperty',Data) -> 'dec_KmePhoneProperty'(Data,mandatory); +decode_disp('KmeDeviceExtNo',Data) -> 'dec_KmeDeviceExtNo'(Data,mandatory); +decode_disp('KmeDeviceName',Data) -> 'dec_KmeDeviceName'(Data,mandatory); +decode_disp('KmeFcoKeyInfo',Data) -> 'dec_KmeFcoKeyInfo'(Data,mandatory); +decode_disp('KmeFcoKeyList',Data) -> 'dec_KmeFcoKeyList'(Data,mandatory); +decode_disp('KmeExternalSensorList',Data) -> 'dec_KmeExternalSensorList'(Data,mandatory); +decode_disp('KmeTenantSpeedDial',Data) -> 'dec_KmeTenantSpeedDial'(Data,mandatory); +decode_disp('KmeDistributionMethod',Data) -> 'dec_KmeDistributionMethod'(Data,mandatory); +decode_disp('KmePDFStart',Data) -> 'dec_KmePDFStart'(Data,mandatory); +decode_disp('KmePDFStop',Data) -> 'dec_KmePDFStop'(Data,mandatory); +decode_disp('KmePDFStatus',Data) -> 'dec_KmePDFStatus'(Data,mandatory); +decode_disp('KmePDFSrvEvt',Data) -> 'dec_KmePDFSrvEvt'(Data,mandatory); +decode_disp('KmeSvmList',Data) -> 'dec_KmeSvmList'(Data,mandatory); +decode_disp('KmeExtName',Data) -> 'dec_KmeExtName'(Data,mandatory); +decode_disp('NumberOfMsgPort',Data) -> 'dec_NumberOfMsgPort'(Data,mandatory); +decode_disp('KmeDndOverride',Data) -> 'dec_KmeDndOverride'(Data,mandatory); +decode_disp('KmeInteruptCall',Data) -> 'dec_KmeInteruptCall'(Data,mandatory); +decode_disp('KmeExternalFeatureAccess',Data) -> 'dec_KmeExternalFeatureAccess'(Data,mandatory); +decode_disp('KmeTempTollChange',Data) -> 'dec_KmeTempTollChange'(Data,mandatory); +decode_disp('KmeDoorOpen',Data) -> 'dec_KmeDoorOpen'(Data,mandatory); +decode_disp('KmeTwoWayRec',Data) -> 'dec_KmeTwoWayRec'(Data,mandatory); +decode_disp('KmeCallBackInvokeReq',Data) -> 'dec_KmeCallBackInvokeReq'(Data,mandatory); +decode_disp('KmeCallBackInvokeRsp',Data) -> 'dec_KmeCallBackInvokeRsp'(Data,mandatory); +decode_disp('CallBackNotification',Data) -> 'dec_CallBackNotification'(Data,mandatory); +decode_disp('KmeCallBackInvoke',Data) -> 'dec_KmeCallBackInvoke'(Data,mandatory); +decode_disp('KmePcRec',Data) -> 'dec_KmePcRec'(Data,mandatory); +decode_disp('KmeDeviceAgentStatus',Data) -> 'dec_KmeDeviceAgentStatus'(Data,mandatory); +decode_disp('KmeDeviceCallStatus',Data) -> 'dec_KmeDeviceCallStatus'(Data,mandatory); +decode_disp('KmeDeviceServiceStatus',Data) -> 'dec_KmeDeviceServiceStatus'(Data,mandatory); +decode_disp('KmeLineStatus',Data) -> 'dec_KmeLineStatus'(Data,mandatory); +decode_disp('KmeLineStatusSegment',Data) -> 'dec_KmeLineStatusSegment'(Data,mandatory); +decode_disp('KmeStartDeviceMonitor',Data) -> 'dec_KmeStartDeviceMonitor'(Data,mandatory); +decode_disp('KmeStopDeviceMonitor',Data) -> 'dec_KmeStopDeviceMonitor'(Data,mandatory); +decode_disp('CallMonitorEvent',Data) -> 'dec_CallMonitorEvent'(Data,mandatory); +decode_disp('KmeBroadcastGroupList',Data) -> 'dec_KmeBroadcastGroupList'(Data,mandatory); +decode_disp('KmeBroadcastGrpMembers',Data) -> 'dec_KmeBroadcastGrpMembers'(Data,mandatory); +decode_disp('KmeAlterIfSrvEvt',Data) -> 'dec_KmeAlterIfSrvEvt'(Data,mandatory); +decode_disp('KmeAlterIf',Data) -> 'dec_KmeAlterIf'(Data,mandatory); +decode_disp('KmeIfAltered',Data) -> 'dec_KmeIfAltered'(Data,mandatory); +decode_disp('IfVersion',Data) -> 'dec_IfVersion'(Data,mandatory); +decode_disp('KmeDeviceDataList',Data) -> 'dec_KmeDeviceDataList'(Data,mandatory); +decode_disp('KmePdnGMembers',Data) -> 'dec_KmePdnGMembers'(Data,mandatory); +decode_disp('KmeHotelSrvEvt',Data) -> 'dec_KmeHotelSrvEvt'(Data,mandatory); +decode_disp('KmeCheckStatusList',Data) -> 'dec_KmeCheckStatusList'(Data,mandatory); +decode_disp('KmeRoomStatus',Data) -> 'dec_KmeRoomStatus'(Data,mandatory); +decode_disp('KmeCleanUpStatus',Data) -> 'dec_KmeCleanUpStatus'(Data,mandatory); +decode_disp('KmeGetSystemDataReq',Data) -> 'dec_KmeGetSystemDataReq'(Data,mandatory); +decode_disp('KmeGetSystemDataRsp',Data) -> 'dec_KmeGetSystemDataRsp'(Data,mandatory); +decode_disp('KmeGetSystemData',Data) -> 'dec_KmeGetSystemData'(Data,mandatory); +decode_disp('KmeSetSystemData',Data) -> 'dec_KmeSetSystemData'(Data,mandatory); +decode_disp('KmeSystemDataChanged',Data) -> 'dec_KmeSystemDataChanged'(Data,mandatory); +decode_disp('KmeSystemDataLinkedReply',Data) -> 'dec_KmeSystemDataLinkedReply'(Data,mandatory); +decode_disp('KmeGetSystemDataPosAck',Data) -> 'dec_KmeGetSystemDataPosAck'(Data,mandatory); +decode_disp('KmeSystemCrossRefID',Data) -> 'dec_KmeSystemCrossRefID'(Data,mandatory); +decode_disp('KmeLockSystemData',Data) -> 'dec_KmeLockSystemData'(Data,mandatory); +decode_disp('KmeSystemDataStatus',Data) -> 'dec_KmeSystemDataStatus'(Data,mandatory); +decode_disp('KmeSystemDataRevision',Data) -> 'dec_KmeSystemDataRevision'(Data,mandatory); +decode_disp('KmeGetSystemDataRevision',Data) -> 'dec_KmeGetSystemDataRevision'(Data,mandatory); +decode_disp('KmeRevisionType',Data) -> 'dec_KmeRevisionType'(Data,mandatory); +decode_disp('ProgrammingEventOn',Data) -> 'dec_ProgrammingEventOn'(Data,mandatory); +decode_disp('KmeSetProgrammingEventOn',Data) -> 'dec_KmeSetProgrammingEventOn'(Data,mandatory); +decode_disp('KmeLocalAlerm',Data) -> 'dec_KmeLocalAlerm'(Data,mandatory); +decode_disp('KmeTrunkId',Data) -> 'dec_KmeTrunkId'(Data,mandatory); +decode_disp('KmeOtherDevice',Data) -> 'dec_KmeOtherDevice'(Data,mandatory); +decode_disp('KmeCdrConditionCode',Data) -> 'dec_KmeCdrConditionCode'(Data,mandatory); +decode_disp('KmeFeatureNumber',Data) -> 'dec_KmeFeatureNumber'(Data,mandatory); +decode_disp('KmeProprietaryChars',Data) -> 'dec_KmeProprietaryChars'(Data,mandatory); +decode_disp('KmeHoldType',Data) -> 'dec_KmeHoldType'(Data,mandatory); +decode_disp('KmeForcedAlerting',Data) -> 'dec_KmeForcedAlerting'(Data,mandatory); +decode_disp('KmeDigitsReport',Data) -> 'dec_KmeDigitsReport'(Data,mandatory); +decode_disp('KmeOgmStatus',Data) -> 'dec_KmeOgmStatus'(Data,mandatory); +decode_disp('KmeWakeupResult',Data) -> 'dec_KmeWakeupResult'(Data,mandatory); +decode_disp('KmeUnconferenced',Data) -> 'dec_KmeUnconferenced'(Data,mandatory); +decode_disp('KmeTamEnded',Data) -> 'dec_KmeTamEnded'(Data,mandatory); +decode_disp('KmePcRecEnded',Data) -> 'dec_KmePcRecEnded'(Data,mandatory); +decode_disp('KmeSwitchChannel',Data) -> 'dec_KmeSwitchChannel'(Data,mandatory); +decode_disp('KmeFreeOgmPort',Data) -> 'dec_KmeFreeOgmPort'(Data,mandatory); +decode_disp('KmeCallControlSrvEvt',Data) -> 'dec_KmeCallControlSrvEvt'(Data,mandatory); +decode_disp('KmeDeviceStatus',Data) -> 'dec_KmeDeviceStatus'(Data,mandatory); +decode_disp('KmeDeviceMonitor',Data) -> 'dec_KmeDeviceMonitor'(Data,mandatory); +decode_disp('KmeSystemData',Data) -> 'dec_KmeSystemData'(Data,mandatory); +decode_disp('KmeAdditionalData',Data) -> 'dec_KmeAdditionalData'(Data,mandatory); +decode_disp('KmePrivateEvent',Data) -> 'dec_KmePrivateEvent'(Data,mandatory); +decode_disp('KmeResourceControl',Data) -> 'dec_KmeResourceControl'(Data,mandatory); +decode_disp('KmeOgmStart',Data) -> 'dec_KmeOgmStart'(Data,mandatory); +decode_disp('KmeOgmStop',Data) -> 'dec_KmeOgmStop'(Data,mandatory); +decode_disp('KmeGenericSrvEvt',Data) -> 'dec_KmeGenericSrvEvt'(Data,mandatory); +decode_disp('KmeGenericServiceReq',Data) -> 'dec_KmeGenericServiceReq'(Data,mandatory); +decode_disp('KmeGenericServiceRsp',Data) -> 'dec_KmeGenericServiceRsp'(Data,mandatory); +decode_disp('KmeGenericEvent',Data) -> 'dec_KmeGenericEvent'(Data,mandatory); +decode_disp('KMESpecificPrivateData',Data) -> 'dec_KMESpecificPrivateData'(Data,mandatory); +decode_disp(Type,_Data) -> exit({error,{asn1,{undefined_type,Type}}}). + + + +wrap_encode(Bytes) when is_list(Bytes) -> + binary_to_list(list_to_binary(Bytes)); +wrap_encode(Bytes) when is_binary(Bytes) -> + binary_to_list(Bytes); +wrap_encode(Bytes) -> Bytes. + +wrap_decode(Bytes) when is_list(Bytes) -> + list_to_binary(Bytes); +wrap_decode(Bytes) -> Bytes. + + +info() -> + case ?MODULE:module_info() of + MI when is_list(MI) -> + case lists:keysearch(attributes,1,MI) of + {value,{_,Attributes}} when is_list(Attributes) -> + case lists:keysearch(asn1_info,1,Attributes) of + {value,{_,Info}} when is_list(Info) -> + Info; + _ -> + [] + end; + _ -> + [] + end + end. + + +%%================================ +%% KmeDeviceLock +%%================================ + +'enc_KmeDeviceLock'({'KmeDeviceLock',Val}, TagIn) -> + 'enc_KmeDeviceLock'(Val, TagIn); + +'enc_KmeDeviceLock'(Val, TagIn) -> +case (case Val of {_,Enumval1}->Enumval1;_->Val end) of +lock -> ?RT_BER:encode_enumerated(0,TagIn ++ []); +unlock -> ?RT_BER:encode_enumerated(1,TagIn ++ []); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end. + + +'dec_KmeDeviceLock'(Bytes, OptOrMand) -> + 'dec_KmeDeviceLock'(Bytes, OptOrMand, []). + +'dec_KmeDeviceLock'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_enumerated(Bytes,[],[{lock,0},{unlock,1}],TagIn++[], OptOrMand). + + + +%%================================ +%% KmeTimeStamp +%%================================ + +'enc_KmeTimeStamp'({'KmeTimeStamp',Val}, TagIn) -> + 'enc_KmeTimeStamp'(Val, TagIn); + +'enc_KmeTimeStamp'(Val, TagIn) -> +?RT_BER:encode_generalized_time([], Val, TagIn ++ []). + + +'dec_KmeTimeStamp'(Bytes, OptOrMand) -> + 'dec_KmeTimeStamp'(Bytes, OptOrMand, []). + +'dec_KmeTimeStamp'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_generalized_time(Bytes,[],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% KmeSpeedDialRequest +%%================================ +'enc_KmeSpeedDialRequest'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_integer([], ?RT_BER:cindex(2,Val,startSerialNo), []), + +%%------------------------------------------------- +%% attribute number 2 with type INTEGER +%%------------------------------------------------- + {EncBytes2,EncLen2} = ?RT_BER:encode_integer([], ?RT_BER:cindex(3,Val,number), []), + +%%------------------------------------------------- +%% attribute number 3 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes3,EncLen3} = case ?RT_BER:cindex(4,Val,tenantNo) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(4,Val,tenantNo), [{tag,128,0,'EXPLICIT',32}]) + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], + LenSoFar = EncLen1 + EncLen2 + EncLen3, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeSpeedDialRequest'(Bytes, OptOrMand) -> + 'dec_KmeSpeedDialRequest'(Bytes, OptOrMand, []). + +'dec_KmeSpeedDialRequest'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_integer(Bytes2,{0,999},[], mandatory), + +%%------------------------------------------------- +%% attribute number 2 with type INTEGER +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_integer(Bytes3,{1,1000},[], mandatory), + +%%------------------------------------------------- +%% attribute number 3 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = case Bytes4 of +<<2:2,_:1,0:5,_/binary>> -> +?RT_BER:decode_integer(Bytes4,[],[{tag,128,0,'EXPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes4, 0 } +end, + + {Bytes6,Rb5} = ?RT_BER:restbytes2(RemBytes, Bytes5,noext), + {{'KmeSpeedDialRequest', Term1, Term2, Term3}, Bytes6, Rb1+Rb2+Rb3+Rb4+Rb5}. + + +%%================================ +%% KmeSpeedDial +%%================================ + +'enc_KmeSpeedDial'({'KmeSpeedDial',Val}, TagIn) -> + 'enc_KmeSpeedDial'(Val, TagIn); + +'enc_KmeSpeedDial'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmeSpeedDial_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmeSpeedDial_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmeSpeedDial_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'enc_KmeSpeedDial_SEQOF'(H, []), + 'enc_KmeSpeedDial_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + + + + +%%================================ +%% KmeSpeedDial_SEQOF +%%================================ +'enc_KmeSpeedDial_SEQOF'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_integer([], ?RT_BER:cindex(2,Val,serialNumber), [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type IA5String OPTIONAL +%%------------------------------------------------- + {EncBytes2,EncLen2} = case ?RT_BER:cindex(3,Val,registeredDigits) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(3,Val,registeredDigits), 22, [{tag,128,1,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 3 with type CHOICE OPTIONAL +%%------------------------------------------------- + {EncBytes3,EncLen3} = case ?RT_BER:cindex(4,Val,callerName) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeSpeedDial_SEQOF_callerName'(?RT_BER:cindex(4,Val,callerName), [{tag,128,2,'EXPLICIT',32}]) + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], + LenSoFar = EncLen1 + EncLen2 + EncLen3, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmeSpeedDial_SEQOF_callerName +%%================================ + +'enc_KmeSpeedDial_SEQOF_callerName'({'KmeSpeedDial_SEQOF_callerName',Val}, TagIn) -> + 'enc_KmeSpeedDial_SEQOF_callerName'(Val, TagIn); + +'enc_KmeSpeedDial_SEQOF_callerName'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + single -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + wide -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + +'dec_KmeSpeedDial_SEQOF_callerName'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'single' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{1,20},[{tag,128,0,'EXPLICIT',32}], no_length, mandatory), + {{single, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'wide' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{1,40},[{tag,128,1,'EXPLICIT',32}], no_length, mandatory), + {{wide, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. +'dec_KmeSpeedDial_SEQOF'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_integer(Bytes2,{0,999},[{tag,128,0,'EXPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 2 with type IA5String OPTIONAL +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = case Bytes3 of +<<2:2,_:1,1:5,_/binary>> -> +?RT_BER:decode_restricted_string(Bytes3,{1,32},22,[{tag,128,1,'EXPLICIT',32}], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes3, 0 } +end, + +%%------------------------------------------------- +%% attribute number 3 with type CHOICE OPTIONAL +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = case Bytes4 of +<<2:2,_:1,2:5,_/binary>> -> +'dec_KmeSpeedDial_SEQOF_callerName'(Bytes4, opt_or_default, [{tag,128,2,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes4, 0 } +end, + + {Bytes6,Rb5} = ?RT_BER:restbytes2(RemBytes, Bytes5,noext), + {{'KmeSpeedDial_SEQOF', Term1, Term2, Term3}, Bytes6, Rb1+Rb2+Rb3+Rb4+Rb5}. + + +'dec_KmeSpeedDial'(Bytes, OptOrMand) -> + 'dec_KmeSpeedDial'(Bytes, OptOrMand, []). + +'dec_KmeSpeedDial'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'dec_KmeSpeedDial_SEQOF'/3, [], []). + + + + +%%================================ +%% KmeWakeUpTime +%%================================ +'enc_KmeWakeUpTime'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type IA5String +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(2,Val,hour), 22, [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type IA5String +%%------------------------------------------------- + {EncBytes2,EncLen2} = ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(3,Val,minute), 22, [{tag,128,1,'EXPLICIT',32}]), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeWakeUpTime'(Bytes, OptOrMand) -> + 'dec_KmeWakeUpTime'(Bytes, OptOrMand, []). + +'dec_KmeWakeUpTime'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type IA5String +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_restricted_string(Bytes2,2,22,[{tag,128,0,'EXPLICIT',32}], no_length, mandatory), + +%%------------------------------------------------- +%% attribute number 2 with type IA5String +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_restricted_string(Bytes3,2,22,[{tag,128,1,'EXPLICIT',32}], no_length, mandatory), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeWakeUpTime', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmeWakeUpSchedule +%%================================ + +'enc_KmeWakeUpSchedule'({'KmeWakeUpSchedule',Val}, TagIn) -> + 'enc_KmeWakeUpSchedule'(Val, TagIn); + +'enc_KmeWakeUpSchedule'(Val, TagIn) -> +case (case Val of {_,Enumval1}->Enumval1;_->Val end) of +noSchedule -> ?RT_BER:encode_enumerated(0,TagIn ++ []); +once -> ?RT_BER:encode_enumerated(1,TagIn ++ []); +everyday -> ?RT_BER:encode_enumerated(2,TagIn ++ []); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end. + + +'dec_KmeWakeUpSchedule'(Bytes, OptOrMand) -> + 'dec_KmeWakeUpSchedule'(Bytes, OptOrMand, []). + +'dec_KmeWakeUpSchedule'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_enumerated(Bytes,[],[{noSchedule,0},{once,1},{everyday,2}],TagIn++[], OptOrMand). + + + +%%================================ +%% KmeWakeUpInfo +%%================================ +'enc_KmeWakeUpInfo'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External KME-specific-types:KmeWakeUpTime OPTIONAL +%%------------------------------------------------- + {EncBytes1,EncLen1} = case ?RT_BER:cindex(2,Val,time) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeWakeUpTime'(?RT_BER:cindex(2,Val,time), [{tag,128,0,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED +%%------------------------------------------------- + {EncBytes2,EncLen2} = case (case ?RT_BER:cindex(3,Val,schedule) of {_,Enumval1}->Enumval1;_->?RT_BER:cindex(3,Val,schedule) end) of +noSchedule -> ?RT_BER:encode_enumerated(0,[{tag,128,1,'EXPLICIT',32}]); +once -> ?RT_BER:encode_enumerated(1,[{tag,128,1,'EXPLICIT',32}]); +everyday -> ?RT_BER:encode_enumerated(2,[{tag,128,1,'EXPLICIT',32}]); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end, + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeWakeUpInfo'(Bytes, OptOrMand) -> + 'dec_KmeWakeUpInfo'(Bytes, OptOrMand, []). + +'dec_KmeWakeUpInfo'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External KME-specific-types:KmeWakeUpTime OPTIONAL +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = case Bytes2 of +<<2:2,_:1,0:5,_/binary>> -> +'dec_KmeWakeUpTime'(Bytes2, opt_or_default, [{tag,128,0,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes2, 0 } +end, + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_enumerated(Bytes3,[],[{noSchedule,0},{once,1},{everyday,2}],[{tag,128,1,'EXPLICIT',32}], mandatory), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeWakeUpInfo', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmeWakeupState +%%================================ + +'enc_KmeWakeupState'({'KmeWakeupState',Val}, TagIn) -> + 'enc_KmeWakeupState'(Val, TagIn); + +'enc_KmeWakeupState'(Val, TagIn) -> +case (case Val of {_,Enumval1}->Enumval1;_->Val end) of +answered -> ?RT_BER:encode_enumerated(0,TagIn ++ []); +noAnswer -> ?RT_BER:encode_enumerated(1,TagIn ++ []); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end. + + +'dec_KmeWakeupState'(Bytes, OptOrMand) -> + 'dec_KmeWakeupState'(Bytes, OptOrMand, []). + +'dec_KmeWakeupState'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_enumerated(Bytes,[],[{answered,0},{noAnswer,1}],TagIn++[], OptOrMand). + + + +%%================================ +%% KmeAbsentMessage +%%================================ + +'enc_KmeAbsentMessage'({'KmeAbsentMessage',Val}, TagIn) -> + 'enc_KmeAbsentMessage'(Val, TagIn); + +'enc_KmeAbsentMessage'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + single -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + wide -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_KmeAbsentMessage'(Bytes, OptOrMand) -> + 'dec_KmeAbsentMessage'(Bytes, OptOrMand, []). + +'dec_KmeAbsentMessage'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'single' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{0,16},[{tag,128,0,'EXPLICIT',32}], no_length, mandatory), + {{single, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'wide' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{0,32},[{tag,128,1,'EXPLICIT',32}], no_length, mandatory), + {{wide, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmeDnMode +%%================================ + +'enc_KmeDnMode'({'KmeDnMode',Val}, TagIn) -> + 'enc_KmeDnMode'(Val, TagIn); + +'enc_KmeDnMode'(Val, TagIn) -> +case (case Val of {_,Enumval1}->Enumval1;_->Val end) of +day -> ?RT_BER:encode_enumerated(0,TagIn ++ []); +lunch -> ?RT_BER:encode_enumerated(1,TagIn ++ []); +break -> ?RT_BER:encode_enumerated(2,TagIn ++ []); +night -> ?RT_BER:encode_enumerated(3,TagIn ++ []); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end. + + +'dec_KmeDnMode'(Bytes, OptOrMand) -> + 'dec_KmeDnMode'(Bytes, OptOrMand, []). + +'dec_KmeDnMode'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_enumerated(Bytes,[],[{day,0},{lunch,1},{break,2},{night,3}],TagIn++[], OptOrMand). + + + +%%================================ +%% KmeDayNightMode +%%================================ + +'enc_KmeDayNightMode'({'KmeDayNightMode',Val}, TagIn) -> + 'enc_KmeDayNightMode'(Val, TagIn); + +'enc_KmeDayNightMode'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmeDayNightMode_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmeDayNightMode_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmeDayNightMode_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'enc_KmeDayNightMode_SEQOF'(H, []), + 'enc_KmeDayNightMode_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + + + + +%%================================ +%% KmeDayNightMode_SEQOF +%%================================ +'enc_KmeDayNightMode_SEQOF'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_integer([], ?RT_BER:cindex(2,Val,tenantNo), [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED +%%------------------------------------------------- + {EncBytes2,EncLen2} = case (case ?RT_BER:cindex(3,Val,mode) of {_,Enumval2}->Enumval2;_->?RT_BER:cindex(3,Val,mode) end) of +day -> ?RT_BER:encode_enumerated(0,[{tag,128,1,'EXPLICIT',32}]); +lunch -> ?RT_BER:encode_enumerated(1,[{tag,128,1,'EXPLICIT',32}]); +break -> ?RT_BER:encode_enumerated(2,[{tag,128,1,'EXPLICIT',32}]); +night -> ?RT_BER:encode_enumerated(3,[{tag,128,1,'EXPLICIT',32}]); +Enumval3 -> exit({error,{asn1, {enumerated_not_in_range,Enumval3}}}) +end, + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). +'dec_KmeDayNightMode_SEQOF'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_integer(Bytes2,[],[{tag,128,0,'EXPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_enumerated(Bytes3,[],[{day,0},{lunch,1},{break,2},{night,3}],[{tag,128,1,'EXPLICIT',32}], mandatory), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeDayNightMode_SEQOF', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +'dec_KmeDayNightMode'(Bytes, OptOrMand) -> + 'dec_KmeDayNightMode'(Bytes, OptOrMand, []). + +'dec_KmeDayNightMode'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'dec_KmeDayNightMode_SEQOF'/3, [], []). + + + + +%%================================ +%% KmeOgmPlayState +%%================================ + +'enc_KmeOgmPlayState'({'KmeOgmPlayState',Val}, TagIn) -> + 'enc_KmeOgmPlayState'(Val, TagIn); + +'enc_KmeOgmPlayState'(Val, TagIn) -> +case (case Val of {_,Enumval1}->Enumval1;_->Val end) of +started -> ?RT_BER:encode_enumerated(0,TagIn ++ []); +ended -> ?RT_BER:encode_enumerated(1,TagIn ++ []); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end. + + +'dec_KmeOgmPlayState'(Bytes, OptOrMand) -> + 'dec_KmeOgmPlayState'(Bytes, OptOrMand, []). + +'dec_KmeOgmPlayState'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_enumerated(Bytes,[],[{started,0},{ended,1}],TagIn++[], OptOrMand). + + + +%%================================ +%% KmeForwardType +%%================================ + +'enc_KmeForwardType'({'KmeForwardType',Val}, TagIn) -> + 'enc_KmeForwardType'(Val, TagIn); + +'enc_KmeForwardType'(Val, TagIn) -> +case (case Val of {_,Enumval1}->Enumval1;_->Val end) of +forwardImmediate -> ?RT_BER:encode_enumerated(0,TagIn ++ []); +forwardBusy -> ?RT_BER:encode_enumerated(1,TagIn ++ []); +forwardNoAns -> ?RT_BER:encode_enumerated(2,TagIn ++ []); +forwardBusyInt -> ?RT_BER:encode_enumerated(3,TagIn ++ []); +forwardBusyExt -> ?RT_BER:encode_enumerated(4,TagIn ++ []); +forwardNoAnsInt -> ?RT_BER:encode_enumerated(5,TagIn ++ []); +forwardNoAnsExt -> ?RT_BER:encode_enumerated(6,TagIn ++ []); +forwardImmInt -> ?RT_BER:encode_enumerated(7,TagIn ++ []); +forwardImmExt -> ?RT_BER:encode_enumerated(8,TagIn ++ []); +forwardDND -> ?RT_BER:encode_enumerated(9,TagIn ++ []); +forwardDNDInt -> ?RT_BER:encode_enumerated(10,TagIn ++ []); +forwardDNDExt -> ?RT_BER:encode_enumerated(11,TagIn ++ []); +forwardBusyNoAnswer -> ?RT_BER:encode_enumerated(12,TagIn ++ []); +forwardBusyNoAnswerInt -> ?RT_BER:encode_enumerated(13,TagIn ++ []); +forwardBusyNoAnswerExt -> ?RT_BER:encode_enumerated(14,TagIn ++ []); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end. + + +'dec_KmeForwardType'(Bytes, OptOrMand) -> + 'dec_KmeForwardType'(Bytes, OptOrMand, []). + +'dec_KmeForwardType'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_enumerated(Bytes,[],[{forwardImmediate,0},{forwardBusy,1},{forwardNoAns,2},{forwardBusyInt,3},{forwardBusyExt,4},{forwardNoAnsInt,5},{forwardNoAnsExt,6},{forwardImmInt,7},{forwardImmExt,8},{forwardDND,9},{forwardDNDInt,10},{forwardDNDExt,11},{forwardBusyNoAnswer,12},{forwardBusyNoAnswerInt,13},{forwardBusyNoAnswerExt,14}],TagIn++[], OptOrMand). + + + +%%================================ +%% KmeSetForwardInfo +%%================================ +'enc_KmeSetForwardInfo'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type ENUMERATED +%%------------------------------------------------- + {EncBytes1,EncLen1} = case (case ?RT_BER:cindex(2,Val,forwardingType) of {_,Enumval1}->Enumval1;_->?RT_BER:cindex(2,Val,forwardingType) end) of +forwardImmediate -> ?RT_BER:encode_enumerated(0,[{tag,128,0,'EXPLICIT',32}]); +forwardBusy -> ?RT_BER:encode_enumerated(1,[{tag,128,0,'EXPLICIT',32}]); +forwardNoAns -> ?RT_BER:encode_enumerated(2,[{tag,128,0,'EXPLICIT',32}]); +forwardBusyInt -> ?RT_BER:encode_enumerated(3,[{tag,128,0,'EXPLICIT',32}]); +forwardBusyExt -> ?RT_BER:encode_enumerated(4,[{tag,128,0,'EXPLICIT',32}]); +forwardNoAnsInt -> ?RT_BER:encode_enumerated(5,[{tag,128,0,'EXPLICIT',32}]); +forwardNoAnsExt -> ?RT_BER:encode_enumerated(6,[{tag,128,0,'EXPLICIT',32}]); +forwardImmInt -> ?RT_BER:encode_enumerated(7,[{tag,128,0,'EXPLICIT',32}]); +forwardImmExt -> ?RT_BER:encode_enumerated(8,[{tag,128,0,'EXPLICIT',32}]); +forwardDND -> ?RT_BER:encode_enumerated(9,[{tag,128,0,'EXPLICIT',32}]); +forwardDNDInt -> ?RT_BER:encode_enumerated(10,[{tag,128,0,'EXPLICIT',32}]); +forwardDNDExt -> ?RT_BER:encode_enumerated(11,[{tag,128,0,'EXPLICIT',32}]); +forwardBusyNoAnswer -> ?RT_BER:encode_enumerated(12,[{tag,128,0,'EXPLICIT',32}]); +forwardBusyNoAnswerInt -> ?RT_BER:encode_enumerated(13,[{tag,128,0,'EXPLICIT',32}]); +forwardBusyNoAnswerExt -> ?RT_BER:encode_enumerated(14,[{tag,128,0,'EXPLICIT',32}]); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end, + +%%------------------------------------------------- +%% attribute number 2 with type BOOLEAN +%%------------------------------------------------- + {EncBytes2,EncLen2} = ?RT_BER:encode_boolean(?RT_BER:cindex(3,Val,activateForward), [{tag,128,1,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 3 External CSTA-device-identifiers:DeviceID OPTIONAL +%%------------------------------------------------- + {EncBytes3,EncLen3} = case ?RT_BER:cindex(4,Val,forwardDN) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(4,Val,forwardDN), [{tag,128,2,'EXPLICIT',32}]) + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], + LenSoFar = EncLen1 + EncLen2 + EncLen3, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeSetForwardInfo'(Bytes, OptOrMand) -> + 'dec_KmeSetForwardInfo'(Bytes, OptOrMand, []). + +'dec_KmeSetForwardInfo'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type ENUMERATED +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_enumerated(Bytes2,[],[{forwardImmediate,0},{forwardBusy,1},{forwardNoAns,2},{forwardBusyInt,3},{forwardBusyExt,4},{forwardNoAnsInt,5},{forwardNoAnsExt,6},{forwardImmInt,7},{forwardImmExt,8},{forwardDND,9},{forwardDNDInt,10},{forwardDNDExt,11},{forwardBusyNoAnswer,12},{forwardBusyNoAnswerInt,13},{forwardBusyNoAnswerExt,14}],[{tag,128,0,'EXPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 2 with type BOOLEAN +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_boolean(Bytes3,[{tag,128,1,'EXPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 3 External CSTA-device-identifiers:DeviceID OPTIONAL +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = case Bytes4 of +<<2:2,_:1,2:5,_/binary>> -> +'CSTA-device-identifiers':'dec_DeviceID'(Bytes4, opt_or_default, [{tag,128,2,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes4, 0 } +end, + + {Bytes6,Rb5} = ?RT_BER:restbytes2(RemBytes, Bytes5,noext), + {{'KmeSetForwardInfo', Term1, Term2, Term3}, Bytes6, Rb1+Rb2+Rb3+Rb4+Rb5}. + + +%%================================ +%% KmeFeatureList +%%================================ + +'enc_KmeFeatureList'({'KmeFeatureList',Val}, TagIn) -> + 'enc_KmeFeatureList'(Val, TagIn); + +'enc_KmeFeatureList'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmeFeatureList_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmeFeatureList_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmeFeatureList_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'enc_KmeFeatureList_SEQOF'(H, []), + 'enc_KmeFeatureList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + + + + +%%================================ +%% KmeFeatureList_SEQOF +%%================================ +'enc_KmeFeatureList_SEQOF'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_integer([], ?RT_BER:cindex(2,Val,featureNo), [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type IA5String OPTIONAL +%%------------------------------------------------- + {EncBytes2,EncLen2} = case ?RT_BER:cindex(3,Val,featureDigits) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(3,Val,featureDigits), 22, [{tag,128,1,'EXPLICIT',32}]) + end, + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). +'dec_KmeFeatureList_SEQOF'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_integer(Bytes2,[],[{tag,128,0,'EXPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 2 with type IA5String OPTIONAL +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = case Bytes3 of +<<2:2,_:1,1:5,_/binary>> -> +?RT_BER:decode_restricted_string(Bytes3,{1,6},22,[{tag,128,1,'EXPLICIT',32}], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes3, 0 } +end, + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeFeatureList_SEQOF', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +'dec_KmeFeatureList'(Bytes, OptOrMand) -> + 'dec_KmeFeatureList'(Bytes, OptOrMand, []). + +'dec_KmeFeatureList'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'dec_KmeFeatureList_SEQOF'/3, [], []). + + + + +%%================================ +%% KmeExtGroupEntry +%%================================ +'enc_KmeExtGroupEntry'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,device), [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type CHOICE OPTIONAL +%%------------------------------------------------- + {EncBytes2,EncLen2} = case ?RT_BER:cindex(3,Val,name) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeExtGroupEntry_name'(?RT_BER:cindex(3,Val,name), [{tag,128,1,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 3 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes3,EncLen3} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(4,Val,devNumber), [{tag,128,2,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 4 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes4,EncLen4} = case ?RT_BER:cindex(5,Val,cabinetNO) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(5,Val,cabinetNO), [{tag,128,3,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 5 with type IA5String OPTIONAL +%%------------------------------------------------- + {EncBytes5,EncLen5} = case ?RT_BER:cindex(6,Val,psNo) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(6,Val,psNo), 22, [{tag,128,4,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 6 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes6,EncLen6} = case ?RT_BER:cindex(7,Val,numberOfBch) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(7,Val,numberOfBch), [{tag,128,5,'EXPLICIT',32}]) + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5, EncBytes6], + LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5 + EncLen6, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmeExtGroupEntry_name +%%================================ + +'enc_KmeExtGroupEntry_name'({'KmeExtGroupEntry_name',Val}, TagIn) -> + 'enc_KmeExtGroupEntry_name'(Val, TagIn); + +'enc_KmeExtGroupEntry_name'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + single -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + wide -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + +'dec_KmeExtGroupEntry_name'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'single' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{1,20},[{tag,128,0,'EXPLICIT',32}], no_length, mandatory), + {{single, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'wide' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{1,40},[{tag,128,1,'EXPLICIT',32}], no_length, mandatory), + {{wide, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +'dec_KmeExtGroupEntry'(Bytes, OptOrMand) -> + 'dec_KmeExtGroupEntry'(Bytes, OptOrMand, []). + +'dec_KmeExtGroupEntry'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type CHOICE OPTIONAL +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = case Bytes3 of +<<2:2,_:1,1:5,_/binary>> -> +'dec_KmeExtGroupEntry_name'(Bytes3, opt_or_default, [{tag,128,1,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes3, 0 } +end, + +%%------------------------------------------------- +%% attribute number 3 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes4, mandatory, [{tag,128,2,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 4 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term4,Bytes6,Rb5} = case Bytes5 of +<<2:2,_:1,3:5,_/binary>> -> +?RT_BER:decode_integer(Bytes5,[],[{tag,128,3,'EXPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes5, 0 } +end, + +%%------------------------------------------------- +%% attribute number 5 with type IA5String OPTIONAL +%%------------------------------------------------- + {Term5,Bytes7,Rb6} = case Bytes6 of +<<2:2,_:1,4:5,_/binary>> -> +?RT_BER:decode_restricted_string(Bytes6,{1,3},22,[{tag,128,4,'EXPLICIT',32}], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes6, 0 } +end, + +%%------------------------------------------------- +%% attribute number 6 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term6,Bytes8,Rb7} = case Bytes7 of +<<2:2,_:1,5:5,_/binary>> -> +?RT_BER:decode_integer(Bytes7,[],[{tag,128,5,'EXPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes7, 0 } +end, + + {Bytes9,Rb8} = ?RT_BER:restbytes2(RemBytes, Bytes8,noext), + {{'KmeExtGroupEntry', Term1, Term2, Term3, Term4, Term5, Term6}, Bytes9, Rb1+Rb2+Rb3+Rb4+Rb5+Rb6+Rb7+Rb8}. + + +%%================================ +%% KmeTrkGroupEntry +%%================================ +'enc_KmeTrkGroupEntry'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,device), [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type CHOICE OPTIONAL +%%------------------------------------------------- + {EncBytes2,EncLen2} = case ?RT_BER:cindex(3,Val,name) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeTrkGroupEntry_name'(?RT_BER:cindex(3,Val,name), [{tag,128,1,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 3 with type IA5String +%%------------------------------------------------- + {EncBytes3,EncLen3} = ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(4,Val,coNo), 22, [{tag,128,2,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 4 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes4,EncLen4} = case ?RT_BER:cindex(5,Val,cabinetNO) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(5,Val,cabinetNO), [{tag,128,3,'EXPLICIT',32}]) + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4], + LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmeTrkGroupEntry_name +%%================================ + +'enc_KmeTrkGroupEntry_name'({'KmeTrkGroupEntry_name',Val}, TagIn) -> + 'enc_KmeTrkGroupEntry_name'(Val, TagIn); + +'enc_KmeTrkGroupEntry_name'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + single -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + wide -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + +'dec_KmeTrkGroupEntry_name'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'single' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{1,20},[{tag,128,0,'EXPLICIT',32}], no_length, mandatory), + {{single, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'wide' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{1,40},[{tag,128,1,'EXPLICIT',32}], no_length, mandatory), + {{wide, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +'dec_KmeTrkGroupEntry'(Bytes, OptOrMand) -> + 'dec_KmeTrkGroupEntry'(Bytes, OptOrMand, []). + +'dec_KmeTrkGroupEntry'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type CHOICE OPTIONAL +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = case Bytes3 of +<<2:2,_:1,1:5,_/binary>> -> +'dec_KmeTrkGroupEntry_name'(Bytes3, opt_or_default, [{tag,128,1,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes3, 0 } +end, + +%%------------------------------------------------- +%% attribute number 3 with type IA5String +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = ?RT_BER:decode_restricted_string(Bytes4,{1,3},22,[{tag,128,2,'EXPLICIT',32}], no_length, mandatory), + +%%------------------------------------------------- +%% attribute number 4 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term4,Bytes6,Rb5} = case Bytes5 of +<<2:2,_:1,3:5,_/binary>> -> +?RT_BER:decode_integer(Bytes5,[],[{tag,128,3,'EXPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes5, 0 } +end, + + {Bytes7,Rb6} = ?RT_BER:restbytes2(RemBytes, Bytes6,noext), + {{'KmeTrkGroupEntry', Term1, Term2, Term3, Term4}, Bytes7, Rb1+Rb2+Rb3+Rb4+Rb5+Rb6}. + + +%%================================ +%% KmeExtMembers +%%================================ +'enc_KmeExtMembers'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_integer([], ?RT_BER:cindex(2,Val,groupNo), [{tag,128,0,'IMPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type SEQUENCE OF +%%------------------------------------------------- + {EncBytes2,EncLen2} = 'enc_KmeExtMembers_members'(?RT_BER:cindex(3,Val,members), [{tag,128,1,'IMPLICIT',32}]), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmeExtMembers_members +%%================================ + +'enc_KmeExtMembers_members'({'KmeExtMembers_members',Val}, TagIn) -> + 'enc_KmeExtMembers_members'(Val, TagIn); + +'enc_KmeExtMembers_members'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmeExtMembers_members_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmeExtMembers_members_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmeExtMembers_members_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'enc_KmeExtGroupEntry'(H, []), + 'enc_KmeExtMembers_members_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + +'dec_KmeExtMembers_members'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'dec_KmeExtGroupEntry'/3, [], []). + + + + +'dec_KmeExtMembers'(Bytes, OptOrMand) -> + 'dec_KmeExtMembers'(Bytes, OptOrMand, []). + +'dec_KmeExtMembers'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_integer(Bytes2,[],[{tag,128,0,'IMPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 2 with type SEQUENCE OF +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = 'dec_KmeExtMembers_members'(Bytes3, mandatory, [{tag,128,1,'IMPLICIT',32}]), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeExtMembers', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmeTrkMembers +%%================================ +'enc_KmeTrkMembers'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_integer([], ?RT_BER:cindex(2,Val,groupNo), [{tag,128,0,'IMPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type SEQUENCE OF +%%------------------------------------------------- + {EncBytes2,EncLen2} = 'enc_KmeTrkMembers_members'(?RT_BER:cindex(3,Val,members), [{tag,128,1,'IMPLICIT',32}]), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmeTrkMembers_members +%%================================ + +'enc_KmeTrkMembers_members'({'KmeTrkMembers_members',Val}, TagIn) -> + 'enc_KmeTrkMembers_members'(Val, TagIn); + +'enc_KmeTrkMembers_members'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmeTrkMembers_members_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmeTrkMembers_members_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmeTrkMembers_members_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'enc_KmeTrkGroupEntry'(H, []), + 'enc_KmeTrkMembers_members_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + +'dec_KmeTrkMembers_members'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'dec_KmeTrkGroupEntry'/3, [], []). + + + + +'dec_KmeTrkMembers'(Bytes, OptOrMand) -> + 'dec_KmeTrkMembers'(Bytes, OptOrMand, []). + +'dec_KmeTrkMembers'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_integer(Bytes2,[],[{tag,128,0,'IMPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 2 with type SEQUENCE OF +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = 'dec_KmeTrkMembers_members'(Bytes3, mandatory, [{tag,128,1,'IMPLICIT',32}]), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeTrkMembers', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmeExtTrkGroupList +%%================================ + +'enc_KmeExtTrkGroupList'({'KmeExtTrkGroupList',Val}, TagIn) -> + 'enc_KmeExtTrkGroupList'(Val, TagIn); + +'enc_KmeExtTrkGroupList'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmeExtTrkGroupList_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmeExtTrkGroupList_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmeExtTrkGroupList_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'enc_KmeExtTrkGroupList_SEQOF'(H, []), + 'enc_KmeExtTrkGroupList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + + + + +%%================================ +%% KmeExtTrkGroupList_SEQOF +%%================================ +'enc_KmeExtTrkGroupList_SEQOF'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_integer([], ?RT_BER:cindex(2,Val,groupNo), [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type CHOICE OPTIONAL +%%------------------------------------------------- + {EncBytes2,EncLen2} = case ?RT_BER:cindex(3,Val,name) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeExtTrkGroupList_SEQOF_name'(?RT_BER:cindex(3,Val,name), [{tag,128,1,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 3 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes3,EncLen3} = case ?RT_BER:cindex(4,Val,tenantNo) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(4,Val,tenantNo), [{tag,128,2,'EXPLICIT',32}]) + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], + LenSoFar = EncLen1 + EncLen2 + EncLen3, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmeExtTrkGroupList_SEQOF_name +%%================================ + +'enc_KmeExtTrkGroupList_SEQOF_name'({'KmeExtTrkGroupList_SEQOF_name',Val}, TagIn) -> + 'enc_KmeExtTrkGroupList_SEQOF_name'(Val, TagIn); + +'enc_KmeExtTrkGroupList_SEQOF_name'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + single -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + wide -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + +'dec_KmeExtTrkGroupList_SEQOF_name'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'single' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{1,20},[{tag,128,0,'EXPLICIT',32}], no_length, mandatory), + {{single, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'wide' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{1,40},[{tag,128,1,'EXPLICIT',32}], no_length, mandatory), + {{wide, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. +'dec_KmeExtTrkGroupList_SEQOF'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_integer(Bytes2,[],[{tag,128,0,'EXPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 2 with type CHOICE OPTIONAL +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = case Bytes3 of +<<2:2,_:1,1:5,_/binary>> -> +'dec_KmeExtTrkGroupList_SEQOF_name'(Bytes3, opt_or_default, [{tag,128,1,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes3, 0 } +end, + +%%------------------------------------------------- +%% attribute number 3 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = case Bytes4 of +<<2:2,_:1,2:5,_/binary>> -> +?RT_BER:decode_integer(Bytes4,[],[{tag,128,2,'EXPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes4, 0 } +end, + + {Bytes6,Rb5} = ?RT_BER:restbytes2(RemBytes, Bytes5,noext), + {{'KmeExtTrkGroupList_SEQOF', Term1, Term2, Term3}, Bytes6, Rb1+Rb2+Rb3+Rb4+Rb5}. + + +'dec_KmeExtTrkGroupList'(Bytes, OptOrMand) -> + 'dec_KmeExtTrkGroupList'(Bytes, OptOrMand, []). + +'dec_KmeExtTrkGroupList'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'dec_KmeExtTrkGroupList_SEQOF'/3, [], []). + + + + +%%================================ +%% KmeGroupMembers +%%================================ + +'enc_KmeGroupMembers'({'KmeGroupMembers',Val}, TagIn) -> + 'enc_KmeGroupMembers'(Val, TagIn); + +'enc_KmeGroupMembers'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], TagIn ++ []). + + +'dec_KmeGroupMembers'(Bytes, OptOrMand) -> + 'dec_KmeGroupMembers'(Bytes, OptOrMand, []). + +'dec_KmeGroupMembers'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% KmePckPagGroupList +%%================================ + +'enc_KmePckPagGroupList'({'KmePckPagGroupList',Val}, TagIn) -> + 'enc_KmePckPagGroupList'(Val, TagIn); + +'enc_KmePckPagGroupList'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmePckPagGroupList_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmePckPagGroupList_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmePckPagGroupList_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'enc_KmePckPagGroupList_SEQOF'(H, []), + 'enc_KmePckPagGroupList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + + + + +%%================================ +%% KmePckPagGroupList_SEQOF +%%================================ +'enc_KmePckPagGroupList_SEQOF'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_integer([], ?RT_BER:cindex(2,Val,groupNo), [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type BIT STRING OPTIONAL +%%------------------------------------------------- + {EncBytes2,EncLen2} = case ?RT_BER:cindex(3,Val,memberList) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_bit_string([], ?RT_BER:cindex(3,Val,memberList), [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], [{tag,128,1,'EXPLICIT',32}]) + end, + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). +'dec_KmePckPagGroupList_SEQOF'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_integer(Bytes2,[],[{tag,128,0,'EXPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 2 with type BIT STRING OPTIONAL +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = case Bytes3 of +<<2:2,_:1,1:5,_/binary>> -> +?RT_BER:decode_bit_string(Bytes3,[],[{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}],[{tag,128,1,'EXPLICIT',32}], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes3, 0 } +end, + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmePckPagGroupList_SEQOF', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +'dec_KmePckPagGroupList'(Bytes, OptOrMand) -> + 'dec_KmePckPagGroupList'(Bytes, OptOrMand, []). + +'dec_KmePckPagGroupList'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'dec_KmePckPagGroupList_SEQOF'/3, [], []). + + + + +%%================================ +%% KmeIcmGrpMembers +%%================================ +'enc_KmeIcmGrpMembers'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,grpDevice), [{tag,128,0,'IMPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type SEQUENCE OF +%%------------------------------------------------- + {EncBytes2,EncLen2} = 'enc_KmeIcmGrpMembers_members'(?RT_BER:cindex(3,Val,members), [{tag,128,1,'IMPLICIT',32}]), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmeIcmGrpMembers_members +%%================================ + +'enc_KmeIcmGrpMembers_members'({'KmeIcmGrpMembers_members',Val}, TagIn) -> + 'enc_KmeIcmGrpMembers_members'(Val, TagIn); + +'enc_KmeIcmGrpMembers_members'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmeIcmGrpMembers_members_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmeIcmGrpMembers_members_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmeIcmGrpMembers_members_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'CSTA-device-identifiers':'enc_DeviceID'(H, []), + 'enc_KmeIcmGrpMembers_members_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + +'dec_KmeIcmGrpMembers_members'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'CSTA-device-identifiers':'dec_DeviceID'/3, [], []). + + + + +'dec_KmeIcmGrpMembers'(Bytes, OptOrMand) -> + 'dec_KmeIcmGrpMembers'(Bytes, OptOrMand, []). + +'dec_KmeIcmGrpMembers'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, [{tag,128,0,'IMPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type SEQUENCE OF +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = 'dec_KmeIcmGrpMembers_members'(Bytes3, mandatory, [{tag,128,1,'IMPLICIT',32}]), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeIcmGrpMembers', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmeIncomingGroupList +%%================================ + +'enc_KmeIncomingGroupList'({'KmeIncomingGroupList',Val}, TagIn) -> + 'enc_KmeIncomingGroupList'(Val, TagIn); + +'enc_KmeIncomingGroupList'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmeIncomingGroupList_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmeIncomingGroupList_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmeIncomingGroupList_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'enc_KmeIncomingGroupList_SEQOF'(H, []), + 'enc_KmeIncomingGroupList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + + + + +%%================================ +%% KmeIncomingGroupList_SEQOF +%%================================ +'enc_KmeIncomingGroupList_SEQOF'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_integer([], ?RT_BER:cindex(2,Val,groupNo), [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes2,EncLen2} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(3,Val,device), [{tag,128,1,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 3 with type CHOICE OPTIONAL +%%------------------------------------------------- + {EncBytes3,EncLen3} = case ?RT_BER:cindex(4,Val,name) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeIncomingGroupList_SEQOF_name'(?RT_BER:cindex(4,Val,name), [{tag,128,2,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 4 with type IA5String OPTIONAL +%%------------------------------------------------- + {EncBytes4,EncLen4} = case ?RT_BER:cindex(5,Val,extNo) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(5,Val,extNo), 22, [{tag,128,3,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 5 with type ENUMERATED +%%------------------------------------------------- + {EncBytes5,EncLen5} = case (case ?RT_BER:cindex(6,Val,groupType) of {_,Enumval3}->Enumval3;_->?RT_BER:cindex(6,Val,groupType) end) of +ucd -> ?RT_BER:encode_enumerated(0,[{tag,128,4,'EXPLICIT',32}]); +ring -> ?RT_BER:encode_enumerated(1,[{tag,128,4,'EXPLICIT',32}]); +hunt -> ?RT_BER:encode_enumerated(2,[{tag,128,4,'EXPLICIT',32}]); +Enumval4 -> exit({error,{asn1, {enumerated_not_in_range,Enumval4}}}) +end, + +%%------------------------------------------------- +%% attribute number 6 with type BOOLEAN +%%------------------------------------------------- + {EncBytes6,EncLen6} = ?RT_BER:encode_boolean(?RT_BER:cindex(7,Val,acdMode), [{tag,128,5,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 7 with type INTEGER +%%------------------------------------------------- + {EncBytes7,EncLen7} = ?RT_BER:encode_integer([], ?RT_BER:cindex(8,Val,ctiWaitTime), [{tag,128,6,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 8 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes8,EncLen8} = case ?RT_BER:cindex(9,Val,queueSize) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(9,Val,queueSize), [{tag,128,7,'EXPLICIT',32}]) + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5, EncBytes6, EncBytes7, EncBytes8], + LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5 + EncLen6 + EncLen7 + EncLen8, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmeIncomingGroupList_SEQOF_name +%%================================ + +'enc_KmeIncomingGroupList_SEQOF_name'({'KmeIncomingGroupList_SEQOF_name',Val}, TagIn) -> + 'enc_KmeIncomingGroupList_SEQOF_name'(Val, TagIn); + +'enc_KmeIncomingGroupList_SEQOF_name'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + single -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + wide -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + +'dec_KmeIncomingGroupList_SEQOF_name'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'single' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{1,20},[{tag,128,0,'EXPLICIT',32}], no_length, mandatory), + {{single, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'wide' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{1,40},[{tag,128,1,'EXPLICIT',32}], no_length, mandatory), + {{wide, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. +'dec_KmeIncomingGroupList_SEQOF'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_integer(Bytes2,[],[{tag,128,0,'EXPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes3, mandatory, [{tag,128,1,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 3 with type CHOICE OPTIONAL +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = case Bytes4 of +<<2:2,_:1,2:5,_/binary>> -> +'dec_KmeIncomingGroupList_SEQOF_name'(Bytes4, opt_or_default, [{tag,128,2,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes4, 0 } +end, + +%%------------------------------------------------- +%% attribute number 4 with type IA5String OPTIONAL +%%------------------------------------------------- + {Term4,Bytes6,Rb5} = case Bytes5 of +<<2:2,_:1,3:5,_/binary>> -> +?RT_BER:decode_restricted_string(Bytes5,{1,5},22,[{tag,128,3,'EXPLICIT',32}], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes5, 0 } +end, + +%%------------------------------------------------- +%% attribute number 5 with type ENUMERATED +%%------------------------------------------------- + {Term5,Bytes7,Rb6} = ?RT_BER:decode_enumerated(Bytes6,[],[{ucd,0},{ring,1},{hunt,2}],[{tag,128,4,'EXPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 6 with type BOOLEAN +%%------------------------------------------------- + {Term6,Bytes8,Rb7} = ?RT_BER:decode_boolean(Bytes7,[{tag,128,5,'EXPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 7 with type INTEGER +%%------------------------------------------------- + {Term7,Bytes9,Rb8} = ?RT_BER:decode_integer(Bytes8,[],[{tag,128,6,'EXPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 8 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term8,Bytes10,Rb9} = case Bytes9 of +<<2:2,_:1,7:5,_/binary>> -> +?RT_BER:decode_integer(Bytes9,[],[{tag,128,7,'EXPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes9, 0 } +end, + + {Bytes11,Rb10} = ?RT_BER:restbytes2(RemBytes, Bytes10,noext), + {{'KmeIncomingGroupList_SEQOF', Term1, Term2, Term3, Term4, Term5, Term6, Term7, Term8}, Bytes11, Rb1+Rb2+Rb3+Rb4+Rb5+Rb6+Rb7+Rb8+Rb9+Rb10}. + + +'dec_KmeIncomingGroupList'(Bytes, OptOrMand) -> + 'dec_KmeIncomingGroupList'(Bytes, OptOrMand, []). + +'dec_KmeIncomingGroupList'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'dec_KmeIncomingGroupList_SEQOF'/3, [], []). + + + + +%%================================ +%% KmeDoorPhone +%%================================ + +'enc_KmeDoorPhone'({'KmeDoorPhone',Val}, TagIn) -> + 'enc_KmeDoorPhone'(Val, TagIn); + +'enc_KmeDoorPhone'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmeDoorPhone_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmeDoorPhone_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmeDoorPhone_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'enc_KmeDoorPhone_SEQOF'(H, []), + 'enc_KmeDoorPhone_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + + + + +%%================================ +%% KmeDoorPhone_SEQOF +%%================================ +'enc_KmeDoorPhone_SEQOF'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type IA5String +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(2,Val,doorPhoneNo), 22, [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes2,EncLen2} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(3,Val,device), [{tag,128,1,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 3 with type CHOICE OPTIONAL +%%------------------------------------------------- + {EncBytes3,EncLen3} = case ?RT_BER:cindex(4,Val,name) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeDoorPhone_SEQOF_name'(?RT_BER:cindex(4,Val,name), [{tag,128,2,'EXPLICIT',32}]) + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], + LenSoFar = EncLen1 + EncLen2 + EncLen3, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmeDoorPhone_SEQOF_name +%%================================ + +'enc_KmeDoorPhone_SEQOF_name'({'KmeDoorPhone_SEQOF_name',Val}, TagIn) -> + 'enc_KmeDoorPhone_SEQOF_name'(Val, TagIn); + +'enc_KmeDoorPhone_SEQOF_name'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + single -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + wide -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + +'dec_KmeDoorPhone_SEQOF_name'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'single' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{1,20},[{tag,128,0,'EXPLICIT',32}], no_length, mandatory), + {{single, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'wide' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{1,40},[{tag,128,1,'EXPLICIT',32}], no_length, mandatory), + {{wide, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. +'dec_KmeDoorPhone_SEQOF'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type IA5String +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_restricted_string(Bytes2,{1,2},22,[{tag,128,0,'EXPLICIT',32}], no_length, mandatory), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes3, mandatory, [{tag,128,1,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 3 with type CHOICE OPTIONAL +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = case Bytes4 of +<<2:2,_:1,2:5,_/binary>> -> +'dec_KmeDoorPhone_SEQOF_name'(Bytes4, opt_or_default, [{tag,128,2,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes4, 0 } +end, + + {Bytes6,Rb5} = ?RT_BER:restbytes2(RemBytes, Bytes5,noext), + {{'KmeDoorPhone_SEQOF', Term1, Term2, Term3}, Bytes6, Rb1+Rb2+Rb3+Rb4+Rb5}. + + +'dec_KmeDoorPhone'(Bytes, OptOrMand) -> + 'dec_KmeDoorPhone'(Bytes, OptOrMand, []). + +'dec_KmeDoorPhone'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'dec_KmeDoorPhone_SEQOF'/3, [], []). + + + + +%%================================ +%% KmeVmGroup +%%================================ + +'enc_KmeVmGroup'({'KmeVmGroup',Val}, TagIn) -> + 'enc_KmeVmGroup'(Val, TagIn); + +'enc_KmeVmGroup'(Val, TagIn) -> +case (case Val of {_,Enumval1}->Enumval1;_->Val end) of +dpt -> ?RT_BER:encode_enumerated(0,TagIn ++ []); +dtmf -> ?RT_BER:encode_enumerated(1,TagIn ++ []); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end. + + +'dec_KmeVmGroup'(Bytes, OptOrMand) -> + 'dec_KmeVmGroup'(Bytes, OptOrMand, []). + +'dec_KmeVmGroup'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_enumerated(Bytes,[],[{dpt,0},{dtmf,1}],TagIn++[], OptOrMand). + + + +%%================================ +%% KmeVmDtmfType +%%================================ + +'enc_KmeVmDtmfType'({'KmeVmDtmfType',Val}, TagIn) -> + 'enc_KmeVmDtmfType'(Val, TagIn); + +'enc_KmeVmDtmfType'(Val, TagIn) -> +case (case Val of {_,Enumval1}->Enumval1;_->Val end) of +aa -> ?RT_BER:encode_enumerated(0,TagIn ++ []); +vm -> ?RT_BER:encode_enumerated(1,TagIn ++ []); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end. + + +'dec_KmeVmDtmfType'(Bytes, OptOrMand) -> + 'dec_KmeVmDtmfType'(Bytes, OptOrMand, []). + +'dec_KmeVmDtmfType'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_enumerated(Bytes,[],[{aa,0},{vm,1}],TagIn++[], OptOrMand). + + + +%%================================ +%% KmeVmGroupList +%%================================ + +'enc_KmeVmGroupList'({'KmeVmGroupList',Val}, TagIn) -> + 'enc_KmeVmGroupList'(Val, TagIn); + +'enc_KmeVmGroupList'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmeVmGroupList_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmeVmGroupList_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmeVmGroupList_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'enc_KmeVmGroupList_SEQOF'(H, []), + 'enc_KmeVmGroupList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + + + + +%%================================ +%% KmeVmGroupList_SEQOF +%%================================ +'enc_KmeVmGroupList_SEQOF'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,device), []), + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED +%%------------------------------------------------- + {EncBytes2,EncLen2} = case (case ?RT_BER:cindex(3,Val,vmType) of {_,Enumval1}->Enumval1;_->?RT_BER:cindex(3,Val,vmType) end) of +dpt -> ?RT_BER:encode_enumerated(0,[]); +dtmf -> ?RT_BER:encode_enumerated(1,[]); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end, + +%%------------------------------------------------- +%% attribute number 3 with type CHOICE OPTIONAL +%%------------------------------------------------- + {EncBytes3,EncLen3} = case ?RT_BER:cindex(4,Val,name) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeVmGroupList_SEQOF_name'(?RT_BER:cindex(4,Val,name), []) + end, + +%%------------------------------------------------- +%% attribute number 4 with type ENUMERATED OPTIONAL +%%------------------------------------------------- + {EncBytes4,EncLen4} = case ?RT_BER:cindex(5,Val,dtmfType) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + case (case ?RT_BER:cindex(5,Val,dtmfType) of {_,Enumval3}->Enumval3;_->?RT_BER:cindex(5,Val,dtmfType) end) of +aa -> ?RT_BER:encode_enumerated(0,[]); +vm -> ?RT_BER:encode_enumerated(1,[]); +Enumval4 -> exit({error,{asn1, {enumerated_not_in_range,Enumval4}}}) +end + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4], + LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmeVmGroupList_SEQOF_name +%%================================ + +'enc_KmeVmGroupList_SEQOF_name'({'KmeVmGroupList_SEQOF_name',Val}, TagIn) -> + 'enc_KmeVmGroupList_SEQOF_name'(Val, TagIn); + +'enc_KmeVmGroupList_SEQOF_name'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + single -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + wide -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + +'dec_KmeVmGroupList_SEQOF_name'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'single' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{1,20},[{tag,128,0,'EXPLICIT',32}], no_length, mandatory), + {{single, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'wide' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{1,40},[{tag,128,1,'EXPLICIT',32}], no_length, mandatory), + {{wide, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. +'dec_KmeVmGroupList_SEQOF'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, []), + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_enumerated(Bytes3,[],[{dpt,0},{dtmf,1}],[], mandatory), + +%%------------------------------------------------- +%% attribute number 3 with type CHOICE OPTIONAL +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = case (catch 'dec_KmeVmGroupList_SEQOF_name'(Bytes4, opt_or_default, [])) of +{'EXIT',{error,{asn1,{no_optional_tag,_}}}} -> { asn1_NOVALUE, Bytes4, 0 }; +Casetmp1-> Casetmp1 +end, + +%%------------------------------------------------- +%% attribute number 4 with type ENUMERATED OPTIONAL +%%------------------------------------------------- + {Term4,Bytes6,Rb5} = case Bytes5 of +<<0:2,_:1,10:5,_/binary>> -> +?RT_BER:decode_enumerated(Bytes5,[],[{aa,0},{vm,1}],[], mandatory); +_ -> +{ asn1_NOVALUE, Bytes5, 0 } +end, + + {Bytes7,Rb6} = ?RT_BER:restbytes2(RemBytes, Bytes6,noext), + {{'KmeVmGroupList_SEQOF', Term1, Term2, Term3, Term4}, Bytes7, Rb1+Rb2+Rb3+Rb4+Rb5+Rb6}. + + +'dec_KmeVmGroupList'(Bytes, OptOrMand) -> + 'dec_KmeVmGroupList'(Bytes, OptOrMand, []). + +'dec_KmeVmGroupList'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'dec_KmeVmGroupList_SEQOF'/3, [], []). + + + + +%%================================ +%% KmePsGroupList +%%================================ + +'enc_KmePsGroupList'({'KmePsGroupList',Val}, TagIn) -> + 'enc_KmePsGroupList'(Val, TagIn); + +'enc_KmePsGroupList'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmePsGroupList_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmePsGroupList_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmePsGroupList_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'enc_KmePsGroupList_SEQOF'(H, []), + 'enc_KmePsGroupList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + + + + +%%================================ +%% KmePsGroupList_SEQOF +%%================================ +'enc_KmePsGroupList_SEQOF'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_integer([], ?RT_BER:cindex(2,Val,groupNo), []), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes2,EncLen2} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(3,Val,device), []), + +%%------------------------------------------------- +%% attribute number 3 with type CHOICE OPTIONAL +%%------------------------------------------------- + {EncBytes3,EncLen3} = case ?RT_BER:cindex(4,Val,name) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmePsGroupList_SEQOF_name'(?RT_BER:cindex(4,Val,name), []) + end, + +%%------------------------------------------------- +%% attribute number 4 with type BIT STRING OPTIONAL +%%------------------------------------------------- + {EncBytes4,EncLen4} = case ?RT_BER:cindex(5,Val,memberList) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_bit_string([], ?RT_BER:cindex(5,Val,memberList), [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], [{tag,128,2,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 5 with type BIT STRING OPTIONAL +%%------------------------------------------------- + {EncBytes5,EncLen5} = case ?RT_BER:cindex(6,Val,memberList2) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_bit_string([], ?RT_BER:cindex(6,Val,memberList2), [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], [{tag,128,3,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 6 with type BIT STRING OPTIONAL +%%------------------------------------------------- + {EncBytes6,EncLen6} = case ?RT_BER:cindex(7,Val,memberList3) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_bit_string([], ?RT_BER:cindex(7,Val,memberList3), [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], [{tag,128,4,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 7 with type BIT STRING OPTIONAL +%%------------------------------------------------- + {EncBytes7,EncLen7} = case ?RT_BER:cindex(8,Val,memberList4) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_bit_string([], ?RT_BER:cindex(8,Val,memberList4), [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], [{tag,128,5,'EXPLICIT',32}]) + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5, EncBytes6, EncBytes7], + LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5 + EncLen6 + EncLen7, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmePsGroupList_SEQOF_name +%%================================ + +'enc_KmePsGroupList_SEQOF_name'({'KmePsGroupList_SEQOF_name',Val}, TagIn) -> + 'enc_KmePsGroupList_SEQOF_name'(Val, TagIn); + +'enc_KmePsGroupList_SEQOF_name'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + single -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + wide -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + +'dec_KmePsGroupList_SEQOF_name'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'single' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{1,20},[{tag,128,0,'EXPLICIT',32}], no_length, mandatory), + {{single, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'wide' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{1,40},[{tag,128,1,'EXPLICIT',32}], no_length, mandatory), + {{wide, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. +'dec_KmePsGroupList_SEQOF'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_integer(Bytes2,[],[], mandatory), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes3, mandatory, []), + +%%------------------------------------------------- +%% attribute number 3 with type CHOICE OPTIONAL +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = case (catch 'dec_KmePsGroupList_SEQOF_name'(Bytes4, opt_or_default, [])) of +{'EXIT',{error,{asn1,{no_optional_tag,_}}}} -> { asn1_NOVALUE, Bytes4, 0 }; +Casetmp1-> Casetmp1 +end, + +%%------------------------------------------------- +%% attribute number 4 with type BIT STRING OPTIONAL +%%------------------------------------------------- + {Term4,Bytes6,Rb5} = case Bytes5 of +<<2:2,_:1,2:5,_/binary>> -> +?RT_BER:decode_bit_string(Bytes5,[],[{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}],[{tag,128,2,'EXPLICIT',32}], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes5, 0 } +end, + +%%------------------------------------------------- +%% attribute number 5 with type BIT STRING OPTIONAL +%%------------------------------------------------- + {Term5,Bytes7,Rb6} = case Bytes6 of +<<2:2,_:1,3:5,_/binary>> -> +?RT_BER:decode_bit_string(Bytes6,[],[{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}],[{tag,128,3,'EXPLICIT',32}], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes6, 0 } +end, + +%%------------------------------------------------- +%% attribute number 6 with type BIT STRING OPTIONAL +%%------------------------------------------------- + {Term6,Bytes8,Rb7} = case Bytes7 of +<<2:2,_:1,4:5,_/binary>> -> +?RT_BER:decode_bit_string(Bytes7,[],[{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}],[{tag,128,4,'EXPLICIT',32}], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes7, 0 } +end, + +%%------------------------------------------------- +%% attribute number 7 with type BIT STRING OPTIONAL +%%------------------------------------------------- + {Term7,Bytes9,Rb8} = case Bytes8 of +<<2:2,_:1,5:5,_/binary>> -> +?RT_BER:decode_bit_string(Bytes8,[],[{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}],[{tag,128,5,'EXPLICIT',32}], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes8, 0 } +end, + + {Bytes10,Rb9} = ?RT_BER:restbytes2(RemBytes, Bytes9,noext), + {{'KmePsGroupList_SEQOF', Term1, Term2, Term3, Term4, Term5, Term6, Term7}, Bytes10, Rb1+Rb2+Rb3+Rb4+Rb5+Rb6+Rb7+Rb8+Rb9}. + + +'dec_KmePsGroupList'(Bytes, OptOrMand) -> + 'dec_KmePsGroupList'(Bytes, OptOrMand, []). + +'dec_KmePsGroupList'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'dec_KmePsGroupList_SEQOF'/3, [], []). + + + + +%%================================ +%% KmeChangeExtNo +%%================================ +'enc_KmeChangeExtNo'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,requestingDevice), []), + +%%------------------------------------------------- +%% attribute number 2 with type IA5String +%%------------------------------------------------- + {EncBytes2,EncLen2} = ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(3,Val,newExtNo), 22, []), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeChangeExtNo'(Bytes, OptOrMand) -> + 'dec_KmeChangeExtNo'(Bytes, OptOrMand, []). + +'dec_KmeChangeExtNo'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, []), + +%%------------------------------------------------- +%% attribute number 2 with type IA5String +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_restricted_string(Bytes3,{1,5},22,[], no_length, mandatory), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeChangeExtNo', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmeChangeName +%%================================ +'enc_KmeChangeName'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,requestingDevice), []), + +%%------------------------------------------------- +%% attribute number 2 with type CHOICE OPTIONAL +%%------------------------------------------------- + {EncBytes2,EncLen2} = case ?RT_BER:cindex(3,Val,newName) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeChangeName_newName'(?RT_BER:cindex(3,Val,newName), []) + end, + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmeChangeName_newName +%%================================ + +'enc_KmeChangeName_newName'({'KmeChangeName_newName',Val}, TagIn) -> + 'enc_KmeChangeName_newName'(Val, TagIn); + +'enc_KmeChangeName_newName'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + single -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + wide -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + +'dec_KmeChangeName_newName'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'single' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{1,20},[{tag,128,0,'EXPLICIT',32}], no_length, mandatory), + {{single, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'wide' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{1,40},[{tag,128,1,'EXPLICIT',32}], no_length, mandatory), + {{wide, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +'dec_KmeChangeName'(Bytes, OptOrMand) -> + 'dec_KmeChangeName'(Bytes, OptOrMand, []). + +'dec_KmeChangeName'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, []), + +%%------------------------------------------------- +%% attribute number 2 with type CHOICE OPTIONAL +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = case (catch 'dec_KmeChangeName_newName'(Bytes3, opt_or_default, [])) of +{'EXIT',{error,{asn1,{no_optional_tag,_}}}} -> { asn1_NOVALUE, Bytes3, 0 }; +Casetmp1-> Casetmp1 +end, + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeChangeName', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmeDeviceCategory +%%================================ + +'enc_KmeDeviceCategory'({'KmeDeviceCategory',Val}, TagIn) -> + 'enc_KmeDeviceCategory'(Val, TagIn); + +'enc_KmeDeviceCategory'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + standardDevice -> + case (case element(2,Val) of {_,Enumval1}->Enumval1;_->element(2,Val) end) of +acd -> ?RT_BER:encode_enumerated(0,[{tag,128,0,'EXPLICIT',32}]); +group -> ?RT_BER:encode_enumerated(1,[{tag,128,0,'EXPLICIT',32}]); +networkInterface -> ?RT_BER:encode_enumerated(2,[{tag,128,0,'EXPLICIT',32}]); +park -> ?RT_BER:encode_enumerated(3,[{tag,128,0,'EXPLICIT',32}]); +routeingDevice -> ?RT_BER:encode_enumerated(4,[{tag,128,0,'EXPLICIT',32}]); +station -> ?RT_BER:encode_enumerated(5,[{tag,128,0,'EXPLICIT',32}]); +voiceUnit -> ?RT_BER:encode_enumerated(6,[{tag,128,0,'EXPLICIT',32}]); +other -> ?RT_BER:encode_enumerated(7,[{tag,128,0,'EXPLICIT',32}]); +genericInteractiveVoice -> ?RT_BER:encode_enumerated(8,[{tag,128,0,'EXPLICIT',32}]); +listenerInteractiveVoice -> ?RT_BER:encode_enumerated(9,[{tag,128,0,'EXPLICIT',32}]); +dtmfInteractiveVoice -> ?RT_BER:encode_enumerated(10,[{tag,128,0,'EXPLICIT',32}]); +promptInteractiveVoice -> ?RT_BER:encode_enumerated(11,[{tag,128,0,'EXPLICIT',32}]); +promptQueueInteractiveVoice -> ?RT_BER:encode_enumerated(12,[{tag,128,0,'EXPLICIT',32}]); +messageInteractiveVoice -> ?RT_BER:encode_enumerated(13,[{tag,128,0,'EXPLICIT',32}]); +conference -> ?RT_BER:encode_enumerated(14,[{tag,128,0,'EXPLICIT',32}]); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end; + kmeDevice -> + case (case element(2,Val) of {_,Enumval3}->Enumval3;_->element(2,Val) end) of +vm -> ?RT_BER:encode_enumerated(0,[{tag,128,1,'EXPLICIT',32}]); +doorPhone -> ?RT_BER:encode_enumerated(1,[{tag,128,1,'EXPLICIT',32}]); +disa -> ?RT_BER:encode_enumerated(2,[{tag,128,1,'EXPLICIT',32}]); +pagingGroup -> ?RT_BER:encode_enumerated(3,[{tag,128,1,'EXPLICIT',32}]); +psGruop -> ?RT_BER:encode_enumerated(4,[{tag,128,1,'EXPLICIT',32}]); +externalRinger -> ?RT_BER:encode_enumerated(5,[{tag,128,1,'EXPLICIT',32}]); +externalSensor -> ?RT_BER:encode_enumerated(6,[{tag,128,1,'EXPLICIT',32}]); +externalPager -> ?RT_BER:encode_enumerated(7,[{tag,128,1,'EXPLICIT',32}]); +modem -> ?RT_BER:encode_enumerated(8,[{tag,128,1,'EXPLICIT',32}]); +hdlc -> ?RT_BER:encode_enumerated(9,[{tag,128,1,'EXPLICIT',32}]); +pbxSystem -> ?RT_BER:encode_enumerated(10,[{tag,128,1,'EXPLICIT',32}]); +svm -> ?RT_BER:encode_enumerated(11,[{tag,128,1,'EXPLICIT',32}]); +Enumval4 -> exit({error,{asn1, {enumerated_not_in_range,Enumval4}}}) +end; + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_KmeDeviceCategory'(Bytes, OptOrMand) -> + 'dec_KmeDeviceCategory'(Bytes, OptOrMand, []). + +'dec_KmeDeviceCategory'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'standardDevice' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_enumerated(Bytes1,[],[{acd,0},{group,1},{networkInterface,2},{park,3},{routeingDevice,4},{station,5},{voiceUnit,6},{other,7},{genericInteractiveVoice,8},{listenerInteractiveVoice,9},{dtmfInteractiveVoice,10},{promptInteractiveVoice,11},{promptQueueInteractiveVoice,12},{messageInteractiveVoice,13},{conference,14}],[{tag,128,0,'EXPLICIT',32}], mandatory), + {{standardDevice, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'kmeDevice' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_enumerated(Bytes1,[],[{vm,0},{doorPhone,1},{disa,2},{pagingGroup,3},{psGruop,4},{externalRinger,5},{externalSensor,6},{externalPager,7},{modem,8},{hdlc,9},{pbxSystem,10},{svm,11}],[{tag,128,1,'EXPLICIT',32}], mandatory), + {{kmeDevice, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmeRequestedDevice +%%================================ + +'enc_KmeRequestedDevice'({'KmeRequestedDevice',Val}, TagIn) -> + 'enc_KmeRequestedDevice'(Val, TagIn); + +'enc_KmeRequestedDevice'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + device -> + 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + category -> + 'enc_KmeDeviceCategory'(element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_KmeRequestedDevice'(Bytes, OptOrMand) -> + 'dec_KmeRequestedDevice'(Bytes, OptOrMand, []). + +'dec_KmeRequestedDevice'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'device' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes1, mandatory, [{tag,128,0,'EXPLICIT',32}]), + {{device, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'category' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeDeviceCategory'(Bytes1, mandatory, [{tag,128,1,'EXPLICIT',32}]), + {{category, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmeChangedDeviceCategory +%%================================ + +'enc_KmeChangedDeviceCategory'({'KmeChangedDeviceCategory',Val}, TagIn) -> + 'enc_KmeChangedDeviceCategory'(Val, TagIn); + +'enc_KmeChangedDeviceCategory'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + standardDevice -> + case (case element(2,Val) of {_,Enumval1}->Enumval1;_->element(2,Val) end) of +acd -> ?RT_BER:encode_enumerated(0,[{tag,128,0,'EXPLICIT',32}]); +groupACD -> ?RT_BER:encode_enumerated(1,[{tag,128,0,'EXPLICIT',32}]); +groupHunt -> ?RT_BER:encode_enumerated(2,[{tag,128,0,'EXPLICIT',32}]); +groupPick -> ?RT_BER:encode_enumerated(3,[{tag,128,0,'EXPLICIT',32}]); +groupOther -> ?RT_BER:encode_enumerated(4,[{tag,128,0,'EXPLICIT',32}]); +networkInterface -> ?RT_BER:encode_enumerated(5,[{tag,128,0,'EXPLICIT',32}]); +park -> ?RT_BER:encode_enumerated(6,[{tag,128,0,'EXPLICIT',32}]); +routeingDevice -> ?RT_BER:encode_enumerated(7,[{tag,128,0,'EXPLICIT',32}]); +station -> ?RT_BER:encode_enumerated(8,[{tag,128,0,'EXPLICIT',32}]); +voiceUnit -> ?RT_BER:encode_enumerated(9,[{tag,128,0,'EXPLICIT',32}]); +other -> ?RT_BER:encode_enumerated(10,[{tag,128,0,'EXPLICIT',32}]); +conference -> ?RT_BER:encode_enumerated(11,[{tag,128,0,'EXPLICIT',32}]); +dtmfIV -> ?RT_BER:encode_enumerated(12,[{tag,128,0,'EXPLICIT',32}]); +genericIV -> ?RT_BER:encode_enumerated(13,[{tag,128,0,'EXPLICIT',32}]); +groupUser -> ?RT_BER:encode_enumerated(14,[{tag,128,0,'EXPLICIT',32}]); +listenerIV -> ?RT_BER:encode_enumerated(15,[{tag,128,0,'EXPLICIT',32}]); +messageIV -> ?RT_BER:encode_enumerated(16,[{tag,128,0,'EXPLICIT',32}]); +promptIV -> ?RT_BER:encode_enumerated(17,[{tag,128,0,'EXPLICIT',32}]); +promptQueue -> ?RT_BER:encode_enumerated(18,[{tag,128,0,'EXPLICIT',32}]); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end; + kmeDevice -> + case (case element(2,Val) of {_,Enumval3}->Enumval3;_->element(2,Val) end) of +vm -> ?RT_BER:encode_enumerated(0,[{tag,128,1,'EXPLICIT',32}]); +doorPhone -> ?RT_BER:encode_enumerated(1,[{tag,128,1,'EXPLICIT',32}]); +disa -> ?RT_BER:encode_enumerated(2,[{tag,128,1,'EXPLICIT',32}]); +pagingGroup -> ?RT_BER:encode_enumerated(3,[{tag,128,1,'EXPLICIT',32}]); +psGruop -> ?RT_BER:encode_enumerated(4,[{tag,128,1,'EXPLICIT',32}]); +externalRinger -> ?RT_BER:encode_enumerated(5,[{tag,128,1,'EXPLICIT',32}]); +externalSensor -> ?RT_BER:encode_enumerated(6,[{tag,128,1,'EXPLICIT',32}]); +externalPager -> ?RT_BER:encode_enumerated(7,[{tag,128,1,'EXPLICIT',32}]); +modem -> ?RT_BER:encode_enumerated(8,[{tag,128,1,'EXPLICIT',32}]); +hdlc -> ?RT_BER:encode_enumerated(9,[{tag,128,1,'EXPLICIT',32}]); +pbxSystem -> ?RT_BER:encode_enumerated(10,[{tag,128,1,'EXPLICIT',32}]); +svm -> ?RT_BER:encode_enumerated(11,[{tag,128,1,'EXPLICIT',32}]); +Enumval4 -> exit({error,{asn1, {enumerated_not_in_range,Enumval4}}}) +end; + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_KmeChangedDeviceCategory'(Bytes, OptOrMand) -> + 'dec_KmeChangedDeviceCategory'(Bytes, OptOrMand, []). + +'dec_KmeChangedDeviceCategory'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'standardDevice' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_enumerated(Bytes1,[],[{acd,0},{groupACD,1},{groupHunt,2},{groupPick,3},{groupOther,4},{networkInterface,5},{park,6},{routeingDevice,7},{station,8},{voiceUnit,9},{other,10},{conference,11},{dtmfIV,12},{genericIV,13},{groupUser,14},{listenerIV,15},{messageIV,16},{promptIV,17},{promptQueue,18}],[{tag,128,0,'EXPLICIT',32}], mandatory), + {{standardDevice, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'kmeDevice' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_enumerated(Bytes1,[],[{vm,0},{doorPhone,1},{disa,2},{pagingGroup,3},{psGruop,4},{externalRinger,5},{externalSensor,6},{externalPager,7},{modem,8},{hdlc,9},{pbxSystem,10},{svm,11}],[{tag,128,1,'EXPLICIT',32}], mandatory), + {{kmeDevice, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmeDeviceStateList +%%================================ + +'enc_KmeDeviceStateList'({'KmeDeviceStateList',Val}, TagIn) -> + 'enc_KmeDeviceStateList'(Val, TagIn); + +'enc_KmeDeviceStateList'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmeDeviceStateList_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmeDeviceStateList_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmeDeviceStateList_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'enc_KmeDeviceStateEntry'(H, []), + 'enc_KmeDeviceStateList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + + + +'dec_KmeDeviceStateList'(Bytes, OptOrMand) -> + 'dec_KmeDeviceStateList'(Bytes, OptOrMand, []). + +'dec_KmeDeviceStateList'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'dec_KmeDeviceStateEntry'/3, [], []). + + + + +%%================================ +%% KmeDeviceStateEntry +%%================================ +'enc_KmeDeviceStateEntry'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,device), []), + +%%------------------------------------------------- +%% attribute number 2 with type IA5String OPTIONAL +%%------------------------------------------------- + {EncBytes2,EncLen2} = case ?RT_BER:cindex(3,Val,number) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(3,Val,number), 22, []) + end, + +%%------------------------------------------------- +%% attribute number 3 with type ENUMERATED +%%------------------------------------------------- + {EncBytes3,EncLen3} = case (case ?RT_BER:cindex(4,Val,status) of {_,Enumval2}->Enumval2;_->?RT_BER:cindex(4,Val,status) end) of +ins -> ?RT_BER:encode_enumerated(0,[]); +ous -> ?RT_BER:encode_enumerated(1,[]); +Enumval3 -> exit({error,{asn1, {enumerated_not_in_range,Enumval3}}}) +end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], + LenSoFar = EncLen1 + EncLen2 + EncLen3, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeDeviceStateEntry'(Bytes, OptOrMand) -> + 'dec_KmeDeviceStateEntry'(Bytes, OptOrMand, []). + +'dec_KmeDeviceStateEntry'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, []), + +%%------------------------------------------------- +%% attribute number 2 with type IA5String OPTIONAL +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = case Bytes3 of +<<0:2,_:1,22:5,_/binary>> -> +?RT_BER:decode_restricted_string(Bytes3,{1,5},22,[], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes3, 0 } +end, + +%%------------------------------------------------- +%% attribute number 3 with type ENUMERATED +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = ?RT_BER:decode_enumerated(Bytes4,[],[{ins,0},{ous,1}],[], mandatory), + + {Bytes6,Rb5} = ?RT_BER:restbytes2(RemBytes, Bytes5,noext), + {{'KmeDeviceStateEntry', Term1, Term2, Term3}, Bytes6, Rb1+Rb2+Rb3+Rb4+Rb5}. + + +%%================================ +%% KmeDeviceState +%%================================ + +'enc_KmeDeviceState'({'KmeDeviceState',Val}, TagIn) -> + 'enc_KmeDeviceState'(Val, TagIn); + +'enc_KmeDeviceState'(Val, TagIn) -> +case (case Val of {_,Enumval1}->Enumval1;_->Val end) of +ins -> ?RT_BER:encode_enumerated(0,TagIn ++ []); +ous -> ?RT_BER:encode_enumerated(1,TagIn ++ []); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end. + + +'dec_KmeDeviceState'(Bytes, OptOrMand) -> + 'dec_KmeDeviceState'(Bytes, OptOrMand, []). + +'dec_KmeDeviceState'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_enumerated(Bytes,[],[{ins,0},{ous,1}],TagIn++[], OptOrMand). + + + +%%================================ +%% KmeGroupType +%%================================ + +'enc_KmeGroupType'({'KmeGroupType',Val}, TagIn) -> + 'enc_KmeGroupType'(Val, TagIn); + +'enc_KmeGroupType'(Val, TagIn) -> +case (case Val of {_,Enumval1}->Enumval1;_->Val end) of +ucd -> ?RT_BER:encode_enumerated(0,TagIn ++ []); +ring -> ?RT_BER:encode_enumerated(1,TagIn ++ []); +hunt -> ?RT_BER:encode_enumerated(2,TagIn ++ []); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end. + + +'dec_KmeGroupType'(Bytes, OptOrMand) -> + 'dec_KmeGroupType'(Bytes, OptOrMand, []). + +'dec_KmeGroupType'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_enumerated(Bytes,[],[{ucd,0},{ring,1},{hunt,2}],TagIn++[], OptOrMand). + + + +%%================================ +%% KmePhoneProperty +%%================================ +'enc_KmePhoneProperty'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_integer([], ?RT_BER:cindex(2,Val,portType), []), + +%%------------------------------------------------- +%% attribute number 2 with type INTEGER +%%------------------------------------------------- + {EncBytes2,EncLen2} = ?RT_BER:encode_integer([], ?RT_BER:cindex(3,Val,phoneCode), []), + +%%------------------------------------------------- +%% attribute number 3 with type INTEGER +%%------------------------------------------------- + {EncBytes3,EncLen3} = ?RT_BER:encode_integer([], ?RT_BER:cindex(4,Val,lcdRows), []), + +%%------------------------------------------------- +%% attribute number 4 with type INTEGER +%%------------------------------------------------- + {EncBytes4,EncLen4} = ?RT_BER:encode_integer([], ?RT_BER:cindex(5,Val,lcdColumns), []), + +%%------------------------------------------------- +%% attribute number 5 with type INTEGER +%%------------------------------------------------- + {EncBytes5,EncLen5} = ?RT_BER:encode_integer([], ?RT_BER:cindex(6,Val,numberOfCoKeys), []), + +%%------------------------------------------------- +%% attribute number 6 with type INTEGER +%%------------------------------------------------- + {EncBytes6,EncLen6} = ?RT_BER:encode_integer([], ?RT_BER:cindex(7,Val,numberOfSoftKeys), []), + +%%------------------------------------------------- +%% attribute number 7 with type BOOLEAN +%%------------------------------------------------- + {EncBytes7,EncLen7} = ?RT_BER:encode_boolean(?RT_BER:cindex(8,Val,spPhone), []), + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5, EncBytes6, EncBytes7], + LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5 + EncLen6 + EncLen7, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmePhoneProperty'(Bytes, OptOrMand) -> + 'dec_KmePhoneProperty'(Bytes, OptOrMand, []). + +'dec_KmePhoneProperty'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_integer(Bytes2,[],[], mandatory), + +%%------------------------------------------------- +%% attribute number 2 with type INTEGER +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_integer(Bytes3,[],[], mandatory), + +%%------------------------------------------------- +%% attribute number 3 with type INTEGER +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = ?RT_BER:decode_integer(Bytes4,[],[], mandatory), + +%%------------------------------------------------- +%% attribute number 4 with type INTEGER +%%------------------------------------------------- + {Term4,Bytes6,Rb5} = ?RT_BER:decode_integer(Bytes5,[],[], mandatory), + +%%------------------------------------------------- +%% attribute number 5 with type INTEGER +%%------------------------------------------------- + {Term5,Bytes7,Rb6} = ?RT_BER:decode_integer(Bytes6,[],[], mandatory), + +%%------------------------------------------------- +%% attribute number 6 with type INTEGER +%%------------------------------------------------- + {Term6,Bytes8,Rb7} = ?RT_BER:decode_integer(Bytes7,[],[], mandatory), + +%%------------------------------------------------- +%% attribute number 7 with type BOOLEAN +%%------------------------------------------------- + {Term7,Bytes9,Rb8} = ?RT_BER:decode_boolean(Bytes8,[], mandatory), + + {Bytes10,Rb9} = ?RT_BER:restbytes2(RemBytes, Bytes9,noext), + {{'KmePhoneProperty', Term1, Term2, Term3, Term4, Term5, Term6, Term7}, Bytes10, Rb1+Rb2+Rb3+Rb4+Rb5+Rb6+Rb7+Rb8+Rb9}. + + +%%================================ +%% KmeDeviceExtNo +%%================================ +'enc_KmeDeviceExtNo'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,devNumber), []), + +%%------------------------------------------------- +%% attribute number 2 with type IA5String OPTIONAL +%%------------------------------------------------- + {EncBytes2,EncLen2} = case ?RT_BER:cindex(3,Val,extNo) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(3,Val,extNo), 22, []) + end, + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeDeviceExtNo'(Bytes, OptOrMand) -> + 'dec_KmeDeviceExtNo'(Bytes, OptOrMand, []). + +'dec_KmeDeviceExtNo'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, []), + +%%------------------------------------------------- +%% attribute number 2 with type IA5String OPTIONAL +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = case Bytes3 of +<<0:2,_:1,22:5,_/binary>> -> +?RT_BER:decode_restricted_string(Bytes3,{1,5},22,[], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes3, 0 } +end, + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeDeviceExtNo', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmeDeviceName +%%================================ +'enc_KmeDeviceName'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type IA5String +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(2,Val,extNo), 22, []), + +%%------------------------------------------------- +%% attribute number 2 External KME-specific-types:KmeExtName +%%------------------------------------------------- + {EncBytes2,EncLen2} = 'enc_KmeExtName'(?RT_BER:cindex(3,Val,name), []), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeDeviceName'(Bytes, OptOrMand) -> + 'dec_KmeDeviceName'(Bytes, OptOrMand, []). + +'dec_KmeDeviceName'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type IA5String +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_restricted_string(Bytes2,{1,5},22,[], no_length, mandatory), + +%%------------------------------------------------- +%% attribute number 2 External KME-specific-types:KmeExtName +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = 'dec_KmeExtName'(Bytes3, mandatory, []), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeDeviceName', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmeFcoKeyInfo +%%================================ +'enc_KmeFcoKeyInfo'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type OCTET STRING +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_octet_string([], ?RT_BER:cindex(2,Val,button), []), + +%%------------------------------------------------- +%% attribute number 2 with type OCTET STRING +%%------------------------------------------------- + {EncBytes2,EncLen2} = ?RT_BER:encode_octet_string([], ?RT_BER:cindex(3,Val,function), []), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeFcoKeyInfo'(Bytes, OptOrMand) -> + 'dec_KmeFcoKeyInfo'(Bytes, OptOrMand, []). + +'dec_KmeFcoKeyInfo'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type OCTET STRING +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_octet_string(Bytes2,[],[], no_length, mandatory), + +%%------------------------------------------------- +%% attribute number 2 with type OCTET STRING +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_octet_string(Bytes3,1,[], no_length, mandatory), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeFcoKeyInfo', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmeFcoKeyList +%%================================ + +'enc_KmeFcoKeyList'({'KmeFcoKeyList',Val}, TagIn) -> + 'enc_KmeFcoKeyList'(Val, TagIn); + +'enc_KmeFcoKeyList'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmeFcoKeyList_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmeFcoKeyList_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmeFcoKeyList_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'enc_KmeFcoKeyInfo'(H, []), + 'enc_KmeFcoKeyList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + + + +'dec_KmeFcoKeyList'(Bytes, OptOrMand) -> + 'dec_KmeFcoKeyList'(Bytes, OptOrMand, []). + +'dec_KmeFcoKeyList'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'dec_KmeFcoKeyInfo'/3, [], []). + + + + +%%================================ +%% KmeExternalSensorList +%%================================ + +'enc_KmeExternalSensorList'({'KmeExternalSensorList',Val}, TagIn) -> + 'enc_KmeExternalSensorList'(Val, TagIn); + +'enc_KmeExternalSensorList'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmeExternalSensorList_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmeExternalSensorList_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmeExternalSensorList_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'enc_KmeExternalSensorList_SEQOF'(H, []), + 'enc_KmeExternalSensorList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + + + + +%%================================ +%% KmeExternalSensorList_SEQOF +%%================================ +'enc_KmeExternalSensorList_SEQOF'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type IA5String +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(2,Val,sensorNo), 22, [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes2,EncLen2} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(3,Val,device), [{tag,128,1,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 3 with type CHOICE OPTIONAL +%%------------------------------------------------- + {EncBytes3,EncLen3} = case ?RT_BER:cindex(4,Val,name) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeExternalSensorList_SEQOF_name'(?RT_BER:cindex(4,Val,name), [{tag,128,2,'EXPLICIT',32}]) + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], + LenSoFar = EncLen1 + EncLen2 + EncLen3, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmeExternalSensorList_SEQOF_name +%%================================ + +'enc_KmeExternalSensorList_SEQOF_name'({'KmeExternalSensorList_SEQOF_name',Val}, TagIn) -> + 'enc_KmeExternalSensorList_SEQOF_name'(Val, TagIn); + +'enc_KmeExternalSensorList_SEQOF_name'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + single -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + wide -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + +'dec_KmeExternalSensorList_SEQOF_name'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'single' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{1,20},[{tag,128,0,'EXPLICIT',32}], no_length, mandatory), + {{single, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'wide' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{1,40},[{tag,128,1,'EXPLICIT',32}], no_length, mandatory), + {{wide, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. +'dec_KmeExternalSensorList_SEQOF'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type IA5String +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_restricted_string(Bytes2,{1,3},22,[{tag,128,0,'EXPLICIT',32}], no_length, mandatory), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes3, mandatory, [{tag,128,1,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 3 with type CHOICE OPTIONAL +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = case Bytes4 of +<<2:2,_:1,2:5,_/binary>> -> +'dec_KmeExternalSensorList_SEQOF_name'(Bytes4, opt_or_default, [{tag,128,2,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes4, 0 } +end, + + {Bytes6,Rb5} = ?RT_BER:restbytes2(RemBytes, Bytes5,noext), + {{'KmeExternalSensorList_SEQOF', Term1, Term2, Term3}, Bytes6, Rb1+Rb2+Rb3+Rb4+Rb5}. + + +'dec_KmeExternalSensorList'(Bytes, OptOrMand) -> + 'dec_KmeExternalSensorList'(Bytes, OptOrMand, []). + +'dec_KmeExternalSensorList'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'dec_KmeExternalSensorList_SEQOF'/3, [], []). + + + + +%%================================ +%% KmeTenantSpeedDial +%%================================ +'enc_KmeTenantSpeedDial'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_integer([], ?RT_BER:cindex(2,Val,tenantNo), [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 External KME-specific-types:KmeSpeedDial +%%------------------------------------------------- + {EncBytes2,EncLen2} = 'enc_KmeSpeedDial'(?RT_BER:cindex(3,Val,kmeSpeedDial), [{tag,128,1,'EXPLICIT',32}]), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeTenantSpeedDial'(Bytes, OptOrMand) -> + 'dec_KmeTenantSpeedDial'(Bytes, OptOrMand, []). + +'dec_KmeTenantSpeedDial'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_integer(Bytes2,[],[{tag,128,0,'EXPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 2 External KME-specific-types:KmeSpeedDial +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = 'dec_KmeSpeedDial'(Bytes3, mandatory, [{tag,128,1,'EXPLICIT',32}]), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeTenantSpeedDial', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmeDistributionMethod +%%================================ +'enc_KmeDistributionMethod'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,group), []), + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED +%%------------------------------------------------- + {EncBytes2,EncLen2} = case (case ?RT_BER:cindex(3,Val,type) of {_,Enumval1}->Enumval1;_->?RT_BER:cindex(3,Val,type) end) of +ucd -> ?RT_BER:encode_enumerated(0,[]); +ring -> ?RT_BER:encode_enumerated(1,[]); +hunt -> ?RT_BER:encode_enumerated(2,[]); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end, + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeDistributionMethod'(Bytes, OptOrMand) -> + 'dec_KmeDistributionMethod'(Bytes, OptOrMand, []). + +'dec_KmeDistributionMethod'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, []), + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_enumerated(Bytes3,[],[{ucd,0},{ring,1},{hunt,2}],[], mandatory), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeDistributionMethod', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmePDFStart +%%================================ +'enc_KmePDFStart'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,device), []), + + BytesSoFar = [EncBytes1], + LenSoFar = EncLen1, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmePDFStart'(Bytes, OptOrMand) -> + 'dec_KmePDFStart'(Bytes, OptOrMand, []). + +'dec_KmePDFStart'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, []), + + {Bytes4,Rb3} = ?RT_BER:restbytes2(RemBytes, Bytes3,noext), + {{'KmePDFStart', Term1}, Bytes4, Rb1+Rb2+Rb3}. + + +%%================================ +%% KmePDFStop +%%================================ + +'enc_KmePDFStop'({'KmePDFStop',Val}, TagIn) -> + 'enc_KmePDFStop'(Val, TagIn); + +'enc_KmePDFStop'(Val, TagIn) -> + 'CSTA-device-identifiers':'enc_DeviceID'(Val, TagIn ++ []). + + +'dec_KmePDFStop'(Bytes, OptOrMand) -> + 'dec_KmePDFStop'(Bytes, OptOrMand, []). + +'dec_KmePDFStop'(Bytes, OptOrMand, TagIn) -> +'CSTA-device-identifiers':'dec_DeviceID'(Bytes, OptOrMand, TagIn++[]). + + + +%%================================ +%% KmePDFStatus +%%================================ +'enc_KmePDFStatus'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,targetDevice), []), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes2,EncLen2} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(3,Val,originatingDevice), []), + +%%------------------------------------------------- +%% attribute number 3 with type BOOLEAN +%%------------------------------------------------- + {EncBytes3,EncLen3} = ?RT_BER:encode_boolean(?RT_BER:cindex(4,Val,status), []), + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], + LenSoFar = EncLen1 + EncLen2 + EncLen3, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmePDFStatus'(Bytes, OptOrMand) -> + 'dec_KmePDFStatus'(Bytes, OptOrMand, []). + +'dec_KmePDFStatus'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, []), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes3, mandatory, []), + +%%------------------------------------------------- +%% attribute number 3 with type BOOLEAN +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = ?RT_BER:decode_boolean(Bytes4,[], mandatory), + + {Bytes6,Rb5} = ?RT_BER:restbytes2(RemBytes, Bytes5,noext), + {{'KmePDFStatus', Term1, Term2, Term3}, Bytes6, Rb1+Rb2+Rb3+Rb4+Rb5}. + + +%%================================ +%% KmePDFSrvEvt +%%================================ + +'enc_KmePDFSrvEvt'({'KmePDFSrvEvt',Val}, TagIn) -> + 'enc_KmePDFSrvEvt'(Val, TagIn); + +'enc_KmePDFSrvEvt'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + pDFStart -> + 'enc_KmePDFStart'(element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + pDFStop -> + 'enc_KmePDFStop'(element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_KmePDFSrvEvt'(Bytes, OptOrMand) -> + 'dec_KmePDFSrvEvt'(Bytes, OptOrMand, []). + +'dec_KmePDFSrvEvt'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'pDFStart' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmePDFStart'(Bytes1, mandatory, [{tag,128,0,'EXPLICIT',32}]), + {{pDFStart, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'pDFStop' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmePDFStop'(Bytes1, mandatory, [{tag,128,1,'EXPLICIT',32}]), + {{pDFStop, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmeSvmList +%%================================ + +'enc_KmeSvmList'({'KmeSvmList',Val}, TagIn) -> + 'enc_KmeSvmList'(Val, TagIn); + +'enc_KmeSvmList'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmeSvmList_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmeSvmList_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmeSvmList_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'enc_KmeSvmList_SEQOF'(H, []), + 'enc_KmeSvmList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + + + + +%%================================ +%% KmeSvmList_SEQOF +%%================================ +'enc_KmeSvmList_SEQOF'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,device), []), + +%%------------------------------------------------- +%% attribute number 2 External KME-specific-types:KmeExtName OPTIONAL +%%------------------------------------------------- + {EncBytes2,EncLen2} = case ?RT_BER:cindex(3,Val,name) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeExtName'(?RT_BER:cindex(3,Val,name), []) + end, + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). +'dec_KmeSvmList_SEQOF'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, []), + +%%------------------------------------------------- +%% attribute number 2 External KME-specific-types:KmeExtName OPTIONAL +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = case (catch 'dec_KmeExtName'(Bytes3, opt_or_default, [])) of +{'EXIT',{error,{asn1,{no_optional_tag,_}}}} -> { asn1_NOVALUE, Bytes3, 0 }; +Casetmp1-> Casetmp1 +end, + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeSvmList_SEQOF', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +'dec_KmeSvmList'(Bytes, OptOrMand) -> + 'dec_KmeSvmList'(Bytes, OptOrMand, []). + +'dec_KmeSvmList'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'dec_KmeSvmList_SEQOF'/3, [], []). + + + + +%%================================ +%% KmeExtName +%%================================ + +'enc_KmeExtName'({'KmeExtName',Val}, TagIn) -> + 'enc_KmeExtName'(Val, TagIn); + +'enc_KmeExtName'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + single -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + wide -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_KmeExtName'(Bytes, OptOrMand) -> + 'dec_KmeExtName'(Bytes, OptOrMand, []). + +'dec_KmeExtName'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'single' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{0,20},[{tag,128,0,'EXPLICIT',32}], no_length, mandatory), + {{single, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'wide' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{0,40},[{tag,128,1,'EXPLICIT',32}], no_length, mandatory), + {{wide, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% NumberOfMsgPort +%%================================ +'enc_NumberOfMsgPort'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_integer([], ?RT_BER:cindex(2,Val,numberOfMsgPort), []), + +%%------------------------------------------------- +%% attribute number 2 with type INTEGER +%%------------------------------------------------- + {EncBytes2,EncLen2} = ?RT_BER:encode_integer([], ?RT_BER:cindex(3,Val,numberOfFreePort), []), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_NumberOfMsgPort'(Bytes, OptOrMand) -> + 'dec_NumberOfMsgPort'(Bytes, OptOrMand, []). + +'dec_NumberOfMsgPort'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_integer(Bytes2,[],[], mandatory), + +%%------------------------------------------------- +%% attribute number 2 with type INTEGER +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_integer(Bytes3,[],[], mandatory), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'NumberOfMsgPort', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmeDndOverride +%%================================ + +'enc_KmeDndOverride'({'KmeDndOverride',Val}, TagIn) -> + 'enc_KmeDndOverride'(Val, TagIn); + +'enc_KmeDndOverride'(Val, TagIn) -> + 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Val, TagIn ++ []). + + +'dec_KmeDndOverride'(Bytes, OptOrMand) -> + 'dec_KmeDndOverride'(Bytes, OptOrMand, []). + +'dec_KmeDndOverride'(Bytes, OptOrMand, TagIn) -> +'CSTA-call-connection-identifiers':'dec_ConnectionID'(Bytes, OptOrMand, TagIn++[]). + + + +%%================================ +%% KmeInteruptCall +%%================================ + +'enc_KmeInteruptCall'({'KmeInteruptCall',Val}, TagIn) -> + 'enc_KmeInteruptCall'(Val, TagIn); + +'enc_KmeInteruptCall'(Val, TagIn) -> + 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Val, TagIn ++ []). + + +'dec_KmeInteruptCall'(Bytes, OptOrMand) -> + 'dec_KmeInteruptCall'(Bytes, OptOrMand, []). + +'dec_KmeInteruptCall'(Bytes, OptOrMand, TagIn) -> +'CSTA-call-connection-identifiers':'dec_ConnectionID'(Bytes, OptOrMand, TagIn++[]). + + + +%%================================ +%% KmeExternalFeatureAccess +%%================================ + +'enc_KmeExternalFeatureAccess'({'KmeExternalFeatureAccess',Val}, TagIn) -> + 'enc_KmeExternalFeatureAccess'(Val, TagIn); + +'enc_KmeExternalFeatureAccess'(Val, TagIn) -> + 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Val, TagIn ++ []). + + +'dec_KmeExternalFeatureAccess'(Bytes, OptOrMand) -> + 'dec_KmeExternalFeatureAccess'(Bytes, OptOrMand, []). + +'dec_KmeExternalFeatureAccess'(Bytes, OptOrMand, TagIn) -> +'CSTA-call-connection-identifiers':'dec_ConnectionID'(Bytes, OptOrMand, TagIn++[]). + + + +%%================================ +%% KmeTempTollChange +%%================================ +'enc_KmeTempTollChange'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-call-connection-identifiers:ConnectionID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-call-connection-identifiers':'enc_ConnectionID'(?RT_BER:cindex(2,Val,connection), []), + +%%------------------------------------------------- +%% attribute number 2 with type INTEGER +%%------------------------------------------------- + {EncBytes2,EncLen2} = ?RT_BER:encode_integer([], ?RT_BER:cindex(3,Val,tollLevel), []), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeTempTollChange'(Bytes, OptOrMand) -> + 'dec_KmeTempTollChange'(Bytes, OptOrMand, []). + +'dec_KmeTempTollChange'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-call-connection-identifiers:ConnectionID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-call-connection-identifiers':'dec_ConnectionID'(Bytes2, mandatory, []), + +%%------------------------------------------------- +%% attribute number 2 with type INTEGER +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_integer(Bytes3,[],[], mandatory), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeTempTollChange', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmeDoorOpen +%%================================ + +'enc_KmeDoorOpen'({'KmeDoorOpen',Val}, TagIn) -> + 'enc_KmeDoorOpen'(Val, TagIn); + +'enc_KmeDoorOpen'(Val, TagIn) -> + 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Val, TagIn ++ []). + + +'dec_KmeDoorOpen'(Bytes, OptOrMand) -> + 'dec_KmeDoorOpen'(Bytes, OptOrMand, []). + +'dec_KmeDoorOpen'(Bytes, OptOrMand, TagIn) -> +'CSTA-call-connection-identifiers':'dec_ConnectionID'(Bytes, OptOrMand, TagIn++[]). + + + +%%================================ +%% KmeTwoWayRec +%%================================ +'enc_KmeTwoWayRec'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-call-connection-identifiers:ConnectionID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-call-connection-identifiers':'enc_ConnectionID'(?RT_BER:cindex(2,Val,connection), []), + +%%------------------------------------------------- +%% attribute number 2 with type IA5String +%%------------------------------------------------- + {EncBytes2,EncLen2} = ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(3,Val,vmGroupExtNo), 22, []), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeTwoWayRec'(Bytes, OptOrMand) -> + 'dec_KmeTwoWayRec'(Bytes, OptOrMand, []). + +'dec_KmeTwoWayRec'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-call-connection-identifiers:ConnectionID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-call-connection-identifiers':'dec_ConnectionID'(Bytes2, mandatory, []), + +%%------------------------------------------------- +%% attribute number 2 with type IA5String +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_restricted_string(Bytes3,{1,5},22,[], no_length, mandatory), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeTwoWayRec', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmeCallBackInvokeReq +%%================================ +'enc_KmeCallBackInvokeReq'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type OCTET STRING +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_octet_string([], ?RT_BER:cindex(2,Val,callBackID), []), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes2,EncLen2} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(3,Val,requestingDevice), []), + +%%------------------------------------------------- +%% attribute number 3 External CSTA-device-identifiers:DeviceID OPTIONAL +%%------------------------------------------------- + {EncBytes3,EncLen3} = case ?RT_BER:cindex(4,Val,targetDevice) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(4,Val,targetDevice), []) + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], + LenSoFar = EncLen1 + EncLen2 + EncLen3, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeCallBackInvokeReq'(Bytes, OptOrMand) -> + 'dec_KmeCallBackInvokeReq'(Bytes, OptOrMand, []). + +'dec_KmeCallBackInvokeReq'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type OCTET STRING +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_octet_string(Bytes2,{0,4},[], no_length, mandatory), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes3, mandatory, []), + +%%------------------------------------------------- +%% attribute number 3 External CSTA-device-identifiers:DeviceID OPTIONAL +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = case Bytes4 of +<<0:2,_:1,16:5,_/binary>> -> +'CSTA-device-identifiers':'dec_DeviceID'(Bytes4, opt_or_default, []); +_ -> +{ asn1_NOVALUE, Bytes4, 0 } +end, + + {Bytes6,Rb5} = ?RT_BER:restbytes2(RemBytes, Bytes5,noext), + {{'KmeCallBackInvokeReq', Term1, Term2, Term3}, Bytes6, Rb1+Rb2+Rb3+Rb4+Rb5}. + + +%%================================ +%% KmeCallBackInvokeRsp +%%================================ + +'enc_KmeCallBackInvokeRsp'({'KmeCallBackInvokeRsp',Val}, TagIn) -> + 'enc_KmeCallBackInvokeRsp'(Val, TagIn); + +'enc_KmeCallBackInvokeRsp'(Val, TagIn) -> + 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Val, TagIn ++ []). + + +'dec_KmeCallBackInvokeRsp'(Bytes, OptOrMand) -> + 'dec_KmeCallBackInvokeRsp'(Bytes, OptOrMand, []). + +'dec_KmeCallBackInvokeRsp'(Bytes, OptOrMand, TagIn) -> +'CSTA-call-connection-identifiers':'dec_ConnectionID'(Bytes, OptOrMand, TagIn++[]). + + + +%%================================ +%% CallBackNotification +%%================================ +'enc_CallBackNotification'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type OCTET STRING +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_octet_string([], ?RT_BER:cindex(2,Val,callBackID), []), + +%%------------------------------------------------- +%% attribute number 2 with type BOOLEAN +%%------------------------------------------------- + {EncBytes2,EncLen2} = ?RT_BER:encode_boolean(?RT_BER:cindex(3,Val,prompted), []), + +%%------------------------------------------------- +%% attribute number 3 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes3,EncLen3} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(4,Val,requestingDevice), []), + +%%------------------------------------------------- +%% attribute number 4 External CSTA-device-identifiers:SubjectDeviceID +%%------------------------------------------------- + {EncBytes4,EncLen4} = 'CSTA-device-identifiers':'enc_SubjectDeviceID'(?RT_BER:cindex(5,Val,targetDevice), []), + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4], + LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_CallBackNotification'(Bytes, OptOrMand) -> + 'dec_CallBackNotification'(Bytes, OptOrMand, []). + +'dec_CallBackNotification'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type OCTET STRING +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_octet_string(Bytes2,{0,4},[], no_length, mandatory), + +%%------------------------------------------------- +%% attribute number 2 with type BOOLEAN +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_boolean(Bytes3,[], mandatory), + +%%------------------------------------------------- +%% attribute number 3 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes4, mandatory, []), + +%%------------------------------------------------- +%% attribute number 4 External CSTA-device-identifiers:SubjectDeviceID +%%------------------------------------------------- + {Term4,Bytes6,Rb5} = 'CSTA-device-identifiers':'dec_SubjectDeviceID'(Bytes5, mandatory, []), + + {Bytes7,Rb6} = ?RT_BER:restbytes2(RemBytes, Bytes6,noext), + {{'CallBackNotification', Term1, Term2, Term3, Term4}, Bytes7, Rb1+Rb2+Rb3+Rb4+Rb5+Rb6}. + + +%%================================ +%% KmeCallBackInvoke +%%================================ + +'enc_KmeCallBackInvoke'({'KmeCallBackInvoke',Val}, TagIn) -> + 'enc_KmeCallBackInvoke'(Val, TagIn); + +'enc_KmeCallBackInvoke'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + request -> + 'enc_KmeCallBackInvokeReq'(element(2,Val), []); + result -> + 'enc_KmeCallBackInvokeRsp'(element(2,Val), []); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_KmeCallBackInvoke'(Bytes, OptOrMand) -> + 'dec_KmeCallBackInvoke'(Bytes, OptOrMand, []). + +'dec_KmeCallBackInvoke'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'request' + <<0:2,_:1,16:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeCallBackInvokeReq'(Bytes1, mandatory, []), + {{request, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'result' + <<1:2,_:1,11:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeCallBackInvokeRsp'(Bytes1, mandatory, []), + {{result, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmePcRec +%%================================ +'enc_KmePcRec'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-call-connection-identifiers:ConnectionID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-call-connection-identifiers':'enc_ConnectionID'(?RT_BER:cindex(2,Val,connection), []), + +%%------------------------------------------------- +%% attribute number 2 with type BOOLEAN +%%------------------------------------------------- + {EncBytes2,EncLen2} = ?RT_BER:encode_boolean(?RT_BER:cindex(3,Val,pcRecOn), []), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmePcRec'(Bytes, OptOrMand) -> + 'dec_KmePcRec'(Bytes, OptOrMand, []). + +'dec_KmePcRec'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-call-connection-identifiers:ConnectionID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-call-connection-identifiers':'dec_ConnectionID'(Bytes2, mandatory, []), + +%%------------------------------------------------- +%% attribute number 2 with type BOOLEAN +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_boolean(Bytes3,[], mandatory), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmePcRec', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmeDeviceAgentStatus +%%================================ +'enc_KmeDeviceAgentStatus'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,device), [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED +%%------------------------------------------------- + {EncBytes2,EncLen2} = case (case ?RT_BER:cindex(3,Val,status) of {_,Enumval1}->Enumval1;_->?RT_BER:cindex(3,Val,status) end) of +logout -> ?RT_BER:encode_enumerated(0,[{tag,128,1,'EXPLICIT',32}]); +login -> ?RT_BER:encode_enumerated(1,[{tag,128,1,'EXPLICIT',32}]); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end, + +%%------------------------------------------------- +%% attribute number 3 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes3,EncLen3} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(4,Val,imcomingGroup), [{tag,128,2,'EXPLICIT',32}]), + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], + LenSoFar = EncLen1 + EncLen2 + EncLen3, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeDeviceAgentStatus'(Bytes, OptOrMand) -> + 'dec_KmeDeviceAgentStatus'(Bytes, OptOrMand, []). + +'dec_KmeDeviceAgentStatus'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_enumerated(Bytes3,[],[{logout,0},{login,1}],[{tag,128,1,'EXPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 3 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes4, mandatory, [{tag,128,2,'EXPLICIT',32}]), + + {Bytes6,Rb5} = ?RT_BER:restbytes2(RemBytes, Bytes5,noext), + {{'KmeDeviceAgentStatus', Term1, Term2, Term3}, Bytes6, Rb1+Rb2+Rb3+Rb4+Rb5}. + + +%%================================ +%% KmeDeviceCallStatus +%%================================ + +'enc_KmeDeviceCallStatus'({'KmeDeviceCallStatus',Val}, TagIn) -> + 'enc_KmeDeviceCallStatus'(Val, TagIn); + +'enc_KmeDeviceCallStatus'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmeDeviceCallStatus_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmeDeviceCallStatus_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmeDeviceCallStatus_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'enc_KmeDeviceCallStatus_SEQOF'(H, []), + 'enc_KmeDeviceCallStatus_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + + + + +%%================================ +%% KmeDeviceCallStatus_SEQOF +%%================================ +'enc_KmeDeviceCallStatus_SEQOF'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,device), [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type CHOICE +%%------------------------------------------------- + {EncBytes2,EncLen2} = 'enc_KmeDeviceCallStatus_SEQOF_status'(?RT_BER:cindex(3,Val,status), [{tag,128,1,'EXPLICIT',32}]), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmeDeviceCallStatus_SEQOF_status +%%================================ + +'enc_KmeDeviceCallStatus_SEQOF_status'({'KmeDeviceCallStatus_SEQOF_status',Val}, TagIn) -> + 'enc_KmeDeviceCallStatus_SEQOF_status'(Val, TagIn); + +'enc_KmeDeviceCallStatus_SEQOF_status'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + lineStatus -> + case (case element(2,Val) of {_,Enumval1}->Enumval1;_->element(2,Val) end) of +idle -> ?RT_BER:encode_enumerated(0,[{tag,128,0,'EXPLICIT',32}]); +ring -> ?RT_BER:encode_enumerated(1,[{tag,128,0,'EXPLICIT',32}]); +busy -> ?RT_BER:encode_enumerated(2,[{tag,128,0,'EXPLICIT',32}]); +hold -> ?RT_BER:encode_enumerated(3,[{tag,128,0,'EXPLICIT',32}]); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end; + parkStatus -> + 'enc_KmeDeviceCallStatus_SEQOF_status_parkStatus'(element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + + +%%================================ +%% KmeDeviceCallStatus_SEQOF_status_parkStatus +%%================================ +'enc_KmeDeviceCallStatus_SEQOF_status_parkStatus'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_integer([], ?RT_BER:cindex(2,Val,area), [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type OCTET STRING +%%------------------------------------------------- + {EncBytes2,EncLen2} = ?RT_BER:encode_octet_string([], ?RT_BER:cindex(3,Val,call), [{tag,128,1,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 3 with type ENUMERATED +%%------------------------------------------------- + {EncBytes3,EncLen3} = case (case ?RT_BER:cindex(4,Val,action) of {_,Enumval3}->Enumval3;_->?RT_BER:cindex(4,Val,action) end) of +parkin -> ?RT_BER:encode_enumerated(0,[]); +parkout -> ?RT_BER:encode_enumerated(1,[]); +Enumval4 -> exit({error,{asn1, {enumerated_not_in_range,Enumval4}}}) +end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], + LenSoFar = EncLen1 + EncLen2 + EncLen3, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). +'dec_KmeDeviceCallStatus_SEQOF_status_parkStatus'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_integer(Bytes2,{0,999},[{tag,128,0,'EXPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 2 with type OCTET STRING +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_octet_string(Bytes3,[],[{tag,128,1,'EXPLICIT',32}], no_length, mandatory), + +%%------------------------------------------------- +%% attribute number 3 with type ENUMERATED +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = ?RT_BER:decode_enumerated(Bytes4,[],[{parkin,0},{parkout,1}],[], mandatory), + + {Bytes6,Rb5} = ?RT_BER:restbytes2(RemBytes, Bytes5,noext), + {{'KmeDeviceCallStatus_SEQOF_status_parkStatus', Term1, Term2, Term3}, Bytes6, Rb1+Rb2+Rb3+Rb4+Rb5}. +'dec_KmeDeviceCallStatus_SEQOF_status'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'lineStatus' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_enumerated(Bytes1,[],[{idle,0},{ring,1},{busy,2},{hold,3}],[{tag,128,0,'EXPLICIT',32}], mandatory), + {{lineStatus, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'parkStatus' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeDeviceCallStatus_SEQOF_status_parkStatus'(Bytes1, mandatory, [{tag,128,1,'EXPLICIT',32}]), + {{parkStatus, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. +'dec_KmeDeviceCallStatus_SEQOF'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type CHOICE +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = 'dec_KmeDeviceCallStatus_SEQOF_status'(Bytes3, mandatory, [{tag,128,1,'EXPLICIT',32}]), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeDeviceCallStatus_SEQOF', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +'dec_KmeDeviceCallStatus'(Bytes, OptOrMand) -> + 'dec_KmeDeviceCallStatus'(Bytes, OptOrMand, []). + +'dec_KmeDeviceCallStatus'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'dec_KmeDeviceCallStatus_SEQOF'/3, [], []). + + + + +%%================================ +%% KmeDeviceServiceStatus +%%================================ +'enc_KmeDeviceServiceStatus'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type CHOICE +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'enc_KmeDeviceServiceStatus_source'(?RT_BER:cindex(2,Val,source), [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED +%%------------------------------------------------- + {EncBytes2,EncLen2} = case (case ?RT_BER:cindex(3,Val,status) of {_,Enumval1}->Enumval1;_->?RT_BER:cindex(3,Val,status) end) of +ous -> ?RT_BER:encode_enumerated(0,[{tag,128,1,'EXPLICIT',32}]); +ins -> ?RT_BER:encode_enumerated(1,[{tag,128,1,'EXPLICIT',32}]); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end, + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmeDeviceServiceStatus_source +%%================================ + +'enc_KmeDeviceServiceStatus_source'({'KmeDeviceServiceStatus_source',Val}, TagIn) -> + 'enc_KmeDeviceServiceStatus_source'(Val, TagIn); + +'enc_KmeDeviceServiceStatus_source'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + device -> + 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + cabinet -> + ?RT_BER:encode_integer([], element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + +'dec_KmeDeviceServiceStatus_source'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'device' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes1, mandatory, [{tag,128,0,'EXPLICIT',32}]), + {{device, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'cabinet' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_integer(Bytes1,[],[{tag,128,1,'EXPLICIT',32}], mandatory), + {{cabinet, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +'dec_KmeDeviceServiceStatus'(Bytes, OptOrMand) -> + 'dec_KmeDeviceServiceStatus'(Bytes, OptOrMand, []). + +'dec_KmeDeviceServiceStatus'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type CHOICE +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'dec_KmeDeviceServiceStatus_source'(Bytes2, mandatory, [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_enumerated(Bytes3,[],[{ous,0},{ins,1}],[{tag,128,1,'EXPLICIT',32}], mandatory), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeDeviceServiceStatus', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmeLineStatus +%%================================ +'enc_KmeLineStatus'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type ENUMERATED +%%------------------------------------------------- + {EncBytes1,EncLen1} = case (case ?RT_BER:cindex(2,Val,segmentId) of {_,Enumval1}->Enumval1;_->?RT_BER:cindex(2,Val,segmentId) end) of +wired1 -> ?RT_BER:encode_enumerated(0,[]); +wired2 -> ?RT_BER:encode_enumerated(1,[]); +wireless -> ?RT_BER:encode_enumerated(2,[]); +trunk -> ?RT_BER:encode_enumerated(3,[]); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end, + +%%------------------------------------------------- +%% attribute number 2 with type OCTET STRING +%%------------------------------------------------- + {EncBytes2,EncLen2} = ?RT_BER:encode_octet_string([], ?RT_BER:cindex(3,Val,lineInformation), []), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeLineStatus'(Bytes, OptOrMand) -> + 'dec_KmeLineStatus'(Bytes, OptOrMand, []). + +'dec_KmeLineStatus'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type ENUMERATED +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_enumerated(Bytes2,[],[{wired1,0},{wired2,1},{wireless,2},{trunk,3}],[], mandatory), + +%%------------------------------------------------- +%% attribute number 2 with type OCTET STRING +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_octet_string(Bytes3,{0,384},[], no_length, mandatory), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeLineStatus', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmeLineStatusSegment +%%================================ + +'enc_KmeLineStatusSegment'({'KmeLineStatusSegment',Val}, TagIn) -> + 'enc_KmeLineStatusSegment'(Val, TagIn); + +'enc_KmeLineStatusSegment'(Val, TagIn) -> +case (case Val of {_,Enumval1}->Enumval1;_->Val end) of +wired1 -> ?RT_BER:encode_enumerated(0,TagIn ++ []); +wired2 -> ?RT_BER:encode_enumerated(1,TagIn ++ []); +wireless -> ?RT_BER:encode_enumerated(2,TagIn ++ []); +trunk -> ?RT_BER:encode_enumerated(3,TagIn ++ []); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end. + + +'dec_KmeLineStatusSegment'(Bytes, OptOrMand) -> + 'dec_KmeLineStatusSegment'(Bytes, OptOrMand, []). + +'dec_KmeLineStatusSegment'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_enumerated(Bytes,[],[{wired1,0},{wired2,1},{wireless,2},{trunk,3}],TagIn++[], OptOrMand). + + + +%%================================ +%% KmeStartDeviceMonitor +%%================================ + +'enc_KmeStartDeviceMonitor'({'KmeStartDeviceMonitor',Val}, TagIn) -> + 'enc_KmeStartDeviceMonitor'(Val, TagIn); + +'enc_KmeStartDeviceMonitor'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + null -> + ?RT_BER:encode_null(element(2,Val), []); + event -> + case (case element(2,Val) of {_,Enumval2}->Enumval2;_->element(2,Val) end) of +deviceCallStatus -> ?RT_BER:encode_enumerated(0,[]); +deviceLineStatus -> ?RT_BER:encode_enumerated(1,[]); +Enumval3 -> exit({error,{asn1, {enumerated_not_in_range,Enumval3}}}) +end; + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_KmeStartDeviceMonitor'(Bytes, OptOrMand) -> + 'dec_KmeStartDeviceMonitor'(Bytes, OptOrMand, []). + +'dec_KmeStartDeviceMonitor'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'null' + <<0:2,_:1,5:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_null(Bytes1,[], mandatory), + {{null, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'event' + <<0:2,_:1,10:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_enumerated(Bytes1,[],[{deviceCallStatus,0},{deviceLineStatus,1}],[], mandatory), + {{event, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmeStopDeviceMonitor +%%================================ + +'enc_KmeStopDeviceMonitor'({'KmeStopDeviceMonitor',Val}, TagIn) -> + 'enc_KmeStopDeviceMonitor'(Val, TagIn); + +'enc_KmeStopDeviceMonitor'(Val, TagIn) -> +?RT_BER:encode_null(Val, TagIn ++ []). + + +'dec_KmeStopDeviceMonitor'(Bytes, OptOrMand) -> + 'dec_KmeStopDeviceMonitor'(Bytes, OptOrMand, []). + +'dec_KmeStopDeviceMonitor'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_null(Bytes,TagIn++[], OptOrMand). + + + +%%================================ +%% CallMonitorEvent +%%================================ + +'enc_CallMonitorEvent'({'CallMonitorEvent',Val}, TagIn) -> + 'enc_CallMonitorEvent'(Val, TagIn); + +'enc_CallMonitorEvent'(Val, TagIn) -> +case (case Val of {_,Enumval1}->Enumval1;_->Val end) of +deviceCallStatus -> ?RT_BER:encode_enumerated(0,TagIn ++ []); +deviceLineStatus -> ?RT_BER:encode_enumerated(1,TagIn ++ []); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end. + + +'dec_CallMonitorEvent'(Bytes, OptOrMand) -> + 'dec_CallMonitorEvent'(Bytes, OptOrMand, []). + +'dec_CallMonitorEvent'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_enumerated(Bytes,[],[{deviceCallStatus,0},{deviceLineStatus,1}],TagIn++[], OptOrMand). + + + +%%================================ +%% KmeBroadcastGroupList +%%================================ + +'enc_KmeBroadcastGroupList'({'KmeBroadcastGroupList',Val}, TagIn) -> + 'enc_KmeBroadcastGroupList'(Val, TagIn); + +'enc_KmeBroadcastGroupList'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmeBroadcastGroupList_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmeBroadcastGroupList_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmeBroadcastGroupList_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'enc_KmeBroadcastGroupList_SEQOF'(H, []), + 'enc_KmeBroadcastGroupList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + + + + +%%================================ +%% KmeBroadcastGroupList_SEQOF +%%================================ +'enc_KmeBroadcastGroupList_SEQOF'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_integer([], ?RT_BER:cindex(2,Val,groupNo), []), + +%%------------------------------------------------- +%% attribute number 2 External KME-specific-types:KmeExtName OPTIONAL +%%------------------------------------------------- + {EncBytes2,EncLen2} = case ?RT_BER:cindex(3,Val,name) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeExtName'(?RT_BER:cindex(3,Val,name), []) + end, + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). +'dec_KmeBroadcastGroupList_SEQOF'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_integer(Bytes2,[],[], mandatory), + +%%------------------------------------------------- +%% attribute number 2 External KME-specific-types:KmeExtName OPTIONAL +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = case (catch 'dec_KmeExtName'(Bytes3, opt_or_default, [])) of +{'EXIT',{error,{asn1,{no_optional_tag,_}}}} -> { asn1_NOVALUE, Bytes3, 0 }; +Casetmp1-> Casetmp1 +end, + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeBroadcastGroupList_SEQOF', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +'dec_KmeBroadcastGroupList'(Bytes, OptOrMand) -> + 'dec_KmeBroadcastGroupList'(Bytes, OptOrMand, []). + +'dec_KmeBroadcastGroupList'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'dec_KmeBroadcastGroupList_SEQOF'/3, [], []). + + + + +%%================================ +%% KmeBroadcastGrpMembers +%%================================ +'enc_KmeBroadcastGrpMembers'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_integer([], ?RT_BER:cindex(2,Val,groupNo), [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type SEQUENCE OF +%%------------------------------------------------- + {EncBytes2,EncLen2} = 'enc_KmeBroadcastGrpMembers_members'(?RT_BER:cindex(3,Val,members), [{tag,128,1,'IMPLICIT',32}]), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmeBroadcastGrpMembers_members +%%================================ + +'enc_KmeBroadcastGrpMembers_members'({'KmeBroadcastGrpMembers_members',Val}, TagIn) -> + 'enc_KmeBroadcastGrpMembers_members'(Val, TagIn); + +'enc_KmeBroadcastGrpMembers_members'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmeBroadcastGrpMembers_members_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmeBroadcastGrpMembers_members_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmeBroadcastGrpMembers_members_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'CSTA-device-identifiers':'enc_DeviceID'(H, []), + 'enc_KmeBroadcastGrpMembers_members_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + +'dec_KmeBroadcastGrpMembers_members'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'CSTA-device-identifiers':'dec_DeviceID'/3, [], []). + + + + +'dec_KmeBroadcastGrpMembers'(Bytes, OptOrMand) -> + 'dec_KmeBroadcastGrpMembers'(Bytes, OptOrMand, []). + +'dec_KmeBroadcastGrpMembers'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_integer(Bytes2,[],[{tag,128,0,'EXPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 2 with type SEQUENCE OF +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = 'dec_KmeBroadcastGrpMembers_members'(Bytes3, mandatory, [{tag,128,1,'IMPLICIT',32}]), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeBroadcastGrpMembers', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmeAlterIfSrvEvt +%%================================ + +'enc_KmeAlterIfSrvEvt'({'KmeAlterIfSrvEvt',Val}, TagIn) -> + 'enc_KmeAlterIfSrvEvt'(Val, TagIn); + +'enc_KmeAlterIfSrvEvt'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + alterIf -> + case (case element(2,Val) of {_,Enumval1}->Enumval1;_->element(2,Val) end) of +version0 -> ?RT_BER:encode_enumerated(0,[{tag,128,0,'EXPLICIT',32}]); +version1 -> ?RT_BER:encode_enumerated(1,[{tag,128,0,'EXPLICIT',32}]); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end; + ifAltered -> + case (case element(2,Val) of {_,Enumval3}->Enumval3;_->element(2,Val) end) of +version0 -> ?RT_BER:encode_enumerated(0,[{tag,128,1,'EXPLICIT',32}]); +version1 -> ?RT_BER:encode_enumerated(1,[{tag,128,1,'EXPLICIT',32}]); +Enumval4 -> exit({error,{asn1, {enumerated_not_in_range,Enumval4}}}) +end; + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_KmeAlterIfSrvEvt'(Bytes, OptOrMand) -> + 'dec_KmeAlterIfSrvEvt'(Bytes, OptOrMand, []). + +'dec_KmeAlterIfSrvEvt'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'alterIf' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_enumerated(Bytes1,[],[{version0,0},{version1,1}],[{tag,128,0,'EXPLICIT',32}], mandatory), + {{alterIf, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'ifAltered' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_enumerated(Bytes1,[],[{version0,0},{version1,1}],[{tag,128,1,'EXPLICIT',32}], mandatory), + {{ifAltered, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmeAlterIf +%%================================ + +'enc_KmeAlterIf'({'KmeAlterIf',Val}, TagIn) -> + 'enc_KmeAlterIf'(Val, TagIn); + +'enc_KmeAlterIf'(Val, TagIn) -> +case (case Val of {_,Enumval1}->Enumval1;_->Val end) of +version0 -> ?RT_BER:encode_enumerated(0,TagIn ++ []); +version1 -> ?RT_BER:encode_enumerated(1,TagIn ++ []); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end. + + +'dec_KmeAlterIf'(Bytes, OptOrMand) -> + 'dec_KmeAlterIf'(Bytes, OptOrMand, []). + +'dec_KmeAlterIf'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_enumerated(Bytes,[],[{version0,0},{version1,1}],TagIn++[], OptOrMand). + + + +%%================================ +%% KmeIfAltered +%%================================ + +'enc_KmeIfAltered'({'KmeIfAltered',Val}, TagIn) -> + 'enc_KmeIfAltered'(Val, TagIn); + +'enc_KmeIfAltered'(Val, TagIn) -> +case (case Val of {_,Enumval1}->Enumval1;_->Val end) of +version0 -> ?RT_BER:encode_enumerated(0,TagIn ++ []); +version1 -> ?RT_BER:encode_enumerated(1,TagIn ++ []); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end. + + +'dec_KmeIfAltered'(Bytes, OptOrMand) -> + 'dec_KmeIfAltered'(Bytes, OptOrMand, []). + +'dec_KmeIfAltered'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_enumerated(Bytes,[],[{version0,0},{version1,1}],TagIn++[], OptOrMand). + + + +%%================================ +%% IfVersion +%%================================ + +'enc_IfVersion'({'IfVersion',Val}, TagIn) -> + 'enc_IfVersion'(Val, TagIn); + +'enc_IfVersion'(Val, TagIn) -> +case (case Val of {_,Enumval1}->Enumval1;_->Val end) of +version0 -> ?RT_BER:encode_enumerated(0,TagIn ++ []); +version1 -> ?RT_BER:encode_enumerated(1,TagIn ++ []); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end. + + +'dec_IfVersion'(Bytes, OptOrMand) -> + 'dec_IfVersion'(Bytes, OptOrMand, []). + +'dec_IfVersion'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_enumerated(Bytes,[],[{version0,0},{version1,1}],TagIn++[], OptOrMand). + + + +%%================================ +%% KmeDeviceDataList +%%================================ + +'enc_KmeDeviceDataList'({'KmeDeviceDataList',Val}, TagIn) -> + 'enc_KmeDeviceDataList'(Val, TagIn); + +'enc_KmeDeviceDataList'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmeDeviceDataList_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmeDeviceDataList_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmeDeviceDataList_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'enc_KmeDeviceDataList_SEQOF'(H, []), + 'enc_KmeDeviceDataList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + + + + +%%================================ +%% KmeDeviceDataList_SEQOF +%%================================ +'enc_KmeDeviceDataList_SEQOF'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,device), [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type CHOICE +%%------------------------------------------------- + {EncBytes2,EncLen2} = 'enc_KmeDeviceDataList_SEQOF_sysData'(?RT_BER:cindex(3,Val,sysData), [{tag,128,1,'EXPLICIT',32}]), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmeDeviceDataList_SEQOF_sysData +%%================================ + +'enc_KmeDeviceDataList_SEQOF_sysData'({'KmeDeviceDataList_SEQOF_sysData',Val}, TagIn) -> + 'enc_KmeDeviceDataList_SEQOF_sysData'(Val, TagIn); + +'enc_KmeDeviceDataList_SEQOF_sysData'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + standardInfo -> + 'enc_KmeDeviceDataList_SEQOF_sysData_standardInfo'(element(2,Val), []); + extName -> + 'enc_KmeExtName'(element(2,Val), [{tag,128,41,'EXPLICIT',32}]); + fcoKeyList -> + 'enc_KmeFcoKeyList'(element(2,Val), [{tag,128,44,'EXPLICIT',32}]); + sxdpMaster -> + 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [{tag,128,45,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + + +%%================================ +%% KmeDeviceDataList_SEQOF_sysData_standardInfo +%%================================ +'enc_KmeDeviceDataList_SEQOF_sysData_standardInfo'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External KME-specific-types:KmeWakeUpInfo OPTIONAL +%%------------------------------------------------- + {EncBytes1,EncLen1} = case ?RT_BER:cindex(2,Val,wakeUp) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeWakeUpInfo'(?RT_BER:cindex(2,Val,wakeUp), [{tag,128,9,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED OPTIONAL +%%------------------------------------------------- + {EncBytes2,EncLen2} = case ?RT_BER:cindex(3,Val,remoteLock) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + case (case ?RT_BER:cindex(3,Val,remoteLock) of {_,Enumval1}->Enumval1;_->?RT_BER:cindex(3,Val,remoteLock) end) of +lock -> ?RT_BER:encode_enumerated(0,[{tag,128,10,'EXPLICIT',32}]); +unlock -> ?RT_BER:encode_enumerated(1,[{tag,128,10,'EXPLICIT',32}]); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end + end, + +%%------------------------------------------------- +%% attribute number 3 with type ENUMERATED OPTIONAL +%%------------------------------------------------- + {EncBytes3,EncLen3} = case ?RT_BER:cindex(4,Val,callLogLock) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + case (case ?RT_BER:cindex(4,Val,callLogLock) of {_,Enumval3}->Enumval3;_->?RT_BER:cindex(4,Val,callLogLock) end) of +lock -> ?RT_BER:encode_enumerated(0,[{tag,128,11,'EXPLICIT',32}]); +unlock -> ?RT_BER:encode_enumerated(1,[{tag,128,11,'EXPLICIT',32}]); +Enumval4 -> exit({error,{asn1, {enumerated_not_in_range,Enumval4}}}) +end + end, + +%%------------------------------------------------- +%% attribute number 4 External KME-specific-types:KmeAbsentMessage OPTIONAL +%%------------------------------------------------- + {EncBytes4,EncLen4} = case ?RT_BER:cindex(5,Val,absentMessage) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeAbsentMessage'(?RT_BER:cindex(5,Val,absentMessage), [{tag,128,12,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 5 External CSTA-device-feature-types:ForwardList OPTIONAL +%%------------------------------------------------- + {EncBytes5,EncLen5} = case ?RT_BER:cindex(6,Val,forwardDnd) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'CSTA-device-feature-types':'enc_ForwardList'(?RT_BER:cindex(6,Val,forwardDnd), [{tag,128,13,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 6 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes6,EncLen6} = case ?RT_BER:cindex(7,Val,cos) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(7,Val,cos), [{tag,128,34,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 7 External KME-specific-types:KmePhoneProperty OPTIONAL +%%------------------------------------------------- + {EncBytes7,EncLen7} = case ?RT_BER:cindex(8,Val,phoneProperty) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmePhoneProperty'(?RT_BER:cindex(8,Val,phoneProperty), [{tag,128,35,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 8 with type BIT STRING OPTIONAL +%%------------------------------------------------- + {EncBytes8,EncLen8} = case ?RT_BER:cindex(9,Val,assocIncomGroup) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_bit_string([], ?RT_BER:cindex(9,Val,assocIncomGroup), [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], [{tag,128,36,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 9 with type SEQUENCE OF OPTIONAL +%%------------------------------------------------- + {EncBytes9,EncLen9} = case ?RT_BER:cindex(10,Val,messageWaiting) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeDeviceDataList_SEQOF_sysData_standardInfo_messageWaiting'(?RT_BER:cindex(10,Val,messageWaiting), [{tag,128,37,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 10 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes10,EncLen10} = case ?RT_BER:cindex(11,Val,assocExtGroup) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(11,Val,assocExtGroup), [{tag,128,39,'EXPLICIT',32}]) + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5, EncBytes6, EncBytes7, EncBytes8, EncBytes9, EncBytes10], + LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5 + EncLen6 + EncLen7 + EncLen8 + EncLen9 + EncLen10, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmeDeviceDataList_SEQOF_sysData_standardInfo_messageWaiting +%%================================ + +'enc_KmeDeviceDataList_SEQOF_sysData_standardInfo_messageWaiting'({'KmeDeviceDataList_SEQOF_sysData_standardInfo_messageWaiting',Val}, TagIn) -> + 'enc_KmeDeviceDataList_SEQOF_sysData_standardInfo_messageWaiting'(Val, TagIn); + +'enc_KmeDeviceDataList_SEQOF_sysData_standardInfo_messageWaiting'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmeDeviceDataList_SEQOF_sysData_standardInfo_messageWaiting_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmeDeviceDataList_SEQOF_sysData_standardInfo_messageWaiting_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmeDeviceDataList_SEQOF_sysData_standardInfo_messageWaiting_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'CSTA-device-identifiers':'enc_DeviceID'(H, []), + 'enc_KmeDeviceDataList_SEQOF_sysData_standardInfo_messageWaiting_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + +'dec_KmeDeviceDataList_SEQOF_sysData_standardInfo_messageWaiting'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'CSTA-device-identifiers':'dec_DeviceID'/3, [], []). + + +'dec_KmeDeviceDataList_SEQOF_sysData_standardInfo'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External KME-specific-types:KmeWakeUpInfo OPTIONAL +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = case Bytes2 of +<<2:2,_:1,9:5,_/binary>> -> +'dec_KmeWakeUpInfo'(Bytes2, opt_or_default, [{tag,128,9,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes2, 0 } +end, + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED OPTIONAL +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = case Bytes3 of +<<2:2,_:1,10:5,_/binary>> -> +?RT_BER:decode_enumerated(Bytes3,[],[{lock,0},{unlock,1}],[{tag,128,10,'EXPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes3, 0 } +end, + +%%------------------------------------------------- +%% attribute number 3 with type ENUMERATED OPTIONAL +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = case Bytes4 of +<<2:2,_:1,11:5,_/binary>> -> +?RT_BER:decode_enumerated(Bytes4,[],[{lock,0},{unlock,1}],[{tag,128,11,'EXPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes4, 0 } +end, + +%%------------------------------------------------- +%% attribute number 4 External KME-specific-types:KmeAbsentMessage OPTIONAL +%%------------------------------------------------- + {Term4,Bytes6,Rb5} = case Bytes5 of +<<2:2,_:1,12:5,_/binary>> -> +'dec_KmeAbsentMessage'(Bytes5, opt_or_default, [{tag,128,12,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes5, 0 } +end, + +%%------------------------------------------------- +%% attribute number 5 External CSTA-device-feature-types:ForwardList OPTIONAL +%%------------------------------------------------- + {Term5,Bytes7,Rb6} = case Bytes6 of +<<2:2,_:1,13:5,_/binary>> -> +'CSTA-device-feature-types':'dec_ForwardList'(Bytes6, opt_or_default, [{tag,128,13,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes6, 0 } +end, + +%%------------------------------------------------- +%% attribute number 6 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term6,Bytes8,Rb7} = case Bytes7 of +<<2:2,_:1,31:5,34,_/binary>> -> +?RT_BER:decode_integer(Bytes7,[],[{tag,128,34,'EXPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes7, 0 } +end, + +%%------------------------------------------------- +%% attribute number 7 External KME-specific-types:KmePhoneProperty OPTIONAL +%%------------------------------------------------- + {Term7,Bytes9,Rb8} = case Bytes8 of +<<2:2,_:1,31:5,35,_/binary>> -> +'dec_KmePhoneProperty'(Bytes8, opt_or_default, [{tag,128,35,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes8, 0 } +end, + +%%------------------------------------------------- +%% attribute number 8 with type BIT STRING OPTIONAL +%%------------------------------------------------- + {Term8,Bytes10,Rb9} = case Bytes9 of +<<2:2,_:1,31:5,36,_/binary>> -> +?RT_BER:decode_bit_string(Bytes9,[],[{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}],[{tag,128,36,'EXPLICIT',32}], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes9, 0 } +end, + +%%------------------------------------------------- +%% attribute number 9 with type SEQUENCE OF OPTIONAL +%%------------------------------------------------- + {Term9,Bytes11,Rb10} = case Bytes10 of +<<2:2,_:1,31:5,37,_/binary>> -> +'dec_KmeDeviceDataList_SEQOF_sysData_standardInfo_messageWaiting'(Bytes10, opt_or_default, [{tag,128,37,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes10, 0 } +end, + +%%------------------------------------------------- +%% attribute number 10 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term10,Bytes12,Rb11} = case Bytes11 of +<<2:2,_:1,31:5,39,_/binary>> -> +?RT_BER:decode_integer(Bytes11,[],[{tag,128,39,'EXPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes11, 0 } +end, + + {Bytes13,Rb12} = ?RT_BER:restbytes2(RemBytes, Bytes12,noext), + {{'KmeDeviceDataList_SEQOF_sysData_standardInfo', Term1, Term2, Term3, Term4, Term5, Term6, Term7, Term8, Term9, Term10}, Bytes13, Rb1+Rb2+Rb3+Rb4+Rb5+Rb6+Rb7+Rb8+Rb9+Rb10+Rb11+Rb12}. +'dec_KmeDeviceDataList_SEQOF_sysData'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'standardInfo' + <<0:2,_:1,16:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeDeviceDataList_SEQOF_sysData_standardInfo'(Bytes1, mandatory, []), + {{standardInfo, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'extName' + <<2:2,_:1,31:5,41,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeExtName'(Bytes1, mandatory, [{tag,128,41,'EXPLICIT',32}]), + {{extName, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'fcoKeyList' + <<2:2,_:1,31:5,44,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeFcoKeyList'(Bytes1, mandatory, [{tag,128,44,'EXPLICIT',32}]), + {{fcoKeyList, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'sxdpMaster' + <<2:2,_:1,31:5,45,_/binary>> -> + {Dec, Rest, RbCho} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes1, mandatory, [{tag,128,45,'EXPLICIT',32}]), + {{sxdpMaster, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. +'dec_KmeDeviceDataList_SEQOF'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type CHOICE +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = 'dec_KmeDeviceDataList_SEQOF_sysData'(Bytes3, mandatory, [{tag,128,1,'EXPLICIT',32}]), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeDeviceDataList_SEQOF', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +'dec_KmeDeviceDataList'(Bytes, OptOrMand) -> + 'dec_KmeDeviceDataList'(Bytes, OptOrMand, []). + +'dec_KmeDeviceDataList'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'dec_KmeDeviceDataList_SEQOF'/3, [], []). + + + + +%%================================ +%% KmePdnGMembers +%%================================ +'enc_KmePdnGMembers'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,groupDevice), [{tag,128,0,'IMPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type SEQUENCE OF +%%------------------------------------------------- + {EncBytes2,EncLen2} = 'enc_KmePdnGMembers_members'(?RT_BER:cindex(3,Val,members), [{tag,128,1,'IMPLICIT',32}]), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmePdnGMembers_members +%%================================ + +'enc_KmePdnGMembers_members'({'KmePdnGMembers_members',Val}, TagIn) -> + 'enc_KmePdnGMembers_members'(Val, TagIn); + +'enc_KmePdnGMembers_members'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmePdnGMembers_members_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmePdnGMembers_members_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmePdnGMembers_members_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'CSTA-device-identifiers':'enc_DeviceID'(H, []), + 'enc_KmePdnGMembers_members_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + +'dec_KmePdnGMembers_members'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'CSTA-device-identifiers':'dec_DeviceID'/3, [], []). + + + + +'dec_KmePdnGMembers'(Bytes, OptOrMand) -> + 'dec_KmePdnGMembers'(Bytes, OptOrMand, []). + +'dec_KmePdnGMembers'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, [{tag,128,0,'IMPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type SEQUENCE OF +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = 'dec_KmePdnGMembers_members'(Bytes3, mandatory, [{tag,128,1,'IMPLICIT',32}]), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmePdnGMembers', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmeHotelSrvEvt +%%================================ + +'enc_KmeHotelSrvEvt'({'KmeHotelSrvEvt',Val}, TagIn) -> + 'enc_KmeHotelSrvEvt'(Val, TagIn); + +'enc_KmeHotelSrvEvt'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + guestCheckIn -> + 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [{tag,128,0,'IMPLICIT',32}]); + guestCheckOut -> + 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [{tag,128,1,'IMPLICIT',32}]); + checkedIn -> + 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [{tag,128,2,'IMPLICIT',32}]); + checkedOut -> + 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [{tag,128,3,'IMPLICIT',32}]); + cleanUp -> + 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [{tag,128,4,'IMPLICIT',32}]); + cleanUpReady -> + 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [{tag,128,5,'IMPLICIT',32}]); + cleanUpNotReady -> + 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [{tag,128,6,'IMPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_KmeHotelSrvEvt'(Bytes, OptOrMand) -> + 'dec_KmeHotelSrvEvt'(Bytes, OptOrMand, []). + +'dec_KmeHotelSrvEvt'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'guestCheckIn' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes1, mandatory, [{tag,128,0,'IMPLICIT',32}]), + {{guestCheckIn, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'guestCheckOut' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes1, mandatory, [{tag,128,1,'IMPLICIT',32}]), + {{guestCheckOut, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'checkedIn' + <<2:2,_:1,2:5,_/binary>> -> + {Dec, Rest, RbCho} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes1, mandatory, [{tag,128,2,'IMPLICIT',32}]), + {{checkedIn, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'checkedOut' + <<2:2,_:1,3:5,_/binary>> -> + {Dec, Rest, RbCho} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes1, mandatory, [{tag,128,3,'IMPLICIT',32}]), + {{checkedOut, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'cleanUp' + <<2:2,_:1,4:5,_/binary>> -> + {Dec, Rest, RbCho} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes1, mandatory, [{tag,128,4,'IMPLICIT',32}]), + {{cleanUp, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'cleanUpReady' + <<2:2,_:1,5:5,_/binary>> -> + {Dec, Rest, RbCho} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes1, mandatory, [{tag,128,5,'IMPLICIT',32}]), + {{cleanUpReady, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'cleanUpNotReady' + <<2:2,_:1,6:5,_/binary>> -> + {Dec, Rest, RbCho} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes1, mandatory, [{tag,128,6,'IMPLICIT',32}]), + {{cleanUpNotReady, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmeCheckStatusList +%%================================ + +'enc_KmeCheckStatusList'({'KmeCheckStatusList',Val}, TagIn) -> + 'enc_KmeCheckStatusList'(Val, TagIn); + +'enc_KmeCheckStatusList'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmeCheckStatusList_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmeCheckStatusList_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmeCheckStatusList_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'enc_KmeCheckStatusList_SEQOF'(H, []), + 'enc_KmeCheckStatusList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + + + + +%%================================ +%% KmeCheckStatusList_SEQOF +%%================================ +'enc_KmeCheckStatusList_SEQOF'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,extNo), []), + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED +%%------------------------------------------------- + {EncBytes2,EncLen2} = case (case ?RT_BER:cindex(3,Val,status) of {_,Enumval1}->Enumval1;_->?RT_BER:cindex(3,Val,status) end) of +checkIn -> ?RT_BER:encode_enumerated(0,[]); +checkOut -> ?RT_BER:encode_enumerated(1,[]); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end, + +%%------------------------------------------------- +%% attribute number 3 with type ENUMERATED OPTIONAL +%%------------------------------------------------- + {EncBytes3,EncLen3} = case ?RT_BER:cindex(4,Val,cleanUpStatus) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + case (case ?RT_BER:cindex(4,Val,cleanUpStatus) of {_,Enumval3}->Enumval3;_->?RT_BER:cindex(4,Val,cleanUpStatus) end) of +ready -> ?RT_BER:encode_enumerated(0,[]); +notReady -> ?RT_BER:encode_enumerated(1,[]); +Enumval4 -> exit({error,{asn1, {enumerated_not_in_range,Enumval4}}}) +end + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], + LenSoFar = EncLen1 + EncLen2 + EncLen3, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). +'dec_KmeCheckStatusList_SEQOF'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, []), + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_enumerated(Bytes3,[],[{checkIn,0},{checkOut,1}],[], mandatory), + +%%------------------------------------------------- +%% attribute number 3 with type ENUMERATED OPTIONAL +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = case Bytes4 of +<<0:2,_:1,10:5,_/binary>> -> +?RT_BER:decode_enumerated(Bytes4,[],[{ready,0},{notReady,1}],[], mandatory); +_ -> +{ asn1_NOVALUE, Bytes4, 0 } +end, + + {Bytes6,Rb5} = ?RT_BER:restbytes2(RemBytes, Bytes5,noext), + {{'KmeCheckStatusList_SEQOF', Term1, Term2, Term3}, Bytes6, Rb1+Rb2+Rb3+Rb4+Rb5}. + + +'dec_KmeCheckStatusList'(Bytes, OptOrMand) -> + 'dec_KmeCheckStatusList'(Bytes, OptOrMand, []). + +'dec_KmeCheckStatusList'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'dec_KmeCheckStatusList_SEQOF'/3, [], []). + + + + +%%================================ +%% KmeRoomStatus +%%================================ + +'enc_KmeRoomStatus'({'KmeRoomStatus',Val}, TagIn) -> + 'enc_KmeRoomStatus'(Val, TagIn); + +'enc_KmeRoomStatus'(Val, TagIn) -> +case (case Val of {_,Enumval1}->Enumval1;_->Val end) of +checkIn -> ?RT_BER:encode_enumerated(0,TagIn ++ []); +checkOut -> ?RT_BER:encode_enumerated(1,TagIn ++ []); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end. + + +'dec_KmeRoomStatus'(Bytes, OptOrMand) -> + 'dec_KmeRoomStatus'(Bytes, OptOrMand, []). + +'dec_KmeRoomStatus'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_enumerated(Bytes,[],[{checkIn,0},{checkOut,1}],TagIn++[], OptOrMand). + + + +%%================================ +%% KmeCleanUpStatus +%%================================ + +'enc_KmeCleanUpStatus'({'KmeCleanUpStatus',Val}, TagIn) -> + 'enc_KmeCleanUpStatus'(Val, TagIn); + +'enc_KmeCleanUpStatus'(Val, TagIn) -> +case (case Val of {_,Enumval1}->Enumval1;_->Val end) of +ready -> ?RT_BER:encode_enumerated(0,TagIn ++ []); +notReady -> ?RT_BER:encode_enumerated(1,TagIn ++ []); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end. + + +'dec_KmeCleanUpStatus'(Bytes, OptOrMand) -> + 'dec_KmeCleanUpStatus'(Bytes, OptOrMand, []). + +'dec_KmeCleanUpStatus'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_enumerated(Bytes,[],[{ready,0},{notReady,1}],TagIn++[], OptOrMand). + + + +%%================================ +%% KmeGetSystemDataReq +%%================================ + +'enc_KmeGetSystemDataReq'({'KmeGetSystemDataReq',Val}, TagIn) -> + 'enc_KmeGetSystemDataReq'(Val, TagIn); + +'enc_KmeGetSystemDataReq'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + systemData -> + case (case element(2,Val) of {_,Enumval1}->Enumval1;_->element(2,Val) end) of +sysTimeStamp -> ?RT_BER:encode_enumerated(0,[{tag,128,0,'EXPLICIT',32}]); +devTimeStamp -> ?RT_BER:encode_enumerated(1,[{tag,128,0,'EXPLICIT',32}]); +featureList -> ?RT_BER:encode_enumerated(2,[{tag,128,0,'EXPLICIT',32}]); +speedDial -> ?RT_BER:encode_enumerated(3,[{tag,128,0,'EXPLICIT',32}]); +trunkGroup -> ?RT_BER:encode_enumerated(4,[{tag,128,0,'EXPLICIT',32}]); +extensionGroup -> ?RT_BER:encode_enumerated(5,[{tag,128,0,'EXPLICIT',32}]); +pickupGroup -> ?RT_BER:encode_enumerated(6,[{tag,128,0,'EXPLICIT',32}]); +pagingGroup -> ?RT_BER:encode_enumerated(7,[{tag,128,0,'EXPLICIT',32}]); +incomingGroup -> ?RT_BER:encode_enumerated(8,[{tag,128,0,'EXPLICIT',32}]); +dayNightMode -> ?RT_BER:encode_enumerated(9,[{tag,128,0,'EXPLICIT',32}]); +doorPhone -> ?RT_BER:encode_enumerated(10,[{tag,128,0,'EXPLICIT',32}]); +vmGroup -> ?RT_BER:encode_enumerated(11,[{tag,128,0,'EXPLICIT',32}]); +manufacturerName -> ?RT_BER:encode_enumerated(12,[{tag,128,0,'EXPLICIT',32}]); +subdomainName -> ?RT_BER:encode_enumerated(13,[{tag,128,0,'EXPLICIT',32}]); +softwareVersion -> ?RT_BER:encode_enumerated(14,[{tag,128,0,'EXPLICIT',32}]); +ctiVersion -> ?RT_BER:encode_enumerated(15,[{tag,128,0,'EXPLICIT',32}]); +regionCode -> ?RT_BER:encode_enumerated(16,[{tag,128,0,'EXPLICIT',32}]); +systemTime -> ?RT_BER:encode_enumerated(17,[{tag,128,0,'EXPLICIT',32}]); +numberOfMsgPort -> ?RT_BER:encode_enumerated(18,[{tag,128,0,'EXPLICIT',32}]); +psGroup -> ?RT_BER:encode_enumerated(19,[{tag,128,0,'EXPLICIT',32}]); +whoAmI -> ?RT_BER:encode_enumerated(20,[{tag,128,0,'EXPLICIT',32}]); +broadcastGroup -> ?RT_BER:encode_enumerated(21,[{tag,128,0,'EXPLICIT',32}]); +pbxType -> ?RT_BER:encode_enumerated(22,[{tag,128,0,'EXPLICIT',32}]); +externalSensor -> ?RT_BER:encode_enumerated(23,[{tag,128,0,'EXPLICIT',32}]); +svm -> ?RT_BER:encode_enumerated(24,[{tag,128,0,'EXPLICIT',32}]); +pdn -> ?RT_BER:encode_enumerated(25,[{tag,128,0,'EXPLICIT',32}]); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end; + deviceData -> + 'enc_KmeGetSystemDataReq_deviceData'(element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + trkExtGMember -> + 'enc_KmeGetSystemDataReq_trkExtGMember'(element(2,Val), [{tag,128,2,'IMPLICIT',32}]); + incomGMember -> + 'enc_KmeGetSystemDataReq_incomGMember'(element(2,Val), [{tag,128,3,'IMPLICIT',32}]); + deviceList -> + 'enc_KmeRequestedDevice'(element(2,Val), [{tag,128,4,'EXPLICIT',32}]); + vmGMember -> + 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [{tag,128,5,'EXPLICIT',32}]); + speedDial -> + 'enc_KmeSpeedDialRequest'(element(2,Val), [{tag,128,6,'EXPLICIT',32}]); + broadcastGMembers -> + ?RT_BER:encode_integer([], element(2,Val), [{tag,128,7,'EXPLICIT',32}]); + guestCheckStatus -> + 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [{tag,128,8,'IMPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + + +%%================================ +%% KmeGetSystemDataReq_deviceData +%%================================ +'enc_KmeGetSystemDataReq_deviceData'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,device), [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type CHOICE +%%------------------------------------------------- + {EncBytes2,EncLen2} = 'enc_KmeGetSystemDataReq_deviceData_sysData'(?RT_BER:cindex(3,Val,sysData), [{tag,128,1,'EXPLICIT',32}]), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmeGetSystemDataReq_deviceData_sysData +%%================================ + +'enc_KmeGetSystemDataReq_deviceData_sysData'({'KmeGetSystemDataReq_deviceData_sysData',Val}, TagIn) -> + 'enc_KmeGetSystemDataReq_deviceData_sysData'(Val, TagIn); + +'enc_KmeGetSystemDataReq_deviceData_sysData'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + standardInfo -> + ?RT_BER:encode_bit_string([], element(2,Val), [{wakeUp,0},{remoteStatationLock,1},{callLogLock,2},{absentMessage,3},{forwardDnd,4},{cos,5},{phoneProperty,6},{assocIncomGroup,7},{messageWating,8},{assocExtGroup,9}], []); + extName -> + ?RT_BER:encode_null(element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + fcoKey -> + ?RT_BER:encode_null(element(2,Val), [{tag,128,2,'EXPLICIT',32}]); + sxdpMaster -> + ?RT_BER:encode_null(element(2,Val), [{tag,128,3,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + +'dec_KmeGetSystemDataReq_deviceData_sysData'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'standardInfo' + <<0:2,_:1,3:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_bit_string(Bytes1,[],[{wakeUp,0},{remoteStatationLock,1},{callLogLock,2},{absentMessage,3},{forwardDnd,4},{cos,5},{phoneProperty,6},{assocIncomGroup,7},{messageWating,8},{assocExtGroup,9}],[], no_length, mandatory), + {{standardInfo, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'extName' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_null(Bytes1,[{tag,128,1,'EXPLICIT',32}], mandatory), + {{extName, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'fcoKey' + <<2:2,_:1,2:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_null(Bytes1,[{tag,128,2,'EXPLICIT',32}], mandatory), + {{fcoKey, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'sxdpMaster' + <<2:2,_:1,3:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_null(Bytes1,[{tag,128,3,'EXPLICIT',32}], mandatory), + {{sxdpMaster, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. +'dec_KmeGetSystemDataReq_deviceData'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type CHOICE +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = 'dec_KmeGetSystemDataReq_deviceData_sysData'(Bytes3, mandatory, [{tag,128,1,'EXPLICIT',32}]), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeGetSystemDataReq_deviceData', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + + +%%================================ +%% KmeGetSystemDataReq_trkExtGMember +%%================================ +'enc_KmeGetSystemDataReq_trkExtGMember'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_integer([], ?RT_BER:cindex(2,Val,groupNo), []), + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED +%%------------------------------------------------- + {EncBytes2,EncLen2} = case (case ?RT_BER:cindex(3,Val,groupType) of {_,Enumval2}->Enumval2;_->?RT_BER:cindex(3,Val,groupType) end) of +trunkGMembers -> ?RT_BER:encode_enumerated(0,[]); +extGMembers -> ?RT_BER:encode_enumerated(1,[]); +Enumval3 -> exit({error,{asn1, {enumerated_not_in_range,Enumval3}}}) +end, + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). +'dec_KmeGetSystemDataReq_trkExtGMember'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_integer(Bytes2,[],[], mandatory), + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_enumerated(Bytes3,[],[{trunkGMembers,0},{extGMembers,1}],[], mandatory), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeGetSystemDataReq_trkExtGMember', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + + +%%================================ +%% KmeGetSystemDataReq_incomGMember +%%================================ +'enc_KmeGetSystemDataReq_incomGMember'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,groupNo), []), + + BytesSoFar = [EncBytes1], + LenSoFar = EncLen1, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). +'dec_KmeGetSystemDataReq_incomGMember'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, []), + + {Bytes4,Rb3} = ?RT_BER:restbytes2(RemBytes, Bytes3,noext), + {{'KmeGetSystemDataReq_incomGMember', Term1}, Bytes4, Rb1+Rb2+Rb3}. + + +'dec_KmeGetSystemDataReq'(Bytes, OptOrMand) -> + 'dec_KmeGetSystemDataReq'(Bytes, OptOrMand, []). + +'dec_KmeGetSystemDataReq'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'systemData' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_enumerated(Bytes1,[],[{sysTimeStamp,0},{devTimeStamp,1},{featureList,2},{speedDial,3},{trunkGroup,4},{extensionGroup,5},{pickupGroup,6},{pagingGroup,7},{incomingGroup,8},{dayNightMode,9},{doorPhone,10},{vmGroup,11},{manufacturerName,12},{subdomainName,13},{softwareVersion,14},{ctiVersion,15},{regionCode,16},{systemTime,17},{numberOfMsgPort,18},{psGroup,19},{whoAmI,20},{broadcastGroup,21},{pbxType,22},{externalSensor,23},{svm,24},{pdn,25}],[{tag,128,0,'EXPLICIT',32}], mandatory), + {{systemData, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'deviceData' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeGetSystemDataReq_deviceData'(Bytes1, mandatory, [{tag,128,1,'EXPLICIT',32}]), + {{deviceData, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'trkExtGMember' + <<2:2,_:1,2:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeGetSystemDataReq_trkExtGMember'(Bytes1, mandatory, [{tag,128,2,'IMPLICIT',32}]), + {{trkExtGMember, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'incomGMember' + <<2:2,_:1,3:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeGetSystemDataReq_incomGMember'(Bytes1, mandatory, [{tag,128,3,'IMPLICIT',32}]), + {{incomGMember, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'deviceList' + <<2:2,_:1,4:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeRequestedDevice'(Bytes1, mandatory, [{tag,128,4,'EXPLICIT',32}]), + {{deviceList, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'vmGMember' + <<2:2,_:1,5:5,_/binary>> -> + {Dec, Rest, RbCho} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes1, mandatory, [{tag,128,5,'EXPLICIT',32}]), + {{vmGMember, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'speedDial' + <<2:2,_:1,6:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeSpeedDialRequest'(Bytes1, mandatory, [{tag,128,6,'EXPLICIT',32}]), + {{speedDial, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'broadcastGMembers' + <<2:2,_:1,7:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_integer(Bytes1,[],[{tag,128,7,'EXPLICIT',32}], mandatory), + {{broadcastGMembers, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'guestCheckStatus' + <<2:2,_:1,8:5,_/binary>> -> + {Dec, Rest, RbCho} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes1, mandatory, [{tag,128,8,'IMPLICIT',32}]), + {{guestCheckStatus, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmeGetSystemDataRsp +%%================================ +'enc_KmeGetSystemDataRsp'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type GeneralizedTime OPTIONAL +%%------------------------------------------------- + {EncBytes1,EncLen1} = case ?RT_BER:cindex(2,Val,timeStamp) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_generalized_time([], ?RT_BER:cindex(2,Val,timeStamp), [{tag,128,0,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 2 External KME-specific-types:KmeFeatureList OPTIONAL +%%------------------------------------------------- + {EncBytes2,EncLen2} = case ?RT_BER:cindex(3,Val,featureList) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeFeatureList'(?RT_BER:cindex(3,Val,featureList), [{tag,128,1,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 3 External KME-specific-types:KmeSpeedDial OPTIONAL +%%------------------------------------------------- + {EncBytes3,EncLen3} = case ?RT_BER:cindex(4,Val,speedDial) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeSpeedDial'(?RT_BER:cindex(4,Val,speedDial), [{tag,128,2,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 4 External KME-specific-types:KmeExtTrkGroupList OPTIONAL +%%------------------------------------------------- + {EncBytes4,EncLen4} = case ?RT_BER:cindex(5,Val,trunkGroup) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeExtTrkGroupList'(?RT_BER:cindex(5,Val,trunkGroup), [{tag,128,3,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 5 External KME-specific-types:KmeExtTrkGroupList OPTIONAL +%%------------------------------------------------- + {EncBytes5,EncLen5} = case ?RT_BER:cindex(6,Val,extGroup) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeExtTrkGroupList'(?RT_BER:cindex(6,Val,extGroup), [{tag,128,4,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 6 External KME-specific-types:KmePckPagGroupList OPTIONAL +%%------------------------------------------------- + {EncBytes6,EncLen6} = case ?RT_BER:cindex(7,Val,pickGroup) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmePckPagGroupList'(?RT_BER:cindex(7,Val,pickGroup), [{tag,128,5,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 7 External KME-specific-types:KmePckPagGroupList OPTIONAL +%%------------------------------------------------- + {EncBytes7,EncLen7} = case ?RT_BER:cindex(8,Val,pagingGroup) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmePckPagGroupList'(?RT_BER:cindex(8,Val,pagingGroup), [{tag,128,6,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 8 External KME-specific-types:KmeIncomingGroupList OPTIONAL +%%------------------------------------------------- + {EncBytes8,EncLen8} = case ?RT_BER:cindex(9,Val,incomingGroup) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeIncomingGroupList'(?RT_BER:cindex(9,Val,incomingGroup), [{tag,128,7,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 9 External KME-specific-types:KmeDayNightMode OPTIONAL +%%------------------------------------------------- + {EncBytes9,EncLen9} = case ?RT_BER:cindex(10,Val,dayNightMode) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeDayNightMode'(?RT_BER:cindex(10,Val,dayNightMode), [{tag,128,8,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 10 External KME-specific-types:KmeWakeUpInfo OPTIONAL +%%------------------------------------------------- + {EncBytes10,EncLen10} = case ?RT_BER:cindex(11,Val,wakeUp) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeWakeUpInfo'(?RT_BER:cindex(11,Val,wakeUp), [{tag,128,9,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 11 with type ENUMERATED OPTIONAL +%%------------------------------------------------- + {EncBytes11,EncLen11} = case ?RT_BER:cindex(12,Val,remoteLock) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + case (case ?RT_BER:cindex(12,Val,remoteLock) of {_,Enumval2}->Enumval2;_->?RT_BER:cindex(12,Val,remoteLock) end) of +lock -> ?RT_BER:encode_enumerated(0,[{tag,128,10,'EXPLICIT',32}]); +unlock -> ?RT_BER:encode_enumerated(1,[{tag,128,10,'EXPLICIT',32}]); +Enumval3 -> exit({error,{asn1, {enumerated_not_in_range,Enumval3}}}) +end + end, + +%%------------------------------------------------- +%% attribute number 12 External KME-specific-types:KmeAbsentMessage OPTIONAL +%%------------------------------------------------- + {EncBytes12,EncLen12} = case ?RT_BER:cindex(13,Val,callLogLock) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeAbsentMessage'(?RT_BER:cindex(13,Val,callLogLock), [{tag,128,12,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 13 with type ENUMERATED OPTIONAL +%%------------------------------------------------- + {EncBytes13,EncLen13} = case ?RT_BER:cindex(14,Val,forwardDnd) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + case (case ?RT_BER:cindex(14,Val,forwardDnd) of {_,Enumval4}->Enumval4;_->?RT_BER:cindex(14,Val,forwardDnd) end) of +lock -> ?RT_BER:encode_enumerated(0,[{tag,128,11,'EXPLICIT',32}]); +unlock -> ?RT_BER:encode_enumerated(1,[{tag,128,11,'EXPLICIT',32}]); +Enumval5 -> exit({error,{asn1, {enumerated_not_in_range,Enumval5}}}) +end + end, + +%%------------------------------------------------- +%% attribute number 14 External CSTA-device-feature-types:ForwardList OPTIONAL +%%------------------------------------------------- + {EncBytes14,EncLen14} = case ?RT_BER:cindex(15,Val,absentMessage) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'CSTA-device-feature-types':'enc_ForwardList'(?RT_BER:cindex(15,Val,absentMessage), [{tag,128,13,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 15 External KME-specific-types:KmeTrkMembers OPTIONAL +%%------------------------------------------------- + {EncBytes15,EncLen15} = case ?RT_BER:cindex(16,Val,trkGMembers) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeTrkMembers'(?RT_BER:cindex(16,Val,trkGMembers), [{tag,128,14,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 16 External KME-specific-types:KmeExtMembers OPTIONAL +%%------------------------------------------------- + {EncBytes16,EncLen16} = case ?RT_BER:cindex(17,Val,extGMembers) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeExtMembers'(?RT_BER:cindex(17,Val,extGMembers), [{tag,128,15,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 17 External KME-specific-types:KmeIcmGrpMembers OPTIONAL +%%------------------------------------------------- + {EncBytes17,EncLen17} = case ?RT_BER:cindex(18,Val,incomGMembers) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeIcmGrpMembers'(?RT_BER:cindex(18,Val,incomGMembers), [{tag,128,16,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 18 External KME-specific-types:KmeDoorPhone OPTIONAL +%%------------------------------------------------- + {EncBytes18,EncLen18} = case ?RT_BER:cindex(19,Val,doorPhone) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeDoorPhone'(?RT_BER:cindex(19,Val,doorPhone), [{tag,128,17,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 19 External KME-specific-types:KmeVmGroupList OPTIONAL +%%------------------------------------------------- + {EncBytes19,EncLen19} = case ?RT_BER:cindex(20,Val,vmGroup) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeVmGroupList'(?RT_BER:cindex(20,Val,vmGroup), [{tag,128,18,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 20 with type IA5String OPTIONAL +%%------------------------------------------------- + {EncBytes20,EncLen20} = case ?RT_BER:cindex(21,Val,manufacturerName) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(21,Val,manufacturerName), 22, [{tag,128,19,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 21 with type IA5String OPTIONAL +%%------------------------------------------------- + {EncBytes21,EncLen21} = case ?RT_BER:cindex(22,Val,subdomainName) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(22,Val,subdomainName), 22, [{tag,128,20,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 22 with type IA5String OPTIONAL +%%------------------------------------------------- + {EncBytes22,EncLen22} = case ?RT_BER:cindex(23,Val,softwareVersion) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(23,Val,softwareVersion), 22, [{tag,128,21,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 23 with type IA5String OPTIONAL +%%------------------------------------------------- + {EncBytes23,EncLen23} = case ?RT_BER:cindex(24,Val,ctiVersion) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(24,Val,ctiVersion), 22, [{tag,128,22,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 24 with type IA5String OPTIONAL +%%------------------------------------------------- + {EncBytes24,EncLen24} = case ?RT_BER:cindex(25,Val,regionCode) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(25,Val,regionCode), 22, [{tag,128,23,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 25 with type GeneralizedTime OPTIONAL +%%------------------------------------------------- + {EncBytes25,EncLen25} = case ?RT_BER:cindex(26,Val,systemTime) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_generalized_time([], ?RT_BER:cindex(26,Val,systemTime), [{tag,128,24,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 26 External KME-specific-types:NumberOfMsgPort OPTIONAL +%%------------------------------------------------- + {EncBytes26,EncLen26} = case ?RT_BER:cindex(27,Val,numberOfMsgPort) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_NumberOfMsgPort'(?RT_BER:cindex(27,Val,numberOfMsgPort), [{tag,128,25,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 27 External KME-specific-types:KmePsGroupList OPTIONAL +%%------------------------------------------------- + {EncBytes27,EncLen27} = case ?RT_BER:cindex(28,Val,psGroup) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmePsGroupList'(?RT_BER:cindex(28,Val,psGroup), [{tag,128,26,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 28 External CSTA-device-identifiers:DeviceID OPTIONAL +%%------------------------------------------------- + {EncBytes28,EncLen28} = case ?RT_BER:cindex(29,Val,youAre) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(29,Val,youAre), [{tag,128,27,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 29 External KME-specific-types:KmeSvmList OPTIONAL +%%------------------------------------------------- + {EncBytes29,EncLen29} = case ?RT_BER:cindex(30,Val,svm) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeSvmList'(?RT_BER:cindex(30,Val,svm), [{tag,128,28,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 30 External KME-specific-types:KmePdnGMembers OPTIONAL +%%------------------------------------------------- + {EncBytes30,EncLen30} = case ?RT_BER:cindex(31,Val,pdn) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmePdnGMembers'(?RT_BER:cindex(31,Val,pdn), [{tag,128,29,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 31 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes31,EncLen31} = case ?RT_BER:cindex(32,Val,cos) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(32,Val,cos), [{tag,128,34,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 32 External KME-specific-types:KmePhoneProperty OPTIONAL +%%------------------------------------------------- + {EncBytes32,EncLen32} = case ?RT_BER:cindex(33,Val,phoneProperty) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmePhoneProperty'(?RT_BER:cindex(33,Val,phoneProperty), [{tag,128,35,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 33 with type BIT STRING OPTIONAL +%%------------------------------------------------- + {EncBytes33,EncLen33} = case ?RT_BER:cindex(34,Val,assocIncomGroup) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_bit_string([], ?RT_BER:cindex(34,Val,assocIncomGroup), [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], [{tag,128,36,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 34 with type SEQUENCE OF OPTIONAL +%%------------------------------------------------- + {EncBytes34,EncLen34} = case ?RT_BER:cindex(35,Val,messageWaiting) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeGetSystemDataRsp_messageWaiting'(?RT_BER:cindex(35,Val,messageWaiting), [{tag,128,37,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 35 External KME-specific-types:KmeDeviceStateList OPTIONAL +%%------------------------------------------------- + {EncBytes35,EncLen35} = case ?RT_BER:cindex(36,Val,deviceList) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeDeviceStateList'(?RT_BER:cindex(36,Val,deviceList), [{tag,128,38,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 36 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes36,EncLen36} = case ?RT_BER:cindex(37,Val,assocExtGroup) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(37,Val,assocExtGroup), [{tag,128,39,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 37 External KME-specific-types:KmeIcmGrpMembers OPTIONAL +%%------------------------------------------------- + {EncBytes37,EncLen37} = case ?RT_BER:cindex(38,Val,vmGMembers) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeIcmGrpMembers'(?RT_BER:cindex(38,Val,vmGMembers), [{tag,128,40,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 38 External KME-specific-types:KmeExtName OPTIONAL +%%------------------------------------------------- + {EncBytes38,EncLen38} = case ?RT_BER:cindex(39,Val,extName) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeExtName'(?RT_BER:cindex(39,Val,extName), [{tag,128,41,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 39 External KME-specific-types:KmeBroadcastGroupList OPTIONAL +%%------------------------------------------------- + {EncBytes39,EncLen39} = case ?RT_BER:cindex(40,Val,broadcastGroup) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeBroadcastGroupList'(?RT_BER:cindex(40,Val,broadcastGroup), [{tag,128,42,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 40 External KME-specific-types:KmeBroadcastGrpMembers OPTIONAL +%%------------------------------------------------- + {EncBytes40,EncLen40} = case ?RT_BER:cindex(41,Val,broadcastGMembers) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeBroadcastGrpMembers'(?RT_BER:cindex(41,Val,broadcastGMembers), [{tag,128,43,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 41 External KME-specific-types:KmeFcoKeyList OPTIONAL +%%------------------------------------------------- + {EncBytes41,EncLen41} = case ?RT_BER:cindex(42,Val,fcoKeyList) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeFcoKeyList'(?RT_BER:cindex(42,Val,fcoKeyList), [{tag,128,44,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 42 External CSTA-device-identifiers:DeviceID OPTIONAL +%%------------------------------------------------- + {EncBytes42,EncLen42} = case ?RT_BER:cindex(43,Val,sxdpMaster) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(43,Val,sxdpMaster), [{tag,128,45,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 43 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes43,EncLen43} = case ?RT_BER:cindex(44,Val,pbxType) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(44,Val,pbxType), [{tag,128,46,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 44 External KME-specific-types:KmeExternalSensorList OPTIONAL +%%------------------------------------------------- + {EncBytes44,EncLen44} = case ?RT_BER:cindex(45,Val,externalSensor) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeExternalSensorList'(?RT_BER:cindex(45,Val,externalSensor), [{tag,128,47,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 45 External KME-specific-types:KmeDeviceDataList OPTIONAL +%%------------------------------------------------- + {EncBytes45,EncLen45} = case ?RT_BER:cindex(46,Val,deviceDataList) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeDeviceDataList'(?RT_BER:cindex(46,Val,deviceDataList), [{tag,128,48,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 46 External KME-specific-types:KmeCheckStatusList OPTIONAL +%%------------------------------------------------- + {EncBytes46,EncLen46} = case ?RT_BER:cindex(47,Val,guestCheckStatus) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeCheckStatusList'(?RT_BER:cindex(47,Val,guestCheckStatus), [{tag,128,49,'EXPLICIT',32}]) + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5, EncBytes6, EncBytes7, EncBytes8, EncBytes9, EncBytes10, EncBytes11, EncBytes12, EncBytes13, EncBytes14, EncBytes15, EncBytes16, EncBytes17, EncBytes18, EncBytes19, EncBytes20, EncBytes21, EncBytes22, EncBytes23, EncBytes24, EncBytes25, EncBytes26, EncBytes27, EncBytes28, EncBytes29, EncBytes30, EncBytes31, EncBytes32, EncBytes33, EncBytes34, EncBytes35, EncBytes36, EncBytes37, EncBytes38, EncBytes39, EncBytes40, EncBytes41, EncBytes42, EncBytes43, EncBytes44, EncBytes45, EncBytes46], + LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5 + EncLen6 + EncLen7 + EncLen8 + EncLen9 + EncLen10 + EncLen11 + EncLen12 + EncLen13 + EncLen14 + EncLen15 + EncLen16 + EncLen17 + EncLen18 + EncLen19 + EncLen20 + EncLen21 + EncLen22 + EncLen23 + EncLen24 + EncLen25 + EncLen26 + EncLen27 + EncLen28 + EncLen29 + EncLen30 + EncLen31 + EncLen32 + EncLen33 + EncLen34 + EncLen35 + EncLen36 + EncLen37 + EncLen38 + EncLen39 + EncLen40 + EncLen41 + EncLen42 + EncLen43 + EncLen44 + EncLen45 + EncLen46, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmeGetSystemDataRsp_messageWaiting +%%================================ + +'enc_KmeGetSystemDataRsp_messageWaiting'({'KmeGetSystemDataRsp_messageWaiting',Val}, TagIn) -> + 'enc_KmeGetSystemDataRsp_messageWaiting'(Val, TagIn); + +'enc_KmeGetSystemDataRsp_messageWaiting'(Val, TagIn) -> + {EncBytes,EncLen} = 'enc_KmeGetSystemDataRsp_messageWaiting_components'(Val,[],0), + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], EncBytes, EncLen). + +'enc_KmeGetSystemDataRsp_messageWaiting_components'([], AccBytes, AccLen) -> + {lists:reverse(AccBytes),AccLen}; + +'enc_KmeGetSystemDataRsp_messageWaiting_components'([H|T],AccBytes, AccLen) -> + {EncBytes,EncLen} = 'CSTA-device-identifiers':'enc_DeviceID'(H, []), + 'enc_KmeGetSystemDataRsp_messageWaiting_components'(T,[EncBytes|AccBytes], AccLen + EncLen). + +'dec_KmeGetSystemDataRsp_messageWaiting'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), + ?RT_BER:decode_components(Rb1, Len, Bytes1, fun 'CSTA-device-identifiers':'dec_DeviceID'/3, [], []). + + + + +'dec_KmeGetSystemDataRsp'(Bytes, OptOrMand) -> + 'dec_KmeGetSystemDataRsp'(Bytes, OptOrMand, []). + +'dec_KmeGetSystemDataRsp'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type GeneralizedTime OPTIONAL +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = case Bytes2 of +<<2:2,_:1,0:5,_/binary>> -> +?RT_BER:decode_generalized_time(Bytes2,[],[{tag,128,0,'EXPLICIT',32}], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes2, 0 } +end, + +%%------------------------------------------------- +%% attribute number 2 External KME-specific-types:KmeFeatureList OPTIONAL +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = case Bytes3 of +<<2:2,_:1,1:5,_/binary>> -> +'dec_KmeFeatureList'(Bytes3, opt_or_default, [{tag,128,1,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes3, 0 } +end, + +%%------------------------------------------------- +%% attribute number 3 External KME-specific-types:KmeSpeedDial OPTIONAL +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = case Bytes4 of +<<2:2,_:1,2:5,_/binary>> -> +'dec_KmeSpeedDial'(Bytes4, opt_or_default, [{tag,128,2,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes4, 0 } +end, + +%%------------------------------------------------- +%% attribute number 4 External KME-specific-types:KmeExtTrkGroupList OPTIONAL +%%------------------------------------------------- + {Term4,Bytes6,Rb5} = case Bytes5 of +<<2:2,_:1,3:5,_/binary>> -> +'dec_KmeExtTrkGroupList'(Bytes5, opt_or_default, [{tag,128,3,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes5, 0 } +end, + +%%------------------------------------------------- +%% attribute number 5 External KME-specific-types:KmeExtTrkGroupList OPTIONAL +%%------------------------------------------------- + {Term5,Bytes7,Rb6} = case Bytes6 of +<<2:2,_:1,4:5,_/binary>> -> +'dec_KmeExtTrkGroupList'(Bytes6, opt_or_default, [{tag,128,4,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes6, 0 } +end, + +%%------------------------------------------------- +%% attribute number 6 External KME-specific-types:KmePckPagGroupList OPTIONAL +%%------------------------------------------------- + {Term6,Bytes8,Rb7} = case Bytes7 of +<<2:2,_:1,5:5,_/binary>> -> +'dec_KmePckPagGroupList'(Bytes7, opt_or_default, [{tag,128,5,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes7, 0 } +end, + +%%------------------------------------------------- +%% attribute number 7 External KME-specific-types:KmePckPagGroupList OPTIONAL +%%------------------------------------------------- + {Term7,Bytes9,Rb8} = case Bytes8 of +<<2:2,_:1,6:5,_/binary>> -> +'dec_KmePckPagGroupList'(Bytes8, opt_or_default, [{tag,128,6,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes8, 0 } +end, + +%%------------------------------------------------- +%% attribute number 8 External KME-specific-types:KmeIncomingGroupList OPTIONAL +%%------------------------------------------------- + {Term8,Bytes10,Rb9} = case Bytes9 of +<<2:2,_:1,7:5,_/binary>> -> +'dec_KmeIncomingGroupList'(Bytes9, opt_or_default, [{tag,128,7,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes9, 0 } +end, + +%%------------------------------------------------- +%% attribute number 9 External KME-specific-types:KmeDayNightMode OPTIONAL +%%------------------------------------------------- + {Term9,Bytes11,Rb10} = case Bytes10 of +<<2:2,_:1,8:5,_/binary>> -> +'dec_KmeDayNightMode'(Bytes10, opt_or_default, [{tag,128,8,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes10, 0 } +end, + +%%------------------------------------------------- +%% attribute number 10 External KME-specific-types:KmeWakeUpInfo OPTIONAL +%%------------------------------------------------- + {Term10,Bytes12,Rb11} = case Bytes11 of +<<2:2,_:1,9:5,_/binary>> -> +'dec_KmeWakeUpInfo'(Bytes11, opt_or_default, [{tag,128,9,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes11, 0 } +end, + +%%------------------------------------------------- +%% attribute number 11 with type ENUMERATED OPTIONAL +%%------------------------------------------------- + {Term11,Bytes13,Rb12} = case Bytes12 of +<<2:2,_:1,10:5,_/binary>> -> +?RT_BER:decode_enumerated(Bytes12,[],[{lock,0},{unlock,1}],[{tag,128,10,'EXPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes12, 0 } +end, + +%%------------------------------------------------- +%% attribute number 12 External KME-specific-types:KmeAbsentMessage OPTIONAL +%%------------------------------------------------- + {Term12,Bytes14,Rb13} = case Bytes13 of +<<2:2,_:1,12:5,_/binary>> -> +'dec_KmeAbsentMessage'(Bytes13, opt_or_default, [{tag,128,12,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes13, 0 } +end, + +%%------------------------------------------------- +%% attribute number 13 with type ENUMERATED OPTIONAL +%%------------------------------------------------- + {Term13,Bytes15,Rb14} = case Bytes14 of +<<2:2,_:1,11:5,_/binary>> -> +?RT_BER:decode_enumerated(Bytes14,[],[{lock,0},{unlock,1}],[{tag,128,11,'EXPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes14, 0 } +end, + +%%------------------------------------------------- +%% attribute number 14 External CSTA-device-feature-types:ForwardList OPTIONAL +%%------------------------------------------------- + {Term14,Bytes16,Rb15} = case Bytes15 of +<<2:2,_:1,13:5,_/binary>> -> +'CSTA-device-feature-types':'dec_ForwardList'(Bytes15, opt_or_default, [{tag,128,13,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes15, 0 } +end, + +%%------------------------------------------------- +%% attribute number 15 External KME-specific-types:KmeTrkMembers OPTIONAL +%%------------------------------------------------- + {Term15,Bytes17,Rb16} = case Bytes16 of +<<2:2,_:1,14:5,_/binary>> -> +'dec_KmeTrkMembers'(Bytes16, opt_or_default, [{tag,128,14,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes16, 0 } +end, + +%%------------------------------------------------- +%% attribute number 16 External KME-specific-types:KmeExtMembers OPTIONAL +%%------------------------------------------------- + {Term16,Bytes18,Rb17} = case Bytes17 of +<<2:2,_:1,15:5,_/binary>> -> +'dec_KmeExtMembers'(Bytes17, opt_or_default, [{tag,128,15,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes17, 0 } +end, + +%%------------------------------------------------- +%% attribute number 17 External KME-specific-types:KmeIcmGrpMembers OPTIONAL +%%------------------------------------------------- + {Term17,Bytes19,Rb18} = case Bytes18 of +<<2:2,_:1,16:5,_/binary>> -> +'dec_KmeIcmGrpMembers'(Bytes18, opt_or_default, [{tag,128,16,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes18, 0 } +end, + +%%------------------------------------------------- +%% attribute number 18 External KME-specific-types:KmeDoorPhone OPTIONAL +%%------------------------------------------------- + {Term18,Bytes20,Rb19} = case Bytes19 of +<<2:2,_:1,17:5,_/binary>> -> +'dec_KmeDoorPhone'(Bytes19, opt_or_default, [{tag,128,17,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes19, 0 } +end, + +%%------------------------------------------------- +%% attribute number 19 External KME-specific-types:KmeVmGroupList OPTIONAL +%%------------------------------------------------- + {Term19,Bytes21,Rb20} = case Bytes20 of +<<2:2,_:1,18:5,_/binary>> -> +'dec_KmeVmGroupList'(Bytes20, opt_or_default, [{tag,128,18,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes20, 0 } +end, + +%%------------------------------------------------- +%% attribute number 20 with type IA5String OPTIONAL +%%------------------------------------------------- + {Term20,Bytes22,Rb21} = case Bytes21 of +<<2:2,_:1,19:5,_/binary>> -> +?RT_BER:decode_restricted_string(Bytes21,{0,64},22,[{tag,128,19,'EXPLICIT',32}], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes21, 0 } +end, + +%%------------------------------------------------- +%% attribute number 21 with type IA5String OPTIONAL +%%------------------------------------------------- + {Term21,Bytes23,Rb22} = case Bytes22 of +<<2:2,_:1,20:5,_/binary>> -> +?RT_BER:decode_restricted_string(Bytes22,{0,20},22,[{tag,128,20,'EXPLICIT',32}], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes22, 0 } +end, + +%%------------------------------------------------- +%% attribute number 22 with type IA5String OPTIONAL +%%------------------------------------------------- + {Term22,Bytes24,Rb23} = case Bytes23 of +<<2:2,_:1,21:5,_/binary>> -> +?RT_BER:decode_restricted_string(Bytes23,{0,32},22,[{tag,128,21,'EXPLICIT',32}], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes23, 0 } +end, + +%%------------------------------------------------- +%% attribute number 23 with type IA5String OPTIONAL +%%------------------------------------------------- + {Term23,Bytes25,Rb24} = case Bytes24 of +<<2:2,_:1,22:5,_/binary>> -> +?RT_BER:decode_restricted_string(Bytes24,{0,32},22,[{tag,128,22,'EXPLICIT',32}], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes24, 0 } +end, + +%%------------------------------------------------- +%% attribute number 24 with type IA5String OPTIONAL +%%------------------------------------------------- + {Term24,Bytes26,Rb25} = case Bytes25 of +<<2:2,_:1,23:5,_/binary>> -> +?RT_BER:decode_restricted_string(Bytes25,{0,32},22,[{tag,128,23,'EXPLICIT',32}], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes25, 0 } +end, + +%%------------------------------------------------- +%% attribute number 25 with type GeneralizedTime OPTIONAL +%%------------------------------------------------- + {Term25,Bytes27,Rb26} = case Bytes26 of +<<2:2,_:1,24:5,_/binary>> -> +?RT_BER:decode_generalized_time(Bytes26,[],[{tag,128,24,'EXPLICIT',32}], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes26, 0 } +end, + +%%------------------------------------------------- +%% attribute number 26 External KME-specific-types:NumberOfMsgPort OPTIONAL +%%------------------------------------------------- + {Term26,Bytes28,Rb27} = case Bytes27 of +<<2:2,_:1,25:5,_/binary>> -> +'dec_NumberOfMsgPort'(Bytes27, opt_or_default, [{tag,128,25,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes27, 0 } +end, + +%%------------------------------------------------- +%% attribute number 27 External KME-specific-types:KmePsGroupList OPTIONAL +%%------------------------------------------------- + {Term27,Bytes29,Rb28} = case Bytes28 of +<<2:2,_:1,26:5,_/binary>> -> +'dec_KmePsGroupList'(Bytes28, opt_or_default, [{tag,128,26,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes28, 0 } +end, + +%%------------------------------------------------- +%% attribute number 28 External CSTA-device-identifiers:DeviceID OPTIONAL +%%------------------------------------------------- + {Term28,Bytes30,Rb29} = case Bytes29 of +<<2:2,_:1,27:5,_/binary>> -> +'CSTA-device-identifiers':'dec_DeviceID'(Bytes29, opt_or_default, [{tag,128,27,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes29, 0 } +end, + +%%------------------------------------------------- +%% attribute number 29 External KME-specific-types:KmeSvmList OPTIONAL +%%------------------------------------------------- + {Term29,Bytes31,Rb30} = case Bytes30 of +<<2:2,_:1,28:5,_/binary>> -> +'dec_KmeSvmList'(Bytes30, opt_or_default, [{tag,128,28,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes30, 0 } +end, + +%%------------------------------------------------- +%% attribute number 30 External KME-specific-types:KmePdnGMembers OPTIONAL +%%------------------------------------------------- + {Term30,Bytes32,Rb31} = case Bytes31 of +<<2:2,_:1,29:5,_/binary>> -> +'dec_KmePdnGMembers'(Bytes31, opt_or_default, [{tag,128,29,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes31, 0 } +end, + +%%------------------------------------------------- +%% attribute number 31 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term31,Bytes33,Rb32} = case Bytes32 of +<<2:2,_:1,31:5,34,_/binary>> -> +?RT_BER:decode_integer(Bytes32,[],[{tag,128,34,'EXPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes32, 0 } +end, + +%%------------------------------------------------- +%% attribute number 32 External KME-specific-types:KmePhoneProperty OPTIONAL +%%------------------------------------------------- + {Term32,Bytes34,Rb33} = case Bytes33 of +<<2:2,_:1,31:5,35,_/binary>> -> +'dec_KmePhoneProperty'(Bytes33, opt_or_default, [{tag,128,35,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes33, 0 } +end, + +%%------------------------------------------------- +%% attribute number 33 with type BIT STRING OPTIONAL +%%------------------------------------------------- + {Term33,Bytes35,Rb34} = case Bytes34 of +<<2:2,_:1,31:5,36,_/binary>> -> +?RT_BER:decode_bit_string(Bytes34,[],[{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}],[{tag,128,36,'EXPLICIT',32}], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes34, 0 } +end, + +%%------------------------------------------------- +%% attribute number 34 with type SEQUENCE OF OPTIONAL +%%------------------------------------------------- + {Term34,Bytes36,Rb35} = case Bytes35 of +<<2:2,_:1,31:5,37,_/binary>> -> +'dec_KmeGetSystemDataRsp_messageWaiting'(Bytes35, opt_or_default, [{tag,128,37,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes35, 0 } +end, + +%%------------------------------------------------- +%% attribute number 35 External KME-specific-types:KmeDeviceStateList OPTIONAL +%%------------------------------------------------- + {Term35,Bytes37,Rb36} = case Bytes36 of +<<2:2,_:1,31:5,38,_/binary>> -> +'dec_KmeDeviceStateList'(Bytes36, opt_or_default, [{tag,128,38,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes36, 0 } +end, + +%%------------------------------------------------- +%% attribute number 36 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term36,Bytes38,Rb37} = case Bytes37 of +<<2:2,_:1,31:5,39,_/binary>> -> +?RT_BER:decode_integer(Bytes37,[],[{tag,128,39,'EXPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes37, 0 } +end, + +%%------------------------------------------------- +%% attribute number 37 External KME-specific-types:KmeIcmGrpMembers OPTIONAL +%%------------------------------------------------- + {Term37,Bytes39,Rb38} = case Bytes38 of +<<2:2,_:1,31:5,40,_/binary>> -> +'dec_KmeIcmGrpMembers'(Bytes38, opt_or_default, [{tag,128,40,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes38, 0 } +end, + +%%------------------------------------------------- +%% attribute number 38 External KME-specific-types:KmeExtName OPTIONAL +%%------------------------------------------------- + {Term38,Bytes40,Rb39} = case Bytes39 of +<<2:2,_:1,31:5,41,_/binary>> -> +'dec_KmeExtName'(Bytes39, opt_or_default, [{tag,128,41,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes39, 0 } +end, + +%%------------------------------------------------- +%% attribute number 39 External KME-specific-types:KmeBroadcastGroupList OPTIONAL +%%------------------------------------------------- + {Term39,Bytes41,Rb40} = case Bytes40 of +<<2:2,_:1,31:5,42,_/binary>> -> +'dec_KmeBroadcastGroupList'(Bytes40, opt_or_default, [{tag,128,42,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes40, 0 } +end, + +%%------------------------------------------------- +%% attribute number 40 External KME-specific-types:KmeBroadcastGrpMembers OPTIONAL +%%------------------------------------------------- + {Term40,Bytes42,Rb41} = case Bytes41 of +<<2:2,_:1,31:5,43,_/binary>> -> +'dec_KmeBroadcastGrpMembers'(Bytes41, opt_or_default, [{tag,128,43,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes41, 0 } +end, + +%%------------------------------------------------- +%% attribute number 41 External KME-specific-types:KmeFcoKeyList OPTIONAL +%%------------------------------------------------- + {Term41,Bytes43,Rb42} = case Bytes42 of +<<2:2,_:1,31:5,44,_/binary>> -> +'dec_KmeFcoKeyList'(Bytes42, opt_or_default, [{tag,128,44,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes42, 0 } +end, + +%%------------------------------------------------- +%% attribute number 42 External CSTA-device-identifiers:DeviceID OPTIONAL +%%------------------------------------------------- + {Term42,Bytes44,Rb43} = case Bytes43 of +<<2:2,_:1,31:5,45,_/binary>> -> +'CSTA-device-identifiers':'dec_DeviceID'(Bytes43, opt_or_default, [{tag,128,45,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes43, 0 } +end, + +%%------------------------------------------------- +%% attribute number 43 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term43,Bytes45,Rb44} = case Bytes44 of +<<2:2,_:1,31:5,46,_/binary>> -> +?RT_BER:decode_integer(Bytes44,[],[{tag,128,46,'EXPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes44, 0 } +end, + +%%------------------------------------------------- +%% attribute number 44 External KME-specific-types:KmeExternalSensorList OPTIONAL +%%------------------------------------------------- + {Term44,Bytes46,Rb45} = case Bytes45 of +<<2:2,_:1,31:5,47,_/binary>> -> +'dec_KmeExternalSensorList'(Bytes45, opt_or_default, [{tag,128,47,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes45, 0 } +end, + +%%------------------------------------------------- +%% attribute number 45 External KME-specific-types:KmeDeviceDataList OPTIONAL +%%------------------------------------------------- + {Term45,Bytes47,Rb46} = case Bytes46 of +<<2:2,_:1,31:5,48,_/binary>> -> +'dec_KmeDeviceDataList'(Bytes46, opt_or_default, [{tag,128,48,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes46, 0 } +end, + +%%------------------------------------------------- +%% attribute number 46 External KME-specific-types:KmeCheckStatusList OPTIONAL +%%------------------------------------------------- + {Term46,Bytes48,Rb47} = case Bytes47 of +<<2:2,_:1,31:5,49,_/binary>> -> +'dec_KmeCheckStatusList'(Bytes47, opt_or_default, [{tag,128,49,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes47, 0 } +end, + + {Bytes49,Rb48} = ?RT_BER:restbytes2(RemBytes, Bytes48,noext), + {{'KmeGetSystemDataRsp', Term1, Term2, Term3, Term4, Term5, Term6, Term7, Term8, Term9, Term10, Term11, Term12, Term13, Term14, Term15, Term16, Term17, Term18, Term19, Term20, Term21, Term22, Term23, Term24, Term25, Term26, Term27, Term28, Term29, Term30, Term31, Term32, Term33, Term34, Term35, Term36, Term37, Term38, Term39, Term40, Term41, Term42, Term43, Term44, Term45, Term46}, Bytes49, Rb1+Rb2+Rb3+Rb4+Rb5+Rb6+Rb7+Rb8+Rb9+Rb10+Rb11+Rb12+Rb13+Rb14+Rb15+Rb16+Rb17+Rb18+Rb19+Rb20+Rb21+Rb22+Rb23+Rb24+Rb25+Rb26+Rb27+Rb28+Rb29+Rb30+Rb31+Rb32+Rb33+Rb34+Rb35+Rb36+Rb37+Rb38+Rb39+Rb40+Rb41+Rb42+Rb43+Rb44+Rb45+Rb46+Rb47+Rb48}. + + +%%================================ +%% KmeGetSystemData +%%================================ + +'enc_KmeGetSystemData'({'KmeGetSystemData',Val}, TagIn) -> + 'enc_KmeGetSystemData'(Val, TagIn); + +'enc_KmeGetSystemData'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + request -> + 'enc_KmeGetSystemDataReq'(element(2,Val), []); + result -> + 'enc_KmeGetSystemDataRsp'(element(2,Val), []); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_KmeGetSystemData'(Bytes, OptOrMand) -> + 'dec_KmeGetSystemData'(Bytes, OptOrMand, []). + +'dec_KmeGetSystemData'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'request' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeGetSystemDataReq'(Bytes1, mandatory, []), + {{request, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeGetSystemDataReq'(Bytes1, mandatory, []), + {{request, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + <<2:2,_:1,2:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeGetSystemDataReq'(Bytes1, mandatory, []), + {{request, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + <<2:2,_:1,3:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeGetSystemDataReq'(Bytes1, mandatory, []), + {{request, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + <<2:2,_:1,4:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeGetSystemDataReq'(Bytes1, mandatory, []), + {{request, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + <<2:2,_:1,5:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeGetSystemDataReq'(Bytes1, mandatory, []), + {{request, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + <<2:2,_:1,6:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeGetSystemDataReq'(Bytes1, mandatory, []), + {{request, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + <<2:2,_:1,7:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeGetSystemDataReq'(Bytes1, mandatory, []), + {{request, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + <<2:2,_:1,8:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeGetSystemDataReq'(Bytes1, mandatory, []), + {{request, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'result' + <<0:2,_:1,16:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeGetSystemDataRsp'(Bytes1, mandatory, []), + {{result, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmeSetSystemData +%%================================ + +'enc_KmeSetSystemData'({'KmeSetSystemData',Val}, TagIn) -> + 'enc_KmeSetSystemData'(Val, TagIn); + +'enc_KmeSetSystemData'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + systemData -> + 'enc_KmeSetSystemData_systemData'(element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + deviceData -> + 'enc_KmeSetSystemData_deviceData'(element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + acdQueue -> + 'enc_KmeSetSystemData_acdQueue'(element(2,Val), [{tag,128,3,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + + +%%================================ +%% KmeSetSystemData_systemData +%%================================ + +'enc_KmeSetSystemData_systemData'({'KmeSetSystemData_systemData',Val}, TagIn) -> + 'enc_KmeSetSystemData_systemData'(Val, TagIn); + +'enc_KmeSetSystemData_systemData'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + speedDial -> + 'enc_KmeSpeedDial'(element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + dayNightMode -> + 'enc_KmeDayNightMode'(element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + time -> + ?RT_BER:encode_generalized_time([], element(2,Val), [{tag,128,2,'EXPLICIT',32}]); + extNo -> + 'enc_KmeChangeExtNo'(element(2,Val), [{tag,128,3,'EXPLICIT',32}]); + name -> + 'enc_KmeChangeName'(element(2,Val), [{tag,128,4,'EXPLICIT',32}]); + subdomainName -> + ?RT_BER:encode_restricted_string([], element(2,Val), 22, [{tag,128,5,'EXPLICIT',32}]); + tenantSpeedDial -> + 'enc_KmeTenantSpeedDial'(element(2,Val), [{tag,128,6,'EXPLICIT',32}]); + distributionMethod -> + 'enc_KmeDistributionMethod'(element(2,Val), [{tag,128,7,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + +'dec_KmeSetSystemData_systemData'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'speedDial' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeSpeedDial'(Bytes1, mandatory, [{tag,128,0,'EXPLICIT',32}]), + {{speedDial, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'dayNightMode' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeDayNightMode'(Bytes1, mandatory, [{tag,128,1,'EXPLICIT',32}]), + {{dayNightMode, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'time' + <<2:2,_:1,2:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_generalized_time(Bytes1,[],[{tag,128,2,'EXPLICIT',32}], no_length, mandatory), + {{time, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'extNo' + <<2:2,_:1,3:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeChangeExtNo'(Bytes1, mandatory, [{tag,128,3,'EXPLICIT',32}]), + {{extNo, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'name' + <<2:2,_:1,4:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeChangeName'(Bytes1, mandatory, [{tag,128,4,'EXPLICIT',32}]), + {{name, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'subdomainName' + <<2:2,_:1,5:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_restricted_string(Bytes1,{0,20},22,[{tag,128,5,'EXPLICIT',32}], no_length, mandatory), + {{subdomainName, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'tenantSpeedDial' + <<2:2,_:1,6:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeTenantSpeedDial'(Bytes1, mandatory, [{tag,128,6,'EXPLICIT',32}]), + {{tenantSpeedDial, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'distributionMethod' + <<2:2,_:1,7:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeDistributionMethod'(Bytes1, mandatory, [{tag,128,7,'EXPLICIT',32}]), + {{distributionMethod, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + + +%%================================ +%% KmeSetSystemData_deviceData +%%================================ +'enc_KmeSetSystemData_deviceData'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,device), [{tag,128,1,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type CHOICE +%%------------------------------------------------- + {EncBytes2,EncLen2} = 'enc_KmeSetSystemData_deviceData_sysData'(?RT_BER:cindex(3,Val,sysData), [{tag,128,2,'EXPLICIT',32}]), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmeSetSystemData_deviceData_sysData +%%================================ + +'enc_KmeSetSystemData_deviceData_sysData'({'KmeSetSystemData_deviceData_sysData',Val}, TagIn) -> + 'enc_KmeSetSystemData_deviceData_sysData'(Val, TagIn); + +'enc_KmeSetSystemData_deviceData_sysData'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + wakeUp -> + 'enc_KmeWakeUpInfo'(element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + remoteLock -> + case (case element(2,Val) of {_,Enumval1}->Enumval1;_->element(2,Val) end) of +lock -> ?RT_BER:encode_enumerated(0,[{tag,128,1,'EXPLICIT',32}]); +unlock -> ?RT_BER:encode_enumerated(1,[{tag,128,1,'EXPLICIT',32}]); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end; + forwardDnd -> + 'enc_KmeSetForwardInfo'(element(2,Val), [{tag,128,2,'EXPLICIT',32}]); + absentMessage -> + 'enc_KmeAbsentMessage'(element(2,Val), [{tag,128,3,'EXPLICIT',32}]); + passwordClear -> + ?RT_BER:encode_null(element(2,Val), [{tag,128,4,'EXPLICIT',32}]); + extNumber -> + ?RT_BER:encode_restricted_string([], element(2,Val), 22, [{tag,128,5,'EXPLICIT',32}]); + extName -> + 'enc_KmeExtName'(element(2,Val), [{tag,128,6,'EXPLICIT',32}]); + cos -> + ?RT_BER:encode_integer([], element(2,Val), [{tag,128,7,'EXPLICIT',32}]); + joinGroup -> + 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [{tag,128,8,'EXPLICIT',32}]); + leaveGroup -> + 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [{tag,128,9,'EXPLICIT',32}]); + inService -> + ?RT_BER:encode_boolean(element(2,Val), [{tag,128,10,'EXPLICIT',32}]); + fcoKey -> + 'enc_KmeFcoKeyList'(element(2,Val), [{tag,128,11,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + +'dec_KmeSetSystemData_deviceData_sysData'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'wakeUp' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeWakeUpInfo'(Bytes1, mandatory, [{tag,128,0,'EXPLICIT',32}]), + {{wakeUp, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'remoteLock' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_enumerated(Bytes1,[],[{lock,0},{unlock,1}],[{tag,128,1,'EXPLICIT',32}], mandatory), + {{remoteLock, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'forwardDnd' + <<2:2,_:1,2:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeSetForwardInfo'(Bytes1, mandatory, [{tag,128,2,'EXPLICIT',32}]), + {{forwardDnd, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'absentMessage' + <<2:2,_:1,3:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeAbsentMessage'(Bytes1, mandatory, [{tag,128,3,'EXPLICIT',32}]), + {{absentMessage, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'passwordClear' + <<2:2,_:1,4:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_null(Bytes1,[{tag,128,4,'EXPLICIT',32}], mandatory), + {{passwordClear, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'extNumber' + <<2:2,_:1,5:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_restricted_string(Bytes1,{1,5},22,[{tag,128,5,'EXPLICIT',32}], no_length, mandatory), + {{extNumber, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'extName' + <<2:2,_:1,6:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeExtName'(Bytes1, mandatory, [{tag,128,6,'EXPLICIT',32}]), + {{extName, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'cos' + <<2:2,_:1,7:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_integer(Bytes1,[],[{tag,128,7,'EXPLICIT',32}], mandatory), + {{cos, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'joinGroup' + <<2:2,_:1,8:5,_/binary>> -> + {Dec, Rest, RbCho} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes1, mandatory, [{tag,128,8,'EXPLICIT',32}]), + {{joinGroup, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'leaveGroup' + <<2:2,_:1,9:5,_/binary>> -> + {Dec, Rest, RbCho} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes1, mandatory, [{tag,128,9,'EXPLICIT',32}]), + {{leaveGroup, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'inService' + <<2:2,_:1,10:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_boolean(Bytes1,[{tag,128,10,'EXPLICIT',32}], mandatory), + {{inService, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'fcoKey' + <<2:2,_:1,11:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeFcoKeyList'(Bytes1, mandatory, [{tag,128,11,'EXPLICIT',32}]), + {{fcoKey, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. +'dec_KmeSetSystemData_deviceData'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, [{tag,128,1,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type CHOICE +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = 'dec_KmeSetSystemData_deviceData_sysData'(Bytes3, mandatory, [{tag,128,2,'EXPLICIT',32}]), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeSetSystemData_deviceData', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + + +%%================================ +%% KmeSetSystemData_acdQueue +%%================================ +'enc_KmeSetSystemData_acdQueue'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,device), []), + +%%------------------------------------------------- +%% attribute number 2 with type CHOICE +%%------------------------------------------------- + {EncBytes2,EncLen2} = 'enc_KmeSetSystemData_acdQueue_attribute'(?RT_BER:cindex(3,Val,attribute), []), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmeSetSystemData_acdQueue_attribute +%%================================ + +'enc_KmeSetSystemData_acdQueue_attribute'({'KmeSetSystemData_acdQueue_attribute',Val}, TagIn) -> + 'enc_KmeSetSystemData_acdQueue_attribute'(Val, TagIn); + +'enc_KmeSetSystemData_acdQueue_attribute'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + groupType -> + case (case element(2,Val) of {_,Enumval1}->Enumval1;_->element(2,Val) end) of +ucd -> ?RT_BER:encode_enumerated(0,[{tag,128,1,'EXPLICIT',32}]); +ring -> ?RT_BER:encode_enumerated(1,[{tag,128,1,'EXPLICIT',32}]); +hunt -> ?RT_BER:encode_enumerated(2,[{tag,128,1,'EXPLICIT',32}]); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end; + acdMode -> + ?RT_BER:encode_boolean(element(2,Val), []); + ctiWaitTime -> + ?RT_BER:encode_integer([], element(2,Val), []); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + +'dec_KmeSetSystemData_acdQueue_attribute'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'groupType' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_enumerated(Bytes1,[],[{ucd,0},{ring,1},{hunt,2}],[{tag,128,1,'EXPLICIT',32}], mandatory), + {{groupType, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'acdMode' + <<0:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_boolean(Bytes1,[], mandatory), + {{acdMode, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'ctiWaitTime' + <<0:2,_:1,2:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_integer(Bytes1,[],[], mandatory), + {{ctiWaitTime, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. +'dec_KmeSetSystemData_acdQueue'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, []), + +%%------------------------------------------------- +%% attribute number 2 with type CHOICE +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = 'dec_KmeSetSystemData_acdQueue_attribute'(Bytes3, mandatory, []), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeSetSystemData_acdQueue', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +'dec_KmeSetSystemData'(Bytes, OptOrMand) -> + 'dec_KmeSetSystemData'(Bytes, OptOrMand, []). + +'dec_KmeSetSystemData'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'systemData' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeSetSystemData_systemData'(Bytes1, mandatory, [{tag,128,0,'EXPLICIT',32}]), + {{systemData, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'deviceData' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeSetSystemData_deviceData'(Bytes1, mandatory, [{tag,128,1,'EXPLICIT',32}]), + {{deviceData, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'acdQueue' + <<2:2,_:1,3:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeSetSystemData_acdQueue'(Bytes1, mandatory, [{tag,128,3,'EXPLICIT',32}]), + {{acdQueue, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmeSystemDataChanged +%%================================ + +'enc_KmeSystemDataChanged'({'KmeSystemDataChanged',Val}, TagIn) -> + 'enc_KmeSystemDataChanged'(Val, TagIn); + +'enc_KmeSystemDataChanged'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + systemData -> + case (case element(2,Val) of {_,Enumval1}->Enumval1;_->element(2,Val) end) of +featureList -> ?RT_BER:encode_enumerated(1,[{tag,128,0,'EXPLICIT',32}]); +speedDial -> ?RT_BER:encode_enumerated(2,[{tag,128,0,'EXPLICIT',32}]); +trunkGroup -> ?RT_BER:encode_enumerated(3,[{tag,128,0,'EXPLICIT',32}]); +extGroup -> ?RT_BER:encode_enumerated(4,[{tag,128,0,'EXPLICIT',32}]); +pickGroup -> ?RT_BER:encode_enumerated(5,[{tag,128,0,'EXPLICIT',32}]); +pagingGroup -> ?RT_BER:encode_enumerated(6,[{tag,128,0,'EXPLICIT',32}]); +incomingGroup -> ?RT_BER:encode_enumerated(7,[{tag,128,0,'EXPLICIT',32}]); +dayNightMode -> ?RT_BER:encode_enumerated(8,[{tag,128,0,'EXPLICIT',32}]); +doorPhone -> ?RT_BER:encode_enumerated(9,[{tag,128,0,'EXPLICIT',32}]); +vmGroup -> ?RT_BER:encode_enumerated(10,[{tag,128,0,'EXPLICIT',32}]); +systemTime -> ?RT_BER:encode_enumerated(11,[{tag,128,0,'EXPLICIT',32}]); +psGroup -> ?RT_BER:encode_enumerated(12,[{tag,128,0,'EXPLICIT',32}]); +trunkGMembers -> ?RT_BER:encode_enumerated(13,[{tag,128,0,'EXPLICIT',32}]); +incomingGMembers -> ?RT_BER:encode_enumerated(14,[{tag,128,0,'EXPLICIT',32}]); +psGMembers -> ?RT_BER:encode_enumerated(15,[{tag,128,0,'EXPLICIT',32}]); +vmGMembers -> ?RT_BER:encode_enumerated(16,[{tag,128,0,'EXPLICIT',32}]); +broadcastGroup -> ?RT_BER:encode_enumerated(17,[{tag,128,0,'EXPLICIT',32}]); +broadcastGMembers -> ?RT_BER:encode_enumerated(18,[{tag,128,0,'EXPLICIT',32}]); +subdomainName -> ?RT_BER:encode_enumerated(19,[{tag,128,0,'EXPLICIT',32}]); +externalSensor -> ?RT_BER:encode_enumerated(20,[{tag,128,0,'EXPLICIT',32}]); +svm -> ?RT_BER:encode_enumerated(21,[{tag,128,0,'EXPLICIT',32}]); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end; + deviceData -> + 'enc_KmeSystemDataChanged_deviceData'(element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + deviceBasicInfo -> + 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [{tag,128,2,'EXPLICIT',32}]); + reconfiguration -> + ?RT_BER:encode_null(element(2,Val), [{tag,128,3,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + + +%%================================ +%% KmeSystemDataChanged_deviceData +%%================================ +'enc_KmeSystemDataChanged_deviceData'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,device), [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED +%%------------------------------------------------- + {EncBytes2,EncLen2} = case (case ?RT_BER:cindex(3,Val,sysData) of {_,Enumval1}->Enumval1;_->?RT_BER:cindex(3,Val,sysData) end) of +wakeUp -> ?RT_BER:encode_enumerated(0,[{tag,128,1,'EXPLICIT',32}]); +remoteStatationLock -> ?RT_BER:encode_enumerated(1,[{tag,128,1,'EXPLICIT',32}]); +callLogLock -> ?RT_BER:encode_enumerated(2,[{tag,128,1,'EXPLICIT',32}]); +absentMessage -> ?RT_BER:encode_enumerated(3,[{tag,128,1,'EXPLICIT',32}]); +forwardDnd -> ?RT_BER:encode_enumerated(4,[{tag,128,1,'EXPLICIT',32}]); +cos -> ?RT_BER:encode_enumerated(5,[{tag,128,1,'EXPLICIT',32}]); +extName -> ?RT_BER:encode_enumerated(6,[{tag,128,1,'EXPLICIT',32}]); +assocExtGroup -> ?RT_BER:encode_enumerated(7,[{tag,128,1,'EXPLICIT',32}]); +fcoKey -> ?RT_BER:encode_enumerated(8,[{tag,128,1,'EXPLICIT',32}]); +sxdpMaster -> ?RT_BER:encode_enumerated(9,[{tag,128,1,'EXPLICIT',32}]); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end, + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). +'dec_KmeSystemDataChanged_deviceData'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_enumerated(Bytes3,[],[{wakeUp,0},{remoteStatationLock,1},{callLogLock,2},{absentMessage,3},{forwardDnd,4},{cos,5},{extName,6},{assocExtGroup,7},{fcoKey,8},{sxdpMaster,9}],[{tag,128,1,'EXPLICIT',32}], mandatory), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeSystemDataChanged_deviceData', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +'dec_KmeSystemDataChanged'(Bytes, OptOrMand) -> + 'dec_KmeSystemDataChanged'(Bytes, OptOrMand, []). + +'dec_KmeSystemDataChanged'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'systemData' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_enumerated(Bytes1,[],[{featureList,1},{speedDial,2},{trunkGroup,3},{extGroup,4},{pickGroup,5},{pagingGroup,6},{incomingGroup,7},{dayNightMode,8},{doorPhone,9},{vmGroup,10},{systemTime,11},{psGroup,12},{trunkGMembers,13},{incomingGMembers,14},{psGMembers,15},{vmGMembers,16},{broadcastGroup,17},{broadcastGMembers,18},{subdomainName,19},{externalSensor,20},{svm,21}],[{tag,128,0,'EXPLICIT',32}], mandatory), + {{systemData, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'deviceData' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeSystemDataChanged_deviceData'(Bytes1, mandatory, [{tag,128,1,'EXPLICIT',32}]), + {{deviceData, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'deviceBasicInfo' + <<2:2,_:1,2:5,_/binary>> -> + {Dec, Rest, RbCho} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes1, mandatory, [{tag,128,2,'EXPLICIT',32}]), + {{deviceBasicInfo, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'reconfiguration' + <<2:2,_:1,3:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_null(Bytes1,[{tag,128,3,'EXPLICIT',32}], mandatory), + {{reconfiguration, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmeSystemDataLinkedReply +%%================================ +'enc_KmeSystemDataLinkedReply'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type OCTET STRING +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_octet_string([], ?RT_BER:cindex(2,Val,crossRefID), [{tag,128,0,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 2 with type INTEGER +%%------------------------------------------------- + {EncBytes2,EncLen2} = ?RT_BER:encode_integer([], ?RT_BER:cindex(3,Val,segmentID), [{tag,128,1,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 3 with type BOOLEAN +%%------------------------------------------------- + {EncBytes3,EncLen3} = ?RT_BER:encode_boolean(?RT_BER:cindex(4,Val,lastSegment), [{tag,128,2,'EXPLICIT',32}]), + +%%------------------------------------------------- +%% attribute number 4 External KME-specific-types:KmeGetSystemDataRsp OPTIONAL +%%------------------------------------------------- + {EncBytes4,EncLen4} = case ?RT_BER:cindex(5,Val,sysData) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'enc_KmeGetSystemDataRsp'(?RT_BER:cindex(5,Val,sysData), [{tag,128,3,'EXPLICIT',32}]) + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4], + LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeSystemDataLinkedReply'(Bytes, OptOrMand) -> + 'dec_KmeSystemDataLinkedReply'(Bytes, OptOrMand, []). + +'dec_KmeSystemDataLinkedReply'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type OCTET STRING +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_octet_string(Bytes2,[],[{tag,128,0,'EXPLICIT',32}], no_length, mandatory), + +%%------------------------------------------------- +%% attribute number 2 with type INTEGER +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_integer(Bytes3,[],[{tag,128,1,'EXPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 3 with type BOOLEAN +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = ?RT_BER:decode_boolean(Bytes4,[{tag,128,2,'EXPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 4 External KME-specific-types:KmeGetSystemDataRsp OPTIONAL +%%------------------------------------------------- + {Term4,Bytes6,Rb5} = case Bytes5 of +<<2:2,_:1,3:5,_/binary>> -> +'dec_KmeGetSystemDataRsp'(Bytes5, opt_or_default, [{tag,128,3,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes5, 0 } +end, + + {Bytes7,Rb6} = ?RT_BER:restbytes2(RemBytes, Bytes6,noext), + {{'KmeSystemDataLinkedReply', Term1, Term2, Term3, Term4}, Bytes7, Rb1+Rb2+Rb3+Rb4+Rb5+Rb6}. + + +%%================================ +%% KmeGetSystemDataPosAck +%%================================ + +'enc_KmeGetSystemDataPosAck'({'KmeGetSystemDataPosAck',Val}, TagIn) -> + 'enc_KmeGetSystemDataPosAck'(Val, TagIn); + +'enc_KmeGetSystemDataPosAck'(Val, TagIn) -> +?RT_BER:encode_octet_string([], Val, TagIn ++ []). + + +'dec_KmeGetSystemDataPosAck'(Bytes, OptOrMand) -> + 'dec_KmeGetSystemDataPosAck'(Bytes, OptOrMand, []). + +'dec_KmeGetSystemDataPosAck'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_octet_string(Bytes,[],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% KmeSystemCrossRefID +%%================================ + +'enc_KmeSystemCrossRefID'({'KmeSystemCrossRefID',Val}, TagIn) -> + 'enc_KmeSystemCrossRefID'(Val, TagIn); + +'enc_KmeSystemCrossRefID'(Val, TagIn) -> +?RT_BER:encode_octet_string([], Val, TagIn ++ []). + + +'dec_KmeSystemCrossRefID'(Bytes, OptOrMand) -> + 'dec_KmeSystemCrossRefID'(Bytes, OptOrMand, []). + +'dec_KmeSystemCrossRefID'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_octet_string(Bytes,4,TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% KmeLockSystemData +%%================================ + +'enc_KmeLockSystemData'({'KmeLockSystemData',Val}, TagIn) -> + 'enc_KmeLockSystemData'(Val, TagIn); + +'enc_KmeLockSystemData'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + request -> + 'enc_KmeLockSystemData_request'(element(2,Val), []); + lockResult -> + ?RT_BER:encode_octet_string([], element(2,Val), []); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + + +%%================================ +%% KmeLockSystemData_request +%%================================ +'enc_KmeLockSystemData_request'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type BOOLEAN +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_boolean(?RT_BER:cindex(2,Val,systemDataLock), []), + +%%------------------------------------------------- +%% attribute number 2 with type CHOICE +%%------------------------------------------------- + {EncBytes2,EncLen2} = 'enc_KmeLockSystemData_request_id'(?RT_BER:cindex(3,Val,id), []), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + + +%%================================ +%% KmeLockSystemData_request_id +%%================================ + +'enc_KmeLockSystemData_request_id'({'KmeLockSystemData_request_id',Val}, TagIn) -> + 'enc_KmeLockSystemData_request_id'(Val, TagIn); + +'enc_KmeLockSystemData_request_id'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + lock -> + 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), []); + unlock -> + ?RT_BER:encode_octet_string([], element(2,Val), []); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + +'dec_KmeLockSystemData_request_id'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'lock' + <<0:2,_:1,16:5,_/binary>> -> + {Dec, Rest, RbCho} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes1, mandatory, []), + {{lock, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'unlock' + <<0:2,_:1,4:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,4,[], no_length, mandatory), + {{unlock, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. +'dec_KmeLockSystemData_request'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type BOOLEAN +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_boolean(Bytes2,[], mandatory), + +%%------------------------------------------------- +%% attribute number 2 with type CHOICE +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = 'dec_KmeLockSystemData_request_id'(Bytes3, mandatory, []), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeLockSystemData_request', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +'dec_KmeLockSystemData'(Bytes, OptOrMand) -> + 'dec_KmeLockSystemData'(Bytes, OptOrMand, []). + +'dec_KmeLockSystemData'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'request' + <<0:2,_:1,16:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeLockSystemData_request'(Bytes1, mandatory, []), + {{request, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'lockResult' + <<0:2,_:1,4:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,4,[], no_length, mandatory), + {{lockResult, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmeSystemDataStatus +%%================================ +'enc_KmeSystemDataStatus'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type BOOLEAN +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_boolean(?RT_BER:cindex(2,Val,systemDataLock), []), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-device-identifiers:DeviceID OPTIONAL +%%------------------------------------------------- + {EncBytes2,EncLen2} = case ?RT_BER:cindex(3,Val,lockingDevice) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(3,Val,lockingDevice), []) + end, + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeSystemDataStatus'(Bytes, OptOrMand) -> + 'dec_KmeSystemDataStatus'(Bytes, OptOrMand, []). + +'dec_KmeSystemDataStatus'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type BOOLEAN +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_boolean(Bytes2,[], mandatory), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-device-identifiers:DeviceID OPTIONAL +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = case Bytes3 of +<<0:2,_:1,16:5,_/binary>> -> +'CSTA-device-identifiers':'dec_DeviceID'(Bytes3, opt_or_default, []); +_ -> +{ asn1_NOVALUE, Bytes3, 0 } +end, + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeSystemDataStatus', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmeSystemDataRevision +%%================================ + +'enc_KmeSystemDataRevision'({'KmeSystemDataRevision',Val}, TagIn) -> + 'enc_KmeSystemDataRevision'(Val, TagIn); + +'enc_KmeSystemDataRevision'(Val, TagIn) -> +?RT_BER:encode_octet_string([], Val, TagIn ++ []). + + +'dec_KmeSystemDataRevision'(Bytes, OptOrMand) -> + 'dec_KmeSystemDataRevision'(Bytes, OptOrMand, []). + +'dec_KmeSystemDataRevision'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_octet_string(Bytes,{0,128},TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% KmeGetSystemDataRevision +%%================================ + +'enc_KmeGetSystemDataRevision'({'KmeGetSystemDataRevision',Val}, TagIn) -> + 'enc_KmeGetSystemDataRevision'(Val, TagIn); + +'enc_KmeGetSystemDataRevision'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + request -> + case (case element(2,Val) of {_,Enumval1}->Enumval1;_->element(2,Val) end) of +systemDataRevision -> ?RT_BER:encode_enumerated(0,[]); +speedDialRevision -> ?RT_BER:encode_enumerated(1,[]); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end; + result -> + ?RT_BER:encode_octet_string([], element(2,Val), []); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_KmeGetSystemDataRevision'(Bytes, OptOrMand) -> + 'dec_KmeGetSystemDataRevision'(Bytes, OptOrMand, []). + +'dec_KmeGetSystemDataRevision'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'request' + <<0:2,_:1,10:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_enumerated(Bytes1,[],[{systemDataRevision,0},{speedDialRevision,1}],[], mandatory), + {{request, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'result' + <<0:2,_:1,4:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{0,128},[], no_length, mandatory), + {{result, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmeRevisionType +%%================================ + +'enc_KmeRevisionType'({'KmeRevisionType',Val}, TagIn) -> + 'enc_KmeRevisionType'(Val, TagIn); + +'enc_KmeRevisionType'(Val, TagIn) -> +case (case Val of {_,Enumval1}->Enumval1;_->Val end) of +systemDataRevision -> ?RT_BER:encode_enumerated(0,TagIn ++ []); +speedDialRevision -> ?RT_BER:encode_enumerated(1,TagIn ++ []); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end. + + +'dec_KmeRevisionType'(Bytes, OptOrMand) -> + 'dec_KmeRevisionType'(Bytes, OptOrMand, []). + +'dec_KmeRevisionType'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_enumerated(Bytes,[],[{systemDataRevision,0},{speedDialRevision,1}],TagIn++[], OptOrMand). + + + +%%================================ +%% ProgrammingEventOn +%%================================ + +'enc_ProgrammingEventOn'({'ProgrammingEventOn',Val}, TagIn) -> + 'enc_ProgrammingEventOn'(Val, TagIn); + +'enc_ProgrammingEventOn'(Val, TagIn) -> +?RT_BER:encode_boolean(Val, TagIn ++ []). + + +'dec_ProgrammingEventOn'(Bytes, OptOrMand) -> + 'dec_ProgrammingEventOn'(Bytes, OptOrMand, []). + +'dec_ProgrammingEventOn'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_boolean(Bytes,TagIn++[], OptOrMand). + + + +%%================================ +%% KmeSetProgrammingEventOn +%%================================ + +'enc_KmeSetProgrammingEventOn'({'KmeSetProgrammingEventOn',Val}, TagIn) -> + 'enc_KmeSetProgrammingEventOn'(Val, TagIn); + +'enc_KmeSetProgrammingEventOn'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + request -> + ?RT_BER:encode_boolean(element(2,Val), []); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_KmeSetProgrammingEventOn'(Bytes, OptOrMand) -> + 'dec_KmeSetProgrammingEventOn'(Bytes, OptOrMand, []). + +'dec_KmeSetProgrammingEventOn'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'request' + <<0:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_boolean(Bytes1,[], mandatory), + {{request, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmeLocalAlerm +%%================================ + +'enc_KmeLocalAlerm'({'KmeLocalAlerm',Val}, TagIn) -> + 'enc_KmeLocalAlerm'(Val, TagIn); + +'enc_KmeLocalAlerm'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + singleMessage -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + wideMessage -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_KmeLocalAlerm'(Bytes, OptOrMand) -> + 'dec_KmeLocalAlerm'(Bytes, OptOrMand, []). + +'dec_KmeLocalAlerm'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'singleMessage' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{0,24},[{tag,128,0,'EXPLICIT',32}], no_length, mandatory), + {{singleMessage, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'wideMessage' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{0,48},[{tag,128,1,'EXPLICIT',32}], no_length, mandatory), + {{wideMessage, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmeTrunkId +%%================================ + +'enc_KmeTrunkId'({'KmeTrunkId',Val}, TagIn) -> + 'enc_KmeTrunkId'(Val, TagIn); + +'enc_KmeTrunkId'(Val, TagIn) -> + 'CSTA-device-identifiers':'enc_DeviceID'(Val, TagIn ++ []). + + +'dec_KmeTrunkId'(Bytes, OptOrMand) -> + 'dec_KmeTrunkId'(Bytes, OptOrMand, []). + +'dec_KmeTrunkId'(Bytes, OptOrMand, TagIn) -> +'CSTA-device-identifiers':'dec_DeviceID'(Bytes, OptOrMand, TagIn++[]). + + + +%%================================ +%% KmeOtherDevice +%%================================ + +'enc_KmeOtherDevice'({'KmeOtherDevice',Val}, TagIn) -> + 'enc_KmeOtherDevice'(Val, TagIn); + +'enc_KmeOtherDevice'(Val, TagIn) -> +case (case Val of {_,Enumval1}->Enumval1;_->Val end) of +vm -> ?RT_BER:encode_enumerated(0,TagIn ++ []); +doorPhone -> ?RT_BER:encode_enumerated(1,TagIn ++ []); +disa -> ?RT_BER:encode_enumerated(2,TagIn ++ []); +pagingGroup -> ?RT_BER:encode_enumerated(3,TagIn ++ []); +psGruop -> ?RT_BER:encode_enumerated(4,TagIn ++ []); +externalRinger -> ?RT_BER:encode_enumerated(5,TagIn ++ []); +externalSensor -> ?RT_BER:encode_enumerated(6,TagIn ++ []); +externalPager -> ?RT_BER:encode_enumerated(7,TagIn ++ []); +modem -> ?RT_BER:encode_enumerated(8,TagIn ++ []); +hdlc -> ?RT_BER:encode_enumerated(9,TagIn ++ []); +pbxSystem -> ?RT_BER:encode_enumerated(10,TagIn ++ []); +svm -> ?RT_BER:encode_enumerated(11,TagIn ++ []); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end. + + +'dec_KmeOtherDevice'(Bytes, OptOrMand) -> + 'dec_KmeOtherDevice'(Bytes, OptOrMand, []). + +'dec_KmeOtherDevice'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_enumerated(Bytes,[],[{vm,0},{doorPhone,1},{disa,2},{pagingGroup,3},{psGruop,4},{externalRinger,5},{externalSensor,6},{externalPager,7},{modem,8},{hdlc,9},{pbxSystem,10},{svm,11}],TagIn++[], OptOrMand). + + + +%%================================ +%% KmeCdrConditionCode +%%================================ + +'enc_KmeCdrConditionCode'({'KmeCdrConditionCode',Val}, TagIn) -> + 'enc_KmeCdrConditionCode'(Val, TagIn); + +'enc_KmeCdrConditionCode'(Val, TagIn) -> +case (case Val of {_,Enumval1}->Enumval1;_->Val end) of +cl -> ?RT_BER:encode_enumerated(0,TagIn ++ []); +tr -> ?RT_BER:encode_enumerated(1,TagIn ++ []); +fw -> ?RT_BER:encode_enumerated(2,TagIn ++ []); +d0 -> ?RT_BER:encode_enumerated(3,TagIn ++ []); +rm -> ?RT_BER:encode_enumerated(4,TagIn ++ []); +na -> ?RT_BER:encode_enumerated(5,TagIn ++ []); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end. + + +'dec_KmeCdrConditionCode'(Bytes, OptOrMand) -> + 'dec_KmeCdrConditionCode'(Bytes, OptOrMand, []). + +'dec_KmeCdrConditionCode'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_enumerated(Bytes,[],[{cl,0},{tr,1},{fw,2},{d0,3},{rm,4},{na,5}],TagIn++[], OptOrMand). + + + +%%================================ +%% KmeFeatureNumber +%%================================ + +'enc_KmeFeatureNumber'({'KmeFeatureNumber',Val}, TagIn) -> + 'enc_KmeFeatureNumber'(Val, TagIn); + +'enc_KmeFeatureNumber'(Val, TagIn) -> +?RT_BER:encode_integer([], Val, TagIn ++ []). + + +'dec_KmeFeatureNumber'(Bytes, OptOrMand) -> + 'dec_KmeFeatureNumber'(Bytes, OptOrMand, []). + +'dec_KmeFeatureNumber'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_integer(Bytes,[],TagIn++[], OptOrMand). + + + +%%================================ +%% KmeProprietaryChars +%%================================ + +'enc_KmeProprietaryChars'({'KmeProprietaryChars',Val}, TagIn) -> + 'enc_KmeProprietaryChars'(Val, TagIn); + +'enc_KmeProprietaryChars'(Val, TagIn) -> +?RT_BER:encode_octet_string([], Val, TagIn ++ []). + + +'dec_KmeProprietaryChars'(Bytes, OptOrMand) -> + 'dec_KmeProprietaryChars'(Bytes, OptOrMand, []). + +'dec_KmeProprietaryChars'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_octet_string(Bytes,{0,144},TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% KmeHoldType +%%================================ + +'enc_KmeHoldType'({'KmeHoldType',Val}, TagIn) -> + 'enc_KmeHoldType'(Val, TagIn); + +'enc_KmeHoldType'(Val, TagIn) -> +case (case Val of {_,Enumval1}->Enumval1;_->Val end) of +consultation -> ?RT_BER:encode_enumerated(0,TagIn ++ []); +normal -> ?RT_BER:encode_enumerated(1,TagIn ++ []); +exclusive -> ?RT_BER:encode_enumerated(2,TagIn ++ []); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end. + + +'dec_KmeHoldType'(Bytes, OptOrMand) -> + 'dec_KmeHoldType'(Bytes, OptOrMand, []). + +'dec_KmeHoldType'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_enumerated(Bytes,[],[{consultation,0},{normal,1},{exclusive,2}],TagIn++[], OptOrMand). + + + +%%================================ +%% KmeForcedAlerting +%%================================ + +'enc_KmeForcedAlerting'({'KmeForcedAlerting',Val}, TagIn) -> + 'enc_KmeForcedAlerting'(Val, TagIn); + +'enc_KmeForcedAlerting'(Val, TagIn) -> +?RT_BER:encode_bit_string([], Val, [{fwdDnd,0},{timer,1}], TagIn ++ []). + + +'dec_KmeForcedAlerting'(Bytes, OptOrMand) -> + 'dec_KmeForcedAlerting'(Bytes, OptOrMand, []). + +'dec_KmeForcedAlerting'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_bit_string(Bytes,[],[{fwdDnd,0},{timer,1}],TagIn++[], no_length, OptOrMand). + + + +%%================================ +%% KmeDigitsReport +%%================================ +'enc_KmeDigitsReport'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-call-connection-identifiers:ConnectionID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-call-connection-identifiers':'enc_ConnectionID'(?RT_BER:cindex(2,Val,connection), []), + +%%------------------------------------------------- +%% attribute number 2 with type IA5String +%%------------------------------------------------- + {EncBytes2,EncLen2} = ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(3,Val,digits), 22, []), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeDigitsReport'(Bytes, OptOrMand) -> + 'dec_KmeDigitsReport'(Bytes, OptOrMand, []). + +'dec_KmeDigitsReport'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-call-connection-identifiers:ConnectionID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-call-connection-identifiers':'dec_ConnectionID'(Bytes2, mandatory, []), + +%%------------------------------------------------- +%% attribute number 2 with type IA5String +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_restricted_string(Bytes3,{0,64},22,[], no_length, mandatory), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeDigitsReport', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmeOgmStatus +%%================================ +'enc_KmeOgmStatus'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-call-connection-identifiers:ConnectionID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-call-connection-identifiers':'enc_ConnectionID'(?RT_BER:cindex(2,Val,connection), []), + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED +%%------------------------------------------------- + {EncBytes2,EncLen2} = case (case ?RT_BER:cindex(3,Val,state) of {_,Enumval1}->Enumval1;_->?RT_BER:cindex(3,Val,state) end) of +started -> ?RT_BER:encode_enumerated(0,[]); +ended -> ?RT_BER:encode_enumerated(1,[]); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end, + +%%------------------------------------------------- +%% attribute number 3 with type INTEGER +%%------------------------------------------------- + {EncBytes3,EncLen3} = ?RT_BER:encode_integer([], ?RT_BER:cindex(4,Val,ogmId), []), + +%%------------------------------------------------- +%% attribute number 4 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes4,EncLen4} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(5,Val,ogmPortNumber), []), + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4], + LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeOgmStatus'(Bytes, OptOrMand) -> + 'dec_KmeOgmStatus'(Bytes, OptOrMand, []). + +'dec_KmeOgmStatus'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-call-connection-identifiers:ConnectionID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-call-connection-identifiers':'dec_ConnectionID'(Bytes2, mandatory, []), + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_enumerated(Bytes3,[],[{started,0},{ended,1}],[], mandatory), + +%%------------------------------------------------- +%% attribute number 3 with type INTEGER +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = ?RT_BER:decode_integer(Bytes4,[],[], mandatory), + +%%------------------------------------------------- +%% attribute number 4 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term4,Bytes6,Rb5} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes5, mandatory, []), + + {Bytes7,Rb6} = ?RT_BER:restbytes2(RemBytes, Bytes6,noext), + {{'KmeOgmStatus', Term1, Term2, Term3, Term4}, Bytes7, Rb1+Rb2+Rb3+Rb4+Rb5+Rb6}. + + +%%================================ +%% KmeWakeupResult +%%================================ +'enc_KmeWakeupResult'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,device), []), + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED +%%------------------------------------------------- + {EncBytes2,EncLen2} = case (case ?RT_BER:cindex(3,Val,state) of {_,Enumval1}->Enumval1;_->?RT_BER:cindex(3,Val,state) end) of +answered -> ?RT_BER:encode_enumerated(0,[]); +noAnswer -> ?RT_BER:encode_enumerated(1,[]); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end, + +%%------------------------------------------------- +%% attribute number 3 External KME-specific-types:KmeWakeUpTime +%%------------------------------------------------- + {EncBytes3,EncLen3} = 'enc_KmeWakeUpTime'(?RT_BER:cindex(4,Val,wakeupTime), []), + +%%------------------------------------------------- +%% attribute number 4 with type GeneralizedTime +%%------------------------------------------------- + {EncBytes4,EncLen4} = ?RT_BER:encode_generalized_time([], ?RT_BER:cindex(5,Val,invokeTime), []), + +%%------------------------------------------------- +%% attribute number 5 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes5,EncLen5} = case ?RT_BER:cindex(6,Val,restOfRetry) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(6,Val,restOfRetry), []) + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5], + LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeWakeupResult'(Bytes, OptOrMand) -> + 'dec_KmeWakeupResult'(Bytes, OptOrMand, []). + +'dec_KmeWakeupResult'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, []), + +%%------------------------------------------------- +%% attribute number 2 with type ENUMERATED +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_enumerated(Bytes3,[],[{answered,0},{noAnswer,1}],[], mandatory), + +%%------------------------------------------------- +%% attribute number 3 External KME-specific-types:KmeWakeUpTime +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = 'dec_KmeWakeUpTime'(Bytes4, mandatory, []), + +%%------------------------------------------------- +%% attribute number 4 with type GeneralizedTime +%%------------------------------------------------- + {Term4,Bytes6,Rb5} = ?RT_BER:decode_generalized_time(Bytes5,[],[], no_length, mandatory), + +%%------------------------------------------------- +%% attribute number 5 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term5,Bytes7,Rb6} = case Bytes6 of +<<0:2,_:1,2:5,_/binary>> -> +?RT_BER:decode_integer(Bytes6,[],[], mandatory); +_ -> +{ asn1_NOVALUE, Bytes6, 0 } +end, + + {Bytes8,Rb7} = ?RT_BER:restbytes2(RemBytes, Bytes7,noext), + {{'KmeWakeupResult', Term1, Term2, Term3, Term4, Term5}, Bytes8, Rb1+Rb2+Rb3+Rb4+Rb5+Rb6+Rb7}. + + +%%================================ +%% KmeUnconferenced +%%================================ +'enc_KmeUnconferenced'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(2,Val,unconferencingDevice), []), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-call-connection-identifiers:ConnectionID +%%------------------------------------------------- + {EncBytes2,EncLen2} = 'CSTA-call-connection-identifiers':'enc_ConnectionID'(?RT_BER:cindex(3,Val,primaryCall), []), + +%%------------------------------------------------- +%% attribute number 3 External CSTA-call-connection-identifiers:ConnectionID OPTIONAL +%%------------------------------------------------- + {EncBytes3,EncLen3} = case ?RT_BER:cindex(4,Val,secodaryCall) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'CSTA-call-connection-identifiers':'enc_ConnectionID'(?RT_BER:cindex(4,Val,secodaryCall), []) + end, + +%%------------------------------------------------- +%% attribute number 4 External CSTA-device-identifiers:DeviceID OPTIONAL +%%------------------------------------------------- + {EncBytes4,EncLen4} = case ?RT_BER:cindex(5,Val,primaryNID) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(5,Val,primaryNID), [{tag,128,1,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 5 External CSTA-device-identifiers:DeviceID OPTIONAL +%%------------------------------------------------- + {EncBytes5,EncLen5} = case ?RT_BER:cindex(6,Val,secondaryNID) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(6,Val,secondaryNID), [{tag,128,2,'EXPLICIT',32}]) + end, + +%%------------------------------------------------- +%% attribute number 6 with type ENUMERATED +%%------------------------------------------------- + {EncBytes6,EncLen6} = case (case ?RT_BER:cindex(7,Val,primaryConnectionInfo) of {_,Enumval1}->Enumval1;_->?RT_BER:cindex(7,Val,primaryConnectionInfo) end) of +null -> ?RT_BER:encode_enumerated(0,[{tag,64,14,'IMPLICIT',32}]); +initiated -> ?RT_BER:encode_enumerated(1,[{tag,64,14,'IMPLICIT',32}]); +alerting -> ?RT_BER:encode_enumerated(2,[{tag,64,14,'IMPLICIT',32}]); +connected -> ?RT_BER:encode_enumerated(3,[{tag,64,14,'IMPLICIT',32}]); +hold -> ?RT_BER:encode_enumerated(4,[{tag,64,14,'IMPLICIT',32}]); +queued -> ?RT_BER:encode_enumerated(5,[{tag,64,14,'IMPLICIT',32}]); +fail -> ?RT_BER:encode_enumerated(6,[{tag,64,14,'IMPLICIT',32}]); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end, + +%%------------------------------------------------- +%% attribute number 7 with type ENUMERATED OPTIONAL +%%------------------------------------------------- + {EncBytes7,EncLen7} = case ?RT_BER:cindex(8,Val,secondaryConnectionInfo) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + case (case ?RT_BER:cindex(8,Val,secondaryConnectionInfo) of {_,Enumval3}->Enumval3;_->?RT_BER:cindex(8,Val,secondaryConnectionInfo) end) of +null -> ?RT_BER:encode_enumerated(0,[{tag,64,14,'IMPLICIT',32}]); +initiated -> ?RT_BER:encode_enumerated(1,[{tag,64,14,'IMPLICIT',32}]); +alerting -> ?RT_BER:encode_enumerated(2,[{tag,64,14,'IMPLICIT',32}]); +connected -> ?RT_BER:encode_enumerated(3,[{tag,64,14,'IMPLICIT',32}]); +hold -> ?RT_BER:encode_enumerated(4,[{tag,64,14,'IMPLICIT',32}]); +queued -> ?RT_BER:encode_enumerated(5,[{tag,64,14,'IMPLICIT',32}]); +fail -> ?RT_BER:encode_enumerated(6,[{tag,64,14,'IMPLICIT',32}]); +Enumval4 -> exit({error,{asn1, {enumerated_not_in_range,Enumval4}}}) +end + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5, EncBytes6, EncBytes7], + LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5 + EncLen6 + EncLen7, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeUnconferenced'(Bytes, OptOrMand) -> + 'dec_KmeUnconferenced'(Bytes, OptOrMand, []). + +'dec_KmeUnconferenced'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-device-identifiers:DeviceID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes2, mandatory, []), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-call-connection-identifiers:ConnectionID +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = 'CSTA-call-connection-identifiers':'dec_ConnectionID'(Bytes3, mandatory, []), + +%%------------------------------------------------- +%% attribute number 3 External CSTA-call-connection-identifiers:ConnectionID OPTIONAL +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = case Bytes4 of +<<1:2,_:1,11:5,_/binary>> -> +'CSTA-call-connection-identifiers':'dec_ConnectionID'(Bytes4, opt_or_default, []); +_ -> +{ asn1_NOVALUE, Bytes4, 0 } +end, + +%%------------------------------------------------- +%% attribute number 4 External CSTA-device-identifiers:DeviceID OPTIONAL +%%------------------------------------------------- + {Term4,Bytes6,Rb5} = case Bytes5 of +<<2:2,_:1,1:5,_/binary>> -> +'CSTA-device-identifiers':'dec_DeviceID'(Bytes5, opt_or_default, [{tag,128,1,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes5, 0 } +end, + +%%------------------------------------------------- +%% attribute number 5 External CSTA-device-identifiers:DeviceID OPTIONAL +%%------------------------------------------------- + {Term5,Bytes7,Rb6} = case Bytes6 of +<<2:2,_:1,2:5,_/binary>> -> +'CSTA-device-identifiers':'dec_DeviceID'(Bytes6, opt_or_default, [{tag,128,2,'EXPLICIT',32}]); +_ -> +{ asn1_NOVALUE, Bytes6, 0 } +end, + +%%------------------------------------------------- +%% attribute number 6 with type ENUMERATED +%%------------------------------------------------- + {Term6,Bytes8,Rb7} = ?RT_BER:decode_enumerated(Bytes7,[],[{null,0},{initiated,1},{alerting,2},{connected,3},{hold,4},{queued,5},{fail,6}],[{tag,64,14,'IMPLICIT',32}], mandatory), + +%%------------------------------------------------- +%% attribute number 7 with type ENUMERATED OPTIONAL +%%------------------------------------------------- + {Term7,Bytes9,Rb8} = case Bytes8 of +<<1:2,_:1,14:5,_/binary>> -> +?RT_BER:decode_enumerated(Bytes8,[],[{null,0},{initiated,1},{alerting,2},{connected,3},{hold,4},{queued,5},{fail,6}],[{tag,64,14,'IMPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes8, 0 } +end, + + {Bytes10,Rb9} = ?RT_BER:restbytes2(RemBytes, Bytes9,noext), + {{'KmeUnconferenced', Term1, Term2, Term3, Term4, Term5, Term6, Term7}, Bytes10, Rb1+Rb2+Rb3+Rb4+Rb5+Rb6+Rb7+Rb8+Rb9}. + + +%%================================ +%% KmeTamEnded +%%================================ + +'enc_KmeTamEnded'({'KmeTamEnded',Val}, TagIn) -> + 'enc_KmeTamEnded'(Val, TagIn); + +'enc_KmeTamEnded'(Val, TagIn) -> + 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Val, TagIn ++ []). + + +'dec_KmeTamEnded'(Bytes, OptOrMand) -> + 'dec_KmeTamEnded'(Bytes, OptOrMand, []). + +'dec_KmeTamEnded'(Bytes, OptOrMand, TagIn) -> +'CSTA-call-connection-identifiers':'dec_ConnectionID'(Bytes, OptOrMand, TagIn++[]). + + + +%%================================ +%% KmePcRecEnded +%%================================ + +'enc_KmePcRecEnded'({'KmePcRecEnded',Val}, TagIn) -> + 'enc_KmePcRecEnded'(Val, TagIn); + +'enc_KmePcRecEnded'(Val, TagIn) -> + 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Val, TagIn ++ []). + + +'dec_KmePcRecEnded'(Bytes, OptOrMand) -> + 'dec_KmePcRecEnded'(Bytes, OptOrMand, []). + +'dec_KmePcRecEnded'(Bytes, OptOrMand, TagIn) -> +'CSTA-call-connection-identifiers':'dec_ConnectionID'(Bytes, OptOrMand, TagIn++[]). + + + +%%================================ +%% KmeSwitchChannel +%%================================ + +'enc_KmeSwitchChannel'({'KmeSwitchChannel',Val}, TagIn) -> + 'enc_KmeSwitchChannel'(Val, TagIn); + +'enc_KmeSwitchChannel'(Val, TagIn) -> + 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Val, TagIn ++ []). + + +'dec_KmeSwitchChannel'(Bytes, OptOrMand) -> + 'dec_KmeSwitchChannel'(Bytes, OptOrMand, []). + +'dec_KmeSwitchChannel'(Bytes, OptOrMand, TagIn) -> +'CSTA-call-connection-identifiers':'dec_ConnectionID'(Bytes, OptOrMand, TagIn++[]). + + + +%%================================ +%% KmeFreeOgmPort +%%================================ + +'enc_KmeFreeOgmPort'({'KmeFreeOgmPort',Val}, TagIn) -> + 'enc_KmeFreeOgmPort'(Val, TagIn); + +'enc_KmeFreeOgmPort'(Val, TagIn) -> +?RT_BER:encode_integer([], Val, TagIn ++ []). + + +'dec_KmeFreeOgmPort'(Bytes, OptOrMand) -> + 'dec_KmeFreeOgmPort'(Bytes, OptOrMand, []). + +'dec_KmeFreeOgmPort'(Bytes, OptOrMand, TagIn) -> +?RT_BER:decode_integer(Bytes,[],TagIn++[], OptOrMand). + + + +%%================================ +%% KmeCallControlSrvEvt +%%================================ + +'enc_KmeCallControlSrvEvt'({'KmeCallControlSrvEvt',Val}, TagIn) -> + 'enc_KmeCallControlSrvEvt'(Val, TagIn); + +'enc_KmeCallControlSrvEvt'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + dndOverride -> + 'enc_KmeDndOverride'(element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + interuptCall -> + 'enc_KmeInteruptCall'(element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + eFA -> + 'enc_KmeExternalFeatureAccess'(element(2,Val), [{tag,128,2,'EXPLICIT',32}]); + tempTollChange -> + 'enc_KmeTempTollChange'(element(2,Val), [{tag,128,3,'EXPLICIT',32}]); + doorOpen -> + 'enc_KmeDoorOpen'(element(2,Val), [{tag,128,4,'EXPLICIT',32}]); + twoWayRec -> + 'enc_KmeTwoWayRec'(element(2,Val), [{tag,128,5,'EXPLICIT',32}]); + callBackInvoke -> + 'enc_KmeCallBackInvoke'(element(2,Val), [{tag,128,6,'EXPLICIT',32}]); + pcRec -> + 'enc_KmePcRec'(element(2,Val), [{tag,128,7,'EXPLICIT',32}]); + switchChannel -> + 'enc_KmeSwitchChannel'(element(2,Val), [{tag,128,8,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_KmeCallControlSrvEvt'(Bytes, OptOrMand) -> + 'dec_KmeCallControlSrvEvt'(Bytes, OptOrMand, []). + +'dec_KmeCallControlSrvEvt'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'dndOverride' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeDndOverride'(Bytes1, mandatory, [{tag,128,0,'EXPLICIT',32}]), + {{dndOverride, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'interuptCall' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeInteruptCall'(Bytes1, mandatory, [{tag,128,1,'EXPLICIT',32}]), + {{interuptCall, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'eFA' + <<2:2,_:1,2:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeExternalFeatureAccess'(Bytes1, mandatory, [{tag,128,2,'EXPLICIT',32}]), + {{eFA, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'tempTollChange' + <<2:2,_:1,3:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeTempTollChange'(Bytes1, mandatory, [{tag,128,3,'EXPLICIT',32}]), + {{tempTollChange, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'doorOpen' + <<2:2,_:1,4:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeDoorOpen'(Bytes1, mandatory, [{tag,128,4,'EXPLICIT',32}]), + {{doorOpen, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'twoWayRec' + <<2:2,_:1,5:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeTwoWayRec'(Bytes1, mandatory, [{tag,128,5,'EXPLICIT',32}]), + {{twoWayRec, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'callBackInvoke' + <<2:2,_:1,6:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeCallBackInvoke'(Bytes1, mandatory, [{tag,128,6,'EXPLICIT',32}]), + {{callBackInvoke, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'pcRec' + <<2:2,_:1,7:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmePcRec'(Bytes1, mandatory, [{tag,128,7,'EXPLICIT',32}]), + {{pcRec, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'switchChannel' + <<2:2,_:1,8:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeSwitchChannel'(Bytes1, mandatory, [{tag,128,8,'EXPLICIT',32}]), + {{switchChannel, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmeDeviceStatus +%%================================ + +'enc_KmeDeviceStatus'({'KmeDeviceStatus',Val}, TagIn) -> + 'enc_KmeDeviceStatus'(Val, TagIn); + +'enc_KmeDeviceStatus'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + agentStatus -> + 'enc_KmeDeviceAgentStatus'(element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + callStatus -> + 'enc_KmeDeviceCallStatus'(element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + serviceStatus -> + 'enc_KmeDeviceServiceStatus'(element(2,Val), [{tag,128,2,'EXPLICIT',32}]); + lineStatus -> + 'enc_KmeLineStatus'(element(2,Val), [{tag,128,3,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_KmeDeviceStatus'(Bytes, OptOrMand) -> + 'dec_KmeDeviceStatus'(Bytes, OptOrMand, []). + +'dec_KmeDeviceStatus'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'agentStatus' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeDeviceAgentStatus'(Bytes1, mandatory, [{tag,128,0,'EXPLICIT',32}]), + {{agentStatus, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'callStatus' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeDeviceCallStatus'(Bytes1, mandatory, [{tag,128,1,'EXPLICIT',32}]), + {{callStatus, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'serviceStatus' + <<2:2,_:1,2:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeDeviceServiceStatus'(Bytes1, mandatory, [{tag,128,2,'EXPLICIT',32}]), + {{serviceStatus, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'lineStatus' + <<2:2,_:1,3:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeLineStatus'(Bytes1, mandatory, [{tag,128,3,'EXPLICIT',32}]), + {{lineStatus, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmeDeviceMonitor +%%================================ + +'enc_KmeDeviceMonitor'({'KmeDeviceMonitor',Val}, TagIn) -> + 'enc_KmeDeviceMonitor'(Val, TagIn); + +'enc_KmeDeviceMonitor'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + startDeviceMonitor -> + 'enc_KmeStartDeviceMonitor'(element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + stopDeviceMonitor -> + ?RT_BER:encode_null(element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_KmeDeviceMonitor'(Bytes, OptOrMand) -> + 'dec_KmeDeviceMonitor'(Bytes, OptOrMand, []). + +'dec_KmeDeviceMonitor'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'startDeviceMonitor' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeStartDeviceMonitor'(Bytes1, mandatory, [{tag,128,0,'EXPLICIT',32}]), + {{startDeviceMonitor, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'stopDeviceMonitor' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_null(Bytes1,[{tag,128,1,'EXPLICIT',32}], mandatory), + {{stopDeviceMonitor, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmeSystemData +%%================================ + +'enc_KmeSystemData'({'KmeSystemData',Val}, TagIn) -> + 'enc_KmeSystemData'(Val, TagIn); + +'enc_KmeSystemData'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + getSystemData -> + 'enc_KmeGetSystemData'(element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + setSystemData -> + 'enc_KmeSetSystemData'(element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + systemDataChanged -> + 'enc_KmeSystemDataChanged'(element(2,Val), [{tag,128,2,'EXPLICIT',32}]); + systemDataLinkedReply -> + 'enc_KmeSystemDataLinkedReply'(element(2,Val), [{tag,128,3,'EXPLICIT',32}]); + getSystemDataPosAck -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,4,'EXPLICIT',32}]); + lockSystemData -> + 'enc_KmeLockSystemData'(element(2,Val), [{tag,128,5,'EXPLICIT',32}]); + systemDataStatus -> + 'enc_KmeSystemDataStatus'(element(2,Val), [{tag,128,6,'EXPLICIT',32}]); + dataRevisionRecord -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,7,'EXPLICIT',32}]); + getDataRevisionRecord -> + 'enc_KmeGetSystemDataRevision'(element(2,Val), [{tag,128,8,'EXPLICIT',32}]); + setprogrammingEventOn -> + 'enc_KmeSetProgrammingEventOn'(element(2,Val), [{tag,128,9,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_KmeSystemData'(Bytes, OptOrMand) -> + 'dec_KmeSystemData'(Bytes, OptOrMand, []). + +'dec_KmeSystemData'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'getSystemData' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeGetSystemData'(Bytes1, mandatory, [{tag,128,0,'EXPLICIT',32}]), + {{getSystemData, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'setSystemData' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeSetSystemData'(Bytes1, mandatory, [{tag,128,1,'EXPLICIT',32}]), + {{setSystemData, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'systemDataChanged' + <<2:2,_:1,2:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeSystemDataChanged'(Bytes1, mandatory, [{tag,128,2,'EXPLICIT',32}]), + {{systemDataChanged, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'systemDataLinkedReply' + <<2:2,_:1,3:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeSystemDataLinkedReply'(Bytes1, mandatory, [{tag,128,3,'EXPLICIT',32}]), + {{systemDataLinkedReply, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'getSystemDataPosAck' + <<2:2,_:1,4:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,[],[{tag,128,4,'EXPLICIT',32}], no_length, mandatory), + {{getSystemDataPosAck, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'lockSystemData' + <<2:2,_:1,5:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeLockSystemData'(Bytes1, mandatory, [{tag,128,5,'EXPLICIT',32}]), + {{lockSystemData, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'systemDataStatus' + <<2:2,_:1,6:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeSystemDataStatus'(Bytes1, mandatory, [{tag,128,6,'EXPLICIT',32}]), + {{systemDataStatus, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'dataRevisionRecord' + <<2:2,_:1,7:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{0,128},[{tag,128,7,'EXPLICIT',32}], no_length, mandatory), + {{dataRevisionRecord, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'getDataRevisionRecord' + <<2:2,_:1,8:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeGetSystemDataRevision'(Bytes1, mandatory, [{tag,128,8,'EXPLICIT',32}]), + {{getDataRevisionRecord, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'setprogrammingEventOn' + <<2:2,_:1,9:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeSetProgrammingEventOn'(Bytes1, mandatory, [{tag,128,9,'EXPLICIT',32}]), + {{setprogrammingEventOn, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmeAdditionalData +%%================================ + +'enc_KmeAdditionalData'({'KmeAdditionalData',Val}, TagIn) -> + 'enc_KmeAdditionalData'(Val, TagIn); + +'enc_KmeAdditionalData'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + fowardType -> + case (case element(2,Val) of {_,Enumval1}->Enumval1;_->element(2,Val) end) of +forwardImmediate -> ?RT_BER:encode_enumerated(0,[{tag,128,1,'EXPLICIT',32}]); +forwardBusy -> ?RT_BER:encode_enumerated(1,[{tag,128,1,'EXPLICIT',32}]); +forwardNoAns -> ?RT_BER:encode_enumerated(2,[{tag,128,1,'EXPLICIT',32}]); +forwardBusyInt -> ?RT_BER:encode_enumerated(3,[{tag,128,1,'EXPLICIT',32}]); +forwardBusyExt -> ?RT_BER:encode_enumerated(4,[{tag,128,1,'EXPLICIT',32}]); +forwardNoAnsInt -> ?RT_BER:encode_enumerated(5,[{tag,128,1,'EXPLICIT',32}]); +forwardNoAnsExt -> ?RT_BER:encode_enumerated(6,[{tag,128,1,'EXPLICIT',32}]); +forwardImmInt -> ?RT_BER:encode_enumerated(7,[{tag,128,1,'EXPLICIT',32}]); +forwardImmExt -> ?RT_BER:encode_enumerated(8,[{tag,128,1,'EXPLICIT',32}]); +forwardDND -> ?RT_BER:encode_enumerated(9,[{tag,128,1,'EXPLICIT',32}]); +forwardDNDInt -> ?RT_BER:encode_enumerated(10,[{tag,128,1,'EXPLICIT',32}]); +forwardDNDExt -> ?RT_BER:encode_enumerated(11,[{tag,128,1,'EXPLICIT',32}]); +forwardBusyNoAnswer -> ?RT_BER:encode_enumerated(12,[{tag,128,1,'EXPLICIT',32}]); +forwardBusyNoAnswerInt -> ?RT_BER:encode_enumerated(13,[{tag,128,1,'EXPLICIT',32}]); +forwardBusyNoAnswerExt -> ?RT_BER:encode_enumerated(14,[{tag,128,1,'EXPLICIT',32}]); +Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) +end; + trunkId -> + 'enc_KmeTrunkId'(element(2,Val), [{tag,128,2,'EXPLICIT',32}]); + otherDevice -> + case (case element(2,Val) of {_,Enumval3}->Enumval3;_->element(2,Val) end) of +vm -> ?RT_BER:encode_enumerated(0,[{tag,128,3,'EXPLICIT',32}]); +doorPhone -> ?RT_BER:encode_enumerated(1,[{tag,128,3,'EXPLICIT',32}]); +disa -> ?RT_BER:encode_enumerated(2,[{tag,128,3,'EXPLICIT',32}]); +pagingGroup -> ?RT_BER:encode_enumerated(3,[{tag,128,3,'EXPLICIT',32}]); +psGruop -> ?RT_BER:encode_enumerated(4,[{tag,128,3,'EXPLICIT',32}]); +externalRinger -> ?RT_BER:encode_enumerated(5,[{tag,128,3,'EXPLICIT',32}]); +externalSensor -> ?RT_BER:encode_enumerated(6,[{tag,128,3,'EXPLICIT',32}]); +externalPager -> ?RT_BER:encode_enumerated(7,[{tag,128,3,'EXPLICIT',32}]); +modem -> ?RT_BER:encode_enumerated(8,[{tag,128,3,'EXPLICIT',32}]); +hdlc -> ?RT_BER:encode_enumerated(9,[{tag,128,3,'EXPLICIT',32}]); +pbxSystem -> ?RT_BER:encode_enumerated(10,[{tag,128,3,'EXPLICIT',32}]); +svm -> ?RT_BER:encode_enumerated(11,[{tag,128,3,'EXPLICIT',32}]); +Enumval4 -> exit({error,{asn1, {enumerated_not_in_range,Enumval4}}}) +end; + vmRecExtNo -> + ?RT_BER:encode_restricted_string([], element(2,Val), 22, [{tag,128,4,'EXPLICIT',32}]); + deviceCategory -> + 'enc_KmeChangedDeviceCategory'(element(2,Val), [{tag,128,5,'EXPLICIT',32}]); + device -> + 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [{tag,128,6,'EXPLICIT',32}]); + featureNumber -> + ?RT_BER:encode_integer([], element(2,Val), [{tag,128,7,'EXPLICIT',32}]); + proprietaryContents -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,8,'EXPLICIT',32}]); + holdType -> + case (case element(2,Val) of {_,Enumval8}->Enumval8;_->element(2,Val) end) of +consultation -> ?RT_BER:encode_enumerated(0,[{tag,128,9,'EXPLICIT',32}]); +normal -> ?RT_BER:encode_enumerated(1,[{tag,128,9,'EXPLICIT',32}]); +exclusive -> ?RT_BER:encode_enumerated(2,[{tag,128,9,'EXPLICIT',32}]); +Enumval9 -> exit({error,{asn1, {enumerated_not_in_range,Enumval9}}}) +end; + conditionCode -> + case (case element(2,Val) of {_,Enumval10}->Enumval10;_->element(2,Val) end) of +cl -> ?RT_BER:encode_enumerated(0,[{tag,128,10,'EXPLICIT',32}]); +tr -> ?RT_BER:encode_enumerated(1,[{tag,128,10,'EXPLICIT',32}]); +fw -> ?RT_BER:encode_enumerated(2,[{tag,128,10,'EXPLICIT',32}]); +d0 -> ?RT_BER:encode_enumerated(3,[{tag,128,10,'EXPLICIT',32}]); +rm -> ?RT_BER:encode_enumerated(4,[{tag,128,10,'EXPLICIT',32}]); +na -> ?RT_BER:encode_enumerated(5,[{tag,128,10,'EXPLICIT',32}]); +Enumval11 -> exit({error,{asn1, {enumerated_not_in_range,Enumval11}}}) +end; + lockDisplay -> + ?RT_BER:encode_boolean(element(2,Val), [{tag,128,11,'EXPLICIT',32}]); + forcedAlerting -> + ?RT_BER:encode_bit_string([], element(2,Val), [{fwdDnd,0},{timer,1}], [{tag,128,12,'EXPLICIT',32}]); + callID -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,13,'EXPLICIT',32}]); + ogmContinuation -> + ?RT_BER:encode_boolean(element(2,Val), [{tag,128,14,'EXPLICIT',32}]); + broadcastGroupNo -> + ?RT_BER:encode_integer([], element(2,Val), [{tag,128,15,'EXPLICIT',32}]); + ringPattern -> + ?RT_BER:encode_integer([], element(2,Val), [{tag,128,16,'EXPLICIT',32}]); + didNo -> + 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [{tag,128,17,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_KmeAdditionalData'(Bytes, OptOrMand) -> + 'dec_KmeAdditionalData'(Bytes, OptOrMand, []). + +'dec_KmeAdditionalData'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'fowardType' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_enumerated(Bytes1,[],[{forwardImmediate,0},{forwardBusy,1},{forwardNoAns,2},{forwardBusyInt,3},{forwardBusyExt,4},{forwardNoAnsInt,5},{forwardNoAnsExt,6},{forwardImmInt,7},{forwardImmExt,8},{forwardDND,9},{forwardDNDInt,10},{forwardDNDExt,11},{forwardBusyNoAnswer,12},{forwardBusyNoAnswerInt,13},{forwardBusyNoAnswerExt,14}],[{tag,128,1,'EXPLICIT',32}], mandatory), + {{fowardType, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'trunkId' + <<2:2,_:1,2:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeTrunkId'(Bytes1, mandatory, [{tag,128,2,'EXPLICIT',32}]), + {{trunkId, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'otherDevice' + <<2:2,_:1,3:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_enumerated(Bytes1,[],[{vm,0},{doorPhone,1},{disa,2},{pagingGroup,3},{psGruop,4},{externalRinger,5},{externalSensor,6},{externalPager,7},{modem,8},{hdlc,9},{pbxSystem,10},{svm,11}],[{tag,128,3,'EXPLICIT',32}], mandatory), + {{otherDevice, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'vmRecExtNo' + <<2:2,_:1,4:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_restricted_string(Bytes1,{1,5},22,[{tag,128,4,'EXPLICIT',32}], no_length, mandatory), + {{vmRecExtNo, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'deviceCategory' + <<2:2,_:1,5:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeChangedDeviceCategory'(Bytes1, mandatory, [{tag,128,5,'EXPLICIT',32}]), + {{deviceCategory, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'device' + <<2:2,_:1,6:5,_/binary>> -> + {Dec, Rest, RbCho} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes1, mandatory, [{tag,128,6,'EXPLICIT',32}]), + {{device, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'featureNumber' + <<2:2,_:1,7:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_integer(Bytes1,[],[{tag,128,7,'EXPLICIT',32}], mandatory), + {{featureNumber, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'proprietaryContents' + <<2:2,_:1,8:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{0,144},[{tag,128,8,'EXPLICIT',32}], no_length, mandatory), + {{proprietaryContents, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'holdType' + <<2:2,_:1,9:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_enumerated(Bytes1,[],[{consultation,0},{normal,1},{exclusive,2}],[{tag,128,9,'EXPLICIT',32}], mandatory), + {{holdType, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'conditionCode' + <<2:2,_:1,10:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_enumerated(Bytes1,[],[{cl,0},{tr,1},{fw,2},{d0,3},{rm,4},{na,5}],[{tag,128,10,'EXPLICIT',32}], mandatory), + {{conditionCode, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'lockDisplay' + <<2:2,_:1,11:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_boolean(Bytes1,[{tag,128,11,'EXPLICIT',32}], mandatory), + {{lockDisplay, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'forcedAlerting' + <<2:2,_:1,12:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_bit_string(Bytes1,[],[{fwdDnd,0},{timer,1}],[{tag,128,12,'EXPLICIT',32}], no_length, mandatory), + {{forcedAlerting, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'callID' + <<2:2,_:1,13:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,[],[{tag,128,13,'EXPLICIT',32}], no_length, mandatory), + {{callID, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'ogmContinuation' + <<2:2,_:1,14:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_boolean(Bytes1,[{tag,128,14,'EXPLICIT',32}], mandatory), + {{ogmContinuation, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'broadcastGroupNo' + <<2:2,_:1,15:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_integer(Bytes1,[],[{tag,128,15,'EXPLICIT',32}], mandatory), + {{broadcastGroupNo, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'ringPattern' + <<2:2,_:1,16:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_integer(Bytes1,[],[{tag,128,16,'EXPLICIT',32}], mandatory), + {{ringPattern, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'didNo' + <<2:2,_:1,17:5,_/binary>> -> + {Dec, Rest, RbCho} = 'CSTA-device-identifiers':'dec_DeviceID'(Bytes1, mandatory, [{tag,128,17,'EXPLICIT',32}]), + {{didNo, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmePrivateEvent +%%================================ + +'enc_KmePrivateEvent'({'KmePrivateEvent',Val}, TagIn) -> + 'enc_KmePrivateEvent'(Val, TagIn); + +'enc_KmePrivateEvent'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + digitsReport -> + 'enc_KmeDigitsReport'(element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + ogmStatus -> + 'enc_KmeOgmStatus'(element(2,Val), [{tag,128,2,'EXPLICIT',32}]); + wakeupResult -> + 'enc_KmeWakeupResult'(element(2,Val), [{tag,128,3,'EXPLICIT',32}]); + unconferenced -> + 'enc_KmeUnconferenced'(element(2,Val), [{tag,128,4,'EXPLICIT',32}]); + tamEnded -> + 'enc_KmeTamEnded'(element(2,Val), [{tag,128,5,'EXPLICIT',32}]); + pcRecEnded -> + 'enc_KmePcRecEnded'(element(2,Val), [{tag,128,6,'EXPLICIT',32}]); + callbackNotification -> + 'enc_CallBackNotification'(element(2,Val), [{tag,128,7,'EXPLICIT',32}]); + freeOgmPort -> + ?RT_BER:encode_integer([], element(2,Val), [{tag,128,8,'EXPLICIT',32}]); + pDFStatus -> + 'enc_KmePDFStatus'(element(2,Val), [{tag,128,9,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_KmePrivateEvent'(Bytes, OptOrMand) -> + 'dec_KmePrivateEvent'(Bytes, OptOrMand, []). + +'dec_KmePrivateEvent'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'digitsReport' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeDigitsReport'(Bytes1, mandatory, [{tag,128,1,'EXPLICIT',32}]), + {{digitsReport, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'ogmStatus' + <<2:2,_:1,2:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeOgmStatus'(Bytes1, mandatory, [{tag,128,2,'EXPLICIT',32}]), + {{ogmStatus, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'wakeupResult' + <<2:2,_:1,3:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeWakeupResult'(Bytes1, mandatory, [{tag,128,3,'EXPLICIT',32}]), + {{wakeupResult, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'unconferenced' + <<2:2,_:1,4:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeUnconferenced'(Bytes1, mandatory, [{tag,128,4,'EXPLICIT',32}]), + {{unconferenced, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'tamEnded' + <<2:2,_:1,5:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeTamEnded'(Bytes1, mandatory, [{tag,128,5,'EXPLICIT',32}]), + {{tamEnded, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'pcRecEnded' + <<2:2,_:1,6:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmePcRecEnded'(Bytes1, mandatory, [{tag,128,6,'EXPLICIT',32}]), + {{pcRecEnded, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'callbackNotification' + <<2:2,_:1,7:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_CallBackNotification'(Bytes1, mandatory, [{tag,128,7,'EXPLICIT',32}]), + {{callbackNotification, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'freeOgmPort' + <<2:2,_:1,8:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_integer(Bytes1,[],[{tag,128,8,'EXPLICIT',32}], mandatory), + {{freeOgmPort, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'pDFStatus' + <<2:2,_:1,9:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmePDFStatus'(Bytes1, mandatory, [{tag,128,9,'EXPLICIT',32}]), + {{pDFStatus, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmeResourceControl +%%================================ + +'enc_KmeResourceControl'({'KmeResourceControl',Val}, TagIn) -> + 'enc_KmeResourceControl'(Val, TagIn); + +'enc_KmeResourceControl'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + ogmStart -> + 'enc_KmeOgmStart'(element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + ogmStop -> + 'enc_KmeOgmStop'(element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_KmeResourceControl'(Bytes, OptOrMand) -> + 'dec_KmeResourceControl'(Bytes, OptOrMand, []). + +'dec_KmeResourceControl'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'ogmStart' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeOgmStart'(Bytes1, mandatory, [{tag,128,0,'EXPLICIT',32}]), + {{ogmStart, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'ogmStop' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeOgmStop'(Bytes1, mandatory, [{tag,128,1,'EXPLICIT',32}]), + {{ogmStop, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmeOgmStart +%%================================ +'enc_KmeOgmStart'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 External CSTA-call-connection-identifiers:ConnectionID +%%------------------------------------------------- + {EncBytes1,EncLen1} = 'CSTA-call-connection-identifiers':'enc_ConnectionID'(?RT_BER:cindex(2,Val,connection), []), + +%%------------------------------------------------- +%% attribute number 2 with type INTEGER +%%------------------------------------------------- + {EncBytes2,EncLen2} = ?RT_BER:encode_integer([], ?RT_BER:cindex(3,Val,ogmId), []), + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeOgmStart'(Bytes, OptOrMand) -> + 'dec_KmeOgmStart'(Bytes, OptOrMand, []). + +'dec_KmeOgmStart'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 External CSTA-call-connection-identifiers:ConnectionID +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = 'CSTA-call-connection-identifiers':'dec_ConnectionID'(Bytes2, mandatory, []), + +%%------------------------------------------------- +%% attribute number 2 with type INTEGER +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = ?RT_BER:decode_integer(Bytes3,[],[], mandatory), + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeOgmStart', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmeOgmStop +%%================================ + +'enc_KmeOgmStop'({'KmeOgmStop',Val}, TagIn) -> + 'enc_KmeOgmStop'(Val, TagIn); + +'enc_KmeOgmStop'(Val, TagIn) -> + 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Val, TagIn ++ []). + + +'dec_KmeOgmStop'(Bytes, OptOrMand) -> + 'dec_KmeOgmStop'(Bytes, OptOrMand, []). + +'dec_KmeOgmStop'(Bytes, OptOrMand, TagIn) -> +'CSTA-call-connection-identifiers':'dec_ConnectionID'(Bytes, OptOrMand, TagIn++[]). + + + +%%================================ +%% KmeGenericSrvEvt +%%================================ + +'enc_KmeGenericSrvEvt'({'KmeGenericSrvEvt',Val}, TagIn) -> + 'enc_KmeGenericSrvEvt'(Val, TagIn); + +'enc_KmeGenericSrvEvt'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + serviceRequest -> + 'enc_KmeGenericServiceReq'(element(2,Val), [{tag,128,0,'EXPLICIT',32}]); + serviceResult -> + 'enc_KmeGenericServiceRsp'(element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + event -> + 'enc_KmeGenericEvent'(element(2,Val), [{tag,128,2,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_KmeGenericSrvEvt'(Bytes, OptOrMand) -> + 'dec_KmeGenericSrvEvt'(Bytes, OptOrMand, []). + +'dec_KmeGenericSrvEvt'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'serviceRequest' + <<2:2,_:1,0:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeGenericServiceReq'(Bytes1, mandatory, [{tag,128,0,'EXPLICIT',32}]), + {{serviceRequest, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'serviceResult' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeGenericServiceRsp'(Bytes1, mandatory, [{tag,128,1,'EXPLICIT',32}]), + {{serviceResult, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'event' + <<2:2,_:1,2:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeGenericEvent'(Bytes1, mandatory, [{tag,128,2,'EXPLICIT',32}]), + {{event, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. + + +%%================================ +%% KmeGenericServiceReq +%%================================ +'enc_KmeGenericServiceReq'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_integer([], ?RT_BER:cindex(2,Val,serviceNo), []), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-device-identifiers:DeviceID OPTIONAL +%%------------------------------------------------- + {EncBytes2,EncLen2} = case ?RT_BER:cindex(3,Val,device) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(3,Val,device), []) + end, + +%%------------------------------------------------- +%% attribute number 3 External CSTA-call-connection-identifiers:ConnectionID OPTIONAL +%%------------------------------------------------- + {EncBytes3,EncLen3} = case ?RT_BER:cindex(4,Val,connection) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'CSTA-call-connection-identifiers':'enc_ConnectionID'(?RT_BER:cindex(4,Val,connection), []) + end, + +%%------------------------------------------------- +%% attribute number 4 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes4,EncLen4} = case ?RT_BER:cindex(5,Val,number) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(5,Val,number), []) + end, + +%%------------------------------------------------- +%% attribute number 5 with type IA5String OPTIONAL +%%------------------------------------------------- + {EncBytes5,EncLen5} = case ?RT_BER:cindex(6,Val,string) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(6,Val,string), 22, []) + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5], + LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeGenericServiceReq'(Bytes, OptOrMand) -> + 'dec_KmeGenericServiceReq'(Bytes, OptOrMand, []). + +'dec_KmeGenericServiceReq'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_integer(Bytes2,[],[], mandatory), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-device-identifiers:DeviceID OPTIONAL +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = case Bytes3 of +<<0:2,_:1,16:5,_/binary>> -> +'CSTA-device-identifiers':'dec_DeviceID'(Bytes3, opt_or_default, []); +_ -> +{ asn1_NOVALUE, Bytes3, 0 } +end, + +%%------------------------------------------------- +%% attribute number 3 External CSTA-call-connection-identifiers:ConnectionID OPTIONAL +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = case Bytes4 of +<<1:2,_:1,11:5,_/binary>> -> +'CSTA-call-connection-identifiers':'dec_ConnectionID'(Bytes4, opt_or_default, []); +_ -> +{ asn1_NOVALUE, Bytes4, 0 } +end, + +%%------------------------------------------------- +%% attribute number 4 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term4,Bytes6,Rb5} = case Bytes5 of +<<0:2,_:1,2:5,_/binary>> -> +?RT_BER:decode_integer(Bytes5,[],[], mandatory); +_ -> +{ asn1_NOVALUE, Bytes5, 0 } +end, + +%%------------------------------------------------- +%% attribute number 5 with type IA5String OPTIONAL +%%------------------------------------------------- + {Term5,Bytes7,Rb6} = case Bytes6 of +<<0:2,_:1,22:5,_/binary>> -> +?RT_BER:decode_restricted_string(Bytes6,{0,128},22,[], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes6, 0 } +end, + + {Bytes8,Rb7} = ?RT_BER:restbytes2(RemBytes, Bytes7,noext), + {{'KmeGenericServiceReq', Term1, Term2, Term3, Term4, Term5}, Bytes8, Rb1+Rb2+Rb3+Rb4+Rb5+Rb6+Rb7}. + + +%%================================ +%% KmeGenericServiceRsp +%%================================ +'enc_KmeGenericServiceRsp'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes1,EncLen1} = case ?RT_BER:cindex(2,Val,number) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(2,Val,number), []) + end, + +%%------------------------------------------------- +%% attribute number 2 with type IA5String OPTIONAL +%%------------------------------------------------- + {EncBytes2,EncLen2} = case ?RT_BER:cindex(3,Val,string) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(3,Val,string), 22, []) + end, + + BytesSoFar = [EncBytes1, EncBytes2], + LenSoFar = EncLen1 + EncLen2, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeGenericServiceRsp'(Bytes, OptOrMand) -> + 'dec_KmeGenericServiceRsp'(Bytes, OptOrMand, []). + +'dec_KmeGenericServiceRsp'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = case Bytes2 of +<<0:2,_:1,2:5,_/binary>> -> +?RT_BER:decode_integer(Bytes2,[],[], mandatory); +_ -> +{ asn1_NOVALUE, Bytes2, 0 } +end, + +%%------------------------------------------------- +%% attribute number 2 with type IA5String OPTIONAL +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = case Bytes3 of +<<0:2,_:1,22:5,_/binary>> -> +?RT_BER:decode_restricted_string(Bytes3,{0,128},22,[], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes3, 0 } +end, + + {Bytes5,Rb4} = ?RT_BER:restbytes2(RemBytes, Bytes4,noext), + {{'KmeGenericServiceRsp', Term1, Term2}, Bytes5, Rb1+Rb2+Rb3+Rb4}. + + +%%================================ +%% KmeGenericEvent +%%================================ +'enc_KmeGenericEvent'(Val, TagIn) -> + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {EncBytes1,EncLen1} = ?RT_BER:encode_integer([], ?RT_BER:cindex(2,Val,eventNo), []), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-device-identifiers:DeviceID OPTIONAL +%%------------------------------------------------- + {EncBytes2,EncLen2} = case ?RT_BER:cindex(3,Val,device) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'CSTA-device-identifiers':'enc_DeviceID'(?RT_BER:cindex(3,Val,device), []) + end, + +%%------------------------------------------------- +%% attribute number 3 External CSTA-call-connection-identifiers:ConnectionID OPTIONAL +%%------------------------------------------------- + {EncBytes3,EncLen3} = case ?RT_BER:cindex(4,Val,connection) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + 'CSTA-call-connection-identifiers':'enc_ConnectionID'(?RT_BER:cindex(4,Val,connection), []) + end, + +%%------------------------------------------------- +%% attribute number 4 with type ENUMERATED OPTIONAL +%%------------------------------------------------- + {EncBytes4,EncLen4} = case ?RT_BER:cindex(5,Val,state) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + case (case ?RT_BER:cindex(5,Val,state) of {_,Enumval2}->Enumval2;_->?RT_BER:cindex(5,Val,state) end) of +null -> ?RT_BER:encode_enumerated(0,[{tag,64,14,'IMPLICIT',32}]); +initiated -> ?RT_BER:encode_enumerated(1,[{tag,64,14,'IMPLICIT',32}]); +alerting -> ?RT_BER:encode_enumerated(2,[{tag,64,14,'IMPLICIT',32}]); +connected -> ?RT_BER:encode_enumerated(3,[{tag,64,14,'IMPLICIT',32}]); +hold -> ?RT_BER:encode_enumerated(4,[{tag,64,14,'IMPLICIT',32}]); +queued -> ?RT_BER:encode_enumerated(5,[{tag,64,14,'IMPLICIT',32}]); +fail -> ?RT_BER:encode_enumerated(6,[{tag,64,14,'IMPLICIT',32}]); +Enumval3 -> exit({error,{asn1, {enumerated_not_in_range,Enumval3}}}) +end + end, + +%%------------------------------------------------- +%% attribute number 5 with type INTEGER OPTIONAL +%%------------------------------------------------- + {EncBytes5,EncLen5} = case ?RT_BER:cindex(6,Val,cause) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_integer([], ?RT_BER:cindex(6,Val,cause), []) + end, + +%%------------------------------------------------- +%% attribute number 6 with type IA5String OPTIONAL +%%------------------------------------------------- + {EncBytes6,EncLen6} = case ?RT_BER:cindex(7,Val,message) of + asn1_NOVALUE -> {<<>>,0}; + _ -> + ?RT_BER:encode_restricted_string([], ?RT_BER:cindex(7,Val,message), 22, []) + end, + + BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5, EncBytes6], + LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5 + EncLen6, + ?RT_BER:encode_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], BytesSoFar, LenSoFar). + + +'dec_KmeGenericEvent'(Bytes, OptOrMand) -> + 'dec_KmeGenericEvent'(Bytes, OptOrMand, []). + +'dec_KmeGenericEvent'(Bytes, OptOrMand, TagIn) -> + %%------------------------------------------------- + %% decode tag and length + %%------------------------------------------------- + {{_,Len},Bytes1,Rb1} = ?RT_BER:check_tags(TagIn ++ [{tag,0,16,'IMPLICIT',32}], Bytes, OptOrMand), +{Bytes2,RemBytes} = ?RT_BER:split_list(Bytes1,Len), + +%%------------------------------------------------- +%% attribute number 1 with type INTEGER +%%------------------------------------------------- + {Term1,Bytes3,Rb2} = ?RT_BER:decode_integer(Bytes2,[],[], mandatory), + +%%------------------------------------------------- +%% attribute number 2 External CSTA-device-identifiers:DeviceID OPTIONAL +%%------------------------------------------------- + {Term2,Bytes4,Rb3} = case Bytes3 of +<<0:2,_:1,16:5,_/binary>> -> +'CSTA-device-identifiers':'dec_DeviceID'(Bytes3, opt_or_default, []); +_ -> +{ asn1_NOVALUE, Bytes3, 0 } +end, + +%%------------------------------------------------- +%% attribute number 3 External CSTA-call-connection-identifiers:ConnectionID OPTIONAL +%%------------------------------------------------- + {Term3,Bytes5,Rb4} = case Bytes4 of +<<1:2,_:1,11:5,_/binary>> -> +'CSTA-call-connection-identifiers':'dec_ConnectionID'(Bytes4, opt_or_default, []); +_ -> +{ asn1_NOVALUE, Bytes4, 0 } +end, + +%%------------------------------------------------- +%% attribute number 4 with type ENUMERATED OPTIONAL +%%------------------------------------------------- + {Term4,Bytes6,Rb5} = case Bytes5 of +<<1:2,_:1,14:5,_/binary>> -> +?RT_BER:decode_enumerated(Bytes5,[],[{null,0},{initiated,1},{alerting,2},{connected,3},{hold,4},{queued,5},{fail,6}],[{tag,64,14,'IMPLICIT',32}], mandatory); +_ -> +{ asn1_NOVALUE, Bytes5, 0 } +end, + +%%------------------------------------------------- +%% attribute number 5 with type INTEGER OPTIONAL +%%------------------------------------------------- + {Term5,Bytes7,Rb6} = case Bytes6 of +<<0:2,_:1,2:5,_/binary>> -> +?RT_BER:decode_integer(Bytes6,[],[], mandatory); +_ -> +{ asn1_NOVALUE, Bytes6, 0 } +end, + +%%------------------------------------------------- +%% attribute number 6 with type IA5String OPTIONAL +%%------------------------------------------------- + {Term6,Bytes8,Rb7} = case Bytes7 of +<<0:2,_:1,22:5,_/binary>> -> +?RT_BER:decode_restricted_string(Bytes7,{1,128},22,[], no_length, mandatory); +_ -> +{ asn1_NOVALUE, Bytes7, 0 } +end, + + {Bytes9,Rb8} = ?RT_BER:restbytes2(RemBytes, Bytes8,noext), + {{'KmeGenericEvent', Term1, Term2, Term3, Term4, Term5, Term6}, Bytes9, Rb1+Rb2+Rb3+Rb4+Rb5+Rb6+Rb7+Rb8}. + + +%%================================ +%% KMESpecificPrivateData +%%================================ + +'enc_KMESpecificPrivateData'({'KMESpecificPrivateData',Val}, TagIn) -> + 'enc_KMESpecificPrivateData'(Val, TagIn); + +'enc_KMESpecificPrivateData'(Val, TagIn) -> + {EncBytes,EncLen} = case element(1,Val) of + kmeCallControl -> + 'enc_KmeCallControlSrvEvt'(element(2,Val), [{tag,128,1,'EXPLICIT',32}]); + kmeDeviceStatus -> + 'enc_KmeDeviceStatus'(element(2,Val), [{tag,128,2,'EXPLICIT',32}]); + kmeDeviceMonitor -> + 'enc_KmeDeviceMonitor'(element(2,Val), [{tag,128,3,'EXPLICIT',32}]); + kmeSystemData -> + 'enc_KmeSystemData'(element(2,Val), [{tag,128,4,'EXPLICIT',32}]); + kmeLocalAlerm -> + 'enc_KmeLocalAlerm'(element(2,Val), [{tag,128,5,'EXPLICIT',32}]); + kmeAdditionalData -> + 'enc_KmeAdditionalData'(element(2,Val), [{tag,128,6,'EXPLICIT',32}]); + kmePrivateEvent -> + 'enc_KmePrivateEvent'(element(2,Val), [{tag,128,7,'EXPLICIT',32}]); + kmeResourceControl -> + 'enc_KmeResourceControl'(element(2,Val), [{tag,128,8,'EXPLICIT',32}]); + kmeGeneric -> + 'enc_KmeGenericSrvEvt'(element(2,Val), [{tag,128,9,'EXPLICIT',32}]); + kmeExtendedDataAccess -> + ?RT_BER:encode_octet_string([], element(2,Val), [{tag,128,10,'EXPLICIT',32}]); + kmePDFControl -> + 'enc_KmePDFSrvEvt'(element(2,Val), [{tag,128,11,'EXPLICIT',32}]); + kmeAlterIf -> + 'enc_KmeAlterIfSrvEvt'(element(2,Val), [{tag,128,12,'EXPLICIT',32}]); + kmeHotelControl -> + 'enc_KmeHotelSrvEvt'(element(2,Val), [{tag,128,13,'EXPLICIT',32}]); + Else -> + exit({error,{asn1,{invalid_choice_type,Else}}}) + end, + +?RT_BER:encode_tags(TagIn ++[], EncBytes, EncLen). + + + + +'dec_KMESpecificPrivateData'(Bytes, OptOrMand) -> + 'dec_KMESpecificPrivateData'(Bytes, OptOrMand, []). + +'dec_KMESpecificPrivateData'(Bytes, OptOrMand, TagIn) -> + {{_,Len},Bytes1, RbExp} = ?RT_BER:check_tags(TagIn++[], Bytes, OptOrMand), + IndefEndBytes = fun(indefinite,<<0,0,R/binary>>)-> R; (_,B)-> B end, + IndefEndRb = fun(indefinite,<<0,0,_R/binary>>)-> 2; (_,_)-> 0 end, + case Bytes1 of + +%% 'kmeCallControl' + <<2:2,_:1,1:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeCallControlSrvEvt'(Bytes1, mandatory, [{tag,128,1,'EXPLICIT',32}]), + {{kmeCallControl, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'kmeDeviceStatus' + <<2:2,_:1,2:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeDeviceStatus'(Bytes1, mandatory, [{tag,128,2,'EXPLICIT',32}]), + {{kmeDeviceStatus, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'kmeDeviceMonitor' + <<2:2,_:1,3:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeDeviceMonitor'(Bytes1, mandatory, [{tag,128,3,'EXPLICIT',32}]), + {{kmeDeviceMonitor, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'kmeSystemData' + <<2:2,_:1,4:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeSystemData'(Bytes1, mandatory, [{tag,128,4,'EXPLICIT',32}]), + {{kmeSystemData, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'kmeLocalAlerm' + <<2:2,_:1,5:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeLocalAlerm'(Bytes1, mandatory, [{tag,128,5,'EXPLICIT',32}]), + {{kmeLocalAlerm, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'kmeAdditionalData' + <<2:2,_:1,6:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeAdditionalData'(Bytes1, mandatory, [{tag,128,6,'EXPLICIT',32}]), + {{kmeAdditionalData, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'kmePrivateEvent' + <<2:2,_:1,7:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmePrivateEvent'(Bytes1, mandatory, [{tag,128,7,'EXPLICIT',32}]), + {{kmePrivateEvent, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'kmeResourceControl' + <<2:2,_:1,8:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeResourceControl'(Bytes1, mandatory, [{tag,128,8,'EXPLICIT',32}]), + {{kmeResourceControl, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'kmeGeneric' + <<2:2,_:1,9:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeGenericSrvEvt'(Bytes1, mandatory, [{tag,128,9,'EXPLICIT',32}]), + {{kmeGeneric, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'kmeExtendedDataAccess' + <<2:2,_:1,10:5,_/binary>> -> + {Dec, Rest, RbCho} = ?RT_BER:decode_octet_string(Bytes1,{0,200},[{tag,128,10,'EXPLICIT',32}], no_length, mandatory), + {{kmeExtendedDataAccess, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'kmePDFControl' + <<2:2,_:1,11:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmePDFSrvEvt'(Bytes1, mandatory, [{tag,128,11,'EXPLICIT',32}]), + {{kmePDFControl, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'kmeAlterIf' + <<2:2,_:1,12:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeAlterIfSrvEvt'(Bytes1, mandatory, [{tag,128,12,'EXPLICIT',32}]), + {{kmeAlterIf, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + +%% 'kmeHotelControl' + <<2:2,_:1,13:5,_/binary>> -> + {Dec, Rest, RbCho} = 'dec_KmeHotelSrvEvt'(Bytes1, mandatory, [{tag,128,13,'EXPLICIT',32}]), + {{kmeHotelControl, Dec}, IndefEndBytes(Len,Rest), RbExp + RbCho + IndefEndRb(Len,Rest)}; + + Else -> + case OptOrMand of + mandatory ->exit({error,{asn1,{invalid_choice_tag,Else}}}); + _ ->exit({error,{asn1,{no_optional_tag,Else}}}) + end + end. diff --git a/KME-specific-types.hrl b/KME-specific-types.hrl new file mode 100644 index 0000000..69a0da1 --- /dev/null +++ b/KME-specific-types.hrl @@ -0,0 +1,205 @@ +%% Generated by the Erlang ASN.1 compiler version:1.7 +%% Purpose: Erlang record definitions for each named and unnamed +%% SEQUENCE and SET, and macro definitions for each value +%% definition,in module KME-specific-types + + + +-record('KmeSpeedDialRequest',{ +startSerialNo, number, tenantNo = asn1_NOVALUE}). + +-record('KmeSpeedDial_SEQOF',{ +serialNumber, registeredDigits = asn1_NOVALUE, callerName = asn1_NOVALUE}). + +-record('KmeWakeUpTime',{ +hour, minute}). + +-record('KmeWakeUpInfo',{ +time = asn1_NOVALUE, schedule}). + +-record('KmeDayNightMode_SEQOF',{ +tenantNo, mode}). + +-record('KmeSetForwardInfo',{ +forwardingType, activateForward, forwardDN = asn1_NOVALUE}). + +-record('KmeFeatureList_SEQOF',{ +featureNo, featureDigits = asn1_NOVALUE}). + +-record('KmeExtGroupEntry',{ +device, name = asn1_NOVALUE, devNumber, cabinetNO = asn1_NOVALUE, psNo = asn1_NOVALUE, numberOfBch = asn1_NOVALUE}). + +-record('KmeTrkGroupEntry',{ +device, name = asn1_NOVALUE, coNo, cabinetNO = asn1_NOVALUE}). + +-record('KmeExtMembers',{ +groupNo, members}). + +-record('KmeTrkMembers',{ +groupNo, members}). + +-record('KmeExtTrkGroupList_SEQOF',{ +groupNo, name = asn1_NOVALUE, tenantNo = asn1_NOVALUE}). + +-record('KmePckPagGroupList_SEQOF',{ +groupNo, memberList = asn1_NOVALUE}). + +-record('KmeIcmGrpMembers',{ +grpDevice, members}). + +-record('KmeIncomingGroupList_SEQOF',{ +groupNo, device, name = asn1_NOVALUE, extNo = asn1_NOVALUE, groupType, acdMode, ctiWaitTime, queueSize = asn1_NOVALUE}). + +-record('KmeDoorPhone_SEQOF',{ +doorPhoneNo, device, name = asn1_NOVALUE}). + +-record('KmeVmGroupList_SEQOF',{ +device, vmType, name = asn1_NOVALUE, dtmfType = asn1_NOVALUE}). + +-record('KmePsGroupList_SEQOF',{ +groupNo, device, name = asn1_NOVALUE, memberList = asn1_NOVALUE, memberList2 = asn1_NOVALUE, memberList3 = asn1_NOVALUE, memberList4 = asn1_NOVALUE}). + +-record('KmeChangeExtNo',{ +requestingDevice, newExtNo}). + +-record('KmeChangeName',{ +requestingDevice, newName = asn1_NOVALUE}). + +-record('KmeDeviceStateEntry',{ +device, number = asn1_NOVALUE, status}). + +-record('KmePhoneProperty',{ +portType, phoneCode, lcdRows, lcdColumns, numberOfCoKeys, numberOfSoftKeys, spPhone}). + +-record('KmeDeviceExtNo',{ +devNumber, extNo = asn1_NOVALUE}). + +-record('KmeDeviceName',{ +extNo, name}). + +-record('KmeFcoKeyInfo',{ +button, function}). + +-record('KmeExternalSensorList_SEQOF',{ +sensorNo, device, name = asn1_NOVALUE}). + +-record('KmeTenantSpeedDial',{ +tenantNo, kmeSpeedDial}). + +-record('KmeDistributionMethod',{ +group, type}). + +-record('KmePDFStart',{ +device}). + +-record('KmePDFStatus',{ +targetDevice, originatingDevice, status}). + +-record('KmeSvmList_SEQOF',{ +device, name = asn1_NOVALUE}). + +-record('NumberOfMsgPort',{ +numberOfMsgPort, numberOfFreePort}). + +-record('KmeTempTollChange',{ +connection, tollLevel}). + +-record('KmeTwoWayRec',{ +connection, vmGroupExtNo}). + +-record('KmeCallBackInvokeReq',{ +callBackID, requestingDevice, targetDevice = asn1_NOVALUE}). + +-record('CallBackNotification',{ +callBackID, prompted, requestingDevice, targetDevice}). + +-record('KmePcRec',{ +connection, pcRecOn}). + +-record('KmeDeviceAgentStatus',{ +device, status, imcomingGroup}). + +-record('KmeDeviceCallStatus_SEQOF',{ +device, status}). + +-record('KmeDeviceCallStatus_SEQOF_status_parkStatus',{ +area, call, action}). + +-record('KmeDeviceServiceStatus',{ +source, status}). + +-record('KmeLineStatus',{ +segmentId, lineInformation}). + +-record('KmeBroadcastGroupList_SEQOF',{ +groupNo, name = asn1_NOVALUE}). + +-record('KmeBroadcastGrpMembers',{ +groupNo, members}). + +-record('KmeDeviceDataList_SEQOF',{ +device, sysData}). + +-record('KmeDeviceDataList_SEQOF_sysData_standardInfo',{ +wakeUp = asn1_NOVALUE, remoteLock = asn1_NOVALUE, callLogLock = asn1_NOVALUE, absentMessage = asn1_NOVALUE, forwardDnd = asn1_NOVALUE, cos = asn1_NOVALUE, phoneProperty = asn1_NOVALUE, assocIncomGroup = asn1_NOVALUE, messageWaiting = asn1_NOVALUE, assocExtGroup = asn1_NOVALUE}). + +-record('KmePdnGMembers',{ +groupDevice, members}). + +-record('KmeCheckStatusList_SEQOF',{ +extNo, status, cleanUpStatus = asn1_NOVALUE}). + +-record('KmeGetSystemDataReq_deviceData',{ +device, sysData}). + +-record('KmeGetSystemDataReq_trkExtGMember',{ +groupNo, groupType}). + +-record('KmeGetSystemDataReq_incomGMember',{ +groupNo}). + +-record('KmeGetSystemDataRsp',{ +timeStamp = asn1_NOVALUE, featureList = asn1_NOVALUE, speedDial = asn1_NOVALUE, trunkGroup = asn1_NOVALUE, extGroup = asn1_NOVALUE, pickGroup = asn1_NOVALUE, pagingGroup = asn1_NOVALUE, incomingGroup = asn1_NOVALUE, dayNightMode = asn1_NOVALUE, wakeUp = asn1_NOVALUE, remoteLock = asn1_NOVALUE, callLogLock = asn1_NOVALUE, forwardDnd = asn1_NOVALUE, absentMessage = asn1_NOVALUE, trkGMembers = asn1_NOVALUE, extGMembers = asn1_NOVALUE, incomGMembers = asn1_NOVALUE, doorPhone = asn1_NOVALUE, vmGroup = asn1_NOVALUE, manufacturerName = asn1_NOVALUE, subdomainName = asn1_NOVALUE, softwareVersion = asn1_NOVALUE, ctiVersion = asn1_NOVALUE, regionCode = asn1_NOVALUE, systemTime = asn1_NOVALUE, numberOfMsgPort = asn1_NOVALUE, psGroup = asn1_NOVALUE, youAre = asn1_NOVALUE, svm = asn1_NOVALUE, pdn = asn1_NOVALUE, cos = asn1_NOVALUE, phoneProperty = asn1_NOVALUE, assocIncomGroup = asn1_NOVALUE, messageWaiting = asn1_NOVALUE, deviceList = asn1_NOVALUE, assocExtGroup = asn1_NOVALUE, vmGMembers = asn1_NOVALUE, extName = asn1_NOVALUE, broadcastGroup = asn1_NOVALUE, broadcastGMembers = asn1_NOVALUE, fcoKeyList = asn1_NOVALUE, sxdpMaster = asn1_NOVALUE, pbxType = asn1_NOVALUE, externalSensor = asn1_NOVALUE, deviceDataList = asn1_NOVALUE, guestCheckStatus = asn1_NOVALUE}). + +-record('KmeSetSystemData_deviceData',{ +device, sysData}). + +-record('KmeSetSystemData_acdQueue',{ +device, attribute}). + +-record('KmeSystemDataChanged_deviceData',{ +device, sysData}). + +-record('KmeSystemDataLinkedReply',{ +crossRefID, segmentID, lastSegment, sysData = asn1_NOVALUE}). + +-record('KmeLockSystemData_request',{ +systemDataLock, id}). + +-record('KmeSystemDataStatus',{ +systemDataLock, lockingDevice = asn1_NOVALUE}). + +-record('KmeDigitsReport',{ +connection, digits}). + +-record('KmeOgmStatus',{ +connection, state, ogmId, ogmPortNumber}). + +-record('KmeWakeupResult',{ +device, state, wakeupTime, invokeTime, restOfRetry = asn1_NOVALUE}). + +-record('KmeUnconferenced',{ +unconferencingDevice, primaryCall, secodaryCall = asn1_NOVALUE, primaryNID = asn1_NOVALUE, secondaryNID = asn1_NOVALUE, primaryConnectionInfo, secondaryConnectionInfo = asn1_NOVALUE}). + +-record('KmeOgmStart',{ +connection, ogmId}). + +-record('KmeGenericServiceReq',{ +serviceNo, device = asn1_NOVALUE, connection = asn1_NOVALUE, number = asn1_NOVALUE, string = asn1_NOVALUE}). + +-record('KmeGenericServiceRsp',{ +number = asn1_NOVALUE, string = asn1_NOVALUE}). + +-record('KmeGenericEvent',{ +eventNo, device = asn1_NOVALUE, connection = asn1_NOVALUE, state = asn1_NOVALUE, cause = asn1_NOVALUE, message = asn1_NOVALUE}). + diff --git a/acse.set.asn1 b/acse.set.asn1 new file mode 100644 index 0000000..c29e1a5 --- /dev/null +++ b/acse.set.asn1 @@ -0,0 +1,2 @@ +csta/CSTA-application-context-information-csta3.asn1 +acse/ACSE-1.asn1 diff --git a/acse/ACSE-1.asn1 b/acse/ACSE-1.asn1 new file mode 100644 index 0000000..6768034 --- /dev/null +++ b/acse/ACSE-1.asn1 @@ -0,0 +1,255 @@ +-- Module ACSE-1 (X.227:04/1995) +-- See also ITU-T X.227 (04/1995) +-- See also the index of all ASN.1 assignments needed in this document + +ACSE-1 {joint-iso-itu-t association-control(2) modules(0) apdus(0) version1(1)} +-- ACSE-1 refers to ACSE version 1 +DEFINITIONS ::= +BEGIN + +EXPORTS + acse-as-id, ACSE-apdu, aCSE-id, Application-context-name, AP-title, + AE-qualifier, AE-title, AP-invocation-identifier, AE-invocation-identifier, + Mechanism-name, Authentication-value, ACSE-requirements, ObjectSet; + +IMPORTS + Name, RelativeDistinguishedName + FROM InformationFramework {joint-iso-itu-t ds(5) module(1) + informationFramework(1) 3}; + +-- The data types Name and RelativeDistinguishedName are imported from ISO/IEC 9594-2. +-- object identifier assignments +acse-as-id OBJECT IDENTIFIER ::= + {joint-iso-itu-t association-control(2) abstract-syntax(1) apdus(0) + version1(1)} + +-- may be used to reference the abstract syntax of the ACSE APDUs +aCSE-id OBJECT IDENTIFIER ::= + {joint-iso-itu-t association-control(2) ase-id(3) acse-ase(1) version(1)} + +-- may be used to identify the Association Control ASE. +-- top level CHOICE +ACSE-apdu ::= CHOICE { + aarq AARQ-apdu, + aare AARE-apdu, + rlrq RLRQ-apdu, + rlre RLRE-apdu, + abrt ABRT-apdu, + ... +} + +AARQ-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE { + protocol-version + [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1}, + application-context-name [1] Application-context-name, + called-AP-title [2] AP-title OPTIONAL, + called-AE-qualifier [3] AE-qualifier OPTIONAL, + called-AP-invocation-identifier [4] AP-invocation-identifier OPTIONAL, + called-AE-invocation-identifier [5] AE-invocation-identifier OPTIONAL, + calling-AP-title [6] AP-title OPTIONAL, + calling-AE-qualifier [7] AE-qualifier OPTIONAL, + calling-AP-invocation-identifier [8] AP-invocation-identifier OPTIONAL, + calling-AE-invocation-identifier [9] AE-invocation-identifier OPTIONAL, + -- The following field shall not be present if only the Kernel is used. + sender-acse-requirements [10] IMPLICIT ACSE-requirements OPTIONAL, + -- The following field shall only be present if the Authentication functional unit is selected. + mechanism-name [11] IMPLICIT Mechanism-name OPTIONAL, + -- The following field shall only be present if the Authentication functional unit is selected. + calling-authentication-value [12] EXPLICIT Authentication-value OPTIONAL, + application-context-name-list + [13] IMPLICIT Application-context-name-list OPTIONAL, + -- The above field shall only be present if the Application Context Negotiation functional unit is selected + implementation-information [29] IMPLICIT Implementation-data OPTIONAL, + ..., + ..., + user-information + [30] IMPLICIT Association-information OPTIONAL +} + +AARE-apdu ::= [APPLICATION 1] IMPLICIT SEQUENCE { + protocol-version + [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1}, + application-context-name [1] Application-context-name, + result [2] Associate-result, + result-source-diagnostic [3] Associate-source-diagnostic, + responding-AP-title [4] AP-title OPTIONAL, + responding-AE-qualifier [5] AE-qualifier OPTIONAL, + responding-AP-invocation-identifier [6] AP-invocation-identifier OPTIONAL, + responding-AE-invocation-identifier [7] AE-invocation-identifier OPTIONAL, + -- The following field shall not be present if only the Kernel is used. + responder-acse-requirements [8] IMPLICIT ACSE-requirements OPTIONAL, + -- The following field shall only be present if the Authentication functional unit is selected. + mechanism-name [9] IMPLICIT Mechanism-name OPTIONAL, + -- This following field shall only be present if the Authentication functional unit is selected. + responding-authentication-value + [10] EXPLICIT Authentication-value OPTIONAL, + application-context-name-list + [11] IMPLICIT Application-context-name-list OPTIONAL, + -- The above field shall only be present if the Application Context Negotiation functional unit is selected + implementation-information + [29] IMPLICIT Implementation-data OPTIONAL, + ..., + ..., + user-information + [30] IMPLICIT Association-information OPTIONAL +} + +RLRQ-apdu ::= [APPLICATION 2] IMPLICIT SEQUENCE { + reason [0] IMPLICIT Release-request-reason OPTIONAL, + ..., + ..., + user-information [30] IMPLICIT Association-information OPTIONAL +} + +RLRE-apdu ::= [APPLICATION 3] IMPLICIT SEQUENCE { + reason [0] IMPLICIT Release-response-reason OPTIONAL, + ..., + ..., + user-information [30] IMPLICIT Association-information OPTIONAL +} + +ABRT-apdu ::= [APPLICATION 4] IMPLICIT SEQUENCE { + abort-source [0] IMPLICIT ABRT-source, + abort-diagnostic [1] IMPLICIT ABRT-diagnostic OPTIONAL, + -- This field shall not be present if only the Kernel is used. + ..., + ..., + user-information [30] IMPLICIT Association-information OPTIONAL +} + +ABRT-diagnostic ::= ENUMERATED { + no-reason-given(1), protocol-error(2), + authentication-mechanism-name-not-recognized(3), + authentication-mechanism-name-required(4), authentication-failure(5), + authentication-required(6), ... + } + +ABRT-source ::= INTEGER {acse-service-user(0), acse-service-provider(1) +}(0..1, ...) + +ACSE-requirements ::= BIT STRING { + authentication(0), application-context-negotiation(1)} + +Application-context-name-list ::= SEQUENCE OF Application-context-name + +Application-context-name ::= OBJECT IDENTIFIER + +-- Application-entity title productions follow (not in alphabetical order) +AP-title ::= CHOICE { + ap-title-form1 AP-title-form1, + ap-title-form2 AP-title-form2, + ... +} + +AE-qualifier ::= CHOICE { + ae-qualifier-form1 AE-qualifier-form1, + ae-qualifier-form2 AE-qualifier-form2, + ... +} + +-- When both AP-title and AE-qualifier data values are present in an AARQ or AARE APDU, both must +-- have the same form to allow the construction of an AE-title as discussed in CCITT Rec. X.665 | +-- ISO/IEC 9834-6. +AP-title-form1 ::= + Name + +-- The value assigned to AP-title-form1 is The Directory Name of an application-process title. +AE-qualifier-form1 ::= + RelativeDistinguishedName + +-- The value assigned to AE-qualifier-form1 is the relative distinguished name of a particular +-- application-entity of the application-process identified by AP-title-form1. +AP-title-form2 ::= OBJECT IDENTIFIER + +AE-qualifier-form2 ::= INTEGER + +AE-title ::= CHOICE { + ae-title-form1 AE-title-form1, + ae-title-form2 AE-title-form2, + ... +} + +-- As defined in CCITT Rec. X.650 | ISO 7498-3, an application-entity title is composed of an application- +-- process title and an application-entity qualifier. The ACSE protocol provides for the transfer of an +-- application-entity title value by the transfer of its component values. However, the following data type +-- is provided for International Standards that reference a single syntactic structure for AE titles. +AE-title-form1 ::= + Name + +-- For access to The Directory (ITU-T Rec. X.500-Series | ISO/IEC 9594), an AE title has AE-title-form1. +-- This value can be constructed from AP-title-form1 and AE-qualifier-form1 values contained in an +-- AARQ or AARE APDU. A discussion of forming an AE-title-form1 from AP-title-form1 and AE-qualifier- +-- form1 may be found in CCITT Rec. X.665 | ISO/IEC 9834-6. +AE-title-form2 ::= OBJECT IDENTIFIER + +-- A discussion of forming an AE-title-form2 from AP-title-form2 and AE-qualifier-form2 may be +-- found in CCITT Rec. X.665 | ISO/IEC 9834-6. +AE-invocation-identifier ::= INTEGER + +AP-invocation-identifier ::= INTEGER + +-- End of Application-entity title productions +Associate-result ::= INTEGER { + accepted(0), rejected-permanent(1), rejected-transient(2)}(0..2, ...) + +Associate-source-diagnostic ::= CHOICE { + acse-service-user + [1] INTEGER {null(0), no-reason-given(1), + application-context-name-not-supported(2), + calling-AP-title-not-recognized(3), + calling-AP-invocation-identifier-not-recognized(4), + calling-AE-qualifier-not-recognized(5), + calling-AE-invocation-identifier-not-recognized(6), + called-AP-title-not-recognized(7), + called-AP-invocation-identifier-not-recognized(8), + called-AE-qualifier-not-recognized(9), + called-AE-invocation-identifier-not-recognized(10), + authentication-mechanism-name-not-recognized(11), + authentication-mechanism-name-required(12), + authentication-failure(13), authentication-required(14)} + (0..14, ...), + acse-service-provider + [2] INTEGER {null(0), no-reason-given(1), no-common-acse-version(2)} + (0..2, ...) +} + +Association-information ::= SEQUENCE SIZE (1, ..., 0 | 2..MAX) OF EXTERNAL + +Authentication-value ::= CHOICE { + charstring [0] IMPLICIT GraphicString, + bitstring [1] IMPLICIT BIT STRING, + external [2] IMPLICIT EXTERNAL, + other + [3] IMPLICIT SEQUENCE {other-mechanism-name + MECHANISM-NAME.&id({ObjectSet}), + other-mechanism-value + MECHANISM-NAME.&Type + ({ObjectSet}{@.other-mechanism-name})} +} + +-- The abstract syntax of (calling/responding) authentication-value is determined by the authentication +-- mechanism used during association establishment. The authentication mechanism is either explicitly +-- denoted by the &id field (of type OBJECT IDENTIFIER) for a mechanism belonging to the class +-- MECHANISM-NAME, or it is known implicitly by +-- prior agreement between the communicating partners. If the "other" component is chosen, then +-- the "mechanism-name" component must be present in accordance with +-- ITU-T Rec. X.680 | ISO/IEC 8824. If the value "mechanism-name" occurs in the AARQ-apdu or the +-- AARE-apdu, then that value must be the same as the value for "other-mechanism-name" +Implementation-data ::= GraphicString + +Mechanism-name ::= OBJECT IDENTIFIER + +MECHANISM-NAME ::= TYPE-IDENTIFIER + +ObjectSet MECHANISM-NAME ::= + {...} + +Release-request-reason ::= INTEGER {normal(0), urgent(1), user-defined(30) +}(0 | 1 | 30, ...) + +Release-response-reason ::= INTEGER { + normal(0), not-finished(1), user-defined(30)}(0 | 1 | 30, ...) + +END + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D diff --git a/acse/DirectoryAbstractService.asn1 b/acse/DirectoryAbstractService.asn1 new file mode 100644 index 0000000..ca1d934 --- /dev/null +++ b/acse/DirectoryAbstractService.asn1 @@ -0,0 +1,718 @@ +-- Module DirectoryAbstractService (X.511 TC2:08/1997) +-- See also ITU-T X.511 (1997) Technical Cor. 2 (02/2001) +-- See also the index of all ASN.1 assignments needed in this document + +DirectoryAbstractService {joint-iso-itu-t ds(5) module(1) + directoryAbstractService(2) 3} DEFINITIONS ::= +BEGIN + +-- EXPORTS All +-- The types and values defined in this module are exported for use in the other ASN.1 modules contained +-- within the Directory Specifications, and for the use of other applications which will use them to access +-- Directory services. Other applications may use them for their own purposes, but this will not constrain +-- extensions and modifications needed to maintain or improve the Directory service. +IMPORTS + informationFramework, distributedOperations, authenticationFramework, + dap, directoryShadowAbstractService, basicAccessControl, enhancedSecurity, + id-at + FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1) + usefulDefinitions(0) 3} + AttributeTypeAndValue + FROM BasicAccessControl {joint-iso-itu-t ds(5) module(1) + basicAccessControl(24) 3} + AgreementID + FROM DirectoryShadowAbstractService {joint-iso-itu-t ds(5) module(1) + directoryShadowAbstractService(15) 4} + Attribute, AttributeType, AttributeValue, AttributeValueAssertion, + DistinguishedName, Name, RelativeDistinguishedName, SupportedAttributes, + ATTRIBUTE, MATCHING-RULE, ContextAssertion, AttributeTypeAssertion, + OBJECT-CLASS, RelaxationPolicy + FROM InformationFramework {joint-iso-itu-t ds(5) module(1) + informationFramework(1) 3} + OperationProgress, ReferenceType, Exclusions, AccessPoint, + ContinuationReference + FROM DistributedOperations {joint-iso-itu-t ds(5) module(1) + distributedOperations(3) 3} + CertificationPath, SIGNED{}, SIGNATURE{}, ENCRYPTED{}, AlgorithmIdentifier, + AttributeCertificationPath + FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1) + authenticationFramework(7) 3} + OPTIONALLY-PROTECTED{}, OPTIONALLY-PROTECTED-SEQ{} + FROM EnhancedSecurity {joint-iso-itu-t ds(5) modules(1) + enhancedSecurity(28) 1} + id-opcode-read, id-opcode-compare, id-opcode-abandon, id-opcode-list, + id-opcode-search, id-opcode-addEntry, id-opcode-removeEntry, + id-opcode-modifyEntry, id-opcode-modifyDN, id-errcode-abandoned, + id-errcode-abandonFailed, id-errcode-attributeError, id-errcode-nameError, + id-errcode-referral, id-errcode-securityError, id-errcode-serviceError, + id-errcode-updateError + FROM DirectoryAccessProtocol {joint-iso-itu-t ds(5) module(1) dap(11) 3} + OPERATION, ERROR, Code + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)} + emptyUnbind + FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t + remote-operations(4) useful-definitions(7) version1(0)} + InvokeId + FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t + remote-operations(4) generic-ROS-PDUs(6) version1(0)} + --PROTECTED + -- FROM Notation { joint-iso-itu-t genericULS (20) modules (1) notation (1) } + SPKM-REQ, SPKM-REP-TI, SPKM-ERROR + FROM SpkmGssTokens {iso(1) identified-organization(3) dod(6) internet(1) + security(5) mechanisms(5) spkm(1) spkmGssTokens(10)}; + +-- Common data types +-- Parameterized type for representing optional signing +OPTIONALLY-SIGNED{Type} ::= CHOICE {unsigned Type, + signed SIGNED{Type} +} + +CommonArguments ::= SET { + serviceControls [30] ServiceControls DEFAULT {}, + securityParameters [29] SecurityParameters OPTIONAL, + requestor [28] DistinguishedName OPTIONAL, + operationProgress + [27] OperationProgress DEFAULT {nameResolutionPhase notStarted}, + aliasedRDNs [26] INTEGER OPTIONAL, + criticalExtensions [25] BIT STRING OPTIONAL, + referenceType [24] ReferenceType OPTIONAL, + entryOnly [23] BOOLEAN DEFAULT TRUE, + nameResolveOnMaste [21] BOOLEAN DEFAULT FALSE, + operationContexts [20] ContextSelection OPTIONAL, + familyGrouping [19] FamilyGrouping DEFAULT entryOnly +} + +FamilyGrouping ::= ENUMERATED { + entryOnly(1), compoundEntry(2), strands(3), multiStrand(4)} + +CommonResults ::= SET { + securityParameters [30] SecurityParameters OPTIONAL, + performer [29] DistinguishedName OPTIONAL, + aliasDereferenced [28] BOOLEAN DEFAULT FALSE, + notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL +} + +CommonResultsSeq ::= SEQUENCE { + securityParameters [30] SecurityParameters OPTIONAL, + performer [29] DistinguishedName OPTIONAL, + aliasDereferenced [28] BOOLEAN DEFAULT FALSE +} + +ServiceControls ::= SET { + options [0] ServiceControlOptions DEFAULT {}, + priority [1] INTEGER {low(0), medium(1), high(2)} DEFAULT medium, + timeLimit [2] INTEGER OPTIONAL, + sizeLimit [3] INTEGER OPTIONAL, + scopeOfReferral [4] INTEGER {dmd(0), country(1)} OPTIONAL, + attributeSizeLimit [5] INTEGER OPTIONAL, + manageDSAITPlaneRef + [6] SEQUENCE {dsaName Name, + agreementID AgreementID} OPTIONAL, + serviceType [7] OBJECT IDENTIFIER OPTIONAL, + userClass [8] INTEGER OPTIONAL +} + +ServiceControlOptions ::= BIT STRING { + preferChaining(0), chainingProhibited(1), localScope(2), dontUseCopy(3), + dontDereferenceAliases(4), subentries(5), copyShallDo(6), + partialNameResolution(7), manageDSAIT(8), noSubtypeMatch(9), + noSubtypeSelection(10), countFamily(11)} + +EntryInformationSelection ::= SET { + attributes + CHOICE {allUserAttributes [0] NULL, + select [1] SET OF AttributeType + -- empty set implies no attributes are requested + } DEFAULT allUserAttributes:NULL, + infoTypes + [2] INTEGER {attributeTypesOnly(0), attributeTypesAndValues(1)} + DEFAULT attributeTypesAndValues, + extraAttributes + CHOICE {allOperationalAttributes [3] NULL, + select [4] SET OF AttributeType} OPTIONAL, + contextSelection ContextSelection OPTIONAL, + returnContexts BOOLEAN DEFAULT FALSE, + familyReturn FamilyReturn DEFAULT {memberSelect contributingEntriesOnly} +} + +ContextSelection ::= CHOICE { + allContexts NULL, + selectedContexts SET OF TypeAndContextAssertion +} + +TypeAndContextAssertion ::= SEQUENCE { + type AttributeType, + contextAssertions + CHOICE {preference SEQUENCE OF ContextAssertion, + all SET OF ContextAssertion} +} + +FamilyReturn ::= SEQUENCE { + memberSelect + ENUMERATED {contributingEntriesOnly(1), participatingEntriesOnly(2), + compoundEntry(3)}, + familySelect SEQUENCE SIZE (1..MAX) OF OBJECT-CLASS.&id OPTIONAL +} + +family-information ATTRIBUTE ::= { + WITH SYNTAX FamilyEntries + USAGE directoryOperation + ID id-at-family-information +} + +FamilyEntries ::= SEQUENCE { + family-class OBJECT-CLASS.&id, -- structural object class value + familyEntries SEQUENCE OF FamilyEntry +} + +FamilyEntry ::= SEQUENCE { + rdn RelativeDistinguishedName, + information + SEQUENCE OF CHOICE {attributeType AttributeType, + attribute Attribute}, + family-info SEQUENCE SIZE (1..MAX) OF FamilyEntries OPTIONAL +} + +EntryInformation ::= SEQUENCE { + name Name, + fromEntry BOOLEAN DEFAULT TRUE, + information + SET SIZE (1..MAX) OF + CHOICE {attributeType AttributeType, + attribute Attribute} OPTIONAL, + incompleteEntry [3] BOOLEAN DEFAULT FALSE, -- not in 1988-edition systems + partialNameResolution + [4] BOOLEAN DEFAULT FALSE -- not in 1988 or 1993 edition systems -- +} + +Filter ::= CHOICE { + item [0] FilterItem, + and [1] SET OF Filter, + or [2] SET OF Filter, + not [3] Filter +} + +FilterItem ::= CHOICE { + equality [0] AttributeValueAssertion, + substrings + [1] SEQUENCE {type ATTRIBUTE.&id({SupportedAttributes}), + strings + SEQUENCE OF + CHOICE {initial + [0] ATTRIBUTE.&Type + ({SupportedAttributes} + {@substrings.type}), + any + [1] ATTRIBUTE.&Type + ({SupportedAttributes} + {@substrings.type}), + final + [2] ATTRIBUTE.&Type + ({SupportedAttributes} + {@substrings.type}), + control Attribute -- Used to specify interpretation of following items + }}, + greaterOrEqual [2] AttributeValueAssertion, + lessOrEqual [3] AttributeValueAssertion, + present [4] AttributeType, + approximateMatch [5] AttributeValueAssertion, + extensibleMatch [6] MatchingRuleAssertion, + contextPresent [7] AttributeTypeAssertion +} + +MatchingRuleAssertion ::= SEQUENCE { + matchingRule [1] SET SIZE (1..MAX) OF MATCHING-RULE.&id, + type [2] AttributeType OPTIONAL, + matchValue + [3] MATCHING-RULE.&AssertionType + (CONSTRAINED BY { + -- matchValue must be a value of type specified by the &AssertionType field of + -- one of the MATCHING-RULE information objects identified by matchingRule -- }), + dnAttributes [4] BOOLEAN DEFAULT FALSE +} + +PagedResultsRequest ::= CHOICE { + newRequest + SEQUENCE {pageSize INTEGER, + sortKeys SEQUENCE SIZE (1..MAX) OF SortKey OPTIONAL, + reverse [1] BOOLEAN DEFAULT FALSE, + unmerged [2] BOOLEAN DEFAULT FALSE}, + queryReference OCTET STRING +} + +SortKey ::= SEQUENCE { + type AttributeType, + orderingRule MATCHING-RULE.&id OPTIONAL +} + +SecurityParameters ::= SET { + certification-path [0] CertificationPath OPTIONAL, + name [1] DistinguishedName OPTIONAL, + time [2] Time OPTIONAL, + random [3] BIT STRING OPTIONAL, + target [4] ProtectionRequest OPTIONAL, + response [5] BIT STRING OPTIONAL, + operationCode [6] Code OPTIONAL, + attributeCertificationPath [7] AttributeCertificationPath OPTIONAL, + errorProtection [8] ErrorProtectionRequest OPTIONAL, + errorCode [9] Code OPTIONAL +} + +ProtectionRequest ::= INTEGER { + none(0), signed(1), encrypted(2), signed-encrypted(3)} + +Time ::= CHOICE {utcTime UTCTime, + generalizedTime GeneralizedTime +} + +ErrorProtectionRequest ::= INTEGER { + none(0), signed(1), encrypted(2), signed-encrypted(3)} + +-- Bind and unbind operations +directoryBind OPERATION ::= { + ARGUMENT DirectoryBindArgument + RESULT DirectoryBindResult + ERRORS {directoryBindError} +} + +DirectoryBindArgument ::= SET { + credentials [0] Credentials OPTIONAL, + versions [1] Versions DEFAULT {v1} +} + +Credentials ::= CHOICE { + simple [0] SimpleCredentials, + strong [1] StrongCredentials, + externalProcedure [2] EXTERNAL, + spkm [3] SpkmCredentials +} + +SimpleCredentials ::= SEQUENCE { + name [0] DistinguishedName, + validity + [1] SET {time1 [0] CHOICE {utc UTCTime, + gt GeneralizedTime} OPTIONAL, + time2 [1] CHOICE {utc UTCTime, + gt GeneralizedTime} OPTIONAL, + random1 [2] BIT STRING OPTIONAL, + random2 [3] BIT STRING OPTIONAL}, + password + [2] CHOICE {unprotected OCTET STRING, + protected SIGNATURE{OCTET STRING}} OPTIONAL +} + +StrongCredentials ::= SET { + certification-path [0] CertificationPath OPTIONAL, + bind-token [1] Token, + name [2] DistinguishedName OPTIONAL, + attributeCertificationPath [3] AttributeCertificationPath OPTIONAL +} + +SpkmCredentials ::= CHOICE {req [0] SPKM-REQ, + rep [1] SPKM-REP-TI +} + +Token ::= + SIGNED + {SEQUENCE {algorithm [0] AlgorithmIdentifier, + name [1] DistinguishedName, + time [2] Time, + random [3] BIT STRING, + response [4] BIT STRING OPTIONAL, + bindIntAlgorithm + [5] SEQUENCE SIZE (1..MAX) OF AlgorithmIdentifier OPTIONAL, + bindIntKeyInfo [6] BindKeyInfo OPTIONAL, + bindConfAlgorithm + [7] SEQUENCE SIZE (1..MAX) OF AlgorithmIdentifier OPTIONAL, + bindConfKeyInfo [8] BindKeyInfo OPTIONAL}} + +Versions ::= BIT STRING {v1(0), v2(1)} + +DirectoryBindResult ::= DirectoryBindArgument + +directoryBindError ERROR ::= { + PARAMETER OPTIONALLY-PROTECTED + {SET {versions [0] Versions DEFAULT {v1}, + error + CHOICE {serviceError [1] ServiceProblem, + securityError [2] SecurityProblem}}} +} + +BindKeyInfo ::= ENCRYPTED{BIT STRING} + +directoryUnbind OPERATION ::= emptyUnbind + +-- Operations, arguments, and results +read OPERATION ::= { + ARGUMENT ReadArgument + RESULT ReadResult + ERRORS + {attributeError | nameError | serviceError | referral | abandoned | + securityError} + CODE id-opcode-read +} + +ReadArgument ::= + OPTIONALLY-PROTECTED + {SET {object [0] Name, + selection [1] EntryInformationSelection DEFAULT {}, + modifyRightsRequest [2] BOOLEAN DEFAULT FALSE, + COMPONENTS OF CommonArguments}} + +ReadResult ::= + OPTIONALLY-PROTECTED + {SET {entry [0] EntryInformation, + modifyRights [1] ModifyRights OPTIONAL, + COMPONENTS OF CommonResults}} + +ModifyRights ::= + SET OF + SEQUENCE {item + CHOICE {entry [0] NULL, + attribute [1] AttributeType, + value [2] AttributeValueAssertion}, + permission + [3] BIT STRING {add(0), remove(1), rename(2), move(3)} + } + +compare OPERATION ::= { + ARGUMENT CompareArgument + RESULT CompareResult + ERRORS + {attributeError | nameError | serviceError | referral | abandoned | + securityError} + CODE id-opcode-compare +} + +CompareArgument ::= + OPTIONALLY-PROTECTED + {SET {object [0] Name, + purported [1] AttributeValueAssertion, + COMPONENTS OF CommonArguments}} + +CompareResult ::= + OPTIONALLY-PROTECTED + {SET {name Name OPTIONAL, + matched [0] BOOLEAN, + fromEntry [1] BOOLEAN DEFAULT TRUE, + matchedSubtype [2] AttributeType OPTIONAL, + COMPONENTS OF CommonResults}} + +abandon OPERATION ::= { + ARGUMENT AbandonArgument + RESULT AbandonResult + ERRORS {abandonFailed} + CODE id-opcode-abandon +} + +AbandonArgument ::= + OPTIONALLY-PROTECTED-SEQ{SEQUENCE {invokeID [0] InvokeId}} + +AbandonResult ::= CHOICE { + null NULL, + information + OPTIONALLY-PROTECTED-SEQ{SEQUENCE {invokeID InvokeId, + COMPONENTS OF CommonResultsSeq + }} +} + +list OPERATION ::= { + ARGUMENT ListArgument + RESULT ListResult + ERRORS {nameError | serviceError | referral | abandoned | securityError} + CODE id-opcode-list +} + +ListArgument ::= + OPTIONALLY-PROTECTED + {SET {object [0] Name, + pagedResults [1] PagedResultsRequest OPTIONAL, + listFamily [2] BOOLEAN DEFAULT FALSE, + COMPONENTS OF CommonArguments}} + +ListResult ::= + OPTIONALLY-PROTECTED + {CHOICE {listInfo + SET {name Name OPTIONAL, + subordinates + [1] SET OF + SEQUENCE {rdn RelativeDistinguishedName, + aliasEntry [0] BOOLEAN DEFAULT FALSE, + fromEntry [1] BOOLEAN DEFAULT TRUE + }, + partialOutcomeQualifier + [2] PartialOutcomeQualifier OPTIONAL, + COMPONENTS OF CommonResults}, + uncorrelatedListInfo [0] SET OF ListResult}} + +PartialOutcomeQualifier ::= SET { + limitProblem [0] LimitProblem OPTIONAL, + unexplored + [1] SET SIZE (1..MAX) OF ContinuationReference OPTIONAL, + unavailableCriticalExtensions [2] BOOLEAN DEFAULT FALSE, + unknownErrors + [3] SET SIZE (1..MAX) OF ABSTRACT-SYNTAX.&Type OPTIONAL, + queryReference [4] OCTET STRING OPTIONAL, + overspecFilter [5] Filter OPTIONAL, + notification + [6] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL, + entryCount + CHOICE {bestEstimate [7] INTEGER, + lowEstimate [8] INTEGER} OPTIONAL +} + +LimitProblem ::= INTEGER { + timeLimitExceeded(0), sizeLimitExceeded(1), administrativeLimitExceeded(2) +} + +search OPERATION ::= { + ARGUMENT SearchArgument + RESULT SearchResult + ERRORS + {attributeError | nameError | serviceError | referral | abandoned | + securityError} + CODE id-opcode-search +} + +SearchArgument ::= + OPTIONALLY-PROTECTED + {SET {baseObject [0] Name, + subset + [1] INTEGER {baseObject(0), oneLevel(1), wholeSubtree(2)} + DEFAULT baseObject, + filter [2] Filter DEFAULT and:{}, + searchAliases [3] BOOLEAN DEFAULT TRUE, + selection [4] EntryInformationSelection DEFAULT {}, + pagedResults [5] PagedResultsRequest OPTIONAL, + matchedValuesOnly [6] BOOLEAN DEFAULT FALSE, + extendedFilter [7] Filter OPTIONAL, + checkOverspecified [8] BOOLEAN DEFAULT FALSE, + relaxation [9] RelaxationPolicy OPTIONAL, + extendedArea [10] INTEGER OPTIONAL, + hierarchySelections [11] HierarchySelections DEFAULT {self}, + searchControlOptions + [12] SearchControlOptions DEFAULT {searchAliases}, + COMPONENTS OF CommonArguments}} + +HierarchySelections ::= BIT STRING { + self(0), children(1), parent(2), hierarchy(3), top(4), subtree(5), + siblings(6), siblingChildren(7), siblingSubtree(8), all(9)} + +SearchControlOptions ::= BIT STRING { + searchAliases(0), matchedValuesOnly(1), checkOverspecified(2), + performExactly(3), includeAllAreas(4), noSystemRelaxation(5), dnAttribute(6), + matchOnResidualName(7), entryCount(8), useSubset(9), + separateFamilyMembers(10), searchFamily(11)} + +SearchResult ::= + OPTIONALLY-PROTECTED + {CHOICE {searchInfo + SET {name Name OPTIONAL, + entries [0] SET OF EntryInformation, + partialOutcomeQualifier + [2] PartialOutcomeQualifier OPTIONAL, + altMatching [3] BOOLEAN DEFAULT FALSE, + COMPONENTS OF CommonResults}, + uncorrelatedSearchInfo [0] SET OF SearchResult}} + +addEntry OPERATION ::= { + ARGUMENT AddEntryArgument + RESULT AddEntryResult + ERRORS + {attributeError | nameError | serviceError | referral | securityError | + updateError} + CODE id-opcode-addEntry +} + +AddEntryArgument ::= + OPTIONALLY-PROTECTED + {SET {object [0] Name, + entry [1] SET OF Attribute, + targetSystem [2] AccessPoint OPTIONAL, + COMPONENTS OF CommonArguments}} + +AddEntryResult ::= CHOICE { + null NULL, + information + OPTIONALLY-PROTECTED-SEQ{SEQUENCE {COMPONENTS OF CommonResultsSeq}} +} + +removeEntry OPERATION ::= { + ARGUMENT RemoveEntryArgument + RESULT RemoveEntryResult + ERRORS {nameError | serviceError | referral | securityError | updateError} + CODE id-opcode-removeEntry +} + +RemoveEntryArgument ::= + OPTIONALLY-PROTECTED{SET {object [0] Name, + COMPONENTS OF CommonArguments}} + +RemoveEntryResult ::= CHOICE { + null NULL, + information + OPTIONALLY-PROTECTED-SEQ{SEQUENCE {COMPONENTS OF CommonResultsSeq}} +} + +modifyEntry OPERATION ::= { + ARGUMENT ModifyEntryArgument + RESULT ModifyEntryResult + ERRORS + {attributeError | nameError | serviceError | referral | securityError | + updateError} + CODE id-opcode-modifyEntry +} + +ModifyEntryArgument ::= + OPTIONALLY-PROTECTED + {SET {object [0] Name, + changes [1] SEQUENCE OF EntryModification, + selection [2] EntryInformationSelection OPTIONAL, + COMPONENTS OF CommonArguments}} + +ModifyEntryResult ::= CHOICE { + null NULL, + information + OPTIONALLY-PROTECTED-SEQ{SEQUENCE {entry [0] EntryInformation OPTIONAL, + COMPONENTS OF CommonResultsSeq + }} +} + +EntryModification ::= CHOICE { + addAttribute [0] Attribute, + removeAttribute [1] AttributeType, + addValues [2] Attribute, + removeValues [3] Attribute, + alterValues [4] AttributeTypeAndValue, + resetValue [5] AttributeType +} + +modifyDN OPERATION ::= { + ARGUMENT ModifyDNArgument + RESULT ModifyDNResult + ERRORS {nameError | serviceError | referral | securityError | updateError} + CODE id-opcode-modifyDN +} + +ModifyDNArgument ::= + OPTIONALLY-PROTECTED + {SET {object [0] DistinguishedName, + newRDN [1] RelativeDistinguishedName, + deleteOldRDN [2] BOOLEAN DEFAULT FALSE, + newSuperior [3] DistinguishedName OPTIONAL, + COMPONENTS OF CommonArguments}} + +ModifyDNResult ::= CHOICE { + null NULL, + information + OPTIONALLY-PROTECTED-SEQ{SEQUENCE {newRDN RelativeDistinguishedName, + COMPONENTS OF CommonResultsSeq + }} +} + +-- Errors and parameters +abandoned ERROR ::= { -- not literally an "error" + PARAMETER OPTIONALLY-PROTECTED {SET {COMPONENTS OF CommonResults}} + CODE id-errcode-abandoned +} + +abandonFailed ERROR ::= { + PARAMETER OPTIONALLY-PROTECTED + {SET {problem [0] AbandonProblem, + operation [1] InvokeId, + COMPONENTS OF CommonResults}} + CODE id-errcode-abandonFailed +} + +AbandonProblem ::= INTEGER {noSuchOperation(1), tooLate(2), cannotAbandon(3)} + +attributeError ERROR ::= { + PARAMETER OPTIONALLY-PROTECTED + {SET {object [0] Name, + problems + [1] SET OF + SEQUENCE {problem [0] AttributeProblem, + type [1] AttributeType, + value [2] AttributeValue OPTIONAL}, + COMPONENTS OF CommonResults}} + CODE id-errcode-attributeError +} + +AttributeProblem ::= INTEGER { + noSuchAttributeOrValue(1), invalidAttributeSyntax(2), + undefinedAttributeType(3), inappropriateMatching(4), constraintViolation(5), + attributeOrValueAlreadyExists(6), contextViolation(7)} + +nameError ERROR ::= { + PARAMETER OPTIONALLY-PROTECTED + {SET {problem [0] NameProblem, + matched [1] Name, + COMPONENTS OF CommonResults}} + CODE id-errcode-nameError +} + +NameProblem ::= INTEGER { + noSuchObject(1), aliasProblem(2), invalidAttributeSyntax(3), + aliasDereferencingProblem(4), contextProblem(5)} + +referral ERROR ::= { -- not literally an "error" + PARAMETER OPTIONALLY-PROTECTED + {SET {candidate [0] ContinuationReference, + COMPONENTS OF CommonResults}} + CODE id-errcode-referral +} + +securityError ERROR ::= { + PARAMETER OPTIONALLY-PROTECTED + {SET {problem [0] SecurityProblem, + spkmInfo [1] SPKM-ERROR, + COMPONENTS OF CommonResults}} + CODE id-errcode-securityError +} + +SecurityProblem ::= INTEGER { + inappropriateAuthentication(1), invalidCredentials(2), + insufficientAccessRights(3), invalidSignature(4), protectionRequired(5), + noInformation(6), blockedCredentials(7), invalidQOPMatch(8), spkmError(9) +} + +serviceError ERROR ::= { + PARAMETER OPTIONALLY-PROTECTED + {SET {problem [0] ServiceProblem, + COMPONENTS OF CommonResults}} + CODE id-errcode-serviceError +} + +ServiceProblem ::= INTEGER { + busy(1), unavailable(2), unwillingToPerform(3), chainingRequired(4), + unableToProceed(5), invalidReference(6), timeLimitExceeded(7), + administrativeLimitExceeded(8), loopDetected(9), + unavailableCriticalExtension(10), outOfScope(11), ditError(12), + invalidQueryReference(13), requestedServiceNotAvailable(14), + relaxationNotSupported(15), unavailableRelaxationLevel(16), + unsupportedMatchingUse(17), unmatchedKeyAttributes(18), + ambiguousKeyAttributes(19)} + +updateError ERROR ::= { + PARAMETER OPTIONALLY-PROTECTED + {SET {problem [0] UpdateProblem, + attributeInfo + [1] SET SIZE (1..MAX) OF + CHOICE {attributeType AttributeType, + attribute Attribute} OPTIONAL, + COMPONENTS OF CommonResults}} + CODE id-errcode-updateError +} + +UpdateProblem ::= INTEGER { + namingViolation(1), objectClassViolation(2), notAllowedOnNonLeaf(3), + notAllowedOnRDN(4), entryAlreadyExists(5), affectsMultipleDSAs(6), + objectClassModificationProhibited(7), notAncestor(8), parentNotAncestor(9), + hierarchyRuleViolation(10), familyRuleViolation(11)} + +id-at-family-information OBJECT IDENTIFIER ::= {id-at 64} + +END -- DirectoryAbstractService + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D diff --git a/acse/InformationFramework.asn1 b/acse/InformationFramework.asn1 new file mode 100644 index 0000000..58d934b --- /dev/null +++ b/acse/InformationFramework.asn1 @@ -0,0 +1,876 @@ +-- Module InformationFramework (X.501 TC2:08/1997) +-- See also ITU-T X.501 (1997) Technical Cor. 2 (02/2001) +-- See also the index of all ASN.1 assignments needed in this document + +InformationFramework {joint-iso-itu-t ds(5) module(1) informationFramework(1) + 3} DEFINITIONS ::= +BEGIN + +-- EXPORTS All - +-- The types and values defined in this module are exported for use in the other ASN.1 modules contained +-- within the Directory Specifications, and for the use of other applications which will use them to access +-- Directory services. Other applications may use them for their own purposes, but this will not constrain +-- extensions and modifications needed to maintain or improve the Directory service. +IMPORTS + id-oc, id-at, id-mr, id-oa, id-sc, id-ar, id-nf, selectedAttributeTypes, + directoryAbstractService, upperBounds + FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1) + usefulDefinitions(0) 3} + commonName, generalizedTimeMatch, generalizedTimeOrderingMatch, booleanMatch, + integerMatch, integerOrderingMatch, objectIdentifierFirstComponentMatch, + integerFirstComponentMatch, DirectoryString{} + FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1) + selectedAttributeTypes(5) 3} + TypeAndContextAssertion, ServiceControlOptions, SearchControlOptions, + HierarchySelections, FamilyGrouping, FamilyReturn + FROM DirectoryAbstractService {joint-iso-itu-t ds(5) module(1) + directoryAbstractService(2) 3} + ub-search + FROM UpperBounds {joint-iso-itu-t ds(5) module(1) upperBounds(10) 3}; + +-- attribute data types +Attribute ::= SEQUENCE { + type ATTRIBUTE.&id({SupportedAttributes}), + values + SET SIZE (0..MAX) OF ATTRIBUTE.&Type({SupportedAttributes}{@type}), + valuesWithContext + SET SIZE (1..MAX) OF + SEQUENCE {value ATTRIBUTE.&Type({SupportedAttributes}{@type}), + contextList SET SIZE (1..MAX) OF Context} OPTIONAL +} + +AttributeType ::= ATTRIBUTE.&id + +AttributeValue ::= ATTRIBUTE.&Type + +Context ::= SEQUENCE { + contextType CONTEXT.&id({SupportedContexts}), + contextValues + SET SIZE (1..MAX) OF CONTEXT.&Type({SupportedContexts}{@contextType}), + fallback BOOLEAN DEFAULT FALSE +} + +AttributeValueAssertion ::= SEQUENCE { + type ATTRIBUTE.&id({SupportedAttributes}), + assertion + ATTRIBUTE.&equality-match.&AssertionType + ({SupportedAttributes}{@type}), + assertedContexts + CHOICE {allContexts [0] NULL, + selectedContexts [1] SET SIZE (1..MAX) OF ContextAssertion + } OPTIONAL +} + +ContextAssertion ::= SEQUENCE { + contextType CONTEXT.&id({SupportedContexts}), + contextValues + SET SIZE (1..MAX) OF + CONTEXT.&Assertion({SupportedContexts}{@contextType}) +} + +AttributeTypeAssertion ::= SEQUENCE { + type ATTRIBUTE.&id({SupportedAttributes}), + assertedContexts SEQUENCE SIZE (1..MAX) OF ContextAssertion OPTIONAL +} + +-- Definition of the following information object set is deferred, perhaps to standardized +-- profiles or to protocol implementation conformance statements. The set is required to +-- specify a table constraint on the values component of Attribute, the value component +-- of AttributeTypeAndValue, and the assertion component of AttributeValueAssertion. +SupportedAttributes ATTRIBUTE ::= + {objectClass | aliasedEntryName, ...} + +-- Definition of the following information object set is deferred, perhaps to standardized +-- profiles or to protocol implementation conformance statements. The set is required to +-- specify a table constraint on the context specifications +SupportedContexts CONTEXT ::= + {...} + +-- naming data types +Name ::= CHOICE { -- only one possibility for now --rdnSequence RDNSequence +} + +RDNSequence ::= SEQUENCE OF RelativeDistinguishedName + +DistinguishedName ::= RDNSequence + +RelativeDistinguishedName ::= + SET SIZE (1..MAX) OF AttributeTypeAndDistinguishedValue + +AttributeTypeAndDistinguishedValue ::= SEQUENCE { + type ATTRIBUTE.&id({SupportedAttributes}), + value ATTRIBUTE.&Type({SupportedAttributes}{@type}), + primaryDistinguished BOOLEAN DEFAULT TRUE, + valuesWithContext + SET SIZE (1..MAX) OF + SEQUENCE {distingAttrValue + [0] ATTRIBUTE.&Type({SupportedAttributes}{@type}) + OPTIONAL, + contextList SET SIZE (1..MAX) OF Context} OPTIONAL +} + +-- subtree data types +SubtreeSpecification ::= SEQUENCE { + base [0] LocalName DEFAULT {}, + COMPONENTS OF ChopSpecification, + specificationFilter [4] Refinement OPTIONAL +} + +-- empty sequence specifies whole administrative area +LocalName ::= RDNSequence + +ChopSpecification ::= SEQUENCE { + specificExclusions + [1] SET SIZE (1..MAX) OF + CHOICE {chopBefore [0] LocalName, + chopAfter [1] LocalName} OPTIONAL, + minimum [2] BaseDistance DEFAULT 0, + maximum [3] BaseDistance OPTIONAL +} + +BaseDistance ::= INTEGER(0..MAX) + +Refinement ::= CHOICE { + item [0] OBJECT-CLASS.&id, + and [1] SET OF Refinement, + or [2] SET OF Refinement, + not [3] Refinement +} + +-- OBJECT-CLASS information object class specification +OBJECT-CLASS ::= CLASS { + &Superclasses OBJECT-CLASS OPTIONAL, + &kind ObjectClassKind DEFAULT structural, + &MandatoryAttributes ATTRIBUTE OPTIONAL, + &OptionalAttributes ATTRIBUTE OPTIONAL, + &id OBJECT IDENTIFIER UNIQUE +} +WITH SYNTAX { + [SUBCLASS OF &Superclasses] + [KIND &kind] + [MUST CONTAIN &MandatoryAttributes] + [MAY CONTAIN &OptionalAttributes] + ID &id +} + +ObjectClassKind ::= ENUMERATED {abstract(0), structural(1), auxiliary(2)} + +-- object classes +top OBJECT-CLASS ::= { + KIND abstract + MUST CONTAIN {objectClass} + ID id-oc-top +} + +alias OBJECT-CLASS ::= { + SUBCLASS OF {top} + MUST CONTAIN {aliasedEntryName} + ID id-oc-alias +} + +parent OBJECT-CLASS ::= {KIND abstract + ID id-oc-parent +} + +child OBJECT-CLASS ::= {KIND auxiliary + ID id-oc-child +} + +-- ATTRIBUTE information object class specification +ATTRIBUTE ::= CLASS { + &derivation ATTRIBUTE OPTIONAL, + &Type OPTIONAL, -- either &Type or &derivation required + &equality-match MATCHING-RULE OPTIONAL, + &ordering-match MATCHING-RULE OPTIONAL, + &substrings-match MATCHING-RULE OPTIONAL, + &single-valued BOOLEAN DEFAULT FALSE, + &collective BOOLEAN DEFAULT FALSE, + -- operational extensions + &no-user-modification BOOLEAN DEFAULT FALSE, + &usage AttributeUsage DEFAULT userApplications, + &id OBJECT IDENTIFIER UNIQUE +} +WITH SYNTAX { + [SUBTYPE OF &derivation] + [WITH SYNTAX &Type] + [EQUALITY MATCHING RULE &equality-match] + [ORDERING MATCHING RULE &ordering-match] + [SUBSTRINGS MATCHING RULE &substrings-match] + [SINGLE VALUE &single-valued] + [COLLECTIVE &collective] + [NO USER MODIFICATION &no-user-modification] + [USAGE &usage] + ID &id +} + +AttributeUsage ::= ENUMERATED { + userApplications(0), directoryOperation(1), distributedOperation(2), + dSAOperation(3)} + +-- attributes +objectClass ATTRIBUTE ::= { + WITH SYNTAX OBJECT IDENTIFIER + EQUALITY MATCHING RULE objectIdentifierMatch + ID id-at-objectClass +} + +aliasedEntryName ATTRIBUTE ::= { + WITH SYNTAX DistinguishedName + EQUALITY MATCHING RULE distinguishedNameMatch + SINGLE VALUE TRUE + ID id-at-aliasedEntryName +} + +-- MATCHING-RULE information object class specification +MATCHING-RULE ::= CLASS { + &ParentMatchingRules MATCHING-RULE.&id OPTIONAL, + &AssertionType OPTIONAL, + &uniqueMatchIndicator ATTRIBUTE.&id OPTIONAL, + &id OBJECT IDENTIFIER UNIQUE +} +WITH SYNTAX { + [PARENT &ParentMatchingRules] + [SYNTAX &AssertionType] + [UNIQUE-MATCH-INDICATOR &uniqueMatchIndicator] + ID &id +} + +-- matching rules +objectIdentifierMatch MATCHING-RULE ::= { + SYNTAX OBJECT IDENTIFIER + ID id-mr-objectIdentifierMatch +} + +distinguishedNameMatch MATCHING-RULE ::= { + SYNTAX DistinguishedName + ID id-mr-distinguishedNameMatch +} + +MAPPING-BASED-MATCHING{SelectedBy, BOOLEAN:combinable, MappingResult, + OBJECT IDENTIFIER:matchingRule} ::= CLASS { + &selectBy SelectedBy OPTIONAL, + &ApplicableTo ATTRIBUTE, + &subtypesIncluded BOOLEAN DEFAULT TRUE, + &combinable BOOLEAN(combinable), + &mappingResults MappingResult OPTIONAL, + &userControl BOOLEAN DEFAULT FALSE, + &exclusive BOOLEAN DEFAULT TRUE, + &matching-rule MATCHING-RULE.&id(matchingRule), + &id OBJECT IDENTIFIER UNIQUE +} +WITH SYNTAX { + [SELECT BY &selectBy] + APPLICABLE TO &ApplicableTo + [SUBTYPES INCLUDED &subtypesIncluded] + COMBINABLE &combinable + [MAPPING RESULTS &mappingResults] + [USER CONTROL &userControl] + [EXCLUSIVE &exclusive] + MATCHING RULE &matching-rule + ID &id +} + +-- NAME-FORM information object class specification +NAME-FORM ::= CLASS { + &namedObjectClass OBJECT-CLASS, + &MandatoryAttributes ATTRIBUTE, + &OptionalAttributes ATTRIBUTE OPTIONAL, + &id OBJECT IDENTIFIER UNIQUE +} +WITH SYNTAX { + NAMES &namedObjectClass + WITH ATTRIBUTES &MandatoryAttributes + [AND OPTIONALLY &OptionalAttributes] + ID &id +} + +-- STRUCTURE-RULE class and DIT structure rule data types +STRUCTURE-RULE ::= CLASS { + &nameForm NAME-FORM, + &SuperiorStructureRules STRUCTURE-RULE OPTIONAL, + &id RuleIdentifier +} +WITH SYNTAX { + NAME FORM &nameForm + [SUPERIOR RULES &SuperiorStructureRules] + ID &id +} + +DITStructureRule ::= SEQUENCE { + ruleIdentifier RuleIdentifier, + -- must be unique within the scope of the subschema + nameForm NAME-FORM.&id, + superiorStructureRules SET SIZE (1..MAX) OF RuleIdentifier OPTIONAL +} + +RuleIdentifier ::= INTEGER + +-- CONTENT-RULE class and DIT content rule data types +CONTENT-RULE ::= CLASS { + &structuralClass OBJECT-CLASS.&id UNIQUE, + &Auxiliaries OBJECT-CLASS OPTIONAL, + &Mandatory ATTRIBUTE OPTIONAL, + &Optional ATTRIBUTE OPTIONAL, + &Precluded ATTRIBUTE OPTIONAL +} +WITH SYNTAX { + STRUCTURAL OBJECT-CLASS &structuralClass + [AUXILIARY OBJECT-CLASSES &Auxiliaries] + [MUST CONTAIN &Mandatory] + [MAY CONTAIN &Optional] + [MUST-NOT CONTAIN &Precluded] +} + +DITContentRule ::= SEQUENCE { + structuralObjectClass OBJECT-CLASS.&id, + auxiliaries SET SIZE (1..MAX) OF OBJECT-CLASS.&id OPTIONAL, + mandatory [1] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL, + optional [2] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL, + precluded [3] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL +} + +CONTEXT ::= CLASS { + &Type , + &Assertion OPTIONAL, + &id OBJECT IDENTIFIER UNIQUE +}WITH SYNTAX {WITH SYNTAX &Type + [ASSERTED AS &Assertion] + ID &id +} + +DITContextUse ::= SEQUENCE { + attributeType ATTRIBUTE.&id, + mandatoryContexts [1] SET SIZE (1..MAX) OF CONTEXT.&id OPTIONAL, + optionalContexts [2] SET SIZE (1..MAX) OF CONTEXT.&id OPTIONAL +} + +DIT-CONTEXT-USE-RULE ::= CLASS { + &attributeType ATTRIBUTE.&id UNIQUE, + &Mandatory CONTEXT OPTIONAL, + &Optional CONTEXT OPTIONAL +} +WITH SYNTAX { + ATTRIBUTE TYPE &attributeType + [MANDATORY CONTEXTS &Mandatory] + [OPTIONAL CONTEXTS &Optional] +} + +-- system schema information objects +-- object classes +subentry OBJECT-CLASS ::= { + SUBCLASS OF {top} + KIND structural + MUST CONTAIN {commonName | subtreeSpecification} + ID id-sc-subentry +} + +subentryNameForm NAME-FORM ::= { + NAMES subentry + WITH ATTRIBUTES {commonName} + ID id-nf-subentryNameForm +} + +accessControlSubentry OBJECT-CLASS ::= { + KIND auxiliary + ID id-sc-accessControlSubentry +} + +collectiveAttributeSubentry OBJECT-CLASS ::= { + KIND auxiliary + ID id-sc-collectiveAttributeSubentry +} + +contextAssertionSubentry OBJECT-CLASS ::= { + KIND auxiliary + MUST CONTAIN {contextAssertionDefaults} + ID id-sc-contextAssertionSubentry +} + +serviceAdminSubentry OBJECT-CLASS ::= { + KIND auxiliary + MUST CONTAIN {searchRules} + ID id-sc-serviceAdminSubentry +} + +-- attributes +createTimestamp ATTRIBUTE ::= { + WITH SYNTAX GeneralizedTime + -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1 + EQUALITY MATCHING RULE generalizedTimeMatch + ORDERING MATCHING RULE generalizedTimeOrderingMatch + SINGLE VALUE TRUE + NO USER MODIFICATION TRUE + USAGE directoryOperation + ID id-oa-createTimestamp +} + +modifyTimestamp ATTRIBUTE ::= { + WITH SYNTAX GeneralizedTime + -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1 + EQUALITY MATCHING RULE generalizedTimeMatch + ORDERING MATCHING RULE generalizedTimeOrderingMatch + SINGLE VALUE TRUE + NO USER MODIFICATION TRUE + USAGE directoryOperation + ID id-oa-modifyTimestamp +} + +subschemaTimestamp ATTRIBUTE ::= { + WITH SYNTAX GeneralizedTime + -- as per 41.3 b) or c) of ITU-T Rec.X. 680 | ISO/IEC 8824-1 + EQUALITY MATCHING RULE generalizedTimeMatch + ORDERING MATCHING RULE generalizedTimeOrderingMatch + SINGLE VALUE TRUE + NO USER MODIFICATION TRUE + USAGE directoryOperation + ID id-oa-subschemaTimestamp +} + +creatorsName ATTRIBUTE ::= { + WITH SYNTAX DistinguishedName + EQUALITY MATCHING RULE distinguishedNameMatch + SINGLE VALUE TRUE + NO USER MODIFICATION TRUE + USAGE directoryOperation + ID id-oa-creatorsName +} + +modifiersName ATTRIBUTE ::= { + WITH SYNTAX DistinguishedName + EQUALITY MATCHING RULE distinguishedNameMatch + SINGLE VALUE TRUE + NO USER MODIFICATION TRUE + USAGE directoryOperation + ID id-oa-modifiersName +} + +subschemaSubentryList ATTRIBUTE ::= { + WITH SYNTAX DistinguishedName + EQUALITY MATCHING RULE distinguishedNameMatch + SINGLE VALUE TRUE + NO USER MODIFICATION TRUE + USAGE directoryOperation + ID id-oa-subschemaSubentryList +} + +accessControlSubentryList ATTRIBUTE ::= { + WITH SYNTAX DistinguishedName + EQUALITY MATCHING RULE distinguishedNameMatch + NO USER MODIFICATION TRUE + USAGE directoryOperation + ID id-oa-accessControlSubentryList +} + +collectiveAttributeSubentryList ATTRIBUTE ::= { + WITH SYNTAX DistinguishedName + EQUALITY MATCHING RULE distinguishedNameMatch + NO USER MODIFICATION TRUE + USAGE directoryOperation + ID id-oa-collectiveAttributeSubentryList +} + +contextDefaultSubentryList ATTRIBUTE ::= { + WITH SYNTAX DistinguishedName + EQUALITY MATCHING RULE distinguishedNameMatch + NO USER MODIFICATION TRUE + USAGE directoryOperation + ID id-oa-contextDefaultSubentryList +} + +serviceAdminSubentryList ATTRIBUTE ::= { + WITH SYNTAX DistinguishedName + EQUALITY MATCHING RULE distinguishedNameMatch + NO USER MODIFICATION TRUE + USAGE directoryOperation + ID id-oa-serviceAdminSubentryList +} + +hasSubordinates ATTRIBUTE ::= { + WITH SYNTAX BOOLEAN + EQUALITY MATCHING RULE booleanMatch + SINGLE VALUE TRUE + NO USER MODIFICATION TRUE + USAGE directoryOperation + ID id-oa-hasSubordinates +} + +administrativeRole ATTRIBUTE ::= { + WITH SYNTAX OBJECT-CLASS.&id + EQUALITY MATCHING RULE objectIdentifierMatch + USAGE directoryOperation + ID id-oa-administrativeRole +} + +subtreeSpecification ATTRIBUTE ::= { + WITH SYNTAX SubtreeSpecification + USAGE directoryOperation + ID id-oa-subtreeSpecification +} + +collectiveExclusions ATTRIBUTE ::= { + WITH SYNTAX OBJECT IDENTIFIER + EQUALITY MATCHING RULE objectIdentifierMatch + USAGE directoryOperation + ID id-oa-collectiveExclusions +} + +contextAssertionDefaults ATTRIBUTE ::= { + WITH SYNTAX TypeAndContextAssertion + EQUALITY MATCHING RULE objectIdentifierFirstComponentMatch + USAGE directoryOperation + ID id-oa-contextAssertionDefault +} + +searchRules ATTRIBUTE ::= { + WITH SYNTAX SearchRuleDescription + EQUALITY MATCHING RULE integerFirstComponentMatch + USAGE directoryOperation + ID id-oa-searchRules +} + +SearchRuleDescription ::= SEQUENCE { + COMPONENTS OF SearchRule, + name [28] SET SIZE (1..MAX) OF DirectoryString{ub-search} OPTIONAL, + description [29] DirectoryString{ub-search} OPTIONAL, + obsolete [30] BOOLEAN DEFAULT FALSE +} + +hierarchyLevel ATTRIBUTE ::= { + WITH SYNTAX INTEGER + EQUALITY MATCHING RULE integerMatch + ORDERING MATCHING RULE integerOrderingMatch + SINGLE VALUE TRUE + NO USER MODIFICATION TRUE + USAGE directoryOperation + ID id-oa-hierarchyLevel +} + +hierarchyBelow ATTRIBUTE ::= { + WITH SYNTAX BOOLEAN + EQUALITY MATCHING RULE booleanMatch + SINGLE VALUE TRUE + NO USER MODIFICATION TRUE + USAGE directoryOperation + ID id-oa-hierarchyBelow +} + +hierarchyParent ATTRIBUTE ::= { + WITH SYNTAX DistinguishedName + EQUALITY MATCHING RULE distinguishedNameMatch + SINGLE VALUE TRUE + USAGE directoryOperation + ID id-oa-hierarchyParent +} + +SearchRule ::= SEQUENCE { + COMPONENTS OF SearchRuleId, + serviceType [1] OBJECT IDENTIFIER OPTIONAL, + userClass [2] INTEGER OPTIONAL, + inputAttributeTypes + [3] SEQUENCE SIZE (1..MAX) OF RequestAttribute OPTIONAL, + attributeCombination [4] AttributeCombination DEFAULT and:{}, + outputAttributeTypes [5] SEQUENCE SIZE (1..MAX) OF ResultAttribute OPTIONAL, + defaultControls [6] ControlOptions OPTIONAL, + mandatoryControls [7] ControlOptions OPTIONAL, + searchRuleControls [8] ControlOptions OPTIONAL, + familyGrouping [9] FamilyGrouping OPTIONAL, + familyReturn [10] FamilyReturn OPTIONAL, + relaxation [11] RelaxationPolicy OPTIONAL, + additionalControl [12] SEQUENCE SIZE (1..MAX) OF AttributeType OPTIONAL, + allowedSubset [13] AllowedSubset DEFAULT '111'B, + imposedSubset [14] ImposedSubset OPTIONAL, + entryLimit [15] EntryLimit OPTIONAL +} + +SearchRuleId ::= SEQUENCE {id INTEGER, + dmdId [0] OBJECT IDENTIFIER +} + +AllowedSubset ::= BIT STRING {baseObject(0), oneLevel(1), wholeSubtree(2)} + +ImposedSubset ::= ENUMERATED {baseObject(0), oneLevel(1), wholeSubtree(2)} + +RequestAttribute ::= SEQUENCE { + attributeType ATTRIBUTE.&id({SupportedAttributes}), + includeSubtypes [0] BOOLEAN DEFAULT FALSE, + selectedValues + [1] SEQUENCE SIZE (0..MAX) OF + ATTRIBUTE.&Type({SupportedAttributes}{@attributeType}) OPTIONAL, + defaultValues + [2] SEQUENCE SIZE (0..MAX) OF + SEQUENCE {entryType OBJECT-CLASS.&id OPTIONAL, + values + SEQUENCE OF + ATTRIBUTE.&Type + ({SupportedAttributes}{@attributeType})} OPTIONAL, + contexts [3] SEQUENCE SIZE (0..MAX) OF ContextProfile OPTIONAL, + contextCombination [4] ContextCombination DEFAULT and:{}, + matchingUse [5] SEQUENCE SIZE (1..MAX) OF MatchingUse OPTIONAL +} + +ContextProfile ::= SEQUENCE { + contextType CONTEXT.&id({SupportedContexts}), + contextValue + SEQUENCE SIZE (1..MAX) OF + CONTEXT.&Assertion({SupportedContexts}{@contextType}) OPTIONAL +} + +ContextCombination ::= CHOICE { + context [0] CONTEXT.&id, + and [1] SEQUENCE OF ContextCombination, + or [2] SEQUENCE OF ContextCombination, + not [3] ContextCombination +} + +MatchingUse ::= SEQUENCE { + restrictionType + MATCHING-RESTRICTION.&id({SupportedMatchingRestrictions}), + restrictionValue + MATCHING-RESTRICTION.&Restriction + ({SupportedMatchingRestrictions}{@restrictionType}) +} + +-- Definition of the following information object set is deferred, perhaps to standardized +-- profiles or to protocol implementation conformance statements. The set is required to +-- specify a table constraint on the components of SupportedMatchingRestrictions +SupportedMatchingRestrictions MATCHING-RESTRICTION ::= + {...} + +AttributeCombination ::= CHOICE { + attribute [0] AttributeType, + and [1] SEQUENCE OF AttributeCombination, + or [2] SEQUENCE OF AttributeCombination, + not [3] AttributeCombination +} + +ResultAttribute ::= SEQUENCE { + attributeType ATTRIBUTE.&id({SupportedAttributes}), + outputValues + CHOICE {selectedValues + SEQUENCE SIZE (1..MAX) OF + ATTRIBUTE.&Type({SupportedAttributes}{@attributeType}), + matchedValuesOnly NULL} OPTIONAL, + contexts [0] SEQUENCE SIZE (1..MAX) OF ContextProfile OPTIONAL +} + +OutputValues ::= CHOICE { + selectedValues + SEQUENCE SIZE (1..MAX) OF ATTRIBUTE.&Type({SupportedAttributes}), + matchedValuesOnly NULL +} + +ControlOptions ::= SEQUENCE { + serviceControls [0] ServiceControlOptions DEFAULT {}, + searchOptions [1] SearchControlOptions DEFAULT {searchAliases}, + hierarchyOptions [2] HierarchySelections OPTIONAL +} + +EntryLimit ::= SEQUENCE {default INTEGER, + max INTEGER +} + +RelaxationPolicy ::= SEQUENCE { + basic [0] MRMapping DEFAULT {}, + tightenings [1] SEQUENCE SIZE (1..MAX) OF MRMapping OPTIONAL, + relaxations [2] SEQUENCE SIZE (1..MAX) OF MRMapping OPTIONAL, + maximum [3] INTEGER OPTIONAL, -- mandatory if tightenings is present + minimum [4] INTEGER DEFAULT 1 +} + +MRMapping ::= SEQUENCE { + mapping [0] SEQUENCE SIZE (1..MAX) OF Mapping OPTIONAL, + substitution [1] SEQUENCE SIZE (1..MAX) OF MRSubstitution OPTIONAL +} + +Mapping ::= SEQUENCE { + mappingFunction + OBJECT IDENTIFIER + (CONSTRAINED BY {-- shall be an-- + + -- object identifier of a mapping-based matching algorithm -- }), + level INTEGER DEFAULT 0 +} + +MRSubstitution ::= SEQUENCE { + attribute AttributeType, + oldMatchingRule [0] MATCHING-RULE.&id OPTIONAL, + newMatchingRule [1] MATCHING-RULE.&id OPTIONAL +} + +SEARCH-RULE ::= CLASS { + &dmdId OBJECT IDENTIFIER, + &serviceType OBJECT IDENTIFIER OPTIONAL, + &userClass INTEGER OPTIONAL, + &InputAttributeTypes REQUEST-ATTRIBUTE OPTIONAL, + &combination AttributeCombination OPTIONAL, + &OutputAttributeTypes RESULT-ATTRIBUTE OPTIONAL, + &defaultControls ControlOptions OPTIONAL, + &mandatoryControls ControlOptions OPTIONAL, + &searchRuleControls ControlOptions OPTIONAL, + &familyGrouping FamilyGrouping OPTIONAL, + &familyReturn FamilyReturn OPTIONAL, + &additionalControl AttributeType OPTIONAL, + &relaxation RelaxationPolicy OPTIONAL, + &entryLimit EntryLimit OPTIONAL, + &allowedSubset AllowedSubset DEFAULT '111'B, + &imposedSubset ImposedSubset OPTIONAL, + &id INTEGER UNIQUE +} +WITH SYNTAX { + DMD ID &dmdId + [SERVICE-TYPE &serviceType] + [USER-CLASS &userClass] + [INPUT ATTRIBUTES &InputAttributeTypes] + [COMBINATION &combination] + [OUTPUT ATTRIBUTES &OutputAttributeTypes] + [DEFAULT CONTROL &defaultControls] + [MANDATORY CONTROL &mandatoryControls] + [SEARCH-RULE CONTROL &searchRuleControls] + [FAMILY-GROUPING &familyGrouping] + [FAMILY-RETURN &familyReturn] + [ADDITIONAL CONTROL &additionalControl] + [RELAXATION &relaxation] + [ALLOWED SUBSET &allowedSubset] + [IMPOSED SUBSET &imposedSubset] + [ENTRY LIMIT &entryLimit] + ID &id +} + +REQUEST-ATTRIBUTE ::= CLASS { + &attributeType ATTRIBUTE.&id, + &SelectedValues ATTRIBUTE.&Type OPTIONAL, + &DefaultValues SEQUENCE {entryType OBJECT-CLASS.&id OPTIONAL, + values SEQUENCE OF ATTRIBUTE.&Type + } OPTIONAL, + &contexts SEQUENCE OF ContextProfile OPTIONAL, + &contextCombination ContextCombination OPTIONAL, + &MatchingUse MatchingUse OPTIONAL, + &includeSubtypes BOOLEAN DEFAULT FALSE +} +WITH SYNTAX { + ATTRIBUTE TYPE &attributeType + [SELECTED VALUES &SelectedValues] + [DEFAULT VALUES &DefaultValues] + [CONTEXTS &contexts] + [CONTEXT COMBINATION &contextCombination] + [MATCHING USE &MatchingUse] + [INCLUDE SUBTYPES &includeSubtypes] +} + +RESULT-ATTRIBUTE ::= CLASS { + &attributeType ATTRIBUTE.&id, + &outputValues OutputValues OPTIONAL, + &contexts ContextProfile OPTIONAL +} +WITH SYNTAX { + ATTRIBUTE TYPE &attributeType + [OUTPUT VALUES &outputValues] + [CONTEXTS &contexts] +} + +MATCHING-RESTRICTION ::= CLASS { + &Restriction , + &Rules MATCHING-RULE.&id, + &id OBJECT IDENTIFIER UNIQUE +}WITH SYNTAX {RESTRICTION &Restriction + RULES &Rules + ID &id +} + +-- object identifier assignments +-- object classes +id-oc-top OBJECT IDENTIFIER ::= + {id-oc 0} + +id-oc-alias OBJECT IDENTIFIER ::= {id-oc 1} + +id-oc-parent OBJECT IDENTIFIER ::= {id-oc 28} + +id-oc-child OBJECT IDENTIFIER ::= {id-oc 29} + +-- attributes +id-at-objectClass OBJECT IDENTIFIER ::= {id-at 0} + +id-at-aliasedEntryName OBJECT IDENTIFIER ::= {id-at 1} + +-- matching rules +id-mr-objectIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 0} + +id-mr-distinguishedNameMatch OBJECT IDENTIFIER ::= {id-mr 1} + +-- operational attributes +id-oa-excludeAllCollectiveAttributes OBJECT IDENTIFIER ::= + {id-oa 0} + +id-oa-createTimestamp OBJECT IDENTIFIER ::= {id-oa 1} + +id-oa-modifyTimestamp OBJECT IDENTIFIER ::= {id-oa 2} + +id-oa-creatorsName OBJECT IDENTIFIER ::= {id-oa 3} + +id-oa-modifiersName OBJECT IDENTIFIER ::= {id-oa 4} + +id-oa-administrativeRole OBJECT IDENTIFIER ::= {id-oa 5} + +id-oa-subtreeSpecification OBJECT IDENTIFIER ::= {id-oa 6} + +id-oa-collectiveExclusions OBJECT IDENTIFIER ::= {id-oa 7} + +id-oa-subschemaTimestamp OBJECT IDENTIFIER ::= {id-oa 8} + +id-oa-hasSubordinates OBJECT IDENTIFIER ::= {id-oa 9} + +id-oa-subschemaSubentryList OBJECT IDENTIFIER ::= {id-oa 10} + +id-oa-accessControlSubentryList OBJECT IDENTIFIER ::= {id-oa 11} + +id-oa-collectiveAttributeSubentryList OBJECT IDENTIFIER ::= {id-oa 12} + +id-oa-contextDefaultSubentryList OBJECT IDENTIFIER ::= {id-oa 13} + +id-oa-contextAssertionDefault OBJECT IDENTIFIER ::= {id-oa 14} + +id-oa-serviceAdminSubentryList OBJECT IDENTIFIER ::= {id-oa 15} + +id-oa-searchRules OBJECT IDENTIFIER ::= {id-oa 16} + +id-oa-hierarchyLevel OBJECT IDENTIFIER ::= {id-oa 17} + +id-oa-hierarchyBelow OBJECT IDENTIFIER ::= {id-oa 18} + +id-oa-hierarchyParent OBJECT IDENTIFIER ::= {id-oa 19} + +-- subentry classes +id-sc-subentry OBJECT IDENTIFIER ::= {id-sc 0} + +id-sc-accessControlSubentry OBJECT IDENTIFIER ::= {id-sc 1} + +id-sc-collectiveAttributeSubentry OBJECT IDENTIFIER ::= {id-sc 2} + +id-sc-contextAssertionSubentry OBJECT IDENTIFIER ::= {id-sc 3} + +id-sc-serviceAdminSubentry OBJECT IDENTIFIER ::= {id-sc 4} + +-- Name forms +id-nf-subentryNameForm OBJECT IDENTIFIER ::= {id-nf 16} + +-- administrative roles +id-ar-autonomousArea OBJECT IDENTIFIER ::= {id-ar 1} + +id-ar-accessControlSpecificArea OBJECT IDENTIFIER ::= {id-ar 2} + +id-ar-accessControlInnerArea OBJECT IDENTIFIER ::= {id-ar 3} + +id-ar-subschemaAdminSpecificArea OBJECT IDENTIFIER ::= {id-ar 4} + +id-ar-collectiveAttributeSpecificArea OBJECT IDENTIFIER ::= {id-ar 5} + +id-ar-collectiveAttributeInnerArea OBJECT IDENTIFIER ::= {id-ar 6} + +id-ar-contextDefaultSpecificArea OBJECT IDENTIFIER ::= {id-ar 7} + +id-ar-serviceSpecificArea OBJECT IDENTIFIER ::= {id-ar 8} + +END -- InformationFramework + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D diff --git a/acse/SelectedAttributeTypes.asn1 b/acse/SelectedAttributeTypes.asn1 new file mode 100644 index 0000000..0ac391f --- /dev/null +++ b/acse/SelectedAttributeTypes.asn1 @@ -0,0 +1,1467 @@ +-- Module SelectedAttributeTypes (X.520:08/1997) +-- See also ITU-T X.520 (08/1997) +-- See also the index of all ASN.1 assignments needed in this document + +SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1) + selectedAttributeTypes(5) 3} DEFINITIONS ::= +BEGIN + +-- EXPORTS All +-- The types and values defined in this module are exported for use in the other ASN.1 modules contained +-- within the Directory Specifications, and for the use of other applications which will use them to access +-- Directory services. Other applications may use them for their own purposes, but this will not constrain +-- extensions and modifications needed to maintain or improve the Directory service. +IMPORTS + informationFramework, upperBounds, id-at, id-mr, id-avc, + directoryAbstractService, id-pr, id-not, id-cat + FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1) + usefulDefinitions(0) 3} + Attribute, ATTRIBUTE, MATCHING-RULE, AttributeType, OBJECT-CLASS, + DistinguishedName, objectIdentifierMatch, distinguishedNameMatch, + CONTEXT, ContextAssertion, AttributeCombination, ContextCombination, + MAPPING-BASED-MATCHING, MRMapping, AttributeValueAssertion + FROM InformationFramework informationFramework + G3FacsimileNonBasicParameters + FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0) + mts-abstract-service(1) version-1999(1)} + ub-answerback, ub-name, ub-common-name, ub-surname, ub-serial-number, + ub-locality-name, ub-state-name, ub-street-address, ub-organization-name, + ub-organizational-unit-name, ub-title, ub-description, + ub-business-category, ub-postal-line, ub-postal-string, ub-postal-code, + ub-post-office-box, ub-physical-office-name, ub-telex-number, + ub-country-code, ub-teletex-terminal-id, ub-telephone-number, + ub-x121-address, ub-international-isdn-number, ub-destination-indicator, + ub-user-password, ub-match, ub-knowledge-information, + ub-directory-string-first-component-match, ub-localeContextSyntax, + ub-pseudonym + FROM UpperBounds upperBounds + FilterItem, HierarchySelections, SearchControlOptions, ServiceControlOptions + FROM DirectoryAbstractService directoryAbstractService; + +-- Directory string type +DirectoryString{INTEGER:maxSize} ::= CHOICE { + teletexString TeletexString(SIZE (1..maxSize)), + printableString PrintableString(SIZE (1..maxSize)), + universalString UniversalString(SIZE (1..maxSize)), + bmpString BMPString(SIZE (1..maxSize)), + uTF8String UTF8String(SIZE (1..maxSize)) +} + +-- Attribute types +knowledgeInformation ATTRIBUTE ::= { + WITH SYNTAX DirectoryString {ub-knowledge-information} + EQUALITY MATCHING RULE caseIgnoreMatch + ID id-at-knowledgeInformation +} + +name ATTRIBUTE ::= { + WITH SYNTAX DirectoryString {ub-name} + EQUALITY MATCHING RULE caseIgnoreMatch + SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch + ID id-at-name +} + +commonName ATTRIBUTE ::= { + SUBTYPE OF name + WITH SYNTAX DirectoryString {ub-common-name} + ID id-at-commonName +} + +surname ATTRIBUTE ::= { + SUBTYPE OF name + WITH SYNTAX DirectoryString {ub-surname} + ID id-at-surname +} + +givenName ATTRIBUTE ::= { + SUBTYPE OF name + WITH SYNTAX DirectoryString {ub-name} + ID id-at-givenName +} + +initials ATTRIBUTE ::= { + SUBTYPE OF name + WITH SYNTAX DirectoryString {ub-name} + ID id-at-initials +} + +generationQualifier ATTRIBUTE ::= { + SUBTYPE OF name + WITH SYNTAX DirectoryString {ub-name} + ID id-at-generationQualifier +} + +uniqueIdentifier ATTRIBUTE ::= { + WITH SYNTAX UniqueIdentifier + EQUALITY MATCHING RULE bitStringMatch + ID id-at-uniqueIdentifier +} + +UniqueIdentifier ::= BIT STRING + +dnQualifier ATTRIBUTE ::= { + WITH SYNTAX PrintableString + EQUALITY MATCHING RULE caseIgnoreMatch + ORDERING MATCHING RULE caseIgnoreOrderingMatch + SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch + ID id-at-dnQualifier +} + +serialNumber ATTRIBUTE ::= { + WITH SYNTAX PrintableString(SIZE (1..ub-serial-number)) + EQUALITY MATCHING RULE caseIgnoreMatch + SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch + ID id-at-serialNumber +} + +pseudonym ATTRIBUTE ::= { + SUBTYPE OF name + WITH SYNTAX DirectoryString {ub-pseudonym} + ID id-at-pseudonym +} + +countryName ATTRIBUTE ::= { + SUBTYPE OF name + WITH SYNTAX CountryName + SINGLE VALUE TRUE + ID id-at-countryName +} + +CountryName ::= PrintableString(SIZE (2)) -- ISO 3166 codes only + + +localityName ATTRIBUTE ::= { + SUBTYPE OF name + WITH SYNTAX DirectoryString {ub-locality-name} + ID id-at-localityName +} + +collectiveLocalityName ATTRIBUTE ::= { + SUBTYPE OF localityName + COLLECTIVE TRUE + ID id-at-collectiveLocalityName +} + +stateOrProvinceName ATTRIBUTE ::= { + SUBTYPE OF name + WITH SYNTAX DirectoryString {ub-state-name} + ID id-at-stateOrProvinceName +} + +collectiveStateOrProvinceName ATTRIBUTE ::= { + SUBTYPE OF stateOrProvinceName + COLLECTIVE TRUE + ID id-at-collectiveStateOrProvinceName +} + +streetAddress ATTRIBUTE ::= { + WITH SYNTAX DirectoryString {ub-street-address} + EQUALITY MATCHING RULE caseIgnoreMatch + SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch + ID id-at-streetAddress +} + +collectiveStreetAddress ATTRIBUTE ::= { + SUBTYPE OF streetAddress + COLLECTIVE TRUE + ID id-at-collectiveStreetAddress +} + +houseIdentifier ATTRIBUTE ::= { + WITH SYNTAX DirectoryString {ub-name} + EQUALITY MATCHING RULE caseIgnoreMatch + SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch + ID id-at-houseIdentifier +} + +organizationName ATTRIBUTE ::= { + SUBTYPE OF name + WITH SYNTAX DirectoryString {ub-organization-name} + ID id-at-organizationName +} + +collectiveOrganizationName ATTRIBUTE ::= { + SUBTYPE OF organizationName + COLLECTIVE TRUE + ID id-at-collectiveOrganizationName +} + +organizationalUnitName ATTRIBUTE ::= { + SUBTYPE OF name + WITH SYNTAX DirectoryString {ub-organizational-unit-name} + ID id-at-organizationalUnitName +} + +collectiveOrganizationalUnitName ATTRIBUTE ::= { + SUBTYPE OF organizationalUnitName + COLLECTIVE TRUE + ID id-at-collectiveOrganizationalUnitName +} + +title ATTRIBUTE ::= { + SUBTYPE OF name + WITH SYNTAX DirectoryString {ub-title} + ID id-at-title +} + +description ATTRIBUTE ::= { + WITH SYNTAX DirectoryString {ub-description} + EQUALITY MATCHING RULE caseIgnoreMatch + SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch + ID id-at-description +} + +searchGuide ATTRIBUTE ::= {WITH SYNTAX Guide + ID id-at-searchGuide +} + +Guide ::= SET { + objectClass [0] OBJECT-CLASS.&id OPTIONAL, + criteria [1] Criteria +} + +Criteria ::= CHOICE { + type [0] CriteriaItem, + and [1] SET OF Criteria, + or [2] SET OF Criteria, + not [3] Criteria +} + +CriteriaItem ::= CHOICE { + equality [0] AttributeType, + substrings [1] AttributeType, + greaterOrEqual [2] AttributeType, + lessOrEqual [3] AttributeType, + approximateMatch [4] AttributeType +} + +enhancedSearchGuide ATTRIBUTE ::= { + WITH SYNTAX EnhancedGuide + ID id-at-enhancedSearchGuide +} + +EnhancedGuide ::= SEQUENCE { + objectClass [0] OBJECT-CLASS.&id, + criteria [1] Criteria, + subset + [2] INTEGER {baseObject(0), oneLevel(1), wholeSubtree(2)} DEFAULT oneLevel +} + +businessCategory ATTRIBUTE ::= { + WITH SYNTAX DirectoryString {ub-business-category} + EQUALITY MATCHING RULE caseIgnoreMatch + SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch + ID id-at-businessCategory +} + +postalAddress ATTRIBUTE ::= { + WITH SYNTAX PostalAddress + EQUALITY MATCHING RULE caseIgnoreListMatch + SUBSTRINGS MATCHING RULE caseIgnoreListSubstringsMatch + ID id-at-postalAddress +} + +PostalAddress ::= + SEQUENCE SIZE (1..ub-postal-line) OF DirectoryString{ub-postal-string} + +collectivePostalAddress ATTRIBUTE ::= { + SUBTYPE OF postalAddress + COLLECTIVE TRUE + ID id-at-collectivePostalAddress +} + +postalCode ATTRIBUTE ::= { + WITH SYNTAX DirectoryString {ub-postal-code} + EQUALITY MATCHING RULE caseIgnoreMatch + SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch + ID id-at-postalCode +} + +collectivePostalCode ATTRIBUTE ::= { + SUBTYPE OF postalCode + COLLECTIVE TRUE + ID id-at-collectivePostalCode +} + +postOfficeBox ATTRIBUTE ::= { + WITH SYNTAX DirectoryString {ub-post-office-box} + EQUALITY MATCHING RULE caseIgnoreMatch + SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch + ID id-at-postOfficeBox +} + +collectivePostOfficeBox ATTRIBUTE ::= { + SUBTYPE OF postOfficeBox + COLLECTIVE TRUE + ID id-at-collectivePostOfficeBox +} + +physicalDeliveryOfficeName ATTRIBUTE ::= { + WITH SYNTAX DirectoryString {ub-physical-office-name} + EQUALITY MATCHING RULE caseIgnoreMatch + SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch + ID id-at-physicalDeliveryOfficeName +} + +collectivePhysicalDeliveryOfficeName ATTRIBUTE ::= { + SUBTYPE OF physicalDeliveryOfficeName + COLLECTIVE TRUE + ID id-at-collectivePhysicalDeliveryOfficeName +} + +telephoneNumber ATTRIBUTE ::= { + WITH SYNTAX TelephoneNumber + EQUALITY MATCHING RULE telephoneNumberMatch + SUBSTRINGS MATCHING RULE telephoneNumberSubstringsMatch + ID id-at-telephoneNumber +} + +TelephoneNumber ::= PrintableString(SIZE (1..ub-telephone-number)) + +-- String complying with CCITT Rec. E.123 only +collectiveTelephoneNumber ATTRIBUTE ::= { + SUBTYPE OF telephoneNumber + COLLECTIVE TRUE + ID id-at-collectiveTelephoneNumber +} + +telexNumber ATTRIBUTE ::= { + WITH SYNTAX TelexNumber + ID id-at-telexNumber +} + +TelexNumber ::= SEQUENCE { + telexNumber PrintableString(SIZE (1..ub-telex-number)), + countryCode PrintableString(SIZE (1..ub-country-code)), + answerback PrintableString(SIZE (1..ub-answerback)) +} + +collectiveTelexNumber ATTRIBUTE ::= { + SUBTYPE OF telexNumber + COLLECTIVE TRUE + ID id-at-collectiveTelexNumber +} + +facsimileTelephoneNumber ATTRIBUTE ::= { + WITH SYNTAX FacsimileTelephoneNumber + EQUALITY MATCHING RULE facsimileNumberMatch + SUBSTRINGS MATCHING RULE facsimileNumberSubstringsMatch + ID id-at-facsimileTelephoneNumber +} + +facsimileNumberMatch MATCHING-RULE ::= { + SYNTAX TelephoneNumber + ID id-mr-facsimileNumberMatch +} + +facsimileNumberSubstringsMatch MATCHING-RULE ::= { + SYNTAX SubstringAssertion + ID id-mr-facsimileNumberSubstringsMatch +} + +FacsimileTelephoneNumber ::= SEQUENCE { + telephoneNumber TelephoneNumber, + parameters G3FacsimileNonBasicParameters OPTIONAL +} + +collectiveFacsimileTelephoneNumber ATTRIBUTE ::= { + SUBTYPE OF facsimileTelephoneNumber + COLLECTIVE TRUE + ID id-at-collectiveFacsimileTelephoneNumber +} + +x121Address ATTRIBUTE ::= { + WITH SYNTAX X121Address + EQUALITY MATCHING RULE numericStringMatch + SUBSTRINGS MATCHING RULE numericStringSubstringsMatch + ID id-at-x121Address +} + +X121Address ::= NumericString(SIZE (1..ub-x121-address)) + +-- String as defined by ITU-T Rec. X.121 +internationalISDNNumber ATTRIBUTE ::= { + WITH SYNTAX InternationalISDNNumber + EQUALITY MATCHING RULE numericStringMatch + SUBSTRINGS MATCHING RULE numericStringSubstringsMatch + ID id-at-internationalISDNNumber +} + +InternationalISDNNumber ::= + NumericString(SIZE (1..ub-international-isdn-number)) + +-- String complying with ITU-T Rec. E.164 only +collectiveInternationalISDNNumber ATTRIBUTE ::= { + SUBTYPE OF internationalISDNNumber + COLLECTIVE TRUE + ID id-at-collectiveInternationalISDNNumber +} + +registeredAddress ATTRIBUTE ::= { + SUBTYPE OF postalAddress + WITH SYNTAX PostalAddress + ID id-at-registeredAddress +} + +destinationIndicator ATTRIBUTE ::= { + WITH SYNTAX DestinationIndicator + EQUALITY MATCHING RULE caseIgnoreMatch + SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch + ID id-at-destinationIndicator +} + +DestinationIndicator ::= PrintableString(SIZE (1..ub-destination-indicator)) + +communicationsService ATTRIBUTE ::= { + WITH SYNTAX OBJECT IDENTIFIER + EQUALITY MATCHING RULE objectIdentifierMatch + ID id-at-communicationsService +} + +communicationsNetwork ATTRIBUTE ::= { + WITH SYNTAX OBJECT IDENTIFIER + EQUALITY MATCHING RULE objectIdentifierMatch + SINGLE VALUE TRUE + ID id-at-communicationsNetwork +} + +-- alphabetical characters only +preferredDeliveryMethod ATTRIBUTE ::= { + WITH SYNTAX PreferredDeliveryMethod + SINGLE VALUE TRUE + ID id-at-preferredDeliveryMethod +} + +PreferredDeliveryMethod ::= + SEQUENCE OF + INTEGER {any-delivery-method(0), mhs-delivery(1), physical-delivery(2), + telex-delivery(3), teletex-delivery(4), g3-facsimile-delivery(5), + g4-facsimile-delivery(6), ia5-terminal-delivery(7), + videotex-delivery(8), telephone-delivery(9)} + +presentationAddress ATTRIBUTE ::= { + WITH SYNTAX PresentationAddress + EQUALITY MATCHING RULE presentationAddressMatch + SINGLE VALUE TRUE + ID id-at-presentationAddress +} + +PresentationAddress ::= SEQUENCE { + pSelector [0] OCTET STRING OPTIONAL, + sSelector [1] OCTET STRING OPTIONAL, + tSelector [2] OCTET STRING OPTIONAL, + nAddresses [3] SET SIZE (1..MAX) OF OCTET STRING +} + +supportedApplicationContext ATTRIBUTE ::= { + WITH SYNTAX OBJECT IDENTIFIER + EQUALITY MATCHING RULE objectIdentifierMatch + ID id-at-supportedApplicationContext +} + +protocolInformation ATTRIBUTE ::= { + WITH SYNTAX ProtocolInformation + EQUALITY MATCHING RULE protocolInformationMatch + ID id-at-protocolInformation +} + +ProtocolInformation ::= SEQUENCE { + nAddress OCTET STRING, + profiles SET OF OBJECT IDENTIFIER +} + +distinguishedName ATTRIBUTE ::= { + WITH SYNTAX DistinguishedName + EQUALITY MATCHING RULE distinguishedNameMatch + ID id-at-distinguishedName +} + +member ATTRIBUTE ::= {SUBTYPE OF distinguishedName + ID id-at-member +} + +uniqueMember ATTRIBUTE ::= { + WITH SYNTAX NameAndOptionalUID + EQUALITY MATCHING RULE uniqueMemberMatch + ID id-at-uniqueMember +} + +NameAndOptionalUID ::= SEQUENCE { + dn DistinguishedName, + uid UniqueIdentifier OPTIONAL +} + +owner ATTRIBUTE ::= {SUBTYPE OF distinguishedName + ID id-at-owner +} + +roleOccupant ATTRIBUTE ::= { + SUBTYPE OF distinguishedName + ID id-at-roleOccupant +} + +seeAlso ATTRIBUTE ::= {SUBTYPE OF distinguishedName + ID id-at-seeAlso +} + +dmdName ATTRIBUTE ::= { + SUBTYPE OF name + WITH SYNTAX DirectoryString {ub-common-name} + ID id-at-dmdName +} + +dSAProblem ATTRIBUTE ::= { + WITH SYNTAX OBJECT IDENTIFIER + EQUALITY MATCHING RULE objectIdentifierMatch + ID id-not-dSAProblem +} + +searchServiceProblem ATTRIBUTE ::= { + WITH SYNTAX OBJECT IDENTIFIER + EQUALITY MATCHING RULE objectIdentifierMatch + SINGLE VALUE TRUE + ID id-not-searchServiceProblem +} + +serviceType ATTRIBUTE ::= { + WITH SYNTAX OBJECT IDENTIFIER + EQUALITY MATCHING RULE objectIdentifierMatch + SINGLE VALUE TRUE + ID id-not-serviceType +} + +attributeTypeList ATTRIBUTE ::= { + WITH SYNTAX OBJECT IDENTIFIER + EQUALITY MATCHING RULE objectIdentifierMatch + ID id-not-attributeTypeList +} + +filterItem ATTRIBUTE ::= { + WITH SYNTAX FilterItem + ID id-not-filterItem +} + +attributeCombinations ATTRIBUTE ::= { + WITH SYNTAX AttributeCombination + ID id-not-attributeCombinations +} + +contextTypeList ATTRIBUTE ::= { + WITH SYNTAX OBJECT IDENTIFIER + EQUALITY MATCHING RULE objectIdentifierMatch + ID id-not-contextTypeList +} + +contextList ATTRIBUTE ::= { + WITH SYNTAX ContextAssertion + ID id-not-contextList +} + +hierarchySelectList ATTRIBUTE ::= { + WITH SYNTAX HierarchySelections + SINGLE VALUE TRUE + ID id-not-hierarchySelectList +} + +searchOptionsList ATTRIBUTE ::= { + WITH SYNTAX SearchControlOptions + SINGLE VALUE TRUE + ID id-not-searchOptionsList +} + +serviceControlOptionsList ATTRIBUTE ::= { + WITH SYNTAX ServiceControlOptions + SINGLE VALUE TRUE + ID id-not-serviceControlOptionsList +} + +multipleMatchingLocalities ATTRIBUTE ::= { + WITH SYNTAX MultipleMatchingLocalities + ID id-not-multipleMatchingLocalities +} + +MultipleMatchingLocalities ::= SEQUENCE { + matchingRuleUsed MATCHING-RULE.&id OPTIONAL, + attributeList SEQUENCE OF AttributeValueAssertion +} + +proposedRelaxation ATTRIBUTE ::= { + WITH SYNTAX SEQUENCE OF MRMapping + ID id-not-proposedRelaxation +} + +appliedRelaxation ATTRIBUTE ::= { + WITH SYNTAX OBJECT IDENTIFIER + EQUALITY MATCHING RULE objectIdentifierMatch + ID id-not-appliedRelaxation +} + +-- Matching rules +caseIgnoreMatch MATCHING-RULE ::= { + SYNTAX DirectoryString {ub-match} + ID id-mr-caseIgnoreMatch +} + +caseIgnoreOrderingMatch MATCHING-RULE ::= { + SYNTAX DirectoryString {ub-match} + ID id-mr-caseIgnoreOrderingMatch +} + +caseIgnoreSubstringsMatch MATCHING-RULE ::= { + SYNTAX SubstringAssertion + ID id-mr-caseIgnoreSubstringsMatch +} + +SubstringAssertion ::= + SEQUENCE OF + CHOICE {initial [0] DirectoryString{ub-match}, + any [1] DirectoryString{ub-match}, + final [2] DirectoryString{ub-match}, + control Attribute + } -- Used to specify interpretation of the following items + +-- at most one initial and one final component +caseExactMatch MATCHING-RULE ::= { + SYNTAX DirectoryString {ub-match} + ID id-mr-caseExactMatch +} + +caseExactOrderingMatch MATCHING-RULE ::= { + SYNTAX DirectoryString {ub-match} + ID id-mr-caseExactOrderingMatch +} + +caseExactSubstringsMatch MATCHING-RULE ::= { + SYNTAX SubstringAssertion -- only the PrintableString choice + ID id-mr-caseExactSubstringsMatch +} + +numericStringMatch MATCHING-RULE ::= { + SYNTAX NumericString + ID id-mr-numericStringMatch +} + +numericStringOrderingMatch MATCHING-RULE ::= { + SYNTAX NumericString + ID id-mr-numericStringOrderingMatch +} + +numericStringSubstringsMatch MATCHING-RULE ::= { + SYNTAX SubstringAssertion + ID id-mr-numericStringSubstringsMatch +} + +caseIgnoreListMatch MATCHING-RULE ::= { + SYNTAX CaseIgnoreListMatch + ID id-mr-caseIgnoreListMatch +} + +CaseIgnoreListMatch ::= SEQUENCE OF DirectoryString{ub-match} + +caseIgnoreListSubstringsMatch MATCHING-RULE ::= { + SYNTAX SubstringAssertion + ID id-mr-caseIgnoreListSubstringsMatch +} + +storedPrefixMatch MATCHING-RULE ::= { + SYNTAX DirectoryString {ub-match} + ID id-mr-storedPrefixMatch +} + +booleanMatch MATCHING-RULE ::= {SYNTAX BOOLEAN + ID id-mr-booleanMatch +} + +integerMatch MATCHING-RULE ::= {SYNTAX INTEGER + ID id-mr-integerMatch +} + +integerOrderingMatch MATCHING-RULE ::= { + SYNTAX INTEGER + ID id-mr-integerOrderingMatch +} + +bitStringMatch MATCHING-RULE ::= { + SYNTAX BIT STRING + ID id-mr-bitStringMatch +} + +octetStringMatch MATCHING-RULE ::= { + SYNTAX OCTET STRING + ID id-mr-octetStringMatch +} + +octetStringOrderingMatch MATCHING-RULE ::= { + SYNTAX OCTET STRING + ID id-mr-octetStringOrderingMatch +} + +octetStringSubstringsMatch MATCHING-RULE ::= { + SYNTAX OctetSubstringAssertion + ID id-mr-octetStringSubstringsMatch +} + +OctetSubstringAssertion ::= + SEQUENCE OF + CHOICE {initial [0] OCTET STRING, + any [1] OCTET STRING, + final [2] OCTET STRING} + +-- at most one initial and one final component +telephoneNumberMatch MATCHING-RULE ::= { + SYNTAX TelephoneNumber + ID id-mr-telephoneNumberMatch +} + +telephoneNumberSubstringsMatch MATCHING-RULE ::= { + SYNTAX SubstringAssertion + ID id-mr-telephoneNumberSubstringsMatch +} + +presentationAddressMatch MATCHING-RULE ::= { + SYNTAX PresentationAddress + ID id-mr-presentationAddressMatch +} + +uniqueMemberMatch MATCHING-RULE ::= { + SYNTAX NameAndOptionalUID + ID id-mr-uniqueMemberMatch +} + +protocolInformationMatch MATCHING-RULE ::= { + SYNTAX OCTET STRING + ID id-mr-protocolInformationMatch +} + +uTCTimeMatch MATCHING-RULE ::= {SYNTAX UTCTime + ID id-mr-uTCTimeMatch +} + +uTCTimeOrderingMatch MATCHING-RULE ::= { + SYNTAX UTCTime + ID id-mr-uTCTimeOrderingMatch +} + +generalizedTimeMatch MATCHING-RULE ::= { + SYNTAX GeneralizedTime + -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1 + ID id-mr-generalizedTimeMatch +} + +generalizedTimeOrderingMatch MATCHING-RULE ::= { + SYNTAX GeneralizedTime + -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1 + ID id-mr-generalizedTimeOrderingMatch +} + +integerFirstComponentMatch MATCHING-RULE ::= { + SYNTAX INTEGER + ID id-mr-integerFirstComponentMatch +} + +objectIdentifierFirstComponentMatch MATCHING-RULE ::= { + SYNTAX OBJECT IDENTIFIER + ID id-mr-objectIdentifierFirstComponentMatch +} + +directoryStringFirstComponentMatch MATCHING-RULE ::= { + SYNTAX DirectoryString {ub-directory-string-first-component-match} + ID id-mr-directoryStringFirstComponentMatch +} + +wordMatch MATCHING-RULE ::= { + SYNTAX DirectoryString {ub-match} + ID id-mr-wordMatch +} + +keywordMatch MATCHING-RULE ::= { + SYNTAX DirectoryString {ub-match} + ID id-mr-keywordMatch +} + +systemProposedMatch MATCHING-RULE ::= {ID id-mr-systemProposedMatch +} + +generalWordMatch MATCHING-RULE ::= { + SYNTAX SubstringAssertion + ID id-mr-generalWordMatch +} + +sequenceMatchType ATTRIBUTE ::= { + WITH SYNTAX + ENUMERATED {sequenceExact(0), sequenceDeletion(1), + sequenceRestrictedDeletion(2), sequencePermutation(3), + sequencePermutationAndDeletion(4), sequenceProviderDefined(5)} + SINGLE VALUE TRUE + ID id-cat-sequenceMatchType +} -- defaulting to sequenceExact, + +wordMatchTypes ATTRIBUTE ::= { + WITH SYNTAX + ENUMERATED {wordExact(0), wordTruncated(1), wordPhonetic(2), + wordProviderDefined(3)} + SINGLE VALUE TRUE + ID id-cat-wordMatchType +} -- defaulting to wordExact + +characterMatchTypes ATTRIBUTE ::= { + WITH SYNTAX + ENUMERATED {characterExact(0), characterCaseIgnore(1), characterMapped(2)} + SINGLE VALUE TRUE + ID id-cat-characterMatchTypes +} + +selectedContexts ATTRIBUTE ::= { + WITH SYNTAX ContextAssertion + ID id-cat-selectedContexts +} + +approximateStringMatch MATCHING-RULE ::= {ID id-mr-approximateStringMatch +} + +ignoreIfAbsentMatch MATCHING-RULE ::= {ID id-mr-ignoreIfAbsentMatch +} + +nullMatch MATCHING-RULE ::= {ID id-mr-nullMatch +} + +ZONAL-MATCHING ::= + MAPPING-BASED-MATCHING{ZonalSelect, TRUE, ZonalResult, zonalMatch.&id} + +ZonalSelect ::= SEQUENCE OF AttributeType + +ZonalResult ::= ENUMERATED { + cannot-select-mapping(0), zero-mappings(2), multiple-mappings(3)} + +zonalMatch MATCHING-RULE ::= { + UNIQUE-MATCH-INDICATOR multipleMatchingLocalities.&id + ID id-mr-zonalMatch +} + +-- Contexts +languageContext CONTEXT ::= { + WITH SYNTAX LanguageContextSyntax + ID id-avc-language +} + +LanguageContextSyntax ::= PrintableString(SIZE (2..3)) -- ISO 639-2 codes only + + +temporalContext CONTEXT ::= { + WITH SYNTAX TimeSpecification + ASSERTED AS TimeAssertion + ID id-avc-temporal +} + +TimeSpecification ::= SEQUENCE { + time + CHOICE {absolute + SEQUENCE {startTime [0] GeneralizedTime OPTIONAL, + endTime [1] GeneralizedTime OPTIONAL}, + periodic SET OF Period}, + notThisTime BOOLEAN DEFAULT FALSE, + timeZone TimeZone OPTIONAL +} + +Period ::= SEQUENCE { + timesOfDay [0] SET SIZE (1..MAX) OF DayTimeBand OPTIONAL, + days + [1] CHOICE {intDay SET OF INTEGER, + bitDay + BIT STRING {sunday(0), monday(1), tuesday(2), wednesday(3), + thursday(4), friday(5), saturday(6)}, + dayOf XDayOf} OPTIONAL, + weeks + [2] CHOICE {allWeeks NULL, + intWeek SET OF INTEGER, + bitWeek + BIT STRING {week1(0), week2(1), week3(2), week4(3), week5(4)} + } OPTIONAL, + months + [3] CHOICE {allMonths NULL, + intMonth SET OF INTEGER, + bitMonth + BIT STRING {january(0), february(1), march(2), april(3), + may(4), june(5), july(6), august(7), + september(8), october(9), november(10), + december(11)}} OPTIONAL, + years [4] SET OF INTEGER(1000..MAX) OPTIONAL +} + +XDayOf ::= CHOICE { + first [1] NamedDay, + second [2] NamedDay, + third [3] NamedDay, + fourth [4] NamedDay, + fifth [5] NamedDay +} + +NamedDay ::= CHOICE { + intNamedDays + ENUMERATED {sunday(1), monday(2), tuesday(3), wednesday(4), thursday(5), + friday(6), saturday(7)}, + bitNamedDays + BIT STRING {sunday(0), monday(1), tuesday(2), wednesday(3), thursday(4), + friday(5), saturday(6)} +} + +DayTimeBand ::= SEQUENCE { + startDayTime [0] DayTime DEFAULT {hour 0}, + endDayTime [1] DayTime DEFAULT {hour 23, minute 59, second 59} +} + +DayTime ::= SEQUENCE { + hour [0] INTEGER(0..23), + minute [1] INTEGER(0..59) DEFAULT 0, + second [2] INTEGER(0..59) DEFAULT 0 +} + +TimeZone ::= INTEGER(-12..12) + +TimeAssertion ::= CHOICE { + now NULL, + at GeneralizedTime, + between + SEQUENCE {startTime [0] GeneralizedTime, + endTime [1] GeneralizedTime OPTIONAL, + entirely BOOLEAN DEFAULT FALSE} +} + +localeContext CONTEXT ::= { + WITH SYNTAX LocaleContextSyntax + ID id-avc-locale +} + +LocaleContextSyntax ::= CHOICE { + localeID1 OBJECT IDENTIFIER, + localeID2 DirectoryString{ub-localeContextSyntax} +} + +-- Object identifier assignments - +-- object identifiers assigned in other modules are shown in comments +-- Attributes +-- id-at-objectClass OBJECT IDENTIFIER ::= {id-at 0} +-- id-at-aliasedEntryName OBJECT IDENTIFIER ::= {id-at 1} +id-at-encryptedAliasedEntryName OBJECT IDENTIFIER ::= + {id-at 1 2} + +id-at-knowledgeInformation OBJECT IDENTIFIER ::= {id-at 2} + +id-at-commonName OBJECT IDENTIFIER ::= {id-at 3} + +id-at-encryptedCommonName OBJECT IDENTIFIER ::= {id-at 3 2} + +id-at-surname OBJECT IDENTIFIER ::= {id-at 4} + +id-at-encryptedSurname OBJECT IDENTIFIER ::= {id-at 4 2} + +id-at-serialNumber OBJECT IDENTIFIER ::= {id-at 5} + +id-at-encryptedSerialNumber OBJECT IDENTIFIER ::= {id-at 5 2} + +id-at-countryName OBJECT IDENTIFIER ::= {id-at 6} + +id-at-encryptedCountryName OBJECT IDENTIFIER ::= {id-at 6 2} + +id-at-localityName OBJECT IDENTIFIER ::= {id-at 7} + +id-at-encryptedLocalityName OBJECT IDENTIFIER ::= {id-at 7 2} + +id-at-collectiveLocalityName OBJECT IDENTIFIER ::= {id-at 7 1} + +id-at-encryptedCollectiveLocalityName OBJECT IDENTIFIER ::= {id-at 7 1 2} + +id-at-stateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8} + +id-at-encryptedStateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8 2} + +id-at-collectiveStateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8 1} + +id-at-encryptedCollectiveStateOrProvinceName OBJECT IDENTIFIER ::= + {id-at 8 1 2} + +id-at-streetAddress OBJECT IDENTIFIER ::= {id-at 9} + +id-at-encryptedStreetAddress OBJECT IDENTIFIER ::= {id-at 9 2} + +id-at-collectiveStreetAddress OBJECT IDENTIFIER ::= {id-at 9 1} + +id-at-encryptedCollectiveStreetAddress OBJECT IDENTIFIER ::= {id-at 9 1 2} + +id-at-organizationName OBJECT IDENTIFIER ::= {id-at 10} + +id-at-encryptedOrganizationName OBJECT IDENTIFIER ::= {id-at 10 2} + +id-at-collectiveOrganizationName OBJECT IDENTIFIER ::= {id-at 10 1} + +id-at-encryptedCollectiveOrganizationName OBJECT IDENTIFIER ::= {id-at 10 1 2} + +id-at-organizationalUnitName OBJECT IDENTIFIER ::= {id-at 11} + +id-at-encryptedOrganizationalUnitName OBJECT IDENTIFIER ::= {id-at 11 2} + +id-at-collectiveOrganizationalUnitName OBJECT IDENTIFIER ::= {id-at 11 1} + +id-at-encryptedCollectiveOrganizationalUnitName OBJECT IDENTIFIER ::= + {id-at 11 1 2} + +id-at-title OBJECT IDENTIFIER ::= {id-at 12} + +id-at-encryptedTitle OBJECT IDENTIFIER ::= {id-at 12 2} + +id-at-description OBJECT IDENTIFIER ::= {id-at 13} + +id-at-encryptedDescription OBJECT IDENTIFIER ::= {id-at 13 2} + +id-at-searchGuide OBJECT IDENTIFIER ::= {id-at 14} + +id-at-encryptedSearchGuide OBJECT IDENTIFIER ::= {id-at 14 2} + +id-at-businessCategory OBJECT IDENTIFIER ::= {id-at 15} + +id-at-encryptedBusinessCategory OBJECT IDENTIFIER ::= {id-at 15 2} + +id-at-postalAddress OBJECT IDENTIFIER ::= {id-at 16} + +id-at-encryptedPostalAddress OBJECT IDENTIFIER ::= {id-at 16 2} + +id-at-collectivePostalAddress OBJECT IDENTIFIER ::= {id-at 16 1} + +id-at-encryptedCollectivePostalAddress OBJECT IDENTIFIER ::= {id-at 16 1 2} + +id-at-postalCode OBJECT IDENTIFIER ::= {id-at 17} + +id-at-encryptedPostalCode OBJECT IDENTIFIER ::= {id-at 17 2} + +id-at-collectivePostalCode OBJECT IDENTIFIER ::= {id-at 17 1} + +id-at-encryptedCollectivePostalCode OBJECT IDENTIFIER ::= {id-at 17 1 2} + +id-at-postOfficeBox OBJECT IDENTIFIER ::= {id-at 18} + +id-at-encryptedPostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 2} + +id-at-collectivePostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 1} + +id-at-encryptedCollectivePostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 1 2} + +id-at-physicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19} + +id-at-encryptedPhysicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19 2} + +id-at-collectivePhysicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19 1} + +id-at-encryptedCollectivePhysicalDeliveryOfficeName OBJECT IDENTIFIER ::= + {id-at 19 1 2} + +id-at-telephoneNumber OBJECT IDENTIFIER ::= {id-at 20} + +id-at-encryptedTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 2} + +id-at-collectiveTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 1} + +id-at-encryptedCollectiveTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 1 2} + +id-at-telexNumber OBJECT IDENTIFIER ::= {id-at 21} + +id-at-encryptedTelexNumber OBJECT IDENTIFIER ::= {id-at 21 2} + +id-at-collectiveTelexNumber OBJECT IDENTIFIER ::= {id-at 21 1} + +id-at-encryptedCollectiveTelexNumber OBJECT IDENTIFIER ::= {id-at 21 1 2} + +-- id-at-teletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22} +-- id-at-encryptedTeletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22 2} +-- id-at-collectiveTeletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22 1} +-- id-at-encryptedCollectiveTeletexTerminalIdentifier +-- OBJECT IDENTIFIER ::= {id-at 22 1 2} +id-at-facsimileTelephoneNumber OBJECT IDENTIFIER ::= + {id-at 23} + +id-at-encryptedFacsimileTelephoneNumber OBJECT IDENTIFIER ::= {id-at 23 2} + +id-at-collectiveFacsimileTelephoneNumber OBJECT IDENTIFIER ::= {id-at 23 1} + +id-at-encryptedCollectiveFacsimileTelephoneNumber OBJECT IDENTIFIER ::= + {id-at 23 1 2} + +id-at-x121Address OBJECT IDENTIFIER ::= {id-at 24} + +id-at-encryptedX121Address OBJECT IDENTIFIER ::= {id-at 24 2} + +id-at-internationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25} + +id-at-encryptedInternationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25 2} + +id-at-collectiveInternationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25 1} + +id-at-encryptedCollectiveInternationalISDNNumber OBJECT IDENTIFIER ::= + {id-at 25 1 2} + +id-at-registeredAddress OBJECT IDENTIFIER ::= {id-at 26} + +id-at-encryptedRegisteredAddress OBJECT IDENTIFIER ::= {id-at 26 2} + +id-at-destinationIndicator OBJECT IDENTIFIER ::= {id-at 27} + +id-at-encryptedDestinationIndicator OBJECT IDENTIFIER ::= {id-at 27 2} + +id-at-preferredDeliveryMethod OBJECT IDENTIFIER ::= {id-at 28} + +id-at-encryptedPreferredDeliveryMethod OBJECT IDENTIFIER ::= {id-at 28 2} + +id-at-presentationAddress OBJECT IDENTIFIER ::= {id-at 29} + +id-at-encryptedPresentationAddress OBJECT IDENTIFIER ::= {id-at 29 2} + +id-at-supportedApplicationContext OBJECT IDENTIFIER ::= {id-at 30} + +id-at-encryptedSupportedApplicationContext OBJECT IDENTIFIER ::= {id-at 30 2} + +id-at-member OBJECT IDENTIFIER ::= {id-at 31} + +id-at-encryptedMember OBJECT IDENTIFIER ::= {id-at 31 2} + +id-at-owner OBJECT IDENTIFIER ::= {id-at 32} + +id-at-encryptedOwner OBJECT IDENTIFIER ::= {id-at 32 2} + +id-at-roleOccupant OBJECT IDENTIFIER ::= {id-at 33} + +id-at-encryptedRoleOccupant OBJECT IDENTIFIER ::= {id-at 33 2} + +id-at-seeAlso OBJECT IDENTIFIER ::= {id-at 34} + +id-at-encryptedSeeAlso OBJECT IDENTIFIER ::= {id-at 34 2} + +-- id-at-userPassword OBJECT IDENTIFIER ::= {id-at 35} +id-at-encryptedUserPassword OBJECT IDENTIFIER ::= + {id-at 35 2} + +-- id-at-userCertificate OBJECT IDENTIFIER ::= {id-at 36} +id-at-encryptedUserCertificate OBJECT IDENTIFIER ::= + {id-at 36 2} + +-- id-at-cACertificate OBJECT IDENTIFIER ::= {id-at 37} +id-at-encryptedCACertificate OBJECT IDENTIFIER ::= + {id-at 37 2} + +-- id-at-authorityRevocationList OBJECT IDENTIFIER ::= {id-at 38} +id-at-encryptedAuthorityRevocationList OBJECT IDENTIFIER ::= + {id-at 38 2} + +-- id-at-certificateRevocationList OBJECT IDENTIFIER ::= {id-at 39} +id-at-encryptedCertificateRevocationList OBJECT IDENTIFIER ::= + {id-at 39 2} + +-- id-at-crossCertificatePair OBJECT IDENTIFIER ::= {id-at 40} +id-at-encryptedCrossCertificatePair OBJECT IDENTIFIER ::= + {id-at 40 2} + +id-at-name OBJECT IDENTIFIER ::= {id-at 41} + +id-at-givenName OBJECT IDENTIFIER ::= {id-at 42} + +id-at-encryptedGivenName OBJECT IDENTIFIER ::= {id-at 42 2} + +id-at-initials OBJECT IDENTIFIER ::= {id-at 43} + +id-at-encryptedInitials OBJECT IDENTIFIER ::= {id-at 43 2} + +id-at-generationQualifier OBJECT IDENTIFIER ::= {id-at 44} + +id-at-encryptedGenerationQualifier OBJECT IDENTIFIER ::= {id-at 44 2} + +id-at-uniqueIdentifier OBJECT IDENTIFIER ::= {id-at 45} + +id-at-encryptedUniqueIdentifier OBJECT IDENTIFIER ::= {id-at 45 2} + +id-at-dnQualifier OBJECT IDENTIFIER ::= {id-at 46} + +id-at-encryptedDnQualifier OBJECT IDENTIFIER ::= {id-at 46 2} + +id-at-enhancedSearchGuide OBJECT IDENTIFIER ::= {id-at 47} + +id-at-encryptedEnhancedSearchGuide OBJECT IDENTIFIER ::= {id-at 47 2} + +id-at-protocolInformation OBJECT IDENTIFIER ::= {id-at 48} + +id-at-encryptedProtocolInformation OBJECT IDENTIFIER ::= {id-at 48 2} + +id-at-distinguishedName OBJECT IDENTIFIER ::= {id-at 49} + +id-at-encryptedDistinguishedName OBJECT IDENTIFIER ::= {id-at 49 2} + +id-at-uniqueMember OBJECT IDENTIFIER ::= {id-at 50} + +id-at-encryptedUniqueMember OBJECT IDENTIFIER ::= {id-at 50 2} + +id-at-houseIdentifier OBJECT IDENTIFIER ::= {id-at 51} + +id-at-encryptedHouseIdentifier OBJECT IDENTIFIER ::= {id-at 51 2} + +--id-at-supportedAlgorithms OBJECT IDENTIFIER ::= {id-at 52} +id-at-encryptedSupportedAlgorithms OBJECT IDENTIFIER ::= + {id-at 52 2} + +--id-at-deltaRevocationList OBJECT IDENTIFIER ::= {id-at 53} +id-at-encryptedDeltaRevocationList OBJECT IDENTIFIER ::= + {id-at 53 2} + +id-at-dmdName OBJECT IDENTIFIER ::= {id-at 54} + +id-at-encryptedDmdName OBJECT IDENTIFIER ::= {id-at 54 2} + +-- id-at-clearance OBJECT IDENTIFIER ::= {id-at 55} +id-at-encryptedClearance OBJECT IDENTIFIER ::= + {id-at 55 2} + +-- id-at-defaultDirQop OBJECT IDENTIFIER ::= {id-at 56} +id-at-encryptedDefaultDirQop OBJECT IDENTIFIER ::= + {id-at 56 2} + +-- id-at-attributeIntegrityInfo OBJECT IDENTIFIER ::= {id-at 57} +id-at-encryptedAttributeIntegrityInfo OBJECT IDENTIFIER ::= + {id-at 57 2} + +--id-at-attributeCertificate OBJECT IDENTIFIER ::= {id-at 58} +id-at-encryptedAttributeCertificate OBJECT IDENTIFIER ::= + {id-at 58 2} + +-- id-at-attributeCertificateRevocationList OBJECT IDENTIFIER ::= {id-at 59} +id-at-encryptedAttributeCertificateRevocationList OBJECT IDENTIFIER ::= + {id-at 59 2} + +-- id-at-confKeyInfo OBJECT IDENTIFIER ::= {id-at 60} +id-at-encryptedConfKeyInfo OBJECT IDENTIFIER ::= + {id-at 60 2} + +-- id-at-family-information OBJECT IDENTIFIER {id-at 64} +id-at-pseudonym OBJECT IDENTIFIER ::= + {id-at 65} + +id-at-communicationsService OBJECT IDENTIFIER ::= {id-at 66} + +id-at-communicationsNetwork OBJECT IDENTIFIER ::= {id-at 67} + +-- Matching rules +-- id-mr-objectIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 0} +-- id-mr-distinguishedNameMatch OBJECT IDENTIFIER ::= {id-mr 1} +id-mr-caseIgnoreMatch OBJECT IDENTIFIER ::= + {id-mr 2} + +id-mr-caseIgnoreOrderingMatch OBJECT IDENTIFIER ::= {id-mr 3} + +id-mr-caseIgnoreSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 4} + +id-mr-caseExactMatch OBJECT IDENTIFIER ::= {id-mr 5} + +id-mr-caseExactOrderingMatch OBJECT IDENTIFIER ::= {id-mr 6} + +id-mr-caseExactSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 7} + +id-mr-numericStringMatch OBJECT IDENTIFIER ::= {id-mr 8} + +id-mr-numericStringOrderingMatch OBJECT IDENTIFIER ::= {id-mr 9} + +id-mr-numericStringSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 10} + +id-mr-caseIgnoreListMatch OBJECT IDENTIFIER ::= {id-mr 11} + +id-mr-caseIgnoreListSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 12} + +id-mr-booleanMatch OBJECT IDENTIFIER ::= {id-mr 13} + +id-mr-integerMatch OBJECT IDENTIFIER ::= {id-mr 14} + +id-mr-integerOrderingMatch OBJECT IDENTIFIER ::= {id-mr 15} + +id-mr-bitStringMatch OBJECT IDENTIFIER ::= {id-mr 16} + +id-mr-octetStringMatch OBJECT IDENTIFIER ::= {id-mr 17} + +id-mr-octetStringOrderingMatch OBJECT IDENTIFIER ::= {id-mr 18} + +id-mr-octetStringSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 19} + +id-mr-telephoneNumberMatch OBJECT IDENTIFIER ::= {id-mr 20} + +id-mr-telephoneNumberSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 21} + +id-mr-presentationAddressMatch OBJECT IDENTIFIER ::= {id-mr 22} + +id-mr-uniqueMemberMatch OBJECT IDENTIFIER ::= {id-mr 23} + +id-mr-protocolInformationMatch OBJECT IDENTIFIER ::= {id-mr 24} + +id-mr-uTCTimeMatch OBJECT IDENTIFIER ::= {id-mr 25} + +id-mr-uTCTimeOrderingMatch OBJECT IDENTIFIER ::= {id-mr 26} + +id-mr-generalizedTimeMatch OBJECT IDENTIFIER ::= {id-mr 27} + +id-mr-generalizedTimeOrderingMatch OBJECT IDENTIFIER ::= {id-mr 28} + +id-mr-integerFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 29} + +id-mr-objectIdentifierFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 30} + +id-mr-directoryStringFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 31} + +id-mr-wordMatch OBJECT IDENTIFIER ::= {id-mr 32} + +id-mr-keywordMatch OBJECT IDENTIFIER ::= {id-mr 33} + +-- id-mr-certificateExactMatch OBJECT IDENTIFIER ::= {id-mr 34} +-- id-mr-certificateMatch OBJECT IDENTIFIER ::= {id-mr 35} +-- id-mr-certificatePairExactMatch OBJECT IDENTIFIER ::= {id-mr 36} +-- id-mr-certificatePairMatch OBJECT IDENTIFIER ::= {id-mr 37} +-- id-mr-certificateListExactMatch OBJECT IDENTIFIER ::= {id-mr 38} +-- id-mr-certificateListMatch OBJECT IDENTIFIER ::= {id-mr 39} +-- id-mr-algorithmIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 40} +id-mr-storedPrefixMatch OBJECT IDENTIFIER ::= + {id-mr 41} + +-- id-mr-attributeCertificateMatch OBJECT IDENTIFIER ::= {id-mr 42} +-- id-mr-readerAndKeyIDMatch OBJECT IDENTIFIER ::= {id-mr 43} +--id-mr-attributeIntegrityMatch OBJECT IDENTIFIER ::= {id-mr 44} +id-mr-systemProposedMatch OBJECT IDENTIFIER ::= + {id-mr 47} + +id-mr-generalWordMatch OBJECT IDENTIFIER ::= {id-mr 48} + +id-mr-approximateStringMatch OBJECT IDENTIFIER ::= {id-mr 49} + +id-mr-ignoreIfAbsentMatch OBJECT IDENTIFIER ::= {id-mr 50} + +id-mr-nullMatch OBJECT IDENTIFIER ::= {id-mr 51} + +id-mr-zonalMatch OBJECT IDENTIFIER ::= {id-mr 52} + +id-mr-facsimileNumberMatch OBJECT IDENTIFIER ::= {id-mr 63} + +id-mr-facsimileNumberSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 64} + +-- contexts +id-avc-language OBJECT IDENTIFIER ::= {id-avc 0} + +id-avc-temporal OBJECT IDENTIFIER ::= {id-avc 1} + +id-avc-locale OBJECT IDENTIFIER ::= {id-avc 2} + +--id-avc-attributeValueSecurityLabelContext OBJECT IDENTIFIER ::= {id-avc 3} +--id-avc-attributeValueIntegrityInfoContext OBJECT IDENTIFIER ::= {id-avc 4} +-- Problem definitions +id-pr-targetDsaUnavailable OBJECT IDENTIFIER ::= + {id-pr 1} + +id-pr-dataSourceUnavailable OBJECT IDENTIFIER ::= {id-pr 2} + +id-pr-unidentifiedOperation OBJECT IDENTIFIER ::= {id-pr 3} + +id-pr-unavailableOperation OBJECT IDENTIFIER ::= {id-pr 4} + +id-pr-searchAttributeViolation OBJECT IDENTIFIER ::= {id-pr 5} + +id-pr-searchAttributeCombinationViolation OBJECT IDENTIFIER ::= {id-pr 6} + +id-pr-searchValueNotAllowed OBJECT IDENTIFIER ::= {id-pr 7} + +id-pr-missingSearchAttribute OBJECT IDENTIFIER ::= {id-pr 8} + +id-pr-searchValueViolation OBJECT IDENTIFIER ::= {id-pr 9} + +id-pr-attributeNegationViolation OBJECT IDENTIFIER ::= {id-pr 10} + +id-pr-searchValueRequired OBJECT IDENTIFIER ::= {id-pr 11} + +id-pr-invalidSearchValue OBJECT IDENTIFIER ::= {id-pr 12} + +id-pr-searchContextViolation OBJECT IDENTIFIER ::= {id-pr 13} + +id-pr-searchContextCombinationViolation OBJECT IDENTIFIER ::= {id-pr 14} + +id-pr-missingSearchContext OBJECT IDENTIFIER ::= {id-pr 15} + +id-pr-searchContextValueViolation OBJECT IDENTIFIER ::= {id-pr 16} + +id-pr-searchContextValueRequired OBJECT IDENTIFIER ::= {id-pr 17} + +id-pr-invalidContextSearchValue OBJECT IDENTIFIER ::= {id-pr 18} + +id-pr-unsupportedMatchingRule OBJECT IDENTIFIER ::= {id-pr 19} + +id-pr-attributeMatchingViolation OBJECT IDENTIFIER ::= {id-pr 20} + +id-pr-unsupportedMatchingUse OBJECT IDENTIFIER ::= {id-pr 21} + +id-pr-matchingUseViolation OBJECT IDENTIFIER ::= {id-pr 22} + +id-pr-hierarchySelectForbidden OBJECT IDENTIFIER ::= {id-pr 23} + +id-pr-invalidHierarchySelect OBJECT IDENTIFIER ::= {id-pr 24} + +id-pr-unavailableHierarchySelect OBJECT IDENTIFIER ::= {id-pr 25} + +id-pr-invalidSearchOptions OBJECT IDENTIFIER ::= {id-pr 26} + +id-pr-missingSearchOptions OBJECT IDENTIFIER ::= {id-pr 27} + +id-pr-invalidServiceControlOptions OBJECT IDENTIFIER ::= {id-pr 28} + +id-pr-missingServiceControlOptions OBJECT IDENTIFIER ::= {id-pr 29} + +id-pr-searchSubsetViolation OBJECT IDENTIFIER ::= {id-pr 30} + +id-pr-unmatchedKeyAttributes OBJECT IDENTIFIER ::= {id-pr 31} + +id-pr-ambiguousKeyAttributes OBJECT IDENTIFIER ::= {id-pr 32} + +-- Notification attributes +id-not-dSAProblem OBJECT IDENTIFIER ::= {id-not 0} + +id-not-searchServiceProblem OBJECT IDENTIFIER ::= {id-not 1} + +id-not-serviceType OBJECT IDENTIFIER ::= {id-not 2} + +id-not-attributeTypeList OBJECT IDENTIFIER ::= {id-not 3} + +id-not-matchingRuleList OBJECT IDENTIFIER ::= {id-not 4} + +id-not-filterItem OBJECT IDENTIFIER ::= {id-not 5} + +id-not-attributeCombinations OBJECT IDENTIFIER ::= {id-not 6} + +id-not-contextTypeList OBJECT IDENTIFIER ::= {id-not 7} + +id-not-contextList OBJECT IDENTIFIER ::= {id-not 8} + +id-not-contextCombinations OBJECT IDENTIFIER ::= {id-not 9} + +id-not-hierarchySelectList OBJECT IDENTIFIER ::= {id-not 10} + +id-not-searchOptionsList OBJECT IDENTIFIER ::= {id-not 11} + +id-not-serviceControlOptionsList OBJECT IDENTIFIER ::= {id-not 12} + +id-not-multipleMatchingLocalities OBJECT IDENTIFIER ::= {id-not 13} + +id-not-proposedRelaxation OBJECT IDENTIFIER ::= {id-not 14} + +id-not-appliedRelaxation OBJECT IDENTIFIER ::= {id-not 15} + +id-not-substringRequirements OBJECT IDENTIFIER ::= {id-not 16} + +-- Control attributes +id-cat-sequenceMatchType OBJECT IDENTIFIER ::= + {id-cat 1} + +id-cat-wordMatchType OBJECT IDENTIFIER ::= {id-cat 2} + +id-cat-characterMatchTypes OBJECT IDENTIFIER ::= {id-cat 3} + +id-cat-selectedContexts OBJECT IDENTIFIER ::= {id-cat 4} + +END -- SelectedAttributeTypes + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D diff --git a/acse/UpperBounds.asn1 b/acse/UpperBounds.asn1 new file mode 100644 index 0000000..3ebc334 --- /dev/null +++ b/acse/UpperBounds.asn1 @@ -0,0 +1,90 @@ +-- Module UpperBounds (X.520:08/1997) +-- See also ITU-T X.520 (08/1997) +-- See also the index of all ASN.1 assignments needed in this document + +UpperBounds {joint-iso-itu-t ds(5) module(1) upperBounds(10) 3} DEFINITIONS ::= +BEGIN + +-- EXPORTS All +-- The types and values defined in this module are exported for use in the other ASN.1 modules contained +-- within the Directory Specifications, and for the use of other applications which will use them to access +-- Directory services. Other applications may use them for their own purposes, but this will not constrain +-- extensions and modifications needed to maintain or improve the Directory service. +ub-answerback INTEGER ::= + 8 + +ub-business-category INTEGER ::= 128 + +ub-common-name INTEGER ::= 64 + +ub-country-code INTEGER ::= 4 + +ub-description INTEGER ::= 1024 + +ub-destination-indicator INTEGER ::= 128 + +ub-directory-string-first-component-match INTEGER ::= 32768 + +ub-international-isdn-number INTEGER ::= 16 + +ub-knowledge-information INTEGER ::= 32768 + +ub-locality-name INTEGER ::= 128 + +ub-match INTEGER ::= 128 + +ub-name INTEGER ::= 64 + +ub-organization-name INTEGER ::= 64 + +ub-organizational-unit-name INTEGER ::= 64 + +ub-physical-office-name INTEGER ::= 128 + +ub-post-office-box INTEGER ::= 40 + +ub-postal-code INTEGER ::= 40 + +ub-postal-line INTEGER ::= 6 + +ub-postal-string INTEGER ::= 30 + +ub-privacy-mark-length INTEGER ::= 128 + +ub-schema INTEGER ::= 1024 + +ub-search INTEGER ::= 32768 + +ub-serial-number INTEGER ::= 64 + +ub-state-name INTEGER ::= 128 + +ub-street-address INTEGER ::= 128 + +ub-surname INTEGER ::= 64 + +ub-tag INTEGER ::= 64 + +ub-telephone-number INTEGER ::= 32 + +ub-teletex-terminal-id INTEGER ::= 1024 + +ub-telex-number INTEGER ::= 14 + +ub-title INTEGER ::= 64 + +ub-user-password INTEGER ::= 128 + +ub-x121-address INTEGER ::= 15 + +ub-localeContextSyntax INTEGER ::= 128 + +ub-locale-context-syntax INTEGER ::= 64 + +ub-pseudonym INTEGER ::= 128 + +ub-content INTEGER ::= 32768 + +END -- UpperBounds + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D diff --git a/acse/UsefulDefinitions.asn1 b/acse/UsefulDefinitions.asn1 new file mode 100644 index 0000000..b755285 --- /dev/null +++ b/acse/UsefulDefinitions.asn1 @@ -0,0 +1,240 @@ +-- Module UsefulDefinitions (X.501 TC2:08/1997) +-- See also ITU-T X.501 (1997) Technical Cor. 2 (02/2001) +-- See also the index of all ASN.1 assignments needed in this document + +UsefulDefinitions {joint-iso-itu-t ds(5) module(1) usefulDefinitions(0) 3} +DEFINITIONS ::= +BEGIN + +-- EXPORTS All - +-- The types and values defined in this module are exported for use in the other ASN.1 modules contained +-- within the Directory Specifications, and for the use of other applications which will use them to access +-- Directory services. Other applications may use them for their own purposes, but this will not constrain +-- extensions and modifications needed to maintain or improve the Directory service. +ID ::= OBJECT IDENTIFIER + +ds ID ::= {joint-iso-itu-t ds(5)} + +-- categories of information object +module ID ::= {ds 1} + +serviceElement ID ::= {ds 2} + +applicationContext ID ::= {ds 3} + +attributeType ID ::= {ds 4} + +attributeSyntax ID ::= {ds 5} + +objectClass ID ::= {ds 6} + +-- attributeSet ID ::= {ds 7} +algorithm ID ::= {ds 8} + +abstractSyntax ID ::= {ds 9} + +-- object ID ::= {ds 10} +-- port ID ::= {ds 11} +dsaOperationalAttribute ID ::= + {ds 12} + +matchingRule ID ::= {ds 13} + +knowledgeMatchingRule ID ::= {ds 14} + +nameForm ID ::= {ds 15} + +group ID ::= {ds 16} + +subentry ID ::= {ds 17} + +operationalAttributeType ID ::= {ds 18} + +operationalBinding ID ::= {ds 19} + +schemaObjectClass ID ::= {ds 20} + +schemaOperationalAttribute ID ::= {ds 21} + +administrativeRoles ID ::= {ds 23} + +accessControlAttribute ID ::= {ds 24} + +rosObject ID ::= {ds 25} + +contract ID ::= {ds 26} + +package ID ::= {ds 27} + +accessControlSchemes ID ::= {ds 28} + +certificateExtension ID ::= {ds 29} + +managementObject ID ::= {ds 30} + +attributeValueContext ID ::= {ds 31} + +-- securityExchange ID ::= {ds 32} +idmProtocol ID ::= {ds 33} + +problem ID ::= {ds 34} + +notification ID ::= {ds 35} + +matchingRestriction ID ::= + {ds 36} -- None are currently defined by this specification + +controlAttributeType ID ::= {ds 37} + +-- modules +usefulDefinitions ID ::= {module usefulDefinitions(0) 3} + +informationFramework ID ::= {module informationFramework(1) 3} + +directoryAbstractService ID ::= {module directoryAbstractService(2) 3} + +distributedOperations ID ::= {module distributedOperations(3) 3} + +protocolObjectIdentifiers ID ::= {module protocolObjectIdentifiers(4) 3} + +selectedAttributeTypes ID ::= {module selectedAttributeTypes(5) 3} + +selectedObjectClasses ID ::= {module selectedObjectClasses(6) 3} + +authenticationFramework ID ::= {module authenticationFramework(7) 3} + +algorithmObjectIdentifiers ID ::= {module algorithmObjectIdentifiers(8) 3} + +directoryObjectIdentifiers ID ::= {module directoryObjectIdentifiers(9) 3} + +upperBounds ID ::= {module upperBounds(10) 3} + +dap ID ::= {module dap(11) 3} + +dsp ID ::= {module dsp(12) 3} + +distributedDirectoryOIDs ID ::= {module distributedDirectoryOIDs(13) 3} + +directoryShadowOIDs ID ::= {module directoryShadowOIDs(14) 3} + +directoryShadowAbstractService ID ::= + {module directoryShadowAbstractService(15) 3} + +disp ID ::= {module disp(16) 3} + +dop ID ::= {module dop(17) 3} + +opBindingManagement ID ::= {module opBindingManagement(18) 3} + +opBindingOIDs ID ::= {module opBindingOIDs(19) 3} + +hierarchicalOperationalBindings ID ::= + {module hierarchicalOperationalBindings(20) 3} + +dsaOperationalAttributeTypes ID ::= {module dsaOperationalAttributeTypes(22) 3} + +schemaAdministration ID ::= {module schemaAdministration(23) 3} + +basicAccessControl ID ::= {module basicAccessControl(24) 3} + +directoryOperationalBindingTypes ID ::= + {module directoryOperationalBindingTypes(25) 3} + +certificateExtensions ID ::= {module certificateExtensions(26) 0} + +directoryManagement ID ::= {module directoryManagement(27) 1} + +enhancedSecurity ID ::= {module enhancedSecurity(28) 1} + +iDMProtocolSpecification ID ::= {module iDMProtocolSpecification(30) 4} + +directoryIDMProtocols ID ::= {module directoryIDMProtocols(31) 4} + +-- directorySecurityExchanges ID ::= {module directorySecurityExchanges (29) 1} +-- synonyms +id-oc ID ::= + objectClass + +id-at ID ::= attributeType + +id-as ID ::= abstractSyntax + +id-mr ID ::= matchingRule + +id-nf ID ::= nameForm + +id-sc ID ::= subentry + +id-oa ID ::= operationalAttributeType + +id-ob ID ::= operationalBinding + +id-doa ID ::= dsaOperationalAttribute + +id-kmr ID ::= knowledgeMatchingRule + +id-soc ID ::= schemaObjectClass + +id-soa ID ::= schemaOperationalAttribute + +id-ar ID ::= administrativeRoles + +id-aca ID ::= accessControlAttribute + +id-ac ID ::= applicationContext + +id-rosObject ID ::= rosObject + +id-contract ID ::= contract + +id-package ID ::= package + +id-acScheme ID ::= accessControlSchemes + +id-ce ID ::= certificateExtension + +id-mgt ID ::= managementObject + +id-idm ID ::= idmProtocol + +id-avc ID ::= attributeValueContext + +-- id-se ID ::= securityExchange +id-pr ID ::= problem + +id-not ID ::= notification + +id-mre ID ::= matchingRestriction + +id-cat ID ::= controlAttributeType + +-- obsolete module identifiers +-- usefulDefinition ID ::= {module 0} +-- informationFramework ID ::= {module 1} +-- directoryAbstractService ID ::= {module 2} +-- distributedOperations ID ::= {module 3} +-- protocolObjectIdentifiers ID ::= {module 4} +-- selectedAttributeTypes ID ::= {module 5} +-- selectedObjectClasses ID ::= {module 6} +-- authenticationFramework ID ::= {module 7} +-- algorithmObjectIdentifiers ID ::= {module 8} +-- directoryObjectIdentifiers ID ::= {module 9} +-- upperBounds ID ::= {module 10} +-- dap ID ::= {module 11} +-- dsp ID ::= {module 12} +-- distributedDirectoryObjectIdentifiers ID ::= {module 13} +-- unused module identifiers +-- directoryShadowOIDs ID ::= {module 14} +-- directoryShadowAbstractService ID ::= {module 15} +-- disp ID ::= {module 16} +-- dop ID ::= {module 17} +-- opBindingManagement ID ::= {module 18} +-- opBindingOIDs ID ::= {module 19} +-- hierarchicalOperationalBindings ID ::= {module 20} +-- dsaOperationalAttributeTypes ID ::= {module 22} +-- schemaAdministration ID ::= {module 23} +-- basicAccessControl ID ::= {module 24} +-- operationalBindingOIDs ID ::= {module 25} +END -- UsefulDefinitions + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D diff --git a/csta/CSTA-accept-call.asn1 b/csta/CSTA-accept-call.asn1 new file mode 100644 index 0000000..771efab --- /dev/null +++ b/csta/CSTA-accept-call.asn1 @@ -0,0 +1,42 @@ +CSTA-accept-call + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) accept-call( 214) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CorrelatorData, UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +acceptCall OPERATION ::= +{ ARGUMENT AcceptCallArgument + RESULT AcceptCallResult + ERRORS {universalFailure } + CODE local: 214 } + +AcceptCallArgument ::= SEQUENCE +{ callToBeAccepted ConnectionID, + correlatorData CorrelatorData OPTIONAL, + userData UserData OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +AcceptCallResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-accept-call diff --git a/csta/CSTA-activate.asn1 b/csta/CSTA-activate.asn1 new file mode 100644 index 0000000..3d7d841 --- /dev/null +++ b/csta/CSTA-activate.asn1 @@ -0,0 +1,42 @@ +CSTA-activate + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) activate( 512) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +ResourceID, MessageID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +activate OPERATION ::= +{ ARGUMENT ActivateArgument + RESULT ActivateResult + ERRORS {universalFailure } + CODE local: 512 } + +ActivateArgument ::= SEQUENCE +{ overConnection ConnectionID, + resource [0] IMPLICIT ResourceID OPTIONAL, + ruleName [1] IMPLICIT IA5String, + grammarName [2] IMPLICIT IA5String OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +ActivateResult ::= SEQUENCE +{ extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-activate diff --git a/csta/CSTA-agent-busy-event.asn1 b/csta/CSTA-agent-busy-event.asn1 new file mode 100644 index 0000000..fd9a300 --- /dev/null +++ b/csta/CSTA-agent-busy-event.asn1 @@ -0,0 +1,32 @@ +CSTA-agent-busy-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) agent-busy-event( 319) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +DeviceID, SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +AgentID, PendingAgentState FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +AgentBusyEvent ::= SEQUENCE +{ agentDevice SubjectDeviceID, + agentID AgentID OPTIONAL, + acdGroup DeviceID OPTIONAL, + pendingAgentState [2] IMPLICIT PendingAgentState OPTIONAL, + cause [3] IMPLICIT EventCause OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-agent-busy-event diff --git a/csta/CSTA-agent-logged-off-event.asn1 b/csta/CSTA-agent-logged-off-event.asn1 new file mode 100644 index 0000000..179467f --- /dev/null +++ b/csta/CSTA-agent-logged-off-event.asn1 @@ -0,0 +1,32 @@ +CSTA-agent-logged-off-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) agent-logged-off-event( 320) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +DeviceID, SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +AgentID, AgentPassword FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +AgentLoggedOffEvent ::= SEQUENCE +{ agentDevice SubjectDeviceID, + agentID [2] IMPLICIT AgentID OPTIONAL, + acdGroup DeviceID OPTIONAL, + agentPassword [3] IMPLICIT AgentPassword OPTIONAL, + cause EventCause OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-agent-logged-off-event diff --git a/csta/CSTA-agent-logged-on-event.asn1 b/csta/CSTA-agent-logged-on-event.asn1 new file mode 100644 index 0000000..491ca85 --- /dev/null +++ b/csta/CSTA-agent-logged-on-event.asn1 @@ -0,0 +1,32 @@ +CSTA-agent-logged-on-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) agent-logged-on-event( 321) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +DeviceID, SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +AgentID, AgentPassword FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +AgentLoggedOnEvent ::= SEQUENCE +{ agentDevice SubjectDeviceID, + agentID [2] IMPLICIT AgentID OPTIONAL, + acdGroup DeviceID OPTIONAL, + agentPassword [3] IMPLICIT AgentPassword OPTIONAL, + cause EventCause OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-agent-logged-on-event diff --git a/csta/CSTA-agent-not-ready-event.asn1 b/csta/CSTA-agent-not-ready-event.asn1 new file mode 100644 index 0000000..cfb9e1e --- /dev/null +++ b/csta/CSTA-agent-not-ready-event.asn1 @@ -0,0 +1,31 @@ +CSTA-agent-not-ready-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) agent-not-ready-event( 322) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +DeviceID, SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +AgentID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +AgentNotReadyEvent ::= SEQUENCE +{ agentDevice SubjectDeviceID, + agentID AgentID OPTIONAL, + acdGroup DeviceID OPTIONAL, + cause EventCause OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-agent-not-ready-event diff --git a/csta/CSTA-agent-ready-event.asn1 b/csta/CSTA-agent-ready-event.asn1 new file mode 100644 index 0000000..a46261c --- /dev/null +++ b/csta/CSTA-agent-ready-event.asn1 @@ -0,0 +1,31 @@ +CSTA-agent-ready-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) agent-ready-event( 323) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +DeviceID, SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +AgentID, AgentPassword FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +AgentReadyEvent ::= SEQUENCE +{ agentDevice SubjectDeviceID, + agentID AgentID OPTIONAL, + acdGroup DeviceID OPTIONAL, + cause EventCause OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-agent-ready-event diff --git a/csta/CSTA-agent-working-after-call-event.asn1 b/csta/CSTA-agent-working-after-call-event.asn1 new file mode 100644 index 0000000..fdb93b8 --- /dev/null +++ b/csta/CSTA-agent-working-after-call-event.asn1 @@ -0,0 +1,35 @@ +CSTA-agent-working-after-call-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) agent-working-after-call-event( 324) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +DeviceID, SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +AgentID, PendingAgentState FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +AgentWorkingAfterCallEvent ::= SEQUENCE +{ agentDevice SubjectDeviceID, + agentID AgentID OPTIONAL, + acdGroup DeviceID OPTIONAL, + pendingAgentState [2] IMPLICIT ENUMERATED + { notReady (0), + ready (1), + null (2) } OPTIONAL, + cause [3] IMPLICIT EventCause OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-agent-working-after-call-event diff --git a/csta/CSTA-alternate-call.asn1 b/csta/CSTA-alternate-call.asn1 new file mode 100644 index 0000000..82c569a --- /dev/null +++ b/csta/CSTA-alternate-call.asn1 @@ -0,0 +1,43 @@ +CSTA-alternate-call + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) alternate-call( 1) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ConsultOptions FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) }; + +alternateCall OPERATION ::= +{ ARGUMENT AlternateCallArgument + RESULT AlternateCallResult + ERRORS {universalFailure } + CODE local: 1 } + +AlternateCallArgument ::= SEQUENCE +{ heldCall ConnectionID, + activeCall ConnectionID, + connectionReservation BOOLEAN OPTIONAL, + consultOptions ConsultOptions DEFAULT unrestricted, + extensions CSTACommonArguments OPTIONAL } + +AlternateCallResult ::=CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-alternate-call diff --git a/csta/CSTA-answer-call.asn1 b/csta/CSTA-answer-call.asn1 new file mode 100644 index 0000000..f6fcf73 --- /dev/null +++ b/csta/CSTA-answer-call.asn1 @@ -0,0 +1,42 @@ +CSTA-answer-call + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) answer-call( 2) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CorrelatorData, UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +answerCall OPERATION ::= +{ ARGUMENT AnswerCallArgument + RESULT AnswerCallResult + ERRORS {universalFailure } + CODE local: 2 } + +AnswerCallArgument ::= SEQUENCE +{ callToBeAnswered ConnectionID, + correlatorData CorrelatorData OPTIONAL, + userData UserData OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +AnswerCallResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-answer-call diff --git a/csta/CSTA-associate-data.asn1 b/csta/CSTA-associate-data.asn1 new file mode 100644 index 0000000..29649b8 --- /dev/null +++ b/csta/CSTA-associate-data.asn1 @@ -0,0 +1,60 @@ +CSTA-associate-data + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) associate-data( 230) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +AccountInfo, AuthCode, CorrelatorData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +LanguagePreferences,SubjectOfCall FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CallCharacteristics, CallLinkageData, ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +CallQualifyingData FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) }; + +associateData OPERATION ::= +{ ARGUMENT AssociateDataArgument + RESULT AssociateDataResult + ERRORS {universalFailure } + CODE local: 230 } + +AssociateDataArgument ::= SEQUENCE +{ existingCall ConnectionID, + accountCode [0] IMPLICIT AccountInfo OPTIONAL, + authCode [1] IMPLICIT AuthCode OPTIONAL, + correlatorData [2] IMPLICIT CorrelatorData OPTIONAL, + callQualifyingData [3] IMPLICIT CallQualifyingData OPTIONAL, + callCharacteristics [4] IMPLICIT CallCharacteristics OPTIONAL, + subjectOfCall [5] IMPLICIT SubjectOfCall OPTIONAL, + languagePreferences [6] IMPLICIT LanguagePreferences OPTIONAL, + deviceInfo [7] IMPLICIT DeviceID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +AssociateDataResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-associate-data diff --git a/csta/CSTA-attach-media-service.asn1 b/csta/CSTA-attach-media-service.asn1 new file mode 100644 index 0000000..41e258a --- /dev/null +++ b/csta/CSTA-attach-media-service.asn1 @@ -0,0 +1,59 @@ +CSTA-attach-media-service + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) attach-media-service( 244) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +LocalConnectionState FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +CallLinkageData FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +MediaServiceType, MediaServiceInstanceID, ConnectionMode, + ConnectionInformation FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +attachMediaService OPERATION ::= +{ ARGUMENT AttachMediaServiceArgument + RESULT AttachMediaServiceResult + ERRORS {universalFailure } + CODE local: 244 } + +AttachMediaServiceArgument ::= SEQUENCE +{ connection ConnectionID, + mediaServiceType MediaServiceType, + mediaServiceVersion INTEGER OPTIONAL, + mediaServiceInstanceID MediaServiceInstanceID OPTIONAL, + connectionMode ConnectionMode, + requestedConnectionState LocalConnectionState OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +AttachMediaServiceResult ::= SEQUENCE +{ mediaConnection ConnectionID OPTIONAL, + mediaDevice [0] IMPLICIT DeviceID OPTIONAL, + mediaServiceInstanceID MediaServiceInstanceID OPTIONAL, + mediaConnectionInfo [1] IMPLICIT ConnectionInformation OPTIONAL, + callLinkageData [2] IMPLICIT CallLinkageData OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-attach-media-service diff --git a/csta/CSTA-auto-answer-event.asn1 b/csta/CSTA-auto-answer-event.asn1 new file mode 100644 index 0000000..5be3428 --- /dev/null +++ b/csta/CSTA-auto-answer-event.asn1 @@ -0,0 +1,24 @@ +CSTA-auto-answer-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) auto-answer-event( 40) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +AutoAnswerEvent ::= SEQUENCE +{ invokingDevice SubjectDeviceID, + autoAnswerOn BOOLEAN, + numberOfRings INTEGER OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-auto-answer-event diff --git a/csta/CSTA-auto-work-mode-event.asn1 b/csta/CSTA-auto-work-mode-event.asn1 new file mode 100644 index 0000000..6389f69 --- /dev/null +++ b/csta/CSTA-auto-work-mode-event.asn1 @@ -0,0 +1,24 @@ +CSTA-auto-work-mode-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) auto-work-mode-event( 326) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +AutoWorkModeEvent ::= SEQUENCE +{ invokingDevice SubjectDeviceID, + autoWorkOn BOOLEAN, + autoWorkInterval INTEGER, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-auto-work-mode-event diff --git a/csta/CSTA-back-in-service-event.asn1 b/csta/CSTA-back-in-service-event.asn1 new file mode 100644 index 0000000..babf4be --- /dev/null +++ b/csta/CSTA-back-in-service-event.asn1 @@ -0,0 +1,26 @@ +CSTA-back-in-service-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) back-in-service-event( 333) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +BackInServiceEvent ::= SEQUENCE +{ device SubjectDeviceID, + cause EventCause OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-back-in-service-event diff --git a/csta/CSTA-bookmark-reached-event.asn1 b/csta/CSTA-bookmark-reached-event.asn1 new file mode 100644 index 0000000..36688de --- /dev/null +++ b/csta/CSTA-bookmark-reached-event.asn1 @@ -0,0 +1,35 @@ +CSTA-bookmark-reached-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) bookmark-reached-event(517) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +ResourceID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) +standard( 0) csta3( 285) device-feature-types( 127) }; + +BookmarkReachedEvent ::= SEQUENCE +{ overConnection ConnectionID, + resource [0] IMPLICIT ResourceID OPTIONAL, + bookmark IA5String, + cause EventCause OPTIONAL, + servicesPermitted ServicesPermitted OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-bookmark-reached-event diff --git a/csta/CSTA-bridged-event.asn1 b/csta/CSTA-bridged-event.asn1 new file mode 100644 index 0000000..4eab1f1 --- /dev/null +++ b/csta/CSTA-bridged-event.asn1 @@ -0,0 +1,58 @@ +CSTA-bridged-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) bridged-event( 224) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types –- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +LocalConnectionState FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +CorrelatorData, UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics, CallLinkageData, ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LocationInfoList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LanguagePreferences FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +ConnectionInformation, MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +BridgedEvent ::= SEQUENCE +{ bridgedConnection ConnectionID, + bridgedAppearance SubjectDeviceID, + localConnectionInfo LocalConnectionState OPTIONAL, + correlatorData [0] IMPLICIT CorrelatorData OPTIONAL, + userData UserData OPTIONAL, + cause EventCause, + servicesPermitted [1] IMPLICIT ServicesPermitted OPTIONAL, + mediaCallCharacteristics [2] IMPLICIT MediaCallCharacteristics OPTIONAL, + callCharacteristics [3] IMPLICIT CallCharacteristics OPTIONAL, + bridgedConnectionInfo [4] IMPLICIT ConnectionInformation OPTIONAL, + callLinkageData [5] IMPLICIT CallLinkageData OPTIONAL, + languagePreferences [6] IMPLICIT LanguagePreferences OPTIONAL, + locationInfo [7] IMPLICIT LocationInfoList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-bridged-event diff --git a/csta/CSTA-button-information-event.asn1 b/csta/CSTA-button-information-event.asn1 new file mode 100644 index 0000000..8f223e5 --- /dev/null +++ b/csta/CSTA-button-information-event.asn1 @@ -0,0 +1,28 @@ +CSTA-button-information-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) button-information-event( 283) } +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +DeviceID, SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ButtonID FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +ButtonInformationEvent ::= SEQUENCE +{ device SubjectDeviceID, + button ButtonID, + buttonLabel IA5String (SIZE(0..64)) OPTIONAL, + buttonAssociatedNumber DeviceID OPTIONAL, + buttonPressIndicator BOOLEAN OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-button-information-event diff --git a/csta/CSTA-button-press-event.asn1 b/csta/CSTA-button-press-event.asn1 new file mode 100644 index 0000000..04cd93f --- /dev/null +++ b/csta/CSTA-button-press-event.asn1 @@ -0,0 +1,27 @@ +CSTA-button-press-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) button-press-event( 284) } +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +DeviceID, SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ButtonID FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +ButtonPressEvent ::= SEQUENCE +{ device SubjectDeviceID, + button ButtonID, + buttonLabel IA5String (SIZE(0..64)) OPTIONAL, + buttonAssociatedNumber DeviceID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-button-press-event diff --git a/csta/CSTA-button-press.asn1 b/csta/CSTA-button-press.asn1 new file mode 100644 index 0000000..f9d77ea --- /dev/null +++ b/csta/CSTA-button-press.asn1 @@ -0,0 +1,41 @@ +CSTA-button-press +{ iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) button-press( 260) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ButtonID FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +buttonPress OPERATION ::= +{ ARGUMENT ButtonPressArgument + RESULT ButtonPressResult + ERRORS {universalFailure } + CODE local: 260 } + +ButtonPressArgument ::= SEQUENCE +{ device DeviceID, + button ButtonID, + extensions CSTACommonArguments OPTIONAL } + +ButtonPressResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-button-press diff --git a/csta/CSTA-call-back-call-related.asn1 b/csta/CSTA-call-back-call-related.asn1 new file mode 100644 index 0000000..7d49c6b --- /dev/null +++ b/csta/CSTA-call-back-call-related.asn1 @@ -0,0 +1,49 @@ +CSTA-call-back-call-related + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-back-call-related( 215) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +SubjectOfCall,LanguagePreferences FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CallCharacteristics FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) }; + +callBack OPERATION ::= +{ ARGUMENT CallBackArgument + RESULT CallBackResult + ERRORS {universalFailure } + CODE local: 215 } + +CallBackArgument ::= SEQUENCE +{ callbackConnection ConnectionID, + callCharacteristics CallCharacteristics OPTIONAL, + subjectOfCall [0] IMPLICIT SubjectOfCall OPTIONAL, + languagePreferences [1] IMPLICIT LanguagePreferences OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +CallBackResult ::= SEQUENCE +{ targetDevice DeviceID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-call-back-call-related diff --git a/csta/CSTA-call-back-event.asn1 b/csta/CSTA-call-back-event.asn1 new file mode 100644 index 0000000..333b0b1 --- /dev/null +++ b/csta/CSTA-call-back-event.asn1 @@ -0,0 +1,24 @@ +CSTA-call-back-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-back-event( 327) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +CallBackEvent ::= SEQUENCE +{ originatingDevice SubjectDeviceID, + targetDevice SubjectDeviceID, + callBackSetCanceled BOOLEAN, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-call-back-event diff --git a/csta/CSTA-call-back-message-call-related.asn1 b/csta/CSTA-call-back-message-call-related.asn1 new file mode 100644 index 0000000..8d9368b --- /dev/null +++ b/csta/CSTA-call-back-message-call-related.asn1 @@ -0,0 +1,39 @@ +CSTA-call-back-message-call-related + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-back-message-call-related( 216) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; +callBackMessage OPERATION ::= +{ ARGUMENT CallBackMessageArgument + RESULT CallBackMessageResult + ERRORS {universalFailure } + CODE local: 216 } + +CallBackMessageArgument ::= SEQUENCE +{ callbackMessageConnection ConnectionID, + extensions CSTACommonArguments OPTIONAL } + +CallBackMessageResult ::= SEQUENCE +{ targetDevice DeviceID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-call-back-message-call-related diff --git a/csta/CSTA-call-back-message-event.asn1 b/csta/CSTA-call-back-message-event.asn1 new file mode 100644 index 0000000..b21e9e1 --- /dev/null +++ b/csta/CSTA-call-back-message-event.asn1 @@ -0,0 +1,24 @@ +CSTA-call-back-message-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-back-message-event( 328) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +CallBackMessageEvent ::= SEQUENCE +{ originatingDevice SubjectDeviceID, + targetDevice SubjectDeviceID, + callBackMsgSetCanceled BOOLEAN, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-call-back-message-event diff --git a/csta/CSTA-call-back-message-non-call-related.asn1 b/csta/CSTA-call-back-message-non-call-related.asn1 new file mode 100644 index 0000000..41ac744 --- /dev/null +++ b/csta/CSTA-call-back-message-non-call-related.asn1 @@ -0,0 +1,38 @@ +CSTA-call-back-message-non-call-related +{ iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-back-message-non-call-related( 301) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +callBackMessageNonCallRelated OPERATION ::= +{ ARGUMENT CallBackMessageNonCallRelatedArgument + RESULT CallBackMessageNonCallRelatedResult + ERRORS {universalFailure } + CODE local: 301 } + +CallBackMessageNonCallRelatedArgument ::= SEQUENCE +{ originatingDevice DeviceID, + targetDevice DeviceID, + extensions CSTACommonArguments OPTIONAL } + +CallBackMessageNonCallRelatedResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-call-back-message-non-call-related diff --git a/csta/CSTA-call-back-non-call-related.asn1 b/csta/CSTA-call-back-non-call-related.asn1 new file mode 100644 index 0000000..787ead9 --- /dev/null +++ b/csta/CSTA-call-back-non-call-related.asn1 @@ -0,0 +1,38 @@ +CSTA-call-back-non-call-related +{ iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-back-non-call-related( 300) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +callBackNonCallRelated OPERATION ::= +{ ARGUMENT CallBackNonCallRelatedArgument + RESULT CallBackNonCallRelatedResult + ERRORS {universalFailure } + CODE local: 300 } + +CallBackNonCallRelatedArgument ::= SEQUENCE +{ originatingDevice DeviceID, + targetDevice DeviceID, + extensions CSTACommonArguments OPTIONAL } + +CallBackNonCallRelatedResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-call-back-non-call-related diff --git a/csta/CSTA-call-cleared-event.asn1 b/csta/CSTA-call-cleared-event.asn1 new file mode 100644 index 0000000..b1cf18b --- /dev/null +++ b/csta/CSTA-call-cleared-event.asn1 @@ -0,0 +1,48 @@ +CSTA-call-cleared-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-cleared-event( 22) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types –- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CorrelatorData, UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics, CallLinkageData FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LocationInfoList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LanguagePreferences FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +CallClearedEvent ::= SEQUENCE +{ clearedCall ConnectionID, + correlatorData [1] IMPLICIT CorrelatorData OPTIONAL, + userData UserData OPTIONAL, + cause EventCause, + mediaCallCharacteristics [2] IMPLICIT MediaCallCharacteristics OPTIONAL, + callCharacteristics [3] IMPLICIT CallCharacteristics OPTIONAL, + callLinkageData [4] IMPLICIT CallLinkageData OPTIONAL, + languagePreferences [5] IMPLICIT LanguagePreferences OPTIONAL, + locationInfo [6] IMPLICIT LocationInfoList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-call-cleared-event diff --git a/csta/CSTA-call-connection-identifiers.asn1 b/csta/CSTA-call-connection-identifiers.asn1 new file mode 100644 index 0000000..5a1795f --- /dev/null +++ b/csta/CSTA-call-connection-identifiers.asn1 @@ -0,0 +1,29 @@ +CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } + +DEFINITIONS ::= +BEGIN + +EXPORTS +CallID, ConnectionID; + +IMPORTS +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) }; + +ConnectionID ::= [APPLICATION 11] CHOICE +{ callID [0] IMPLICIT CallID, + deviceID [1] LocalDeviceID, + both SEQUENCE + { callID [0] IMPLICIT CallID, + deviceID [1] LocalDeviceID } } + +CallID ::= OCTET STRING + +LocalDeviceID ::= CHOICE +{ staticID DeviceID, + dynamicID [3] IMPLICIT OCTET STRING } + +END -- of CSTA-call-connection-identifiers diff --git a/csta/CSTA-call-control.asn1 b/csta/CSTA-call-control.asn1 new file mode 100644 index 0000000..f027a1d --- /dev/null +++ b/csta/CSTA-call-control.asn1 @@ -0,0 +1,211 @@ +CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } + +DEFINITIONS ::= +BEGIN + +EXPORTS +AutoOriginate, CallCharacteristics, CallLinkageData, CallLinkageDataList, CallQualifyingData, +ConsultOptions, NetworkCapability,LocationInfo,LocationInfoList, +ProgressIndicator, ServicesPermitted; + +IMPORTS +TimeInfo FROM CSTA-security + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) security( 128) } +CallControlServices, CallAssociatedServices, MediaAttachmentServices, RouteingServices, +VoiceUnitServices FROM CSTA-application-context-information-csta3 + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) application-context-information( 200) }; + +AutoOriginate ::= ENUMERATED +{ prompt ( 0), + doNotPrompt ( 1) } + +CallCharacteristics ::= BIT STRING +{ acdCall ( 0), + lowPriorityCall (11), + priorityCall ( 1), + highPriorityCall (12), + maintainanceCall ( 2), + directAgent ( 3), + assistCall ( 4), + voiceUnitCall ( 5), + privateCall ( 6), + personalCall ( 7), + sensitiveCall ( 8), + confidentialCall ( 9), + encryptedCall (10) } + +CallQualifyingData ::= OCTET STRING + +ConsultOptions ::= ENUMERATED +{ unrestricted ( 0), + consultOnly ( 1), + transferOnly ( 2), + conferenceOnly ( 3) } + +NetworkCapability ::= SEQUENCE +{ networkType ENUMERATED + { iSDNPublic ( 0), + nonISDNPublic ( 1), + iSDNPrivate ( 2), + nonISDNPrivate ( 3), + other ( 4) }, + eventsProvided BIT STRING + { bridged ( 0), + allCleared ( 1), + conferenced ( 2), + connectionCleared ( 3), + delivered ( 4), + digitsDialed ( 5), + diverted ( 6), + established ( 7), + failed ( 8), + held ( 9), + networkCapabilitiesChange (10), + networkReached (11), + offered (12), + originated (13), + queued (14), + retrieved (15), + serviceInitiated (16), + transferred (17) } OPTIONAL } + +ProgressIndicator ::= SEQUENCE +{ progressLocation ENUMERATED + { user ( 0), + privateNetServingLocal ( 1), + publicNetServingLocal ( 2), + transitNetwork ( 3), + publicNetServingRemote ( 4), + privateNetServingRemote ( 5), + localInterface ( 6), + internationalNetwork ( 7), + networkBeyondInterwk ( 8), + other ( 9) }, + progressDescription ENUMERATED + { iSDNProgressDesc ( 0), + qSIGProgressDesc ( 1), + other ( 2) } } + +ServicesPermitted ::= SEQUENCE +{ callControlServices CallControlServices, + callAssociatedServices CallAssociatedServices, + mediaAttachmentServices MediaAttachmentServices, + routeingServices RouteingServices, + voiceUnitServices VoiceUnitServices } + +CallLinkageDataList ::= SEQUENCE +{ newCallLinkageData CallLinkageData, + oldCallLinkageData CallLinkageData } + +CallLinkageData ::= SEQUENCE +{ globalCallData GlobalCallData, + threadData ThreadData OPTIONAL } + +GlobalCallData ::= SEQUENCE +{ globalCallSwitchingSubDomainName IA5String (SIZE(1..64)) OPTIONAL, + globalCallLinkageID GlobalCallLinkageID, + callLinkageIDTimestamp TimeInfo OPTIONAL } + +GlobalCallLinkageID ::= CHOICE +{ subDomainCallLinkageID [0] IMPLICIT OCTET STRING (SIZE(1..8)), + globallyUniqueCallLinkageID [1] IMPLICIT OCTET STRING (SIZE(1..16)) } + +ThreadData ::= SEQUENCE +{ threadSwitchingSubDomainName IA5String (SIZE(1..64)) OPTIONAL, + threadLinkageID ThreadLinkageID, + threadIDTimeStamp TimeInfo OPTIONAL } + +ThreadLinkageID ::= CHOICE +{ subDomainThreadID [0] IMPLICIT OCTET STRING (SIZE(1..8)), + globallyUniqueThreadID [1] IMPLICIT OCTET STRING (SIZE(1..16)) } + +Method ::= ENUMERATED -- http://www.iana.org/assignments/method-tokens/method-tokens.xhtml +{ a-GPS ( 0), -- "Method" defines, what location tracking system has been used + aOA ( 1), -- to allocate the presented Location Data + cell ( 2), + derived ( 3), + deviceAssistedAGps ( 4), + deviceBasedAGps ( 5), + dHCP ( 6), + gPS ( 7), + handsetAflt ( 8), + handsetEflt ( 9), + hybridAGps (10), + ipdl (11), + lldpMed (12), + manual (13), + mpl (14), + nmr (15), + otdoa (16), + rfid (17), + rssi (18), + rssiRtt (19), + rtt (20), + ta (21), + taNmr (22), + triangulation (23), + utdoa (24), + wiremap (25), + locMet80211 (26) } + +NenaCompanyIDType ::= IA5String -- NenaCompanyIds at http://www.nena.org/nena-company-id + +TelUri247Type ::= IA5String -- must be a RFC-3966 conform Tel URI + +ProvidedBy ::= SEQUENCE -- This DataType contains information about the organization +{ -- which provided the allocated location data + dataproviderID NenaCompanyIDType, + telUri TelUri247Type, -- Standard Telephone URI, + uRL IA5String } -- must be a emergency number, avalaible 24/7 + + +UsageRules ::= SEQUENCE +{ retransmissionAllowed BOOLEAN, + retentionExpires TimeInfo, -- TimeInfo Already defined in CSTA-security + rulesetReference IA5String, -- rulesetReference must be a URI + noteWell IA5String OPTIONAL } + +GpLocationInfo ::= SEQUENCE +{ civicLocGml SEQUENCE + { gmlFormat OCTET STRING, -- must conform xsd schemas of GML 3.0 + -- http://www.opengeospatial.org/standards/gml#downloads + civicLoc SEQUENCE + { country IA5String (SIZE(0..2)), -- must conform the ISO 3166 country code + a1 [ 0] IMPLICIT IA5String OPTIONAL, -- NationalSubdivisions + a2 [ 1] IMPLICIT IA5String OPTIONAL, -- CountryOrParishOrDistrict + a3 [ 2] IMPLICIT IA5String OPTIONAL, -- City + a4 [ 3] IMPLICIT IA5String OPTIONAL, -- CityDivision + a5 [ 4] IMPLICIT IA5String OPTIONAL, -- NeighborhoodOrBlock + a6 [ 5] IMPLICIT IA5String OPTIONAL, -- Street + prd [ 6] IMPLICIT IA5String OPTIONAL, -- LeadingStreetDirection + pod [ 7] IMPLICIT IA5String OPTIONAL, -- TrailingStreetSuffix + sts [ 8] IMPLICIT IA5String OPTIONAL, -- StreetSuffix + hno [ 9] IMPLICIT IA5String OPTIONAL, -- HouseNumber + hns [10] IMPLICIT IA5String OPTIONAL, -- HouseNumberSuffix + lmk [11] IMPLICIT IA5String OPTIONAL, -- LandmarkVanity + loc [12] IMPLICIT IA5String OPTIONAL, -- AdditionalLocationInformation + flr [13] IMPLICIT IA5String OPTIONAL, -- Floor + nam [14] IMPLICIT IA5String OPTIONAL, -- ResidenceOrOfficeName + pc [15] IMPLICIT IA5String OPTIONAL } OPTIONAL -- PostalCode + } +} + +GpLocationInfoList ::= SEQUENCE OF GpLocationInfo + +--GeoPriv has been defined, regarding the ECMA-269 respective Definition of LocationInfo +GeoPriv ::= SEQUENCE -- Conforming RFC 4119 +{ gpLocationInfo GpLocationInfoList, + usageRules [0] IMPLICIT UsageRules OPTIONAL, + method [1] IMPLICIT Method OPTIONAL, + providedBy [2] IMPLICIT ProvidedBy OPTIONAL } + +LocationInfo ::= SEQUENCE OF GeoPriv + +LocationInfoList ::= SEQUENCE OF LocationInfo + + +END -- of CSTA-call-control diff --git a/csta/CSTA-call-detail-record.asn1 b/csta/CSTA-call-detail-record.asn1 new file mode 100644 index 0000000..e48c1cc --- /dev/null +++ b/csta/CSTA-call-detail-record.asn1 @@ -0,0 +1,135 @@ +CSTA-call-detail-record + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-detail-record( 132) } + +DEFINITIONS ::= + +BEGIN + +EXPORTS +CDRCrossRefID, CDRInfo, CDRReason, CDRTermReason, CDRTimePeriod, +CDRTransferMode; + +IMPORTS +DeviceID, CalledDeviceID, CallingDeviceID, AssociatedCalledDeviceID, +AssociatedCallingDeviceID, NetworkCalledDeviceID, NetworkCallingDeviceID + +FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +AccountInfo, AuthCode FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +TimeInfo FROM CSTA-security + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) security( 128) } +CallCharacteristics FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +DeviceCategory, NamedDeviceTypes FROM CSTA-capability-exchange + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) capability-exchange( 131) } +ChargingInfo FROM CSTA-charge-info + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) charge-info( 133) } +MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +CDRCrossRefID ::= OCTET STRING + + +CDRReason ::= ENUMERATED +{ timeout (0), + thresholdReached (1), + other (2) } + +CDRInfo ::= SEQUENCE OF CDRInformationItem + +CDRInformationItem ::= SEQUENCE +{ recordNumber INTEGER (1..128) OPTIONAL, + recordCreationTime TimeInfo, + callingDevice CallingDeviceID OPTIONAL, + calledDevice CalledDeviceID OPTIONAL, + associatedCallingDevice AssociatedCallingDeviceID OPTIONAL, + associatedCalledDevice AssociatedCalledDeviceID OPTIONAL, + networkCallingDevice NetworkCallingDeviceID OPTIONAL, + networkCalledDevice NetworkCalledDeviceID OPTIONAL, + callCharacteristics [ 0] IMPLICIT CallCharacteristics OPTIONAL, + mediaCallCharacteristics [ 1] IMPLICIT MediaCallCharacteristics OPTIONAL, + chargedDevice [ 2] ChargedDevice OPTIONAL, + recordedCall ConnectionID OPTIONAL, + nodeNumber [ 3] IMPLICIT NodeNumber OPTIONAL, + tariffTable [ 4] IMPLICIT INTEGER OPTIONAL, + connectionStart [ 5] IMPLICIT TimeInfo OPTIONAL, + connectionEnd [ 6] IMPLICIT TimeInfo OPTIONAL, + connectionDuration [ 7] IMPLICIT INTEGER OPTIONAL, + accessCode [ 8] IMPLICIT OCTET STRING OPTIONAL, + carrier [ 9] IMPLICIT INTEGER OPTIONAL, + selectedRoute [10] IMPLICIT INTEGER OPTIONAL, + billingID [11] IMPLICIT BillingID OPTIONAL, + chargingInfo [12] IMPLICIT ChargingInfo OPTIONAL, + supplServiceInfo [13] IMPLICIT SupplServiceInfo OPTIONAL, + reasonForTerm [14] IMPLICIT ReasonForTerm OPTIONAL, + authCode [15] IMPLICIT AuthCode OPTIONAL, + accountInfo [16] IMPLICIT AccountInfo OPTIONAL, + deviceCategory [17] IMPLICIT DeviceCategory OPTIONAL, + namedDeviceTypes [18] IMPLICIT NamedDeviceTypes OPTIONAL, + operatorDevice [19] DeviceID OPTIONAL } + +ChargedDevice ::= CHOICE +{ operator [ 0] IMPLICIT DeviceID, + nonOperator [ 1] IMPLICIT DeviceID } + +NodeNumber ::= SEQUENCE +{ area0 [ 0] IMPLICIT INTEGER OPTIONAL, + area1 [ 1] IMPLICIT INTEGER OPTIONAL, + area2 [ 2] IMPLICIT INTEGER OPTIONAL } + +BillingID ::= ENUMERATED +{ normalCharging (0), + reverseCharging (1), + creditCardCharging (2), + callForwarding (3), + callDeflection (4), + callTransfer (5), + other (6) } + +SupplServiceInfo ::= BIT STRING +{ normalCall (0), + consultationCall (1), + transferCall (2), + callCompletion (3), + callForwarding (4), + callDiversion (5), + conferencing (6), + intrusion (7), + userUserInfo (8), + other (9) } + +ReasonForTerm ::= ENUMERATED +{ normalClearing (0), + unsuccessfulCallAttempt (1), + abnormalTermination (2), + callTransferred (3), + other (4) } + +CDRTimePeriod ::= SEQUENCE +{ beginningOfCDR TimeInfo, + endOfCDR TimeInfo } + +CDRTransferMode ::= ENUMERATED +{ transferAtEndOfCall (0), + transferOnRequest (1), + transferOnThresholdReached (2) } + +CDRTermReason ::= ENUMERATED +{ endOfDataDetected (0), + errorDetected (1), + thresholdReached (2), + other (3) } + +END -- of CSTA-call-detail-record diff --git a/csta/CSTA-call-detail-records-notification.asn1 b/csta/CSTA-call-detail-records-notification.asn1 new file mode 100644 index 0000000..5f3d896 --- /dev/null +++ b/csta/CSTA-call-detail-records-notification.asn1 @@ -0,0 +1,39 @@ +CSTA-call-detail-records-notification + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-detail-records-notification( 360) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CDRCrossRefID, CDRReason FROM CSTA-call-detail-record + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-detail-record( 132) }; + +cDRNotification OPERATION ::= +{ ARGUMENT CDRNotificationArgument + RESULT CDRNotificationResult + ERRORS {universalFailure } + CODE local: 360 + } + +CDRNotificationArgument ::= SEQUENCE +{ cdrCrossRefID CDRCrossRefID, + cdrReason CDRReason OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +CDRNotificationResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-call-detail-records-notification diff --git a/csta/CSTA-call-detail-records-report.asn1 b/csta/CSTA-call-detail-records-report.asn1 new file mode 100644 index 0000000..dc0401f --- /dev/null +++ b/csta/CSTA-call-detail-records-report.asn1 @@ -0,0 +1,39 @@ +CSTA-call-detail-records-report + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-detail-records-report( 361) } +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CDRCrossRefID, CDRInfo FROM CSTA-call-detail-record + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-detail-record( 132) }; + +cDRReport OPERATION ::= +{ ARGUMENT CDRReportArgument + RESULT CDRReportResult + ERRORS {universalFailure } + CODE local: 361 } + +CDRReportArgument ::= SEQUENCE +{ cdrCrossRefID CDRCrossRefID, --corrected 06/2001 + numberOfRecordsSent INTEGER (1..128), + cdrInfo CDRInfo, + lastStoredCDRReportSent BOOLEAN OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +CDRReportResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-call-detail-records-report diff --git a/csta/CSTA-call-information-event.asn1 b/csta/CSTA-call-information-event.asn1 new file mode 100644 index 0000000..535259f --- /dev/null +++ b/csta/CSTA-call-information-event.asn1 @@ -0,0 +1,55 @@ +CSTA-call-information-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-information-event( 41) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +CallingDeviceID, SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +AccountInfo, AuthCode, CorrelatorData, UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics, CallLinkageDataList, CallQualifyingData, ServicesPermitted +FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +LanguagePreferences,SubjectOfCall FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +ConnectionInformation FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +CallInformationEvent ::= SEQUENCE +{ connection ConnectionID, + device SubjectDeviceID, + callingDevice CallingDeviceID OPTIONAL, + accountInfo [0] IMPLICIT AccountInfo OPTIONAL, + authCode [1] IMPLICIT AuthCode OPTIONAL, + correlatorData [2] IMPLICIT CorrelatorData OPTIONAL, + servicesPermitted [3] IMPLICIT ServicesPermitted OPTIONAL, + userData UserData OPTIONAL, + callQualifyingData [4] IMPLICIT CallQualifyingData OPTIONAL, + connectionInfo ConnectionInformation OPTIONAL, + callLinkageDataList [5] IMPLICIT CallLinkageDataList OPTIONAL, + callCharacteristics [6] IMPLICIT CallCharacteristics OPTIONAL, + subjectOfCall [7] IMPLICIT SubjectOfCall OPTIONAL, + languagePreferences [8] IMPLICIT LanguagePreferences OPTIONAL, + deviceInfo [9] IMPLICIT DeviceID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-call-information-event diff --git a/csta/CSTA-caller-id-status-event.asn1 b/csta/CSTA-caller-id-status-event.asn1 new file mode 100644 index 0000000..e7d32b1 --- /dev/null +++ b/csta/CSTA-caller-id-status-event.asn1 @@ -0,0 +1,23 @@ +CSTA-caller-id-status-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) caller-id-status-event( 329) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +CallerIDStatusEvent ::= SEQUENCE +{ device DeviceID, + callerIDProvided BOOLEAN, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-caller-id-status-event diff --git a/csta/CSTA-camp-on-call.asn1 b/csta/CSTA-camp-on-call.asn1 new file mode 100644 index 0000000..9f4b717 --- /dev/null +++ b/csta/CSTA-camp-on-call.asn1 @@ -0,0 +1,37 @@ +CSTA-camp-on-call + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) camp-on-call( 217) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +camponCall OPERATION ::= +{ ARGUMENT CamponCallArgument + RESULT CamponCallResult + ERRORS {universalFailure } + CODE local: 217 } + +CamponCallArgument ::= SEQUENCE +{ camponConnection ConnectionID, + extensions CSTACommonArguments OPTIONAL } + +CamponCallResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-camp-on-call diff --git a/csta/CSTA-cancel-call-back-message.asn1 b/csta/CSTA-cancel-call-back-message.asn1 new file mode 100644 index 0000000..c4d2622 --- /dev/null +++ b/csta/CSTA-cancel-call-back-message.asn1 @@ -0,0 +1,38 @@ +CSTA-cancel-call-back-message + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) cancel-call-back-message( 303) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +cancelCallBackMessage OPERATION ::= +{ ARGUMENT CancelCallBackMessageArgument + RESULT CancelCallBackMessageResult + ERRORS {universalFailure } + CODE local: 303 } + +CancelCallBackMessageArgument ::= SEQUENCE +{ originatingDevice DeviceID, + targetDevice DeviceID, + extensions CSTACommonArguments OPTIONAL } + +CancelCallBackMessageResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-cancel-call-back-message diff --git a/csta/CSTA-cancel-call-back.asn1 b/csta/CSTA-cancel-call-back.asn1 new file mode 100644 index 0000000..37e5061 --- /dev/null +++ b/csta/CSTA-cancel-call-back.asn1 @@ -0,0 +1,38 @@ +CSTA-cancel-call-back +{ iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) cancel-call-back( 302) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +cancelCallBack OPERATION ::= +{ ARGUMENT CancelCallBackArgument + RESULT CancelCallBackResult + ERRORS {universalFailure } + CODE local: 302 } + +CancelCallBackArgument ::= SEQUENCE +{ originatingDevice DeviceID, + targetDevice DeviceID, + extensions CSTACommonArguments OPTIONAL } + +CancelCallBackResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-cancel-call-back diff --git a/csta/CSTA-cancel-telephony-tones.asn1 b/csta/CSTA-cancel-telephony-tones.asn1 new file mode 100644 index 0000000..5b02252 --- /dev/null +++ b/csta/CSTA-cancel-telephony-tones.asn1 @@ -0,0 +1,37 @@ +CSTA-cancel-telephony-tones + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) cancel-telephony-tones( 231) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +cancelTelephonyTones OPERATION ::= +{ ARGUMENT CancelTelephonyTonesArgument + RESULT CancelTelephonyTonesResult + ERRORS {universalFailure } + CODE local: 231 } + +CancelTelephonyTonesArgument ::= SEQUENCE +{ connectionToStopTone ConnectionID, + extensions CSTACommonArguments OPTIONAL } + +CancelTelephonyTonesResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-cancel-telephony-tones diff --git a/csta/CSTA-capability-exchange.asn1 b/csta/CSTA-capability-exchange.asn1 new file mode 100644 index 0000000..0d30e5a --- /dev/null +++ b/csta/CSTA-capability-exchange.asn1 @@ -0,0 +1,3853 @@ +CSTA-capability-exchange + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) capability-exchange( 131) } + +DEFINITIONS ::= +BEGIN + +EXPORTS +CapExchangeServList, SystemStatusServList, MonitoringServList, SnapshotServList, +CallControlServList, CallControlEvtsList, CallAssociatedServList, +CallAssociatedEvtsList, MediaServList, MediaEvtsList, RouteingServList, PhysDevEvtsList, +PhysDevServList, LogicalEvtsList, LogicalServList, DeviceMaintEvtsList, IOServicesServList, +DataCollectionServList, VoiceUnitServList, VoiceUnitEvtsList, CDRServList, +VendorSpecificServList, VendorSpecificEvtsList, DeviceIDFormat, SwDomainFeatures, +SwAppearanceAddressability, SwAppearanceTypes, IgnoreUnsupportedParameters, PauseTime, +TimeStampMode, MiscMonitorCaps, MaxLengthParameters, MaxLengthParametersContinued, +FilterThreshold, ServiceCrossRefID,DeviceCategory, GroupDeviceAttributes, NamedDeviceTypes, +ACDModels, AgentLogOnModels,AppearanceType, TransAndConfSetup, MediaServiceCapsList, LogDevServList, +LogDevEvtsList,BookmarkReached,GetLocationTrackingSessions, +GetLocationTrackingCapabilities,LocationSessionInfo,LocationServicesServList; + +IMPORTS +MediaServiceType, MediaServiceInstanceID, ConnectionMode, ConnectionModeBMap +FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +ServiceCrossRefID ::= OCTET STRING + +-- Capability Bitmaps + +LogDevServList ::= SEQUENCE +{ callControlServList [0] IMPLICIT CallControlServList OPTIONAL, + callAssociatedServList [1] IMPLICIT CallAssociatedServList OPTIONAL, + logicalServList [2] IMPLICIT LogicalServList OPTIONAL, + mediaServList [3] IMPLICIT MediaServList OPTIONAL, + iOServicesServList [4] IMPLICIT IOServicesServList OPTIONAL, + dataCollectionServList [5] IMPLICIT DataCollectionServList OPTIONAL, + voiceUnitServList [6] IMPLICIT VoiceUnitServList OPTIONAL, + locationServicesServList [7] IMPLICIT LocationServicesServList OPTIONAL } + +LogDevEvtsList ::= SEQUENCE +{ callControlEvtsList [0] IMPLICIT CallControlEvtsList OPTIONAL, + callAssociatedEvtsList [1] IMPLICIT CallAssociatedEvtsList OPTIONAL, + logicalEvtsList [2] IMPLICIT LogicalEvtsList OPTIONAL, + mediaEvtsList [3] IMPLICIT MediaEvtsList OPTIONAL, + voiceUnitEvtsList [4] IMPLICIT VoiceUnitEvtsList OPTIONAL } + +CapExchangeServList ::= SEQUENCE +{ getCSTAFeatures [5] IMPLICIT GetCSTAFeatures OPTIONAL, + getLogicalDeviceInformation [0] IMPLICIT GetLogicalDeviceInformation OPTIONAL, + getPhysicalDeviceInformation [1] IMPLICIT GetPhysicalDeviceInformation OPTIONAL, + getSwitchingFunctionCaps [4] IMPLICIT GetSwitchingFunctionCapabilities OPTIONAL, + getSwitchingFunctionDevices [2] IMPLICIT GetSwitchingFunctionDevices OPTIONAL, + switchingFunctionDevices [3] IMPLICIT SwitchingFunctionDevices OPTIONAL } + + +GetCSTAFeatures ::= BIT STRING +{ privateDataInReq ( 0), + privateDataInAck ( 1) } + +GetLogicalDeviceInformation ::= BIT STRING +{ privateDataInReq ( 0), + namedDeviceTypeInAck ( 1), + shortFormDeviceIDInAck ( 2), + miscMonitorCapsInAck ( 3), + maxCallBacksInAck ( 4), + maxAutoAnswerRingsInAck ( 5), + maxActiveCallsInAck ( 6), + maxHeldCallsInAck ( 7), + maxFwdSettingsInAck ( 8), + maxDevicesInConfInAck ( 9), + transAndConfSetupParameter (10), + transAndConfSetupConsultationInAck (11), + transAndConfSetupHoldMakeInAck (12), + transAndConfSetupAlternateInAck (13), + transAndConfSetupTwoCallsHoldInAck (14), + transAndConfSetupTwoCallsConnectedInAck (15), + mediaClassSupportInAck (16), + connectionRateListInAck (17), + delayToleranceListInAck (18), + numberOfChannelsInAck (19), + maxChannelBindInAck (20), + privateDataInAck (21) } + +GetPhysicalDeviceInformation ::= BIT STRING +{ privateDataInReq ( 0), + namedDeviceTypesInAck ( 1), + otherLogicalDeviceListInAck ( 2), + deviceModelNameInAck ( 3), + maxDisplaysInAck ( 4), + maxButtonsInAck ( 5), + maxLampsInAck ( 6), + maxRingPatternsInAck ( 7), + privateDataInAck ( 8) } + +GetSwitchingFunctionDevices ::= BIT STRING +{ requestedDeviceID ( 0), + requestedDeviceCategoryACD ( 1), + requestedDeviceCategoryACDGroup ( 2), + requestedDeviceCategoryHuntGroup ( 3), + requestedDeviceCategoryPickGroup ( 4), + requestedDeviceCategoryUserGroup (14), + requestedDeviceCategoryOtherGroup ( 5), + requestedDeviceCategoryNetwInterface ( 6), + requestedDeviceCategoryPark ( 7), + requestedDeviceCategoryRouteingDevice ( 8), + requestedDeviceCategoryStation ( 9), + requestedDeviceCategoryVoiceUnit (10), + requestedDeviceCategoryGenericIV (15), + requestedDeviceCategoryListenerIV (16), + requestedDeviceCategoryVDTMFIV (17), + requestedDeviceCategoryPromptIV (18), + requestedDeviceCategoryPromptQueueIV (19), + requestedDeviceCategoryMessageIV (20), + requestedDeviceCategoryConference (21), + requestedDeviceCategoryOther (11), + privateData (12), + privateDataInAck (13) } + +GetSwitchingFunctionCapabilities ::= BIT STRING +{ privateData ( 0), + mediaClassSupport ( 1), + numberOfChannels ( 2), + maxChannelBind ( 3), + miscMediaCallCharacteristics ( 4), + connectionRateList ( 5), + delayToleranceRateList ( 6), + pauseTime ( 7), + currentTime ( 8), + transAndConfSetupParameter ( 9), + transAndConfSetupConsultation (10), + transAndConfSetupHoldMake (11), + transAndConfSetupAlternate (12), + transAndConfSetupTwoCalls (13), + transAndConfSetupTwoCallsConnected (14), + miscMonitor (15), + correlatorDataSupported (16), + dynamicFeatureSupported (17), + callLinkageOptions (18), + acdModels (19), + agentLogOnModels (20), + agentStateModels (21), + privateDataVersionList (22), + simpleThreshold (23), + filterThreshold (24), + maxDeviceHistoryEntries (25) } + +SwitchingFunctionDevices ::= BIT STRING +{ segmentID ( 0), + deviceListDeviceCategory ( 1), + deviceListNamedDeviceTypes ( 2), + deviceListDeviceAttributes ( 3), + deviceListDeviceModelName ( 4), + deviceListNidGroup ( 6), + privateData ( 5) } + +SystemStatusServList ::= SEQUENCE +{ changeSystemStatusFilter [ 0] IMPLICIT ChangeSystemStatusFilter OPTIONAL, + systemRegister [ 1] IMPLICIT SystemRegister OPTIONAL, + systemStatusRegisterAbort [ 2] IMPLICIT SystemStatusRegisterAbort OPTIONAL, + systemStatusRegisterCancel [ 3] IMPLICIT SystemStatusRegisterCancel OPTIONAL, + requestSystemStatus [ 4] IMPLICIT RequestSystemStatus OPTIONAL, + systemStatus [ 5] IMPLICIT SystemStatus OPTIONAL, + swFunctionCapsChanged [ 6] IMPLICIT SwFunctionCapsChanged OPTIONAL, + swFunctionDevicesChanged [ 7] IMPLICIT SwFunctionDevicesChanged OPTIONAL, + getRegistrations [ 8] IMPLICIT GetRegistrations OPTIONAL, + registrationInfo [ 9] IMPLICIT RegistrationInfo OPTIONAL } + +ChangeSystemStatusFilter ::= BIT STRING +{ requestedStatusFilterInitializing ( 0), -- optional parameters + requestedStatusFilterEnabled ( 1), -- optional parameters + requestedStatusFilterNormal ( 2), -- optional parameters + requestedStatusFilterMessageLost ( 3), -- optional parameters + requestedStatusFilterDisabled ( 4), -- optional parameters + requestedStatusFilterPartiallyDisabled ( 5), -- optional parameters + requestedStatusFilterOverloadImminent ( 6), -- optional parameters + requestedStatusFilterOverloadReached ( 7), -- optional parameters + requestedStatusFilterOverloadRelieved ( 8), -- optional parameters + privateData ( 9), -- optional parameters + privateDataInAck (10) } -- optional parameters + +SystemRegister ::= BIT STRING +{ requestTypesSystemStatus ( 0), -- optional parameters + requestTypesRequestSystemStatus ( 1), -- optional parameters + requestTypesSwitchingFunctionCapsChanged ( 2), -- optional parameters + requestTypesSwitchingFuncionDevicesChanged ( 3), -- optional parameters + statusFilterInitializing ( 4), -- optional parameters + statusFilterEnabled ( 5), -- optional parameters + statusFilterNormal ( 6), -- optional parameters + statusFilterMessageLost ( 7), -- optional parameters + statusFilterDisabled ( 8), -- optional parameters + statusFilterPartiallyDisabled ( 9), -- optional parameters + statusFilterOverloadImminent (10), -- optional parameters + statusFilterOverloadReached (11), -- optional parameters + statusFilterOverloadRelieved (12), -- optional parameters + privateDataOctetString (13), -- optional parameters + privateData (14), -- optional parameters + privateDataOctetStringInAck (15), -- optional parameters + privateDataInAck (16) } -- optional parameters + +SystemStatusRegisterCancel ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +SystemStatusRegisterAbort ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +RequestSystemStatus ::= BIT STRING +{ privateDataInReq ( 0), -- optional parameters + systemStatusInitializing ( 1), -- optional parameters + systemStatusEnabled ( 2), -- optional parameters + systemStatusNormal ( 3), -- optional parameters + systemStatusMessageLost ( 4), -- optional parameters + systemStatusDisabled ( 5), -- optional parameters + systemStatusPartiallyDisabled ( 6), -- optional parameters + systemStatusOverloadImminent ( 7), -- optional parameters + systemStatusOverloadReached ( 8), -- optional parameters + systemStatusOverloadRelieved ( 9), -- optional parameters + privateDataInAck (10), -- optional parameters + switchingFunctionSupportsSending (11), -- misc characteristics + switchingFunctionSupportsReceiving (12) } -- misc characteristics + +SystemStatus ::= BIT STRING +{ systemStatusInitializing ( 0), -- optional parameters + systemStatusEnabled ( 1), -- optional parameters + systemStatusNormal ( 2), -- optional parameters + systemStatusMessageLost ( 3), -- optional parameters + systemStatusDisabled ( 4), -- optional parameters + systemStatusPartiallyDisabled ( 5), -- optional parameters + systemStatusOverloadImminent ( 6), -- optional parameters + systemStatusOverloadReached ( 7), -- optional parameters + systemStatusOverloadRelieved ( 8), -- optional parameters + privateData ( 9), -- optional parameters + privateDataInAck (10), -- optional parameters + switchingFunctionSupportsSending (11), -- misc characteristics + switchingFunctionSupportsReceiving (12) } -- misc characteristics + +SwFunctionCapsChanged ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +SwFunctionDevicesChanged ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +GetRegistrations ::= BIT STRING +{ requestedReqTypes ( 0), + privateData ( 1), + privateDataInAck ( 2), + segmentedResponseProvided ( 3) } + + +RegistrationInfo ::= BIT STRING +{ segmentID ( 0), + privateData ( 1) } + + +MonitoringServList ::= SEQUENCE +{ changeMonitorFilter [ 0] IMPLICIT ChangeMonitorFilter OPTIONAL, + monitorStart [ 1] IMPLICIT MonitorStart OPTIONAL, + monitorStop [ 2] IMPLICIT MonitorStop OPTIONAL, + getMonitors [ 3] IMPLICIT GetMonitors OPTIONAL, + monitorInfo [ 4] IMPLICIT MonitorInfo OPTIONAL } + +ChangeMonitorFilter ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +MonitorStart ::= BIT STRING +{ monitorObjectDevice ( 0), -- optional parameters + monitorObjectCall ( 1), -- optional parameters + requestedMonitorFilter ( 2), -- optional parameters + monitorTypeCall ( 3), -- optional parameters + monitorTypeDevice ( 4), -- optional parameters + monitorMediaClassParameter ( 5), -- optional parameters + monitorMediaClassAudio ( 6), -- optional parameters + monitorMediaClassData ( 7), -- optional parameters + monitorMediaClassImage ( 8), -- optional parameters + monitorMediaClassVoice ( 9), -- optional parameters + monitorMediaClassChat (15), -- optional parameters + monitorMediaClassEmail (16), -- optional parameters + monitorMediaClassMessage (17), -- optional parameters + monitorMediaClassIM (18), -- optional parameters + monitorMediaClassSMS (19), -- optional parameters + monitorMediaClassMMS (20), -- optional parameters + monitorExistingCallsInAck (10), -- optional parameters + privateDataInAck (11), -- optional parameters + callIDOnly (12), -- miscellaneous characteristics + swDomainDefaultForMonitorTypeIsDevice (13), -- miscellaneous characteristics + acceptsMonitorStartWhileOOS (14) } -- miscellaneous characteristics + +MonitorStop ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1), -- optional parameters + switchingFunctionSupportsSending ( 2), -- misc characteristics + switchingFunctionSupportsReceiving ( 3) } -- misc characteristics + +GetMonitors ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1), -- optional parameters + segmentedResponseProvided ( 2) } -- optional parameters + +MonitorInfo ::= BIT STRING +{ segmentID ( 0), -- optional parameters + privateData ( 1) } -- optional parameters + +SnapshotServList ::= SEQUENCE +{ snapshotCall [0] IMPLICIT SnapshotCall, + snapshotDevice [1] IMPLICIT SnapshotDevice, + snapshotCallData [2] IMPLICIT SnapshotCallData, + snapshotDeviceData [3] IMPLICIT SnapshotDeviceData } + +SnapshotCall ::= BIT STRING +{ privateData ( 0), -- optional parameters + locaConnectionStateInAck ( 1), -- optional parameters + mediaServiceInfoListInAck ( 2), -- optional parameters + mediaServiceVersionInAck ( 3), -- optional parameters + mediaServiceInstanceInAck ( 4), -- optional parameters + mediaStreamID ( 5), -- optional parameters + connectionInformation ( 6), -- optional parameters + mediaCallCharacteristicsInAck ( 7), -- optional parameters + callCharacteristicsInAck ( 8), -- optional parameters + callingDeviceInAck ( 9), -- optional parameters + calledDeviceInAck (10), -- optional parameters + subjectOfCallInAck (14), -- optional parameters + messageInfoInAck (15), -- optional parameters + languagePreferencesInAck (16), -- optional parameters + deviceHistoryInAck (17), -- optional parameters + privateDataInAck (11), -- optional parameters + callIDOnly (12), -- miscellaneous characteristics + reportsWithSnapsCallData (13), -- optional parameters + locationInfoList (18) } -- miscellaneous characteristics + +SnapshotDevice ::= BIT STRING +{ privateData ( 0), -- optional parameters + localCallStateCompoundCallState ( 1), -- optional parameters + localCallStateSimpleCallState ( 2), -- optional parameters + localCallStateUnknown ( 3), -- optional parameters + mediaServiceInfoListInAck ( 4), -- optional parameters + mediaServiceVersionInAck ( 5), -- optional parameters + mediaServiceInstanceInAck ( 6), -- optional parameters + mediaStreamID ( 7), -- optional parameters + connectionInformation ( 8), -- optional parameters + mediaCallCharacteristicsInAck ( 9), -- optional parameters + privateDataInAck (10), -- optional parameters + reportsWithSnapsDeviceData (11) } -- miscellaneous characteristics + +SnapshotCallData ::= BIT STRING +{ segmentID ( 0), -- optional parameters + localConnectionState ( 1), -- optional parameters + mediaServiceInformationList ( 2), -- optional parameters + mediaServiceVersion ( 3), -- optional parameters + mediaServiceInstance ( 4), -- optional parameters + mediaStreamID ( 5), -- optional parameters + connectionInformation ( 6), -- optional parameters + privateData ( 7), -- optional parameters + locationInfoList ( 8) } -- optional parameters + +SnapshotDeviceData ::= BIT STRING +{ segmentID ( 0), -- optional parameters + localCallStateCompoundCallState ( 1), -- optional parameters + localCallStateSimpleCallState ( 2), -- optional parameters + localCallStateUnknown ( 3), -- optional parameters + mediaServiceInformationList ( 4), -- optional parameters + mediaServiceVersion ( 5), -- optional parameters + mediaServiceInstance ( 6), -- optional parameters + mediaStreamID ( 7), -- optional parameters + connectionInformation ( 8), -- optional parameters + mediaCallCharacteristics ( 9), -- optional parameters + endpointDeviceID (11), -- optional parameters + privateData (10) } -- optional parameters + +CallControlServList ::= SEQUENCE +{ acceptCall [ 0] IMPLICIT AcceptCall OPTIONAL, + alternateCall [ 1] IMPLICIT AlternateCall OPTIONAL, + answerCall [ 2] IMPLICIT AnswerCall OPTIONAL, + callBack [ 3] IMPLICIT CallBack OPTIONAL, + callBackMessage [ 4] IMPLICIT CallBackMessage OPTIONAL, + campOnCall [ 5] IMPLICIT CampOnCall OPTIONAL, + clearCall [ 6] IMPLICIT ClearCall OPTIONAL, + clearConnection [ 7] IMPLICIT ClearConnection OPTIONAL, + conferenceCall [ 8] IMPLICIT ConferenceCall OPTIONAL, + consultationCall [ 9] IMPLICIT ConsultationCall OPTIONAL, + deflectCall [10] IMPLICIT DeflectCall OPTIONAL, + dialDigits [11] IMPLICIT DialDigits OPTIONAL, + directedPickupCall [12] IMPLICIT DirectedPickupCall OPTIONAL, + groupPickupCall [13] IMPLICIT GroupPickupCall OPTIONAL, + holdCall [14] IMPLICIT HoldCall OPTIONAL, + intrudeCall [15] IMPLICIT IntrudeCall OPTIONAL, + joinCall [16] IMPLICIT JoinCall OPTIONAL, + makeCall [17] IMPLICIT MakeCall OPTIONAL, + makeConnection [25] IMPLICIT MakeConnection OPTIONAL, + makePredictiveCall [18] IMPLICIT MakePredictiveCall OPTIONAL, + parkCall [19] IMPLICIT ParkCall OPTIONAL, + reconnectCall [20] IMPLICIT ReconnectCall OPTIONAL, + retrieveCall [21] IMPLICIT RetrieveCall OPTIONAL, + sendMessage [26] IMPLICIT SendMessage OPTIONAL, + singleStepConference [22] IMPLICIT SingleStepConference OPTIONAL, + singleStepTransfer [23] IMPLICIT SingleStepTransfer OPTIONAL, + transferCall [24] IMPLICIT TransferCall OPTIONAL } + +AcceptCall ::= BIT STRING +{ correlatorData ( 0), -- optional parameters + userData ( 1), -- optional parameters + privateData ( 2), -- optional parameters + privateDataInAck ( 3), -- optional parameters + deviceIDOnly ( 4), -- misc characteristics + ackModelMultiStep ( 5) } -- misc characteristics + +AlternateCall ::= BIT STRING +{ alerting ( 0), -- initial states heldCall + hold ( 1), -- initial states heldCall + queued ( 2), -- initial states heldCall + connectionReservation ( 3), -- optional parameters + consultOptionConsultOnly ( 4), -- optional parameters + consultOptionTransferOnly ( 5), -- optional parameters + consultOptionConferenceOnly ( 6), -- optional parameters + consultOptionUnrestricted ( 7), -- optional parameters + privateData ( 8), -- optional parameters + privateDataInAck ( 9), -- optional parameters + deviceIDOnly (10), -- misc characteristics + ackModelMultiStep (11), -- misc characteristics + supportsOfferedModeOfAlerting (12) } -- misc characteristics + +AnswerCall ::= BIT STRING +{ alerting ( 0), -- initial states + initiated ( 1), -- initial states + queued ( 2), -- initial states + correlatorData ( 3), -- optional parameters + userData ( 4), -- optional parameters + privateData ( 5), -- optional parameters + privateDataInAck ( 6), -- optional parameters + deviceIDOnly ( 7), -- misc characteristics + supportsOfferedModeOfAlerting ( 8), -- misc characteristics + ackModelMultiStep ( 9) } -- misc characteristics + +CallBack ::= BIT STRING +{ alerting ( 0), -- initial states + null ( 1), -- initial states + failed ( 2), -- initial states + queued ( 3), -- initial states + callCharacteristics ( 4), -- optional parameters + subjectOfCall (11), -- optional parameters + languagePreferences (12), -- optional parameters + privateData ( 5), -- optional parameters + targetDeviceInAck ( 6), -- optional parameters + privateDataInAck ( 7), -- optional parameters + deviceIDOnly ( 8), -- misc characteristics + moreCallBacksNegAck ( 9), -- misc characteristics + ackModelMultiStep (10) } -- misc characteristics + +CallBackMessage ::= BIT STRING +{ alerting ( 0), -- initial states + null ( 1), -- initial states + failed ( 2), -- initial states + queued ( 3), -- initial states + privateData ( 4), -- optional parameters + targetDeviceInAck ( 5), -- optional parameters + privateDataInAck ( 6), -- optional parameters + deviceIDOnly ( 7), -- misc characteristics + moreCallBacksNegAck ( 8), -- misc characteristics + ackModelMultiStep ( 9) } -- misc characteristics + +CampOnCall ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1), -- optional parameters + deviceIDOnly ( 2), -- misc characteristics + ackModelMultiStep ( 3) } -- misc characteristics + +ClearCall ::= BIT STRING +{ alerting ( 0), -- initial states + connected ( 1), -- initial states + failed ( 2), -- initial states + queued ( 3), -- initial states + initiated ( 4), -- initial states + hold ( 5), -- initial states + userData ( 6), -- optional parameters + privateData ( 7), -- optional parameters + privateDataInAck ( 8), -- optional parameters + deviceIDOnly ( 9), -- misc characteristics + callIDOnly (10), -- misc characteristics + ackModelMultiStep (11), -- misc characteristics + reason (12) } -- optional parameters + +ClearConnection ::= BIT STRING +{ alerting ( 0), -- initial states + connected ( 1), -- initial states + fail ( 2), -- initial states + queued ( 3), -- initial states + initiated ( 4), -- initial states + hold ( 5), -- initial states + correlatorData ( 6), -- optional parameters + userData ( 7), -- optional parameters + reason (12), -- optional parameters + privateData ( 8), -- optional parameters + privateDataInAck ( 9), -- optional parameters + deviceIDOnly (10), -- misc characteristics + ackModelMultiStep (11) } -- misc characteristics + +ConferenceCall ::= BIT STRING +{ activeCallConnected ( 0), -- initial states + activeCallHold ( 1), -- initial states + heldCallConnected ( 2), -- initial states + heldCallHold ( 3), -- initial states + privateData ( 4), -- optional parameters + connectionParameterInAck ( 5), -- optional parameters + endpointDeviceID ( 6), -- optional parameters + resultingConnectionInfo ( 7), -- optional parameters + conferenceCallOnfoInAck ( 8), -- optional parameters + privateDataInAck ( 9), -- optional parameters + protectedAgainstClearing (10), -- misc characteristics + deviceIDOnly (11), -- misc characteristics + ackModelMultiStep (12) } -- misc characteristics + +ConsultationCall ::= BIT STRING +{ connectionReservation ( 0), -- optional parameters + accountCode ( 1), -- optional parameters + authCode ( 2), -- optional parameters + correlatorData ( 3), -- optional parameters + userData ( 4), -- optional parameters + callCharacteristics ( 5), -- optional parameters + callCharacteristicsACDCall ( 6), -- optional parameters + callCharacteristicsLowPriorityCall (29), -- optional parameters + callCharacteristicsPriorityCall ( 7), -- optional parameters + callCharacteristicsHighPriorityCall (30), -- optional parameters + callCharacteristicsMaintenanceCall ( 8), -- optional parameters + callCharacteristicsDirectAgent ( 9), -- optional parameters + callCharacteristicsAssistCall (10), -- optional parameters + callCharacteristicsVoiceUnitCall (11), -- optional parameters + callCharacteristicsPrivateCall (31), -- optional parameters + callCharacteristicsPersonalCall (32), -- optional parameters + callCharacteristicsSensitiveCall (33), -- optional parameters + callCharacteristicsConfidentialCall (34), -- optional parameters + callCharacteristicsEncryptedCall (35), -- optional parameters + mediaCallCharacteristics (12), -- optional parameters + callingConnectionInfo (13), -- optional parameters + flowDirectionTransmit (14), -- optional parameters + flowDirectionReceive (15), -- optional parameters + flowDirectionTransmitAndReceive (16), -- optional parameters + flowDirectionNone (36), -- optional parameters + numberOfChannels (17), -- optional parameters + mediaSessionInfo (37), -- optional parameters + consultOptionConsultOnly (18), -- optional parameters + consultOptionTransferOnly (19), -- optional parameters + consultOptionConferenceOnly (20), -- optional parameters + consultOptionUnrestricted (21), -- optional parameters + subjectOfCall (38), -- optional parameters + languagePreferences (39), -- optional parameters + privateData (22), -- optional parameters + initiatedCallInfoInAck (23), -- optional parameters + privateDataInAck (24), -- optional parameters + deviceIDOnly (25), -- misc characteristics + multiStage (26), -- misc characteristics + supportsAdjustmentOfMediaCharacteristics (27), -- misc characteristics + ackModelMultiStep (28) } -- misc characteristics + +DeflectCall ::= BIT STRING +{ alerting ( 0), -- initial states + connected ( 1), -- initial states + failed ( 2), -- initial states + hold ( 3), -- initial states + queued ( 4), -- initial states + correlatorData ( 5), -- optional parameters + userData ( 6), -- optional parameters + subjectOfCall (11), -- optional parameters + languagePreferences (12), -- optional parameters + reason (13), -- optional parameters + privateData ( 7), -- optional parameters + privateDataInAck ( 8), -- optional parameters + deviceIDOnly ( 9), -- misc characteristics + ackModelMultiStep (10), -- misc characteristics + callCharacteristicsinRequest (14), -- misc characteristics + multipleDeviceIDsInNewDestination (15) } -- misc characteristics + +DialDigits ::= BIT STRING +{ correlatorData ( 0), -- optional parameters + privateData ( 1), -- optional parameters + privateDataInAck ( 2), -- optional parameters + deviceIDOnly ( 3), -- misc characteristics + ackModelMultiStep ( 4) } -- misc characteristics + +DirectedPickupCall ::= BIT STRING +{ alerting ( 0), -- initial states + hold ( 1), -- initial states + queued ( 2), -- initial states + connected ( 3), -- initial states + correlatorData ( 4), -- optional parameters + userData ( 5), -- optional parameters + privateData ( 6), -- optional parameters + pickedCallInAck ( 7), -- optional parameters + pickedCallInfoInAck ( 8), -- optional parameters + privateDataInAck ( 9), -- optional parameters + deviceIDOnly (10), -- misc characteristics + supportsOfferedModeOfAlerting (11), -- misc characteristics + supportsPrompting (12), -- misc characteristics + promptingMode (13), -- misc characteristics + ackModelMultiStep (14) } -- misc characteristics + +GroupPickupCall ::= BIT STRING +{ alerting ( 0), -- initial states + connected ( 1), -- initial states + hold ( 2), -- initial states + queued ( 3), -- initial states + pickGroup ( 4), -- optional parameters + correlatorData ( 5), -- optional parameters + userData ( 6), -- optional parameters + privateData ( 7), -- optional parameters + pickedCallInAck ( 8), -- optional parameters + pickedCallInfoInAck ( 9), -- optional parameters + privateDataInAck (10), -- optional parameters + supportsPrompting (11), -- misc characteristics + promptingMode (12), -- misc characteristics + supportsOfferedModeOfAlerting (13), -- misc characteristics + ackModelMultiStep (14) } -- misc characteristics + +HoldCall ::= BIT STRING +{ connectionReservation ( 0), -- optional parameters + privateData ( 1), -- optional parameters + privateDataInAck ( 2), -- optional parameters + deviceIDOnly ( 3), -- misc characteristics + ackModelMultiStep ( 4) } -- misc characteristics + +IntrudeCall ::= BIT STRING +{ participationTypeSilent ( 0), -- optional parameters + participationTypeActive ( 1), -- optional parameters + userData ( 2), -- optional parameters + privateData ( 3), -- optional parameters + conferencedCallInfoInAck ( 4), -- optional parameters + privateDataInAck ( 5), -- optional parameters + deviceIDOnly ( 6), -- misc characteristics + supportsConference ( 7), -- misc characteristics + supportsAlternate ( 8), -- misc characteristics + ackModelMultiStep ( 9) } -- misc characteristics + +JoinCall ::= BIT STRING +{ autoOriginatePrompt ( 0), -- optional parameters + autoOriginateDoNotPrompt ( 1), -- optional parameters + participationTypeSilent ( 2), -- optional parameters + participationTypeActive ( 3), -- optional parameters + accountCode ( 4), -- optional parameters + authCode ( 5), -- optional parameters + correlatorData ( 6), -- optional parameters + userData ( 7), -- optional parameters + conferencedCallInAck ( 8), -- optional parameters + conferencedCallInfoInAck ( 9), -- optional parameters + privateDataInAck (10), -- optional parameters + deviceIDOnly (11), -- misc characteristics + supportsPrompting (12), -- misc characteristics + promptingMode (13), -- misc characteristics + ackModelMultiStep (14) } -- misc characteristics + +MakeCall ::= BIT STRING +{ initiated ( 0), -- initials states + null ( 1), -- initials states + accountCode ( 2), -- optional parameters + authCode ( 3), -- optional parameters + autoOriginatePrompt ( 4), -- optional parameters + autoOriginateDoNotPrompt ( 5), -- optional parameters + correlatorData ( 6), -- optional parameters + userData ( 7), -- optional parameters + callCharacteristics ( 8), -- optional parameters + callCharacteristicsACDCall ( 9), -- optional parameters + callCharacteristicsLowPriorityCall (26), -- optional parameters + callCharacteristicsPriorityCall (10), -- optional parameters + callCharacteristicsHighPriorityCall (27), -- optional parameters + callCharacteristicsMaintenanceCall (11), -- optional parameters + callCharacteristicsDirectAgent (12), -- optional parameters + callCharacteristicsAssistCall (13), -- optional parameters + callCharacteristicsVoiceUnitCall (14), -- optional parameters + callCharacteristicsPrivateCall (28), -- optional parameters + callCharacteristicsPersonalCall (29), -- optional parameters + callCharacteristicsSensitiveCall (30), -- optional parameters + callCharacteristicsConfidentialCall (31), -- optional parameters + callCharacteristicsEncryptedCall (32), -- optional parameters + mediaCallCharacteristics (15), -- optional parameters + callingConnectionInfo (16), -- optional parameters + subjectOfCall (33), -- optional parameters + languagePreferences (34), -- optional parameters + privateData (17), -- optional parameters + initiatedCallInfoInAck (18), -- optional parameters + privateDataInAck (19), -- optional parameters + multiStage (20), -- misc characteristics + supportsPrompting (21), -- misc characteristics + promptingMode (22), -- misc characteristics + offHook (23), -- misc characteristics + mediaCharacteristicsAdjustable (24), -- misc characteristics + ackModelMultiStep (25), -- misc characteristics + reason (35) } -- optional parameters + +MakeConnection ::= BIT STRING +{ null ( 0), -- initials states + accountCode ( 1), -- optional parameters + authCode ( 2), -- optional parameters + autoOriginatePrompt ( 3), -- optional parameters + autoOriginateDoNotPrompt ( 4), -- optional parameters + correlatorData ( 5), -- optional parameters + callCharacteristics ( 6), -- optional parameters + callCharacteristicsACDCall ( 7), -- optional parameters + callCharacteristicsLowPriorityCall ( 8), -- optional parameters + callCharacteristicsPriorityCall ( 9), -- optional parameters + callCharacteristicsHighPriorityCall (10), -- optional parameters + callCharacteristicsMaintenanceCall (11), -- optional parameters + callCharacteristicsDirectAgent (12), -- optional parameters + callCharacteristicsAssistCall (13), -- optional parameters + callCharacteristicsVoiceUnitCall (14), -- optional parameters + callCharacteristicsPrivateCall (15), -- optional parameters + callCharacteristicsPersonalCall (16), -- optional parameters + callCharacteristicsSensitiveCall (17), -- optional parameters + callCharacteristicsConfidentialCall (18), -- optional parameters + callCharacteristicsEncryptedCall (19), -- optional parameters + mediaCallCharacteristics (20), -- optional parameters + connectionInfo (21), -- optional parameters + subjectOfCall (22), -- optional parameters + languagePreferences (23), -- optional parameters + reason (24), -- optional parameters + maxDevices (25), -- optional parameters + startTime (26), -- optional parameters + duration (27), -- optional parameters + privateData (28), -- optional parameters + mediaCharacteristicsinAck (29), -- optional parameters + initiatedCallInfoInAck (30), -- optional parameters + privateDataInAck (31), -- optional parameters + supportsPrompting (32), -- optional parameters + promptingMode (33), -- optional parameters + mediaCharacteristicsAdjusted (34), -- optional parameters + ackModelMultistep (35) } -- optional parameters + +MakePredictiveCall ::= BIT STRING +{ signallingDetection ( 0), -- optional parameters + signallingConditionCallDelivered ( 1), -- optional parameters + signallingConditionCallEstablished ( 2), -- optional parameters + signallingConditionActionDestinationDetection ( 3), -- optional parameters + signallingConditionActionRemainConnected ( 4), -- optional parameters + destinationDetection ( 5), -- optional parameters + destinationConditionHumanVoice ( 6), -- optional parameters + destinationConditionAnsweringMachine ( 7), -- optional parameters + destinationConditionFax ( 8), -- optional parameters + destinationActionClearConnection ( 9), -- optional parameters + destinationActionRemainConnected (10), -- optional parameters + defaultActionClearConnection (11), -- optional parameters + defaultActionRemainConnected (12), -- optional parameters + accountCode (13), -- optional parameters + authCode (14), -- optional parameters + autoOriginatePrompt (15), -- optional parameters + autoOriginateDoNotPrompt (16), -- optional parameters + alertTime (17), -- optional parameters + correlatorData (18), -- optional parameters + callCharacteristics (19), -- optional parameters + callCharacteristicsACDCall (20), -- optional parameters + callCharacteristicsLowPriorityCall (35), -- optional parameters + callCharacteristicsPriorityCall (21), -- optional parameters + callCharacteristicsHighPriorityCall (36), -- optional parameters + callCharacteristicsMaintenanceCall (22), -- optional parameters + callCharacteristicsDirectAgent (23), -- optional parameters + callCharacteristicsAssistCall (24), -- optional parameters + callCharacteristicsVoiceUnitCall (25), -- optional parameters + callCharacteristicsPrivateCall (37), -- optional parameters + callCharacteristicsPersonalCall (38), -- optional parameters + callCharacteristicsSensitiveCall (39), -- optional parameters + callCharacteristicsConfidentialCall (40), -- optional parameters + callCharacteristicsEncryptedCall (41), -- optional parameters + subjectOfCall (42), -- optional parameters + languagePreferences (43), -- optional parameters + userData (26), -- optional parameters + privateData (27), -- optional parameters + initiatedCallInfoInAck (28), -- optional parameters + privateDataInAck (29), -- optional parameters + deviceIDOnly (30), -- misc characteristics + supportsPrompting (31), -- misc characteristics + promptingMode (32), -- misc characteristics + reservesCallingDevice (33), -- misc characteristics + ackModelMultiStep (34) } -- misc characteristics + +ParkCall ::= BIT STRING +{ hold ( 0), -- initial states + connected ( 1), -- initial states + correlatorData ( 2), -- optional parameters + subjectOfCall ( 8), -- optional parameters + languagePreferences ( 9), -- optional parameters + privateData ( 3), -- optional parameters + parkedToInAck ( 4), -- optional parameters + privateDataInAck ( 5), -- optional parameters + deviceIDOnly ( 6), -- misc characteristics + ackModelMultiStep ( 7) } -- misc characteristics + +ReconnectCall ::= BIT STRING{ + alerting ( 0), -- initial states + connected ( 1), -- initial states + fail ( 2), -- initial states + initiated ( 3), -- initial states + queued ( 4), -- initial states + privateData ( 5), -- optional parameters + privateDataInAck ( 6), -- optional parameters + deviceIDOnly ( 7), -- misc characteristics + ackModelMultiStep ( 8) } -- misc characteristics + +RetrieveCall ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1), -- optional parameters + deviceIDOnly ( 2), -- misc characteristics + ackModelMultiStep ( 3) } -- misc characteristics + +SendMessage ::= BIT STRING +{ accountCode ( 0), -- optional parameters + authCode ( 1), -- optional parameters + correlatorData ( 2), -- optional parameters + userData ( 3), -- optional parameters + callCharacteristics ( 4), -- optional parameters + callCharacteristicsACDCall ( 5), -- optional parameters + callCharacteristicsLowPriorityCall ( 6), -- optional parameters + callCharacteristicsPriorityCall ( 7), -- optional parameters + callCharacteristicsHighPriorityCall ( 8), -- optional parameters + callCharacteristicsMaintenanceCall ( 9), -- optional parameters + callCharacteristicsDirectAgent (10), -- optional parameters + callCharacteristicsAssistCall (11), -- optional parameters + callCharacteristicsVoiceUnitCall (12), -- optional parameters + callCharacteristicsPrivateCall (13), -- optional parameters + callCharacteristicsPersonalCall (14), -- optional parameters + callCharacteristicsSensitiveCall (15), -- optional parameters + callCharacteristicsConfidentialCall (16), -- optional parameters + callCharacteristicsEncryptedCall (17), -- optional parameters + mediaCallCharacteristics (18), -- optional parameters + subjectOfCall (19), -- optional parameters + languagePreferences (20), -- optional parameters + privateData (21), -- optional parameters + privateDataInAck (22) } -- optional parameters + +SingleStepConference ::= BIT STRING +{ participationTypeActive ( 0), -- optional parameters + participationTypeSilent ( 1), -- optional parameters + accountCode ( 2), -- optional parameters + authCode ( 3), -- optional parameters + correlatorData ( 4), -- optional parameters + userData ( 5), -- optional parameters + privateData ( 6), -- optional parameters + conferencedCallInfoInAck ( 7), -- optional parameters + privateDataInAck ( 8), -- optional parameters + deviceIDOnly ( 9), -- misc characteristics + ackModelMultiStep (10) } -- misc characteristics + +SingleStepTransfer ::= BIT STRING +{ accountCode ( 0), -- optional parameters + authCode ( 1), -- optional parameters + correlatorData ( 2), -- optional parameters + userData ( 3), -- optional parameters + subjectOfCall (13), -- optional parameters + languagePreferences (14), -- optional parameters + reason (15), -- optional parameters + privateData ( 4), -- optional parameters + connectionParameterInAck ( 5), -- optional parameters + endpointDeviceID ( 6), -- optional parameters + resultionConnectionInformation ( 7), -- optional parameters + transferredCollInfoInAck ( 8), -- optional parameters + privateDataInAck ( 9), -- optional parameters + deviceIDOnly (10), -- misc characteristics + multipleDevices (11), -- misc characteristics + ackModelMultiStep (12), -- misc characteristics + callCharacteristicsinRequest (16) } -- misc characteristics + +TransferCall ::= BIT STRING +{ activeCallConnected ( 0), -- initial states + activeCallHold ( 1), -- initial states + heldCallConnected ( 2), -- initial states + heldCallHold ( 3), -- initial states + privateData ( 4), -- optional parameters + connectionsParameterInAck ( 5), -- optional parameters + endpointDeviceID ( 6), -- optional parameters + resultingConnectionInformation ( 7), -- optional parameters + transferredCallInfoInAck ( 8), -- optional parameters + privateDataInAck ( 9), -- optional parameters + deviceIDOnly (10), -- misc characteristics + multipleDevices (11), -- misc characteristics + ackModelMultiStep (12) } -- misc characteristics + +CallControlEvtsList ::= SEQUENCE +{ bridged [ 0] IMPLICIT Bridged OPTIONAL, + callCleared [ 1] IMPLICIT CallCleared OPTIONAL, + conferenced [ 2] IMPLICIT Conferenced OPTIONAL, + connectionCleared [ 3] IMPLICIT ConnectionCleared OPTIONAL, + delivered [ 4] IMPLICIT Delivered OPTIONAL, + digitsDialed [ 5] IMPLICIT DigitsDialed OPTIONAL, + diverted [ 6] IMPLICIT Diverted OPTIONAL, + established [ 7] IMPLICIT Established OPTIONAL, + failed [ 8] IMPLICIT Failed OPTIONAL, + held [ 9] IMPLICIT Held OPTIONAL, + netwCapsChanged [10] IMPLICIT NetwCapsChanged OPTIONAL, + netwReached [11] IMPLICIT NetwReached OPTIONAL, + offered [12] IMPLICIT Offered OPTIONAL, + originated [13] IMPLICIT Originated OPTIONAL, + queued [14] IMPLICIT Queued OPTIONAL, + retrieved [15] IMPLICIT Retrieved OPTIONAL, + serviceInitiated [16] IMPLICIT ServiceInitiated OPTIONAL, + transferred [17] IMPLICIT Transferred OPTIONAL } + +Bridged ::= BIT STRING +{ correlatorData ( 0), -- optional parameters + userData ( 1), -- optional parameters + servicesPermitted ( 2), -- optional parameters + mediaCallCharacteristics ( 3), -- optional parameters + callCharacteristics ( 4), -- optional parameters + bridgedConnectionInfo ( 5), -- optional parameters + languagePreferences ( 8), -- optional parameters + callLinkageData ( 7), -- optional parameters + privateData ( 6), -- optional parameters + locationinfoList ( 9) } -- optional parameters + +CallCleared ::= BIT STRING +{ correlatorData ( 0), -- optional parameters + userData ( 1), -- optional parameters + mediaCallCharacteristics ( 2), -- optional parameters + callCharacteristics ( 3), -- optional parameters + callLinkageData ( 6), -- optional parameters + privateData ( 4), -- optional parameters + callIDOnly ( 5) } -- miscellaneous characteristics + +Conferenced ::= BIT STRING +{ confereceConnectionsEndpointDeviceID ( 0), -- optional parameters + confereceConnectionsresultingConnectionInfo ( 1), -- optional parameters + userData ( 2), -- optional parameters + servicesPermitted ( 3), -- optional parameters + mediaCallCharacteristics ( 4), -- optional parameters + callCharacteristics ( 5), -- optional parameters + bridgedConnectionInfo ( 6), -- optional parameters + lannguagePreferences ( 8), -- optional parameters + deviceHistory ( 9), -- optional parameters + privateData ( 7), -- optional parameters + locationInfoList (10) } -- optional parameters + +ConnectionCleared ::= BIT STRING +{ correlatorData ( 0), -- optional parameters + userData ( 1), -- optional parameters + chargingInfo ( 2), -- optional parameters + numberUnitsNumberOfChargingUnits ( 3), -- optional parameters + numberUnitsTypeOfUnits ( 4), -- optional parameters + numberUnitsNumberOfCurrencyUnits ( 5), -- optional parameters + typeOfChargingInfoSubTotal ( 6), -- optional parameters + typeOfChargingInfoTotal ( 7), -- optional parameters + chargingMultiplierAThousandth ( 8), -- optional parameters + chargingMultiplierAHundredth ( 9), -- optional parameters + chargingMultiplierATenth (10), -- optional parameters + chargingMultiplierOne (11), -- optional parameters + chargingMultiplierTen (12), -- optional parameters + chargingMultiplierHundred (13), -- optional parameters + chargingMultiplierThousand (14), -- optional parameters + servicesPermitted (15), -- optional parameters + mediaCallCharacteristics (16), -- optional parameters + callCharacteristics (17), -- optional parameters + droppedConnectionInfo (18), -- optional parameters + callLinkageData (20), -- optional parameters + languagePreferences (21), -- optional parameters + deviceHistory (22), -- optional parameters + privateData (19), -- optional parameters + locationInfoList (23) } -- optional parameters + +Delivered ::= BIT STRING +{ originatingNIDConnection ( 0), -- optional parameters + userData ( 1), -- optional parameters + servicesPermitted ( 2), -- optional parameters + netwCallingDevice ( 3), -- optional parameters + netwCalledDevice ( 4), -- optional parameters + mediaCallCharacteristics ( 5), -- optional parameters + callCharacteristics ( 6), -- optional parameters + connectionInfo ( 7), -- optional parameters + subjectOfCall ( 9), -- optional parameters + messageInfo (10), -- optional parameters + languagePreferences (11), -- optional parameters + deviceHistory (12), -- optional parameters + privateData ( 8), -- optional parameters + locationInfoList (13) } -- optional parameters + +DigitsDialed ::= BIT STRING +{ servicesPermitted ( 0), -- optional parameters + netwCallingDevice ( 1), -- optional parameters + netwCalledDevice ( 2), -- optional parameters + diallingConnectionInfo ( 3), -- optional parameters + callCharacteristics ( 4), -- optional parameters + languagePreferences ( 6), -- optional parameters + privateData ( 5), -- optional parameters + locationInfoList ( 7) } -- optional parameters + +Diverted ::= BIT STRING +{ callingDevice ( 0), -- optional parameters + calledDevice ( 1), -- optional parameters + userData ( 2), -- optional parameters + servicesPermitted ( 3), -- optional parameters + mediaCallCharacteristics ( 4), -- optional parameters + callCharacteristics ( 5), -- optional parameters + connectionInfo ( 6), -- optional parameters + netwCallingDevice ( 7), -- optional parameters + netwCalledDevice ( 8), -- optional parameters + subjectOfCall (11), -- optional parameters + messageInfo (12), -- optional parameters + languagePreferences (13), -- optional parameters + deviceHistory (14), -- optional parameters + privateData ( 9), -- optional parameters + sendsDivertedToAll (10), -- optional parameters + locationInfoList (15) } -- optional parameters + +Established ::= BIT STRING +{ originatingNIDConnection ( 0), -- optional parameters + userData ( 1), -- optional parameters + servicesPermitted ( 2), -- optional parameters + netwCallingDevice ( 3), -- optional parameters + netwCalledDevice ( 4), -- optional parameters + mediaCallCharacteristics ( 5), -- optional parameters + callCharacteristics ( 6), -- optional parameters + establishedConnectionInfo ( 7), -- optional parameters + subjectOfCall ( 9), -- optional parameters + messageInfo (10), -- optional parameters + languagePreferences (11), -- optional parameters + deviceHistory (12), -- optional parameters + privateData ( 8), -- optional parameters + locationInfoList (13) } -- optional parameters + +Failed ::= BIT STRING +{ originatingNIDConnection ( 0), -- optional parameters + userData ( 1), -- optional parameters + servicesPermitted ( 2), -- optional parameters + netwCallingDevice ( 3), -- optional parameters + netwCalledDevice ( 4), -- optional parameters + mediaCallCharacteristics ( 5), -- optional parameters + callCharacteristics ( 6), -- optional parameters + failedConnectionInfo ( 7), -- optional parameters + subjectOfCall (10), -- optional parameters + messageInfo (11), -- optional parameters + languagePreferences (12), -- optional parameters + deviceHistory (13), -- optional parameters + privateData ( 8), -- optional parameters + callIDOnly ( 9), -- miscellaneous characteristics + locationInfoList (14) } -- optional parameters + +Held ::= BIT STRING +{ correlatorData ( 0), -- optional parameters + servicesPermitted ( 1), -- optional parameters + mediaCallCharacteristics ( 2), -- optional parameters + callCharacteristics ( 3), -- optional parameters + heldConnectionInfo ( 4), -- optional parameters + callLinkageData ( 6), -- optional parameters + languagePreferences ( 7), -- optional parameters + privateData ( 5), -- optional parameters + locationInfoList ( 8) } -- optional parameters + +NetwCapsChanged ::= BIT STRING +{ progressLocationUser ( 0), -- optional parameters + progressLocationPrivateServLocal ( 1), -- optional parameters + progressLocationPublicServLocal ( 2), -- optional parameters + progressLocationTransit ( 3), -- optional parameters + progressLocationPublicServRemote ( 4), -- optional parameters + progressLocationPrivateServRemote ( 5), -- optional parameters + progressLocationLocal ( 6), -- optional parameters + progressLocationInternational ( 7), -- optional parameters + progressLocationNetwBeyondInterworking ( 8), -- optional parameters + progressLocationOther ( 9), -- optional parameters + progressDescriptionISDN (10), -- optional parameters + progressDescriptionQSIG (11), -- optional parameters + progressDescriptionOther (12), -- optional parameters + userData (13), -- optional parameters + typeOfNetworkISDNPublic (14), -- optional parameters + typeOfNetworkNonISDNPublic (15), -- optional parameters + typeOfNetworkISDNPrivate (16), -- optional parameters + typeOfNetworkNonISDNPrivate (17), -- optional parameters + typeOfNetworkOther (18), -- optional parameters + eventsProvidedParameter (19), -- optional parameters + eventsProvidedBridged (20), -- optional parameters + eventsProvidedCallCleared (21), -- optional parameters + eventsProvidedConferenced (22), -- optional parameters + eventsProvidedConnectionCleared (23), -- optional parameters + eventsProvidedDelivered (24), -- optional parameters + eventsProvidedDigitsDialed (25), -- optional parameters + eventsProvidedDiverted (26), -- optional parameters + eventsProvidedEstablished (27), -- optional parameters + eventsProvidedFailed (28), -- optional parameters + eventsProvidedHeld (29), -- optional parameters + eventsProvidedNetwCapsChanged (30), -- optional parameters + eventsProvidedNetwReached (31), -- optional parameters + eventsProvidedOffered (32), -- optional parameters + eventsProvidedOriginated (33), -- optional parameters + eventsProvidedQueued (34), -- optional parameters + eventsProvidedRetrieved (35), -- optional parameters + eventsProvidedServiceInitiated (36), -- optional parameters + eventsProvidedTransferred (37), -- optional parameters + servicesPermitted (38), -- optional parameters + mediaCallCharacteristics (39), -- optional parameters + callCharacteristics (40), -- optional parameters + outboundConnectionInfo (41), -- optional parameters + languagePreferences (43), -- optional parameters + privateData (42), -- optional parameters + locationInfoList (44) } -- optional parameters + +NetwReached ::= BIT STRING +{ originatingNIDConnection ( 0), -- optional parameters + userData ( 1), -- optional parameters + typeOfNetworkISDNPublic ( 2), -- optional parameters + typeOfNetworkNonISDNPublic ( 3), -- optional parameters + typeOfNetworkISDNPrivate ( 4), -- optional parameters + typeOfNetworkNonISDNPrivate ( 5), -- optional parameters + typeOfNetworkOther ( 6), -- optional parameters + eventsProvidedParameter ( 7), -- optional parameters + eventsProvidedBridged ( 8), -- optional parameters + eventsProvidedCallCleared ( 9), -- optional parameters + eventsProvidedConferenced (10), -- optional parameters + eventsProvidedConnectionCleared (11), -- optional parameters + eventsProvidedDelivered (12), -- optional parameters + eventsProvidedDigitsDialed (13), -- optional parameters + eventsProvidedDiverted (14), -- optional parameters + eventsProvidedEstablished (15), -- optional parameters + eventsProvidedFailed (16), -- optional parameters + eventsProvidedHeld (17), -- optional parameters + eventsProvidedNetwCapsChanged (18), -- optional parameters + eventsProvidedNetwReached (19), -- optional parameters + eventsProvidedOffered (20), -- optional parameters + eventsProvidedOriginated (21), -- optional parameters + eventsProvidedQueued (22), -- optional parameters + eventsProvidedRetrieved (23), -- optional parameters + eventsProvidedServiceInitiated (24), -- optional parameters + eventsProvidedTransferred (25), -- optional parameters + servicesPermitted (26), -- optional parameters + mediaCallCharacteristics (27), -- optional parameters + callCharacteristics (28), -- optional parameters + outboundConnectionInfo (29), -- optional parameters + netwCallingDevice (30), -- optional parameters + netwCalledDevice (31), -- optional parameters + languagePreferences (33), -- optional parameters + deviceHistory (34), -- optional parameters + privateData (32), -- optional parameters + locationInfoList (35) } -- optional parameters + +Offered ::= BIT STRING +{ originatingNIDConnection ( 0), -- optional parameters + userData ( 1), -- optional parameters + servicesPermitted ( 2), -- optional parameters + netwCallingDevice ( 3), -- optional parameters + netwCalledDevice ( 4), -- optional parameters + mediaCallCharacteristics ( 5), -- optional parameters + callCharacteristics ( 6), -- optional parameters + offeredConnectionInfo ( 7), -- optional parameters + subjectOfCall ( 9), -- optional parameters + messageInfo (10), -- optional parameters + languagePreferences (11), -- optional parameters + deciceHistory (12), -- optional parameters + privateData ( 8), -- optional parameters + locationInfoList (13) } -- optional parameters + +Originated ::= BIT STRING +{ originatingDevice ( 0), -- optional parameters + servicesPermitted ( 1), -- optional parameters + netwCallingDevice ( 2), -- optional parameters + netwCalledDevice ( 3), -- optional parameters + mediaCallCharacteristics ( 4), -- optional parameters + callCharacteristics ( 5), -- optional parameters + originatedConnectionInfo ( 6), -- optional parameters + subjectOfCall ( 8), -- optional parameters + messageInfo ( 9), -- optional parameters + languagePreferences (10), -- optional parameters + privateData ( 7), -- optional parameters + locationInfoList (11) } -- optional parameters + +Queued ::= BIT STRING +{ numberQueued ( 0), -- optional parameters + callsInFront ( 1), -- optional parameters + userData ( 2), -- optional parameters + servicesPermitted ( 3), -- optional parameters + netwCallingDevice ( 4), -- optional parameters + netwCalledDevice ( 5), -- optional parameters + mediaCallCharacteristics ( 6), -- optional parameters + callCharacteristics ( 7), -- optional parameters + queuedConnectionInfo ( 8), -- optional parameters + subjectOfCall (10), -- optional parameters + messageInfo (11), -- optional parameters + languagePreferences (12), -- optional parameters + deviceHistory (13), -- optional parameters + privateData ( 9), -- optional parameters + locationInfoList (14) } -- optional parameters + +Retrieved ::= BIT STRING +{ correlatorData ( 0), -- optional parameters + servicesPermitted ( 1), -- optional parameters + mediaCallCharacteristics ( 2), -- optional parameters + callCharacteristics ( 3), -- optional parameters + retrievedConnectionInfo ( 4), -- optional parameters + callLinkageData ( 6), -- optional parameters + languagePreferences ( 7), -- optional parameters + deviceHistory ( 8), -- optional parameters + privateData ( 5), -- optional parameters + locationInfoLiist ( 9) } -- optional parameters + +ServiceInitiated ::= BIT STRING +{ servicesPermitted ( 0), -- optional parameters + mediaCallCharacteristics ( 1), -- optional parameters + callCharacteristics ( 2), -- optional parameters + initiatedConnectionInfo ( 3), -- optional parameters + netwCallingDevice ( 4), -- optional parameters + netwCalledDevice ( 5), -- optional parameters + subjectOfCall ( 7), -- optional parameters + messageInfo ( 8), -- optional parameters + languagePreferences ( 9), -- optional parameters + privateData ( 6), -- optional parameters + calledDevice (10), -- optional parameters + locationInfoList (11) } -- optional parameters + +Transferred ::= BIT STRING +{ transferredConnectionsEndpointDeviceID ( 0), -- optional parameters + transferredConnectionsResultingConnectionInfo ( 1), -- optional parameters + userData ( 2), -- optional parameters + chargingInfo ( 3), -- optional parameters + numberUnitsNumberOfChargingUnits ( 4), -- optional parameters + numberUnitsTypeOfUnits ( 5), -- optional parameters + numberUnitsNumberOfCurrencyUnits ( 6), -- optional parameters + typeOfChargingInfoSubTotal ( 7), -- optional parameters + typeOfChargingInfoTotal ( 8), -- optional parameters + chargingMultiplierAThousandth ( 9), -- optional parameters + chargingMultiplierAHundredth (10), -- optional parameters + chargingMultiplierATenth (11), -- optional parameters + chargingMultiplierOne (12), -- optional parameters + chargingMultiplierTen (13), -- optional parameters + chargingMultiplierHundred (14), -- optional parameters + chargingMultiplierThousand (15), -- optional parameters + servicesPermitted (16), -- optional parameters + mediaCallCharacteristics (17), -- optional parameters + callCharacteristics (18), -- optional parameters + connectionInfo (19), -- optional parameters + languagePreferences (21), -- optional parameters + deviceHistory (22), -- optional parameters + privateData (20) } -- optional parameters + +CallAssociatedServList ::= SEQUENCE +{ associateData [0] IMPLICIT AssociateData OPTIONAL, + cancelTelephonyTones [1] IMPLICIT CancelTelephonyTones OPTIONAL, + changeConnectionInformation [5] IMPLICIT ChangeConnectionInformation OPTIONAL, + generateDigits [2] IMPLICIT GenerateDigits OPTIONAL, + generateTelephonyTones [3] IMPLICIT GenerateTelephonyTones OPTIONAL, + sendUserInformation [4] IMPLICIT SendUserInformation OPTIONAL } + +AssociateData ::= BIT STRING +{ accountCode ( 0), -- optional parameters + authCode ( 1), -- optional parameters + correlatorData ( 2), -- optional parameters + callQualifyingData ( 3), -- optional parameters + callCharacteristics ( 9), -- optional parameters + subjectOfCall (10), -- optional parameters + languagePreferences (11), -- optional parameters + privateData ( 4), -- optional parameters + privateDataInAck ( 5), -- optional parameters + deviceIDOnly ( 6), -- misc characteristics + rejectsRequestsWithOldConnectionID ( 7), -- misc characteristics + ackModelMultiStep ( 8), -- misc characteristics + deviceInfo (12) } -- misc characteristics + +CancelTelephonyTones ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1), -- optional parameters + ackModelMultiStep ( 2) } -- misc characteristics + +ChangeConnectionInformation ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +GenerateDigits ::= BIT STRING +{ digitModeDTMF ( 0), -- optional parameters + digitModePulse ( 1), -- optional parameters + toneDuration ( 2), -- optional parameters + pulseRate ( 3), -- optional parameters + pauseDuration ( 4), -- optional parameters + privateData ( 5), -- optional parameters + privateDataInAck ( 6), -- optional parameters + deviceIDOnly ( 7), -- misc characteristics + supportsDTMFTonesABCD ( 8), -- misc characteristics + supportsPauseToneChar ( 9), -- misc characteristics + ackModelMultiStep (10) } -- misc characteristics + +GenerateTelephonyTones ::= BIT STRING +{ toneToSendBeep ( 0), -- optional parameters + toneToSendBilling ( 1), -- optional parameters + toneToSendBusy ( 2), -- optional parameters + toneToSendCarrier ( 3), -- optional parameters + toneToSendConfirmation ( 4), -- optional parameters + toneToSendDial ( 5), -- optional parameters + toneToSendFaxCNG ( 6), -- optional parameters + toneToSendHold ( 7), -- optional parameters + toneToSendHowler ( 8), -- optional parameters + toneToSendIntrusion ( 9), -- optional parameters + toneToSendModemCNG ( 10), -- optional parameters + toneToSendPark ( 11), -- optional parameters + toneToSendRecordWarning ( 12), -- optional parameters + toneToSendReorder ( 13), -- optional parameters + toneToSendRingback ( 14), -- optional parameters + toneToSendSilence ( 15), -- optional parameters + toneToSendSitVC ( 16), -- optional parameters + toneToSendSitIC ( 17), -- optional parameters + toneToSendSitRO ( 18), -- optional parameters + toneToSendSitNC ( 19), -- optional parameters + toneToSendSf0 ( 20), -- optional parameters + toneToSendSf1 ( 21), -- optional parameters + toneToSendSf2 ( 22), -- optional parameters + toneToSendSf3 ( 23), -- optional parameters + toneToSendSf4 ( 24), -- optional parameters + toneToSendSf5 ( 25), -- optional parameters + toneToSendSf6 ( 26), -- optional parameters + toneToSendSf7 ( 27), -- optional parameters + toneToSendSf8 ( 28), -- optional parameters + toneToSendSf9 ( 29), -- optional parameters + toneToSendSf10 ( 30), -- optional parameters + toneToSendSf11 ( 31), -- optional parameters + toneToSendSf12 ( 32), -- optional parameters + toneToSendSf13 ( 33), -- optional parameters + toneToSendSf14 ( 34), -- optional parameters + toneToSendSf15 ( 35), -- optional parameters + toneToSendSf16 ( 36), -- optional parameters + toneToSendSf17 ( 37), -- optional parameters + toneToSendSf18 ( 38), -- optional parameters + toneToSendSf19 ( 39), -- optional parameters + toneToSendSf20 ( 40), -- optional parameters + toneToSendSf21 ( 41), -- optional parameters + toneToSendSf22 ( 42), -- optional parameters + toneToSendSf23 ( 43), -- optional parameters + toneToSendSf24 ( 44), -- optional parameters + toneToSendSf25 ( 45), -- optional parameters + toneToSendSf26 ( 46), -- optional parameters + toneToSendSf27 ( 47), -- optional parameters + toneToSendSf28 ( 48), -- optional parameters + toneToSendSf29 ( 49), -- optional parameters + toneToSendSf30 ( 50), -- optional parameters + toneToSendSf31 ( 51), -- optional parameters + toneToSendSf32 ( 52), -- optional parameters + toneToSendSf33 ( 53), -- optional parameters + toneToSendSf34 ( 54), -- optional parameters + toneToSendSf35 ( 55), -- optional parameters + toneToSendSf36 ( 56), -- optional parameters + toneToSendSf37 ( 57), -- optional parameters + toneToSendSf38 ( 58), -- optional parameters + toneToSendSf39 ( 59), -- optional parameters + toneToSendSf40 ( 60), -- optional parameters + toneToSendSf41 ( 61), -- optional parameters + toneToSendSf42 ( 62), -- optional parameters + toneToSendSf43 ( 63), -- optional parameters + toneToSendSf44 ( 64), -- optional parameters + toneToSendSf45 ( 65), -- optional parameters + toneToSendSf46 ( 66), -- optional parameters + toneToSendSf47 ( 67), -- optional parameters + toneToSendSf48 ( 68), -- optional parameters + toneToSendSf49 ( 69), -- optional parameters + toneToSendSf50 ( 70), -- optional parameters + toneToSendSf51 ( 71), -- optional parameters + toneToSendSf52 ( 72), -- optional parameters + toneToSendSf53 ( 73), -- optional parameters + toneToSendSf54 ( 74), -- optional parameters + toneToSendSf55 ( 75), -- optional parameters + toneToSendSf56 ( 76), -- optional parameters + toneToSendSf57 ( 77), -- optional parameters + toneToSendSf58 ( 78), -- optional parameters + toneToSendSf59 ( 79), -- optional parameters + toneToSendSf60 ( 80), -- optional parameters + toneToSendSf61 ( 81), -- optional parameters + toneToSendSf62 ( 82), -- optional parameters + toneToSendSf63 ( 83), -- optional parameters + toneToSendSf64 ( 84), -- optional parameters + toneToSendSf65 ( 85), -- optional parameters + toneToSendSf66 ( 86), -- optional parameters + toneToSendSf67 ( 87), -- optional parameters + toneToSendSf68 ( 88), -- optional parameters + toneToSendSf69 ( 89), -- optional parameters + toneToSendSf70 ( 90), -- optional parameters + toneToSendSf71 ( 91), -- optional parameters + toneToSendSf72 ( 92), -- optional parameters + toneToSendSf73 ( 93), -- optional parameters + toneToSendSf74 ( 94), -- optional parameters + toneToSendSf75 ( 95), -- optional parameters + toneToSendSf76 ( 96), -- optional parameters + toneToSendSf77 ( 97), -- optional parameters + toneToSendSf78 ( 98), -- optional parameters + toneToSendSf79 ( 99), -- optional parameters + toneToSendSf80 (100), -- optional parameters + toneToSendSf81 (101), -- optional parameters + toneToSendSf82 (102), -- optional parameters + toneToSendSf83 (103), -- optional parameters + toneToSendSf84 (104), -- optional parameters + toneToSendSf85 (105), -- optional parameters + toneToSendSf86 (106), -- optional parameters + toneToSendSf87 (107), -- optional parameters + toneToSendSf88 (108), -- optional parameters + toneToSendSf89 (109), -- optional parameters + toneToSendSf90 (110), -- optional parameters + toneToSendSf91 (111), -- optional parameters + toneToSendSf92 (112), -- optional parameters + toneToSendSf93 (113), -- optional parameters + toneToSendSf94 (114), -- optional parameters + toneToSendSf95 (115), -- optional parameters + toneToSendSf96 (116), -- optional parameters + toneToSendSf97 (117), -- optional parameters + toneToSendSf98 (118), -- optional parameters + toneToSendSf99 (119), -- optional parameters + toneToSendSf100 (120), -- optional parameters + toneDuration (121), -- optional parameters + privateData (122), -- optional parameters + privateDataInAck (123), -- optional parameters + deviceIDOnly (124), -- misc characteristics + ackModelMultiStep (125) } -- misc characteristics + +SendUserInformation ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1), -- optional parameters + deviceIDOnly ( 2), -- misc characteristics + ackModelMultiStep ( 3) } -- misc characteristics + +CallAssociatedEvtsList ::= SEQUENCE +{ callInformation [0] IMPLICIT CallInformation OPTIONAL, + charging [1] IMPLICIT Charging OPTIONAL, + digitsGenerated [2] IMPLICIT DigitsGenerated OPTIONAL, + telephonyTonesGenerated [3] IMPLICIT TelephonyTonesGenerated OPTIONAL, + serviceCompletionFailure [4] IMPLICIT ServiceCompletionFailure OPTIONAL } + +CallInformation ::= BIT STRING +{ callingDevice ( 0), -- optional parameters + accountInfo ( 1), -- optional parameters + authorisatinonCode ( 2), -- optional parameters + correlatorData ( 3), -- optional parameters + servicesPermitted ( 4), -- optional parameters + userData ( 5), -- optional parameters + callQualifyingData ( 6), -- optional parameters + connectionInfo ( 7), -- optional parameters + callLinkageData (10), -- optional parameters + callCharacteristics (11), -- optional parameters + subjectOfCall (12), -- optional parameters + languagePreferences (13), -- optional parameters + privateData ( 8), -- optional parameters + genCallInfoForOutdatedConnID ( 9), -- misc characteristics + deviceInfo (14) } -- optional parameters + +Charging ::= BIT STRING +{ numberUnitsNumberOfChargingUnits ( 0), -- optional parameters + numberUnitsTypeOfUnits ( 1), -- optional parameters + numberUnitsNumberOfCurrencyUnits ( 2), -- optional parameters + typeOfChargingInfoSubTotal ( 3), -- optional parameters + typeOfChargingInfoTotal ( 4), -- optional parameters + chargingMultiplierAThousandth ( 5), -- optional parameters + chargingMultiplierAHundredth ( 6), -- optional parameters + chargingMultiplierATenth ( 7), -- optional parameters + chargingMultiplierOne ( 8), -- optional parameters + chargingMultiplierTen ( 9), -- optional parameters + chargingMultiplierHundred (10), -- optional parameters + chargingMultiplierThousand (11), -- optional parameters + privateData (12) } -- optional parameters + +DigitsGenerated ::= BIT STRING +{ digitsDurationList ( 0), -- optional parameters + pauseDurationList ( 1), -- optional parameters + connectionInfo ( 2), -- optional parameters + privateData ( 3) } -- optional parameters + + +TelephonyTonesGenerated ::= BIT STRING +{ toneToSendBeep ( 0), -- optional parameters + toneToSendBilling ( 1), -- optional parameters + toneToSendBusy ( 2), -- optional parameters + toneToSendCarrier ( 3), -- optional parameters + toneToSendConfirmation ( 4), -- optional parameters + toneToSendDial ( 5), -- optional parameters + toneToSendFaxCNG ( 6), -- optional parameters + toneToSendHold ( 7), -- optional parameters + toneToSendHowler ( 8), -- optional parameters + toneToSendIntrusion ( 9), -- optional parameters + toneToSendModemCNG ( 10), -- optional parameters + toneToSendPark ( 11), -- optional parameters + toneToSendRecordWarning ( 12), -- optional parameters + toneToSendReorder ( 13), -- optional parameters + toneToSendRingback ( 14), -- optional parameters + toneToSendSilence ( 15), -- optional parameters + toneToSendSitVC ( 16), -- optional parameters + toneToSendSitIC ( 17), -- optional parameters + toneToSendSitRO ( 18), -- optional parameters + toneToSendSitNC ( 19), -- optional parameters + toneToSendSf0 ( 20), -- optional parameters + toneToSendSf1 ( 21), -- optional parameters + toneToSendSf2 ( 22), -- optional parameters + toneToSendSf3 ( 23), -- optional parameters + toneToSendSf4 ( 24), -- optional parameters + toneToSendSf5 ( 25), -- optional parameters + toneToSendSf6 ( 26), -- optional parameters + toneToSendSf7 ( 27), -- optional parameters + toneToSendSf8 ( 28), -- optional parameters + toneToSendSf9 ( 29), -- optional parameters + toneToSendSf10 ( 30), -- optional parameters + toneToSendSf11 ( 31), -- optional parameters + toneToSendSf12 ( 32), -- optional parameters + toneToSendSf13 ( 33), -- optional parameters + toneToSendSf14 ( 34), -- optional parameters + toneToSendSf15 ( 35), -- optional parameters + toneToSendSf16 ( 36), -- optional parameters + toneToSendSf17 ( 37), -- optional parameters + toneToSendSf18 ( 38), -- optional parameters + toneToSendSf19 ( 39), -- optional parameters + toneToSendSf20 ( 40), -- optional parameters + toneToSendSf21 ( 41), -- optional parameters + toneToSendSf22 ( 42), -- optional parameters + toneToSendSf23 ( 43), -- optional parameters + toneToSendSf24 ( 44), -- optional parameters + toneToSendSf25 ( 45), -- optional parameters + toneToSendSf26 ( 46), -- optional parameters + toneToSendSf27 ( 47), -- optional parameters + toneToSendSf28 ( 48), -- optional parameters + toneToSendSf29 ( 49), -- optional parameters + toneToSendSf30 ( 50), -- optional parameters + toneToSendSf31 ( 51), -- optional parameters + toneToSendSf32 ( 52), -- optional parameters + toneToSendSf33 ( 53), -- optional parameters + toneToSendSf34 ( 54), -- optional parameters + toneToSendSf35 ( 55), -- optional parameters + toneToSendSf36 ( 56), -- optional parameters + toneToSendSf37 ( 57), -- optional parameters + toneToSendSf38 ( 58), -- optional parameters + toneToSendSf39 ( 59), -- optional parameters + toneToSendSf40 ( 60), -- optional parameters + toneToSendSf41 ( 61), -- optional parameters + toneToSendSf42 ( 62), -- optional parameters + toneToSendSf43 ( 63), -- optional parameters + toneToSendSf44 ( 64), -- optional parameters + toneToSendSf45 ( 65), -- optional parameters + toneToSendSf46 ( 66), -- optional parameters + toneToSendSf47 ( 67), -- optional parameters + toneToSendSf48 ( 68), -- optional parameters + toneToSendSf49 ( 69), -- optional parameters + toneToSendSf50 ( 70), -- optional parameters + toneToSendSf51 ( 71), -- optional parameters + toneToSendSf52 ( 72), -- optional parameters + toneToSendSf53 ( 73), -- optional parameters + toneToSendSf54 ( 74), -- optional parameters + toneToSendSf55 ( 75), -- optional parameters + toneToSendSf56 ( 76), -- optional parameters + toneToSendSf57 ( 77), -- optional parameters + toneToSendSf58 ( 78), -- optional parameters + toneToSendSf59 ( 79), -- optional parameters + toneToSendSf60 ( 80), -- optional parameters + toneToSendSf61 ( 81), -- optional parameters + toneToSendSf62 ( 82), -- optional parameters + toneToSendSf63 ( 83), -- optional parameters + toneToSendSf64 ( 84), -- optional parameters + toneToSendSf65 ( 85), -- optional parameters + toneToSendSf66 ( 86), -- optional parameters + toneToSendSf67 ( 87), -- optional parameters + toneToSendSf68 ( 88), -- optional parameters + toneToSendSf69 ( 89), -- optional parameters + toneToSendSf70 ( 90), -- optional parameters + toneToSendSf71 ( 91), -- optional parameters + toneToSendSf72 ( 92), -- optional parameters + toneToSendSf73 ( 93), -- optional parameters + toneToSendSf74 ( 94), -- optional parameters + toneToSendSf75 ( 95), -- optional parameters + toneToSendSf76 ( 96), -- optional parameters + toneToSendSf77 ( 97), -- optional parameters + toneToSendSf78 ( 98), -- optional parameters + toneToSendSf79 ( 99), -- optional parameters + toneToSendSf80 (100), -- optional parameters + toneToSendSf81 (101), -- optional parameters + toneToSendSf82 (102), -- optional parameters + toneToSendSf83 (103), -- optional parameters + toneToSendSf84 (104), -- optional parameters + toneToSendSf85 (105), -- optional parameters + toneToSendSf86 (106), -- optional parameters + toneToSendSf87 (107), -- optional parameters + toneToSendSf88 (108), -- optional parameters + toneToSendSf89 (109), -- optional parameters + toneToSendSf90 (110), -- optional parameters + toneToSendSf91 (111), -- optional parameters + toneToSendSf92 (112), -- optional parameters + toneToSendSf93 (113), -- optional parameters + toneToSendSf94 (114), -- optional parameters + toneToSendSf95 (115), -- optional parameters + toneToSendSf96 (116), -- optional parameters + toneToSendSf97 (117), -- optional parameters + toneToSendSf98 (118), -- optional parameters + toneToSendSf99 (119), -- optional parameters + toneToSendSf100 (120), -- optional parameters + toneFrequency (121), -- optional parameters + toneDuration (122), -- optional parameters + pauseDurationList (123), -- optional parameters + connectionInfo (124), -- optional parameters + privateData (125) } -- optional parameters + +ServiceCompletionFailure ::= BIT STRING +{ primaryCallConnectionInfo ( 0), -- optional parameters + secondaryCallConnectionInfo ( 1), -- optional parameters + otherDevicesPrimaryCallList ( 2), -- optional parameters + otherDevicesSecondaryCallList ( 3), -- optional parameters + mediaCallCharacteristics ( 4), -- optional parameters + privateData ( 5) } -- optional parameters + +MediaServList ::= SEQUENCE +{ attachMediaService [0] IMPLICIT AttachMediaService OPTIONAL, + detachMediaService [1] IMPLICIT DetachMediaService OPTIONAL } + +AttachMediaService ::= BIT STRING +{ mediaServiceVersion ( 0), -- optional parameters + mediaServiceInstanceID ( 1), -- optional parameters + connectionModeConsultConference ( 2), -- optional parameters + connectionModeConsultConferenceHold ( 3), -- optional parameters + connectionModeDeflect ( 4), -- optional parameters + connectionModeDirectedPickup ( 5), -- optional parameters + connectionModeJoin ( 6), -- optional parameters + connectionModeSingleStepConference ( 7), -- optional parameters + connectionModeSingleStepConferenceHold ( 8), -- optional parameters + connectionModeSingleStepTransfer ( 9), -- optional parameters + connectionModeTransfer (10), -- optional parameters + connectionModeDirect (11), -- optional parameters + requestedConnectionState (12), -- optional parameters + privateData (13), -- optional parameters + mediaServiceInstanceIDInAck (14), -- optional parameters + mediaConnectionInfoInAck (15), -- optional parameters + privateDataInAck (16), -- optional parameters + deviceIDOnly (17), -- misc characteristics + ackModelMultiStep (18) } -- misc characteristics + +DetachMediaService ::= BIT STRING +{ alerting ( 0), -- initial states + connected ( 1), -- initial states + fail ( 2), -- initial states + hold ( 3), -- initial states + queued ( 4), -- initial states + privateData ( 5), -- optional parameters + privateDataInAck ( 6), -- optional parameters + deviceIDOnly ( 7), -- misc characteristics + ackModelMultiStep ( 8) } -- misc characteristics + + +MediaEvtsList::= SEQUENCE +{ mediaAttached [0] IMPLICIT MediaAttached OPTIONAL, + mediaDetached [1] IMPLICIT MediaDetached OPTIONAL } + +MediaAttached ::= BIT STRING +{ mediaServiceVersion ( 0), -- optional parameters + mediaServiceInstanceID ( 1), -- optional parameters + mediaStreamID ( 2), -- optional parameters + mediaCallCharacteristics ( 3), -- optional parameters + callCharacteristics ( 4), -- optional parameters + mediaConnectionInfo ( 5), -- optional parameters + privateData ( 6) } -- optional parameters + +MediaDetached ::= BIT STRING +{ mediaServiceVersion ( 0), -- optional parameters + mediaServiceInstanceID ( 1), -- optional parameters + mediaStreamID ( 2), -- optional parameters + mediaCallCharacteristics ( 3), -- optional parameters + callCharacteristics ( 4), -- optional parameters + mediaConnectionInfo ( 5), -- optional parameters + privateData ( 6) } -- optional parameters + +RouteingServList ::= SEQUENCE +{ routeRegister [ 0] IMPLICIT RouteRegister OPTIONAL, + routeRegisterCancel [ 1] IMPLICIT RouteRegisterCancel OPTIONAL, + routeRegisterAbort [ 2] IMPLICIT RouteRegisterAbort OPTIONAL, + reRoute [ 3] IMPLICIT ReRoute OPTIONAL, + routeEnd [ 4] IMPLICIT RouteEnd OPTIONAL, + routeReject [ 5] IMPLICIT RouteReject OPTIONAL, + routeRequest [ 6] IMPLICIT RouteRequest OPTIONAL, + routeSelect [ 7] IMPLICIT RouteSelect OPTIONAL, + routeUsed [ 8] IMPLICIT RouteUsed OPTIONAL } + +RouteRegister ::= BIT STRING +{ routeingDevice ( 0), -- optional parameters + requestedMonitorMediaClass ( 1), -- optional parameters + requestedMonitorMediaClassAudio ( 2), -- optional parameters + requestedMonitorMediaClassData ( 3), -- optional parameters + requestedMonitorMediaClassImage ( 4), -- optional parameters + requestedMonitorMediaClassVoice ( 5), -- optional parameters + requestedMonitorMediaClassChat (10), -- optional parameters + requestedMonitorMediaClassEmail (11), -- optional parameters + requestedMonitorMediaClassMessage (12), -- optional parameters + requestedMonitorMediaClassIM (13), -- optional parameters + requestedMonitorMediaClassSMS (14), -- optional parameters + requestedMonitorMediaClassMMS (15), -- optional parameters + privateData ( 6), -- optional parameters + actualRouteingMediaClassInAck ( 7), -- optional parameters + privateDataInAck ( 8), -- optional parameters + allRouteingDevices ( 9) } -- misc characteristics + +RouteRegisterAbort ::= BIT STRING +{ privateData ( 0) } -- optional parameters + +RouteRegisterCancel ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +ReRoute ::= BIT STRING +{ replyTimeout ( 1), -- optional parameters + correlatorData ( 2), -- optional parameters + privateData ( 3) } -- optional parameters + +RouteEnd ::= BIT STRING +{ errorValue ( 1), -- optional parameters + correlatorData ( 2), -- optional parameters + privateData ( 3), -- optional parameters + supportsSending ( 4), -- misc characteristics + supportsReceiving ( 5) } -- misc characteristics + +RouteReject ::= BIT STRING +{ rejectCauseBusyOverflow ( 0), -- optional parameters + rejectCauseQueueTimeOverflow ( 1), -- optional parameters + rejectCauseCapacityOverflow ( 2), -- optional parameters + rejectCauseCalendarOverflow ( 3), -- optional parameters + rejectCauseUnknownOverflow ( 4), -- optional parameters + correlatorData ( 5), -- optional parameters + privateData ( 6) } -- optional parameters + +RouteRequest ::= BIT STRING +{ callingDevice ( 0), -- optional parameters + routeingDevice ( 1), -- optional parameters + routeSelAlgorithmACD ( 2), -- optional parameters + routeSelAlgorithmEmergency ( 3), -- optional parameters + routeSelAlgorithmLeastCost ( 4), -- optional parameters + routeSelAlgorithmNormal ( 5), -- optional parameters + routeSelAlgorithmUserDefined ( 6), -- optional parameters + priority ( 7), -- optional parameters + replyTimeout ( 8), -- optional parameters + correlatorData ( 9), -- optional parameters + mediaCallCharacteristics (10), -- optional parameters + callCharacteristics (11), -- optional parameters + routedCallInfo (12), -- optional parameters + subjectOfCall (15), -- optional parameters + messageInformation (16), -- optional parameters + languagePreferences (17), -- optional parameters + deviceHistory (18), -- optional parameters + privateData (13), -- optional parameters + nonCallRelatedRouteing (14) } -- misc characteristics + +RouteSelect ::= BIT STRING +{ alternateRoutes ( 0), -- optional parameters + remainRetriesNoListAvailable ( 1), -- optional parameters + remainRetriesNoCountAvailable ( 2), -- optional parameters + remainRetriesRetryCount ( 3), -- optional parameters + routeUsed ( 4), -- optional parameters + correlatorData ( 5), -- optional parameters + privateData ( 6) } -- optional parameters + +RouteUsed ::= BIT STRING +{ callingDevice ( 0), -- optional parameters + domain ( 1), -- optional parameters + correlatorData ( 2), -- optional parameters + privateData ( 3) } -- optional parameters + +PhysDevServList ::= SEQUENCE +{ buttonPress [ 0] IMPLICIT ButtonPress OPTIONAL, + getAuditoryApparatusInfo [ 1] IMPLICIT GetAuditoryApparatusInfo OPTIONAL, + getButtonInformation [ 2] IMPLICIT GetButtonInformation OPTIONAL, + getDisplay [ 3] IMPLICIT GetDisplay OPTIONAL, + getHookSwitchStatus [ 4] IMPLICIT GetHookSwitchStatus OPTIONAL, + getLampInfo [ 5] IMPLICIT GetLampInfo OPTIONAL, + getLampMode [ 6] IMPLICIT GetLampMode OPTIONAL, + getMessageWaitingIndicator [ 7] IMPLICIT GetMessageWaitingIndicator OPTIONAL, + getMicrophoneGain [ 8] IMPLICIT GetMicrophoneGain OPTIONAL, + getMicrophoneMute [ 9] IMPLICIT GetMicrophoneMute OPTIONAL, + getRingerStatus [10] IMPLICIT GetRingerStatus OPTIONAL, + getSpeakerMute [11] IMPLICIT GetSpeakerMute OPTIONAL, + getSpeakerVolume [12] IMPLICIT GetSpeakerVolume OPTIONAL, + setButtonInformation [13] IMPLICIT SetButtonInformation OPTIONAL, + setDisplay [14] IMPLICIT SetDisplay OPTIONAL, + setHookSwitchStatus [15] IMPLICIT SetHookSwitchStatus OPTIONAL, + setLampMode [16] IMPLICIT SetLampMode OPTIONAL, + setMessageWaitingIndicator [17] IMPLICIT SetMessageWaitingIndicator OPTIONAL, + setMicrophoneGain [18] IMPLICIT SetMicrophoneGain OPTIONAL, + setMicrophoneMute [19] IMPLICIT SetMicrophoneMute OPTIONAL, + setRingerStatus [20] IMPLICIT SetRingerStatus OPTIONAL, + setSpeakerMute [21] IMPLICIT SetSpeakerMute OPTIONAL, + setSpeakerVolume [22] IMPLICIT SetSpeakerVolume OPTIONAL } + +ButtonPress ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1), -- optional parameters + ackModelMultiStep ( 2) } -- misc characteristics + +GetAuditoryApparatusInfo ::= BIT STRING +{ auditoryApparatus ( 0), -- optional parameters + privateData ( 1), -- optional parameters + auditoryApparatusTypeSpeakerphone ( 2), -- optional parameters + auditoryApparatusTypeHandset ( 3), -- optional parameters + auditoryApparatusTypeHeadset ( 4), -- optional parameters + auditoryApparatusTypeSpeakerOnlyPhone ( 5), -- optional parameters + auditoryApparatusTypeother ( 6), -- optional parameters + speakerPresent ( 7), -- optional parameters + speakerVolumeSettable ( 8), -- optional parameters + speakerVolumeReadable ( 9), -- optional parameters + speakerMuteSettable (10), -- optional parameters + speakerMuteReadable (11), -- optional parameters + microphonePresent (12), -- optional parameters + microphoneGainSettable (13), -- optional parameters + microphoneGainReadable (14), -- optional parameters + microphoneMuteSettable (15), -- optional parameters + microphoneMuteReadable (16), -- optional parameters + hookswitchSettable (17), -- optional parameters + hookswitchOnHook (18), -- optional parameters + privateDataInAck (19) } -- optional parameters + +GetButtonInformation ::= BIT STRING +{ button ( 0), -- optional parameters + privateData ( 1), -- optional parameters + buttonLabelInAck ( 2), -- optional parameters + buttonLabelSettableInAck ( 3), -- optional parameters + buttonFunctionInAck ( 4), -- optional parameters + buttonAssociatedNumberInAck ( 5), -- optional parameters + buttonAssociatedNumberSettableInAck ( 6), -- optional parameters + listOfLampsInAck ( 7), -- optional parameters + privateDataInAck ( 8) } -- optional parameters + +GetDisplay ::= BIT STRING +{ displayID ( 0), -- optional parameters + privateData ( 1), -- optional parameters + characterSetASCII ( 2), -- optional parameters + characterSetUnicode ( 3), -- optional parameters + characterSetProprietary ( 4), -- optional parameters + privateDataInAck ( 5) } -- optional parameters + +GetHookSwitchStatus ::= BIT STRING +{ hookSwitch ( 0), -- optional parameters + privateData ( 1), -- optional parameters + privateDataInAck ( 2) } -- optional parameters + +GetLampInfo ::= BIT STRING +{ lamp ( 0), -- optional parameters + privateData ( 1), -- optional parameters + lampLabelInAck ( 2), -- optional parameters + buttonInAck ( 3), -- optional parameters + lampColorInAck ( 4), -- optional parameters + privateDataInAck ( 5) } -- optional parameters + +GetLampMode ::= BIT STRING +{ lamp ( 0), -- optional parameters + privateData ( 1), -- optional parameters + lampModeInAck ( 2), -- optional parameters + lampBrightnessNormal ( 3), -- optional parameters + lampBrightnessDim ( 4), -- optional parameters + lampBrightnessBright ( 5), -- optional parameters + lampColorInAck ( 6), -- optional parameters + buttonInAck ( 7), -- optional parameters + privateDataInAck ( 8) } -- optional parameters + +GetMessageWaitingIndicator ::= BIT STRING +{ privateData ( 0), -- optional parameter + deviceForMsgInAck ( 1), -- optional parameter + lampIsPresentInAck ( 2), -- optional parameter + privateDataInAck ( 3) } -- optional parameters + +GetMicrophoneGain ::= BIT STRING +{ auditoryApparatus ( 0), -- optional parameters + privateData ( 1), -- optional parameters + micGainAbsInAck ( 2), -- optional parameters + privateDataInAck ( 3) } -- optional parameters + +GetMicrophoneMute ::= BIT STRING +{ auditoryApparatus ( 0), -- optional parameters + privateData ( 1), -- optional parameters + privateDataInAck ( 2) } -- optional parameters + +GetRingerStatus ::= BIT STRING +{ ringer ( 0), -- optional parameters + privateData ( 1), -- optional parameters + ringCountInAck ( 2), -- optional parameters + ringPatternInAck ( 3), -- optional parameters + ringVolumeInAck ( 4), -- optional parameters + ringVolumeAbsInAck ( 5), -- optional parameters + privateDataInAck ( 6) } -- optional parameters + +GetSpeakerMute ::= BIT STRING +{ auditoryApparatus ( 0), -- optional parameters + privateDataInAck ( 1), -- optional parameters + privateData ( 2) } -- optional parameters + +GetSpeakerVolume ::= BIT STRING +{ auditoryApparatus ( 0), -- optional parameters + privateData ( 1), -- optional parameters + speakerVolAbsInAck ( 2), -- optional parameters + privateDataInAck ( 3) } -- optional parameters + +SetButtonInformation ::= BIT STRING +{ buttonLabel ( 0), -- optional parameters + buttonAssociatedNumber ( 1), -- optional parameters + privateData ( 2), -- optional parameters + privateDataInAck ( 3), -- optional parameters + ackModelMultiStep ( 4) } -- misc characteristics + +SetDisplay ::= BIT STRING +{ physBaseRowNumber ( 0), -- optional parameters + physColumnRowNumber ( 1), -- optional parameters + offset ( 2), -- optional parameters + privateData ( 3), -- optional parameters + privateDataInAck ( 4), -- optional parameters + supportsModifyingPosition ( 5), -- misc characteristics + ackModelMultiStep ( 6) } -- misc characteristics + +SetHookSwitchStatus ::= BIT STRING +{ privateData ( 0), -- optional parameters + ackModelMultiStep ( 1) } -- misc characteristics + +SetLampMode ::= BIT STRING +{ lampModeBrokenFlutter ( 0), -- optional parameter + lampModeFlutter ( 1), -- optional parameter + lampModeOff ( 2), -- optional parameter + lampModeSteady ( 3), -- optional parameter + lampModeWink ( 4), -- optional parameter + lampModeReserved ( 5), -- optional parameter + lampModeSf0 ( 6), -- optional parameters + lampModeSf1 ( 7), -- optional parameters + lampModeSf2 ( 8), -- optional parameters + lampModeSf3 ( 9), -- optional parameters + lampModeSf4 ( 10), -- optional parameters + lampModeSf5 ( 11), -- optional parameters + lampModeSf6 ( 12), -- optional parameters + lampModeSf7 ( 13), -- optional parameters + lampModeSf8 ( 14), -- optional parameters + lampModeSf9 ( 15), -- optional parameters + lampModeSf10 ( 16), -- optional parameters + lampModeSf11 ( 17), -- optional parameters + lampModeSf12 ( 18), -- optional parameters + lampModeSf13 ( 19), -- optional parameters + lampModeSf14 ( 20), -- optional parameters + lampModeSf15 ( 21), -- optional parameters + lampModeSf16 ( 22), -- optional parameters + lampModeSf17 ( 23), -- optional parameters + lampModeSf18 ( 24), -- optional parameters + lampModeSf19 ( 25), -- optional parameters + lampModeSf20 ( 26), -- optional parameters + lampModeSf21 ( 27), -- optional parameters + lampModeSf22 ( 28), -- optional parameters + lampModeSf23 ( 29), -- optional parameters + lampModeSf24 ( 30), -- optional parameters + lampModeSf25 ( 31), -- optional parameters + lampModeSf26 ( 32), -- optional parameters + lampModeSf27 ( 33), -- optional parameters + lampModeSf28 ( 34), -- optional parameters + lampModeSf29 ( 35), -- optional parameters + lampModeSf30 ( 36), -- optional parameters + lampModeSf31 ( 37), -- optional parameters + lampModeSf32 ( 38), -- optional parameters + lampModeSf33 ( 39), -- optional parameters + lampModeSf34 ( 40), -- optional parameters + lampModeSf35 ( 41), -- optional parameters + lampModeSf36 ( 42), -- optional parameters + lampModeSf37 ( 43), -- optional parameters + lampModeSf38 ( 44), -- optional parameters + lampModeSf39 ( 45), -- optional parameters + lampModeSf40 ( 46), -- optional parameters + lampModeSf41 ( 47), -- optional parameters + lampModeSf42 ( 48), -- optional parameters + lampModeSf43 ( 49), -- optional parameters + lampModeSf44 ( 50), -- optional parameters + lampModeSf45 ( 51), -- optional parameters + lampModeSf46 ( 52), -- optional parameters + lampModeSf47 ( 53), -- optional parameters + lampModeSf48 ( 54), -- optional parameters + lampModeSf49 ( 55), -- optional parameters + lampModeSf50 ( 56), -- optional parameters + lampModeSf51 ( 57), -- optional parameters + lampModeSf52 ( 58), -- optional parameters + lampModeSf53 ( 59), -- optional parameters + lampModeSf54 ( 60), -- optional parameters + lampModeSf55 ( 61), -- optional parameters + lampModeSf56 ( 62), -- optional parameters + lampModeSf57 ( 63), -- optional parameters + lampModeSf58 ( 64), -- optional parameters + lampModeSf59 ( 65), -- optional parameters + lampModeSf60 ( 66), -- optional parameters + lampModeSf61 ( 67), -- optional parameters + lampModeSf62 ( 68), -- optional parameters + lampModeSf63 ( 69), -- optional parameters + lampModeSf64 ( 70), -- optional parameters + lampModeSf65 ( 71), -- optional parameters + lampModeSf66 ( 72), -- optional parameters + lampModeSf67 ( 73), -- optional parameters + lampModeSf68 ( 74), -- optional parameters + lampModeSf69 ( 75), -- optional parameters + lampModeSf70 ( 76), -- optional parameters + lampModeSf71 ( 77), -- optional parameters + lampModeSf72 ( 78), -- optional parameters + lampModeSf73 ( 79), -- optional parameters + lampModeSf74 ( 80), -- optional parameters + lampModeSf75 ( 81), -- optional parameters + lampModeSf76 ( 82), -- optional parameters + lampModeSf77 ( 83), -- optional parameters + lampModeSf78 ( 84), -- optional parameters + lampModeSf79 ( 85), -- optional parameters + lampModeSf80 ( 86), -- optional parameters + lampModeSf81 ( 87), -- optional parameters + lampModeSf82 ( 88), -- optional parameters + lampModeSf83 ( 89), -- optional parameters + lampModeSf84 ( 90), -- optional parameters + lampModeSf85 ( 91), -- optional parameters + lampModeSf86 ( 92), -- optional parameters + lampModeSf87 ( 93), -- optional parameters + lampModeSf88 ( 94), -- optional parameters + lampModeSf89 ( 95), -- optional parameters + lampModeSf90 ( 96), -- optional parameters + lampModeSf91 ( 97), -- optional parameters + lampModeSf92 ( 98), -- optional parameters + lampModeSf93 ( 99), -- optional parameters + lampModeSf94 (100), -- optional parameters + lampBrightnessNormal (101), -- optional parameters + lampBrightnessDim (102), -- optional parameters + lampBrightnessBright (103), -- optional parameters + lampColorNoColor (104), -- optional parameters + lampColorRed (105), -- optional parameters + lampColorYellow (106), -- optional parameters + lampColorGreen (107), -- optional parameters + lampColorBlue (108), -- optional parameters + lampColorReserved (109), -- optional parameters + lampColorSf0 (110), -- optional parameters + lampColorSf1 (111), -- optional parameters + lampColorSf2 (112), -- optional parameters + lampColorSf3 (113), -- optional parameters + lampColorSf4 (114), -- optional parameters + lampColorSf5 (115), -- optional parameters + lampColorSf6 (116), -- optional parameters + lampColorSf7 (117), -- optional parameters + lampColorSf8 (118), -- optional parameters + lampColorSf9 (119), -- optional parameters + lampColorSf10 (120), -- optional parameters + lampColorSf11 (121), -- optional parameters + lampColorSf12 (122), -- optional parameters + lampColorSf13 (123), -- optional parameters + lampColorSf14 (124), -- optional parameters + lampColorSf15 (125), -- optional parameters + lampColorSf16 (126), -- optional parameters + lampColorSf17 (127), -- optional parameters + lampColorSf18 (128), -- optional parameters + lampColorSf19 (129), -- optional parameters + lampColorSf20 (130), -- optional parameters + lampColorSf21 (131), -- optional parameters + lampColorSf22 (132), -- optional parameters + lampColorSf23 (133), -- optional parameters + lampColorSf24 (134), -- optional parameters + lampColorSf25 (135), -- optional parameters + lampColorSf26 (136), -- optional parameters + lampColorSf27 (137), -- optional parameters + lampColorSf28 (138), -- optional parameters + lampColorSf29 (139), -- optional parameters + lampColorSf30 (140), -- optional parameters + lampColorSf31 (141), -- optional parameters + lampColorSf32 (142), -- optional parameters + lampColorSf33 (143), -- optional parameters + lampColorSf34 (144), -- optional parameters + lampColorSf35 (145), -- optional parameters + lampColorSf36 (146), -- optional parameters + lampColorSf37 (147), -- optional parameters + lampColorSf38 (148), -- optional parameters + lampColorSf39 (149), -- optional parameters + lampColorSf40 (150), -- optional parameters + lampColorSf41 (151), -- optional parameters + lampColorSf42 (152), -- optional parameters + lampColorSf43 (153), -- optional parameters + lampColorSf44 (154), -- optional parameters + lampColorSf45 (155), -- optional parameters + lampColorSf46 (156), -- optional parameters + lampColorSf47 (157), -- optional parameters + lampColorSf48 (158), -- optional parameters + lampColorSf49 (159), -- optional parameters + lampColorSf50 (160), -- optional parameters + lampColorSf51 (161), -- optional parameters + lampColorSf52 (162), -- optional parameters + lampColorSf53 (163), -- optional parameters + lampColorSf54 (164), -- optional parameters + lampColorSf55 (165), -- optional parameters + lampColorSf56 (166), -- optional parameters + lampColorSf57 (167), -- optional parameters + lampColorSf58 (168), -- optional parameters + lampColorSf59 (169), -- optional parameters + lampColorSf60 (170), -- optional parameters + lampColorSf61 (171), -- optional parameters + lampColorSf62 (172), -- optional parameters + lampColorSf63 (173), -- optional parameters + lampColorSf64 (174), -- optional parameters + lampColorSf65 (175), -- optional parameters + lampColorSf66 (176), -- optional parameters + lampColorSf67 (177), -- optional parameters + lampColorSf68 (178), -- optional parameters + lampColorSf69 (179), -- optional parameters + lampColorSf70 (180), -- optional parameters + lampColorSf71 (181), -- optional parameters + lampColorSf72 (182), -- optional parameters + lampColorSf73 (183), -- optional parameters + lampColorSf74 (184), -- optional parameters + lampColorSf75 (185), -- optional parameters + lampColorSf76 (186), -- optional parameters + lampColorSf77 (187), -- optional parameters + lampColorSf78 (188), -- optional parameters + lampColorSf79 (189), -- optional parameters + lampColorSf80 (190), -- optional parameters + lampColorSf81 (191), -- optional parameters + lampColorSf82 (192), -- optional parameters + lampColorSf83 (193), -- optional parameters + lampColorSf84 (194), -- optional parameters + lampColorSf85 (195), -- optional parameters + lampColorSf86 (196), -- optional parameters + lampColorSf87 (197), -- optional parameters + lampColorSf88 (198), -- optional parameters + lampColorSf89 (199), -- optional parameters + lampColorSf90 (200), -- optional parameters + lampColorSf91 (201), -- optional parameters + lampColorSf92 (202), -- optional parameters + lampColorSf93 (203), -- optional parameters + lampColorSf94 (204), -- optional parameters + privateData (205), -- optional parameters + privateDataInAck (206), -- optional parameters + ackModelMultiStep (207) } -- misc characteristics + +SetMessageWaitingIndicator ::= BIT STRING +{ deviceForMsg ( 0), -- optional parameters + privateData ( 1), -- optional parameters + privateDataInAck ( 2), -- optional parameters + ackModelMultiStep ( 3) } -- misc characteristics + +SetMicrophoneGain ::= BIT STRING +{ microphoneGainAbs ( 0), -- optional parameters + microphoneGainInc ( 1), -- optional parameters + privateData ( 2), -- optional parameters + privateDataInAck ( 3), -- optional parameters + ackModelMultiStep ( 4) } -- misc characteristics + +SetMicrophoneMute ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1), -- optional parameters + ackModelMultiStep ( 2) } -- misc characteristics + +SetRingerStatus ::= BIT STRING +{ ringerModeRinging ( 0), -- optional parameters + ringerModeNotRinging ( 1), -- optional parameters + ringVolumeAbs ( 2), -- optional parameters + ringVolumeInc ( 3), -- optional parameters + privateData ( 4), -- optional parameters + privateDataInAck ( 5), -- optional parameters + ackModelMultiStep ( 6) } -- misc characteristics + +SetSpeakerMute ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1), -- optional parameters + ackModelMultiStep ( 2) } -- misc characteristics + +SetSpeakerVolume ::= BIT STRING +{ speakerVolumeAbs ( 0), -- optional parameters + speakerVolumeInc ( 1), -- optional parameters + privateData ( 2), -- optional parameters + privateDataInAck ( 3), -- optional parameters + ackModelMultiStep ( 4), -- misc characteristics + resettedAfterCall ( 5), -- misc characteristics + notSettableWhileActive ( 6) } -- misc characteristics + +PhysDevEvtsList ::= SEQUENCE +{ buttonInformation [ 0] IMPLICIT ButtonInformation OPTIONAL, + buttonPress [ 1] IMPLICIT ButtonPressEvent OPTIONAL, + displayUpdated [ 2] IMPLICIT DisplayUpdated OPTIONAL, + hookswitch [ 3] IMPLICIT Hookswitch OPTIONAL, + lampMode [ 4] IMPLICIT LampMode OPTIONAL, + messageWaiting [ 5] IMPLICIT MessageWaiting OPTIONAL, + microphoneGain [ 6] IMPLICIT MicrophoneGain OPTIONAL, + microphoneMute [ 7] IMPLICIT MicrophoneMute OPTIONAL, + ringerStatus [ 8] IMPLICIT RingerStatus OPTIONAL, + speakerMute [ 9] IMPLICIT SpeakerMute OPTIONAL, + speakerVolume [10] IMPLICIT SpeakerVolume OPTIONAL } + +ButtonInformation ::= BIT STRING +{ buttonLabel ( 0), -- optional parameters + buttonAssociatedNumber ( 1), -- optional parameters + buttonPressIndicator ( 2), -- optional parameters + privateData ( 3) } -- optional parameters + +ButtonPressEvent ::= BIT STRING +{ buttonLabel ( 0), -- optional parameters + buttonAssociatedNumber ( 1), -- optional parameters + privateData ( 2) } -- optional parameters + +DisplayUpdated ::= BIT STRING +{ characterSetASCII ( 0), -- optional parameters + characterSetUnicode ( 1), -- optional parameters + characterSetProprietary ( 2), -- optional parameters + privateData ( 3) } -- optional parameters + +Hookswitch ::= BIT STRING +{ privateData ( 0) } -- optional parameters + +LampMode ::= BIT STRING +{ lampModeBrokenFlutter ( 0), -- optional parameters + lampModeFlutter ( 1), -- optional parameters + lampModeOff ( 2), -- optional parameters + lampModeSteady ( 3), -- optional parameters + lampModeWink ( 4), -- optional parameters + lampModeReserved ( 5), -- optional parameters + lampModeSf0 ( 6), -- optional parameters + lampModeSf1 ( 7), -- optional parameters + lampModeSf2 ( 8), -- optional parameters + lampModeSf3 ( 9), -- optional parameters + lampModeSf4 ( 10), -- optional parameters + lampModeSf5 ( 11), -- optional parameters + lampModeSf6 ( 12), -- optional parameters + lampModeSf7 ( 13), -- optional parameters + lampModeSf8 ( 14), -- optional parameters + lampModeSf9 ( 15), -- optional parameters + lampModeSf10 ( 16), -- optional parameters + lampModeSf11 ( 17), -- optional parameters + lampModeSf12 ( 18), -- optional parameters + lampModeSf13 ( 19), -- optional parameters + lampModeSf14 ( 20), -- optional parameters + lampModeSf15 ( 21), -- optional parameters + lampModeSf16 ( 22), -- optional parameters + lampModeSf17 ( 23), -- optional parameters + lampModeSf18 ( 24), -- optional parameters + lampModeSf19 ( 25), -- optional parameters + lampModeSf20 ( 26), -- optional parameters + lampModeSf21 ( 27), -- optional parameters + lampModeSf22 ( 28), -- optional parameters + lampModeSf23 ( 29), -- optional parameters + lampModeSf24 ( 30), -- optional parameters + lampModeSf25 ( 31), -- optional parameters + lampModeSf26 ( 32), -- optional parameters + lampModeSf27 ( 33), -- optional parameters + lampModeSf28 ( 34), -- optional parameters + lampModeSf29 ( 35), -- optional parameters + lampModeSf30 ( 36), -- optional parameters + lampModeSf31 ( 37), -- optional parameters + lampModeSf32 ( 38), -- optional parameters + lampModeSf33 ( 39), -- optional parameters + lampModeSf34 ( 40), -- optional parameters + lampModeSf35 ( 41), -- optional parameters + lampModeSf36 ( 42), -- optional parameters + lampModeSf37 ( 43), -- optional parameters + lampModeSf38 ( 44), -- optional parameters + lampModeSf39 ( 45), -- optional parameters + lampModeSf40 ( 46), -- optional parameters + lampModeSf41 ( 47), -- optional parameters + lampModeSf42 ( 48), -- optional parameters + lampModeSf43 ( 49), -- optional parameters + lampModeSf44 ( 50), -- optional parameters + lampModeSf45 ( 51), -- optional parameters + lampModeSf46 ( 52), -- optional parameters + lampModeSf47 ( 53), -- optional parameters + lampModeSf48 ( 54), -- optional parameters + lampModeSf49 ( 55), -- optional parameters + lampModeSf50 ( 56), -- optional parameters + lampModeSf51 ( 57), -- optional parameters + lampModeSf52 ( 58), -- optional parameters + lampModeSf53 ( 59), -- optional parameters + lampModeSf54 ( 60), -- optional parameters + lampModeSf55 ( 61), -- optional parameters + lampModeSf56 ( 62), -- optional parameters + lampModeSf57 ( 63), -- optional parameters + lampModeSf58 ( 64), -- optional parameters + lampModeSf59 ( 65), -- optional parameters + lampModeSf60 ( 66), -- optional parameters + lampModeSf61 ( 67), -- optional parameters + lampModeSf62 ( 68), -- optional parameters + lampModeSf63 ( 69), -- optional parameters + lampModeSf64 ( 70), -- optional parameters + lampModeSf65 ( 71), -- optional parameters + lampModeSf66 ( 72), -- optional parameters + lampModeSf67 ( 73), -- optional parameters + lampModeSf68 ( 74), -- optional parameters + lampModeSf69 ( 75), -- optional parameters + lampModeSf70 ( 76), -- optional parameters + lampModeSf71 ( 77), -- optional parameters + lampModeSf72 ( 78), -- optional parameters + lampModeSf73 ( 79), -- optional parameters + lampModeSf74 ( 80), -- optional parameters + lampModeSf75 ( 81), -- optional parameters + lampModeSf76 ( 82), -- optional parameters + lampModeSf77 ( 83), -- optional parameters + lampModeSf78 ( 84), -- optional parameters + lampModeSf79 ( 85), -- optional parameters + lampModeSf80 ( 86), -- optional parameters + lampModeSf81 ( 87), -- optional parameters + lampModeSf82 ( 88), -- optional parameters + lampModeSf83 ( 89), -- optional parameters + lampModeSf84 ( 90), -- optional parameters + lampModeSf85 ( 91), -- optional parameters + lampModeSf86 ( 92), -- optional parameters + lampModeSf87 ( 93), -- optional parameters + lampModeSf88 ( 94), -- optional parameters + lampModeSf89 ( 95), -- optional parameters + lampModeSf90 ( 96), -- optional parameters + lampModeSf91 ( 97), -- optional parameters + lampModeSf92 ( 98), -- optional parameters + lampModeSf93 ( 99), -- optional parameters + lampModeSf94 (100), -- optional parameters + lampBrightnessNormal (101), -- optional parameters + lampBrightnessDim (102), -- optional parameters + lampBrightnessBright (103), -- optional parameters + lampColorNoColor (104), -- optional parameters + lampColorRed (105), -- optional parameters + lampColorYellow (106), -- optional parameters + lampColorGreen (107), -- optional parameters + lampColorBlue (108), -- optional parameters + lampColorReserved (109), -- optional parameters + lampColorSf0 (110), -- optional parameters + lampColorSf1 (111), -- optional parameters + lampColorSf2 (112), -- optional parameters + lampColorSf3 (113), -- optional parameters + lampColorSf4 (114), -- optional parameters + lampColorSf5 (115), -- optional parameters + lampColorSf6 (116), -- optional parameters + lampColorSf7 (117), -- optional parameters + lampColorSf8 (118), -- optional parameters + lampColorSf9 (119), -- optional parameters + lampColorSf10 (120), -- optional parameters + lampColorSf11 (121), -- optional parameters + lampColorSf12 (122), -- optional parameters + lampColorSf13 (123), -- optional parameters + lampColorSf14 (124), -- optional parameters + lampColorSf15 (125), -- optional parameters + lampColorSf16 (126), -- optional parameters + lampColorSf17 (127), -- optional parameters + lampColorSf18 (128), -- optional parameters + lampColorSf19 (129), -- optional parameters + lampColorSf20 (130), -- optional parameters + lampColorSf21 (131), -- optional parameters + lampColorSf22 (132), -- optional parameters + lampColorSf23 (133), -- optional parameters + lampColorSf24 (134), -- optional parameters + lampColorSf25 (135), -- optional parameters + lampColorSf26 (136), -- optional parameters + lampColorSf27 (137), -- optional parameters + lampColorSf28 (138), -- optional parameters + lampColorSf29 (139), -- optional parameters + lampColorSf30 (140), -- optional parameters + lampColorSf31 (141), -- optional parameters + lampColorSf32 (142), -- optional parameters + lampColorSf33 (143), -- optional parameters + lampColorSf34 (144), -- optional parameters + lampColorSf35 (145), -- optional parameters + lampColorSf36 (146), -- optional parameters + lampColorSf37 (147), -- optional parameters + lampColorSf38 (148), -- optional parameters + lampColorSf39 (149), -- optional parameters + lampColorSf40 (150), -- optional parameters + lampColorSf41 (151), -- optional parameters + lampColorSf42 (152), -- optional parameters + lampColorSf43 (153), -- optional parameters + lampColorSf44 (154), -- optional parameters + lampColorSf45 (155), -- optional parameters + lampColorSf46 (156), -- optional parameters + lampColorSf47 (157), -- optional parameters + lampColorSf48 (158), -- optional parameters + lampColorSf49 (159), -- optional parameters + lampColorSf50 (160), -- optional parameters + lampColorSf51 (161), -- optional parameters + lampColorSf52 (162), -- optional parameters + lampColorSf53 (163), -- optional parameters + lampColorSf54 (164), -- optional parameters + lampColorSf55 (165), -- optional parameters + lampColorSf56 (166), -- optional parameters + lampColorSf57 (167), -- optional parameters + lampColorSf58 (168), -- optional parameters + lampColorSf59 (169), -- optional parameters + lampColorSf60 (170), -- optional parameters + lampColorSf61 (171), -- optional parameters + lampColorSf62 (172), -- optional parameters + lampColorSf63 (173), -- optional parameters + lampColorSf64 (174), -- optional parameters + lampColorSf65 (175), -- optional parameters + lampColorSf66 (176), -- optional parameters + lampColorSf67 (177), -- optional parameters + lampColorSf68 (178), -- optional parameters + lampColorSf69 (179), -- optional parameters + lampColorSf70 (180), -- optional parameters + lampColorSf71 (181), -- optional parameters + lampColorSf72 (182), -- optional parameters + lampColorSf73 (183), -- optional parameters + lampColorSf74 (184), -- optional parameters + lampColorSf75 (185), -- optional parameters + lampColorSf76 (186), -- optional parameters + lampColorSf77 (187), -- optional parameters + lampColorSf78 (188), -- optional parameters + lampColorSf79 (189), -- optional parameters + lampColorSf80 (190), -- optional parameters + lampColorSf81 (191), -- optional parameters + lampColorSf82 (192), -- optional parameters + lampColorSf83 (193), -- optional parameters + lampColorSf84 (194), -- optional parameters + lampColorSf85 (195), -- optional parameters + lampColorSf86 (196), -- optional parameters + lampColorSf87 (197), -- optional parameters + lampColorSf88 (198), -- optional parameters + lampColorSf89 (199), -- optional parameters + lampColorSf90 (200), -- optional parameters + lampColorSf91 (201), -- optional parameters + lampColorSf92 (202), -- optional parameters + lampColorSf93 (203), -- optional parameters + lampColorSf94 (204), -- optional parameters + privateData (205) } -- optional parameters + +MessageWaiting ::= BIT STRING +{ deviceForMsg ( 0), -- optional parameters + privateData ( 1) } -- optional parameters + +MicrophoneGain ::= BIT STRING +{ microphoneGainAbs ( 0), -- optional parameters + microphoneGainInc ( 1), -- optional parameters + privateData ( 2) } -- optional parameters + +MicrophoneMute ::= BIT STRING +{ privateData ( 0) } -- optional parameters + +RingerStatus ::= BIT STRING +{ ringerModeRinging ( 0), -- optional parameters + ringerModeNotRinging ( 1), -- optional parameters + ringCount ( 2), -- optional parameters + ringPattern ( 3), -- optional parameters + ringVolumeAbs ( 4), -- optional parameters + ringVolumeInc ( 5), -- optional parameters + privateData ( 6) } -- optional parameters + +SpeakerMute ::= BIT STRING +{ privateData ( 0) } -- optional parameters + +SpeakerVolume ::= BIT STRING +{ speakerVolumeAbs ( 0), -- optional parameters + speakerVolumeInc ( 1), -- optional parameters + privateData ( 2) } -- optional parameters + +LogicalServList ::= SEQUENCE +{ callBackNonCallRel [ 0] IMPLICIT CallBackNonCallRel OPTIONAL, + callBackMsgNonCallRel [ 1] IMPLICIT CallBackMsgNonCallRel OPTIONAL, + cancelCallBack [ 2] IMPLICIT CancelCallBack OPTIONAL, + cancelCallBackMsg [ 3] IMPLICIT CancelCallBackMsg OPTIONAL, + getAgentState [ 4] IMPLICIT GetAgentState OPTIONAL, + getAutoAnswer [ 5] IMPLICIT GetAutoAnswer OPTIONAL, + getAutoWorkMode [ 6] IMPLICIT GetAutoWorkMode OPTIONAL, + getCallerIDStatus [ 7] IMPLICIT GetCallerIDStatus OPTIONAL, + getCallBack [19] IMPLICIT GetCallBack OPTIONAL, + getDoNotDisturb [ 8] IMPLICIT GetDoNotDisturb OPTIONAL, + getForwarding [ 9] IMPLICIT GetForwarding OPTIONAL, + getLastNumberDialed [10] IMPLICIT GetLastNumberDialed OPTIONAL, + getPresenceState [20] IMPLICIT GetPresenceState OPTIONAL, + getRouteingMode [11] IMPLICIT GetRouteingMode OPTIONAL, + setAgentState [12] IMPLICIT SetAgentState OPTIONAL, + setAutoAnswer [13] IMPLICIT SetAutoAnswer OPTIONAL, + setAutoWorkMode [14] IMPLICIT SetAutoWorkMode OPTIONAL, + setCallerIDStatus [15] IMPLICIT SetCallerIDStatus OPTIONAL, + setDoNotDisturb [16] IMPLICIT SetDoNotDisturb OPTIONAL, + setForwarding [17] IMPLICIT SetForwarding OPTIONAL, + setPresenceState [21] IMPLICIT SetPresenceState OPTIONAL, + setRouteingMode [18] IMPLICIT SetRouteingMode OPTIONAL } + +CallBackNonCallRel ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1), -- optional parameters + additionalReqForbidden ( 2), -- optional parameters + ackModelMultiStep ( 3) } -- misc characteristics + +CallBackMsgNonCallRel ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1), -- optional parameters + additionalReqForbidden ( 2), -- optional parameters + ackModelMultiStep ( 3) } -- misc characteristics + +CancelCallBack ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1), -- optional parameters + ackModelMultiStep ( 2), -- misc characteristics + supportsClearing ( 3) } -- misc characteristics + +CancelCallBackMsg ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1), -- optional parameters + ackModelMultiStep ( 2), -- misc characteristics + supportsClearing ( 3) } -- misc characteristics + +GetAgentState ::= BIT STRING +{ acdGroup ( 0), -- optional parameters + privateData ( 1), -- optional parameters + agentStateListAgentIDInAck ( 2), -- optional parameters + agentGroupInAck ( 3), -- optional parameters + pendingAgentStateInAck ( 4), -- optional parameters + agentStateConditionForcedPauseInAck ( 5), -- optional parameters + agentStateConditionPauseInAck ( 6), -- optional parameters + privateDataInAck ( 7) } -- optional parameters + +GetAutoAnswer ::= BIT STRING +{ privateData ( 0), -- optional parameters + numberOfRingsInAck ( 1), -- optional parameters + privateDataInAck ( 2) } -- optional parameters + +GetAutoWorkMode ::= BIT STRING +{ privateData ( 0), -- optional parameters + autoWorkIntervalInAck ( 1), -- optional parameters + privateDataInAck ( 2) } -- optional parameters + +GetCallerIDStatus ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +GetCallBack ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +GetDoNotDisturb ::= BIT STRING +{ privateData ( 0), -- optional parameters + callOriginParameterInAck ( 1), -- optional parameters + callOriginInternInAck ( 2), -- optional parameters + callOriginExternInAck ( 3), -- optional parameters + callingDeviceListInAck ( 4), -- optional parameters + privateDataInAck ( 5) } -- optional parameters + +GetForwarding ::= BIT STRING +{ privateData ( 0), -- optional parameters + forwardListInAck ( 1), -- optional parameters + forwardListImmediateInAck ( 2), -- optional parameters + forwardListBusyInAck ( 3), -- optional parameters + forwardListDNDInAck ( 4), -- optional parameters + forwardListNoAnsInAck ( 5), -- optional parameters + forwardListBusyIntInAck ( 6), -- optional parameters + forwardListBusyExtInAck ( 7), -- optional parameters + forwardListDNDIntInAck ( 8), -- optional parameters + forwardListDNDExtInAck ( 9), -- optional parameters + forwardListNoAnsIntInAck (10), -- optional parameters + forwardListNoAnsExtInAck (11), -- optional parameters + forwardListImmIntInAck (12), -- optional parameters + forwardListImmExtInAck (13), -- optional parameters + forwardDNInAck (14), -- optional parameters + forwardDefaultInAck (15), -- optional parameters + forwardDefaultTypeAndDNInAck (16), -- optional parameters + forwardDefaultTypeInAck (17), -- optional parameters + forwardDefaultDNInAck (18), -- optional parameters + ringCountInAck (19), -- optional parameters + privateDataInAck (20) } -- optional parameters + +GetLastNumberDialed ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +GetPresenceState ::= BIT STRING +{ privateData ( 0), -- optional parameters + fromTimeInAck ( 1), -- optional parameters + untilTimeInAck ( 2), -- optional parameters + placeInAck ( 3), -- optional parameters + moodInAck ( 4), -- optional parameters + namedPresenceStateInAck ( 5), -- optional parameters + privateDataInAck ( 6) } -- optional parameters + +GetRouteingMode ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +SetAgentState ::= BIT STRING +{ requestedAgentStateLoggedOn ( 0), -- optional parameters + requestedAgentStateLoggedOff ( 1), -- optional parameters + requestedAgentStateNotReady ( 2), -- optional parameters + requestedAgentStateReady ( 3), -- optional parameters + requestedAgentStateWorkingAfterCall ( 4), -- optional parameters + agentID ( 5), -- optional parameters + password ( 6), -- optional parameters + group ( 7), -- optional parameters + privateData ( 8), -- optional parameters + pendingAgentStateWorkingAfterCallInAck ( 9), -- optional parameters + pendingAgentStateNotReadyInAck (10), -- optional parameters + pendingAgentStateNullInAck (11), -- optional parameters + privateDataInAck (12), -- optional parameters + ackModelMultiStep (13), -- misc characteristics + groupDeviceAllowedInReq (14), -- misc characteristics + aCDDeviceAllowedInReq (15), -- misc characteristics + delayTransitionIfBusy (16), -- misc characteristics + delayTransitionIfWorkingAfterCall (17) } -- misc characteristics + +SetAutoAnswer ::= BIT STRING +{ numberOfRings ( 0), -- optional parameters + privateData ( 1), -- optional parameters + privateDataInAck ( 2), -- optional parameters + ackModelMultiStep ( 3) } -- misc characteristics + +SetAutoWorkMode ::= BIT STRING +{ autoWorkInterval ( 0), -- optional parameters + privateData ( 1), -- optional parameters + privateDataInAck ( 2), -- optional parameters + ackModelMultiStep ( 3), -- misc characteristics + groupDeviceAllowedInReq ( 4), -- misc characteristics + aCDDeviceAllowedInReq ( 5) } -- misc characteristics + +SetCallerIDStatus ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1), -- optional parameters + ackModelMultiStep ( 2) } -- misc characteristics + +SetDoNotDisturb ::= BIT STRING +{ callOriginationInternal ( 0), -- optional parameters + callOriginationExternal ( 1), -- optional parameters + callingDeviceList ( 2), -- optional parameters + privateData ( 3), -- optional parameters + privateDataInAck ( 4), -- optional parameters + ackModelMultiStep ( 5) } -- misc characteristics + +SetForwarding ::= BIT STRING +{ forwardingTypeBusy ( 0), -- optional parameters + forwardingTypeBusyInt ( 1), -- optional parameters + forwardingTypeBusyExt ( 2), -- optional parameters + forwardingTypeDND ( 3), -- optional parameters + forwardingTypeDNDInt ( 4), -- optional parameters + forwardingTypeDNDExt ( 5), -- optional parameters + forwardingTypeNoAns ( 6), -- optional parameters + forwardingTypeNoAnsInt ( 7), -- optional parameters + forwardingTypeNoAnsExt ( 8), -- optional parameters + forwardingTypeImmediate ( 9), -- optional parameters + forwardingTypeImmInt (10), -- optional parameters + forwardingTypeImmExt (11), -- optional parameters + forwardDN (12), -- optional parameters + ringCount (13), -- optional parameters + privateData (14), -- optional parameters + privateDataInAck (15), -- optional parameters + ackModelMultiStep (16), -- misc characteristics + ringDuration (17) } -- optional parameters + +SetPresenceState ::= BIT STRING +{ fromTime ( 0), -- optional parameters + untilTime ( 1), -- optional parameters + place ( 2), -- optional parameters + mood ( 3), -- optional parameters + namedPresenceState ( 4), -- optional parameters + privateData ( 5), -- optional parameters + privateDataInAck ( 6), -- optional parameters + ackModelMultiStep ( 7) } -- misc characteristics + +SetRouteingMode ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1), -- optional parameters + ackModelMultiStep ( 2) } -- misc characteristics + +LogicalEvtsList ::= SEQUENCE +{ agentBusy [ 0] IMPLICIT AgentBusy OPTIONAL, + agentLoggedOff [ 1] IMPLICIT AgentLoggedOff OPTIONAL, + agentLoggedOn [ 2] IMPLICIT AgentLoggedOn OPTIONAL, + agentNotReady [ 3] IMPLICIT AgentNotReady OPTIONAL, + agentReady [ 4] IMPLICIT AgentReady OPTIONAL, + agentWorkingAfterCall [ 5] IMPLICIT AgentWorkingAfterCall OPTIONAL, + autoAnswer [ 6] IMPLICIT AutoAnswer OPTIONAL, + autoWorkMode [ 7] IMPLICIT AutoWorkMode OPTIONAL, + callBack [ 8] IMPLICIT CallBackEvent OPTIONAL, + callBackMessage [ 9] IMPLICIT CallBackMessageEvent OPTIONAL, + callerIDStatus [10] IMPLICIT CallerIDStatus OPTIONAL, + doNotDisturb [11] IMPLICIT DoNotDisturb OPTIONAL, + forwarding [12] IMPLICIT Forwarding OPTIONAL, + presenceState [14] IMPLICIT PresenceStateEvent OPTIONAL, + routeingMode [13] IMPLICIT RouteingMode OPTIONAL } + +AgentBusy ::= BIT STRING +{ agentID ( 0), -- optional parameters + acdGroup ( 1), -- optional parameters + pendingAgentStateWorkingAfterCall ( 2), -- optional parameters + pendingAgentStateNotReady ( 3), -- optional parameters + pendingAgentStateReady ( 4), -- optional parameters + pendingAgentStateNull ( 5), -- optional parameters + cause ( 6), -- optional parameters + privateData ( 7) } -- optional parameters + +AgentLoggedOff ::= BIT STRING +{ agentID ( 0), -- optional parameters + acdGroup ( 1), -- optional parameters + agentPassword ( 2), -- optional parameters + cause ( 3), -- optional parameters + privateData ( 4) } -- optional parameters + +AgentLoggedOn ::= BIT STRING +{ agentID ( 0), -- optional parameters + acdGroup ( 1), -- optional parameters + agentPassword ( 2), -- optional parameters + cause ( 3), -- optional parameters + privateData ( 4) } -- optional parameters + +AgentNotReady ::= BIT STRING +{ agentID ( 0), -- optional parameters + acdGroup ( 1), -- optional parameters + cause ( 2), -- optional parameters + privateData ( 3) } -- optional parameters + +AgentReady ::= BIT STRING +{ agentID ( 0), -- optional parameters + acdGroup ( 1), -- optional parameters + cause ( 2), -- optional parameters + privateData ( 3) } -- optional parameters + +AgentWorkingAfterCall ::= BIT STRING +{ agentID ( 0), -- optional parameters + acdGroup ( 1), -- optional parameters + pendingAgentStateNotReady ( 2), -- optional parameters + pendingAgentStateReady ( 3), -- optional parameters + pendingAgentStateNull ( 4), -- optional parameters + cause ( 5), -- optional parameters + privateData ( 6) } -- optional parameters + +AutoAnswer ::= BIT STRING +{ numberOfRings ( 0), -- optional parameters + privateData ( 1) } -- optional parameters + +AutoWorkMode ::= BIT STRING +{ privateData ( 0) } -- optional parameters + +CallBackEvent ::= BIT STRING +{ privateData ( 0) } -- optional parameters + +CallBackMessageEvent ::= BIT STRING +{ privateData ( 0) } -- optional parameters + +CallerIDStatus ::= BIT STRING +{ privateData ( 0) } -- optional parameters + +DoNotDisturb ::= BIT STRING +{ callOriginationParameter ( 0), -- optional parameters + callOriginationInternal ( 1), -- optional parameters + callOriginationExternal ( 2), -- optional parameters + callingDeviceList ( 3), -- optional parameters + privateData ( 4) } -- optional parameters + +Forwarding ::= BIT STRING +{ forwardingTypeBusy ( 0), + forwardingTypeBusyInt ( 1), + forwardingTypeBusyExt ( 2), + forwardingTypeDND ( 3), + forwardingTypeDNDInt ( 4), + forwardingTypeDNDExt ( 5), + forwardingTypeNoAns ( 6), + forwardingTypeNoAnsInt ( 7), + forwardingTypeNoAnsExt ( 8), + forwardingTypeImmediate ( 9), + forwardingTypeImmInt (10), + forwardingTypeImmExt (11), + forwardTo (12), + forwardDefaultTypeAndDN (13), + forwardDefaultType (14), + forwardDefaultDN (15), + ringCount (16), + privateData (17), + ringDuration (18) } + +PresenceStateEvent ::= BIT STRING +{ fromTime ( 0), -- optional parameters + untilTime ( 1), -- optional parameters + place ( 2), -- optional parameters + mood ( 3), -- optional parameters + namedPresenceState ( 4), -- optional parameters + privateData ( 5) } -- optional parameters + +RouteingMode ::= BIT STRING +{ privateData ( 0) } -- optional parameters + +DeviceMaintEvtsList ::= SEQUENCE +{ backInService [0] IMPLICIT BackInService OPTIONAL, + deviceCapsChanged [1] IMPLICIT DeviceCapsChanged OPTIONAL, + outOfService [2] IMPLICIT OutOfService OPTIONAL, + partiallyInService [3] IMPLICIT PartiallyInService OPTIONAL } + +BackInService ::= BIT STRING +{ cause ( 0), -- optional parameters + privateData ( 1) } -- optional parameters + +DeviceCapsChanged ::= BIT STRING +{ cause ( 0), -- optional parameters + privateData ( 1) } -- optional parameters + +OutOfService ::= BIT STRING +{ cause ( 0), -- optional parameters + privateData ( 1) } -- optional parameters + +PartiallyInService ::= BIT STRING +{ cause ( 0), -- optional parameters + privateData ( 1) } -- optional parameters + +IOServicesServList ::= SEQUENCE +{ ioRegister [ 0] IMPLICIT IoRegister OPTIONAL, + ioRegisterAbort [ 1] IMPLICIT IoRegisterAbort OPTIONAL, + ioRegisterCancel [ 2] IMPLICIT IoRegisterCancel OPTIONAL, + dataPathResumed [ 3] IMPLICIT DataPathResumed OPTIONAL, + dataPathSuspended [ 4] IMPLICIT DataPathSuspended OPTIONAL, + fastData [ 5] IMPLICIT FastData OPTIONAL, + resumeDataPath [ 6] IMPLICIT ResumeDataPath OPTIONAL, + sendBroadcastData [ 7] IMPLICIT SendBroadcastData OPTIONAL, + sendData [ 8] IMPLICIT SendData OPTIONAL, + sendMulticastData [ 9] IMPLICIT SendMulticastData OPTIONAL, + startDataPath [10] IMPLICIT StartDataPath OPTIONAL, + stopDataPath [11] IMPLICIT StopDataPath OPTIONAL, + suspendDataPath [12] IMPLICIT SuspendDataPath OPTIONAL } + +IoRegister ::= BIT STRING +{ ioDevice ( 0), -- optional parameters + privateData ( 1), -- optional parameters + privateDataInAck ( 2), -- optional parameters + allIODevices ( 3) } -- misc characteristics + +IoRegisterAbort ::= BIT STRING +{ privateData ( 0) } -- optional parameters + +IoRegisterCancel ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +DataPathResumed ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +DataPathSuspended ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +FastData ::= BIT STRING +{ objectDevice ( 0), -- optional parameters + objectCall ( 1), -- optional parameters + dataPathTypeText ( 2), -- optional parameters + dataPathTypeVoice ( 3), -- optional parameters + displayAttribPhyBaseRowNumber ( 4), -- optional parameters + displayAttribPhyBaseColumnNumber ( 5), -- optional parameters + displayAttribOffset ( 6), -- optional parameters + privateData ( 7), -- optional parameters + privateDataInAck ( 8), -- optional parameters + supportsModifyingPosition ( 9) } -- misc characteristics + +ResumeDataPath ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1), -- optional parameters + sendsDataPathResumed ( 2) } -- misc characteristics + +SendBroadcastData ::= BIT STRING +{ privateData ( 0), -- optional parameters + dataPathTypeText ( 1), -- optional parameters + dataPathTypeVoice ( 2), -- optional parameters + displayAttribPhyBaseRowNumber ( 3), -- optional parameters + displayAttribPhyBaseColumnNumber ( 4), -- optional parameters + displayAttribOffset ( 5), -- optional parameters + privateDataInAck ( 6), -- optional parameters + supportsModifyingPosition ( 7) } -- misc characteristics + +SendData ::= BIT STRING +{ displayAttribPhyBaseRowNumber ( 0), -- optional parameters + displayAttribPhyBaseColumnNumber ( 1), -- optional parameters + displayAttribOffset ( 2), -- optional parameters + ioCauseTerminationCharReceived ( 3), -- optional parameters + ioCauseCharCountReached ( 4), -- optional parameters + ioCauseTimeout ( 5), -- optional parameters + ioCauseSfTerminated ( 6), -- optional parameters + privateData ( 7), -- optional parameters + privateDataInAck ( 8), -- optional parameters + supportsModifyingPosition ( 9) } -- misc characteristics + +SendMulticastData ::= BIT STRING +{ ioData ( 0), -- optional parameters + displayAttribPhyBaseRowNumber ( 1), -- optional parameters + displayAttribPhyBaseColumnNumber ( 2), -- optional parameters + displayAttribOffset ( 3), -- optional parameters + privateData ( 4), -- optional parameters + privateDataInAck ( 5), -- optional parameters + supportsModifyingPosition ( 6) } -- misc characteristics + +StartDataPath ::= BIT STRING +{ objectDevice ( 0), -- optional parameters + objectCall ( 1), -- optional parameters + dataPathDirectionCfToObject ( 2), -- optional parameters + dataPathDirectionObjectToCf ( 3), -- optional parameters + dataPathDirectionBidirectional ( 4), -- optional parameters + dataPathTypeText ( 5), -- optional parameters + dataPathTypeVoice ( 6), -- optional parameters + numberOfCharsToCollect ( 7), -- optional parameters + terminationChar ( 8), -- optional parameters + timeout ( 9), -- optional parameters + privateData (10), -- optional parameters + numberOfCharsToCollectInAck (11), -- optional parameters + terminationCharInAck (12), -- optional parameters + timeoutInAck (13), -- optional parameters + privateDataInAck (14) } -- optional parameters + +StopDataPath ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +SuspendDataPath ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +DataCollectionServList ::= SEQUENCE +{ dataCollected [ 0] IMPLICIT DataCollected OPTIONAL, + dataCollectionResumed [ 1] IMPLICIT DataCollectionResumed OPTIONAL, + dataCollectionSuspended [ 2] IMPLICIT DataCollectionSuspended OPTIONAL, + resumeDataCollection [ 3] IMPLICIT ResumeDataCollection OPTIONAL, + startDataCollection [ 4] IMPLICIT StartDataCollection OPTIONAL, + stopDataCollection [ 5] IMPLICIT StopDataCollection OPTIONAL, + suspendDataCollection [ 6] IMPLICIT SuspendDataCollection OPTIONAL } + +DataCollected ::= BIT STRING +{ digitsDuration ( 0), -- optional parameters + digitsPauseDuration ( 1), -- optional parameters + toneDetectedBeep ( 2), -- optional parameters + toneDetectedBilling ( 3), -- optional parameters + toneDetectedBusy ( 4), -- optional parameters + toneDetectedCarrier ( 5), -- optional parameters + toneDetectedConfirmation ( 6), -- optional parameters + toneDetectedDial ( 7), -- optional parameters + toneDetectedFaxCNG ( 8), -- optional parameters + toneDetectedHold ( 9), -- optional parameters + toneDetectedHowler (10), -- optional parameters + toneDetectedIntrusion (11), -- optional parameters + toneDetectedModemCNG (12), -- optional parameters + toneDetectedPark (13), -- optional parameters + toneDetectedRecordWarning (14), -- optional parameters + toneDetectedReorder (15), -- optional parameters + toneDetectedRingback (16), -- optional parameters + toneDetectedSilence (17), -- optional parameters + toneDetectedSitVC (18), -- optional parameters + toneDetectedSitIC (19), -- optional parameters + toneDetectedSitRO (20), -- optional parameters + toneDetectedSitNC (21), -- optional parameters + toneDetectedSf0 (22), -- optional parameters + toneDetectedSf1 (23), -- optional parameters + toneDetectedSf2 (24), -- optional parameters + toneDetectedSf3 (25), -- optional parameters + toneDetectedSf4 (26), -- optional parameters + toneDetectedSf5 (27), -- optional parameters + toneDetectedSf6 (28), -- optional parameters + toneDetectedSf7 (29), -- optional parameters + toneDetectedSf8 (30), -- optional parameters + toneDetectedSf9 (31), -- optional parameters + toneDetectedSf10 (32), -- optional parameters + toneDetectedOther (33), -- optional parameters + toneFrequency (34), -- optional parameters + toneDuration (35), -- optional parameters + tonePauseDuration (36), -- optional parameters + connectionInfo (37), -- optional parameters + dcollCauseFushCharReceived (38), -- optional parameters + dcollCauseCharCountReached (39), -- optional parameters + dcollCauseTimeout (40), -- optional parameters + dcollCauseSFTerminated (41), -- optional parameters + privateData (42), -- optional parameters + privateDataInAck (43) } -- optional parameters + +DataCollectionResumed ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +DataCollectionSuspended ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +ResumeDataCollection ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +StartDataCollection ::= BIT STRING +{ objectDevice ( 0), -- optional parameters + objectCall ( 1), -- optional parameters + dataCollectionTypeDigits ( 2), -- optional parameters + dataCollectionTypeTones ( 3), -- optional parameters + digitsReportingCriteriaNumChars ( 4), -- optional parameters + digitsReportingCriteriaFlushChar ( 5), -- optional parameters + digitsReportingCriteriaTimeout ( 6), -- optional parameters + privateData ( 7), -- optional parameters + privateDataInAck ( 8) } -- optional parameters + +StopDataCollection ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +SuspendDataCollection ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +VoiceUnitServList ::= SEQUENCE +{ activate [12] IMPLICIT Activate OPTIONAL, + clear [13] IMPLICIT Clear OPTIONAL, + deactivate [14] IMPLICIT Deactivate OPTIONAL, + concatenateMsg [ 0] IMPLICIT ConcatenateMsg OPTIONAL, + deleteMsg [ 1] IMPLICIT DeleteMsg OPTIONAL, + queue [15] IMPLICIT Queue OPTIONAL, + playMsg [ 2] IMPLICIT PlayMsg OPTIONAL, + queryVoiceAttrib [ 3] IMPLICIT QueryVoiceAttrib OPTIONAL, + recordMsg [ 4] IMPLICIT RecordMsg OPTIONAL, + reposition [ 5] IMPLICIT Reposition OPTIONAL, + resume [ 6] IMPLICIT Resume OPTIONAL, + review [ 7] IMPLICIT Review OPTIONAL, + start [16] IMPLICIT Start OPTIONAL, + setVoiceAttrib [ 8] IMPLICIT SetVoiceAttrib OPTIONAL, + stop [ 9] IMPLICIT Stop OPTIONAL, + suspend [10] IMPLICIT Suspend OPTIONAL, + synthesizeMsg [11] IMPLICIT SynthesizeMsg OPTIONAL } + +Activate ::= BIT STRING +{ resource ( 0), -- optional parameters + grammarName ( 1), -- optional parameters + privateData ( 2), -- optional parameters + privateDataInAck ( 3) } -- optional parameters + +Clear ::= BIT STRING +{ resource ( 0), -- optional parameters + privateData ( 1), -- optional parameters + privateDataInAck ( 2) } -- optional parameters + +ConcatenateMsg ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +Deactivate ::= BIT STRING +{ resource ( 0), -- optional parameters + grammarName ( 1), -- optional parameters + privateData ( 2), -- optional parameters + privateDataInAck ( 3) } -- optional parameters + +DeleteMsg ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +PlayMsg ::= BIT STRING +{ duration ( 0), -- optional parameters + terminationParameter ( 1), -- optional parameters + terminationDurationExceeded ( 2), -- optional parameters + terminationDTMFDigitDetected ( 3), -- optional parameters + terminationEndOfSpeechDetected ( 4), -- optional parameters + terminationSpeech ( 5), -- optional parameters + privateData ( 6), -- optional parameters + privateDataInAck ( 7), -- optional parameters + multipleMsgsSimultaneously ( 8) } -- miscellaneous characteristics + +QueryVoiceAttrib ::= BIT STRING +{ messageToQuery (30), -- optional parameters + resource (31), -- optional parameters + attribToQueryEncodingAlgorithm ( 0), -- optional parameters + attribToQuerySamplingRate ( 1), -- optional parameters + attribToQueryDuration ( 2), -- optional parameters + attribToQueryFilename ( 3), -- optional parameters + attribToQueryCurrentPosition ( 4), -- optional parameters + attribToQueryCurrentSpeed ( 5), -- optional parameters + attribToQueryCurrentVolume ( 6), -- optional parameters + attribToQueryCurrentLevel ( 7), -- optional parameters + attribToQueryCurrentState ( 8), -- optional parameters + attribToQueryGrammars (32), -- optional parameters + attribToQueryLanguage (33), -- optional parameters + attribToQueryMode (34), -- optional parameters + attribToQueryRetainAudio (35), -- optional parameters + attribToQuerySilenceTimeout (36), -- optional parameters + attribToQueryMaxTimeout (37), -- optional parameters + attribToQueryBabbleTimeout (38), -- optional parameters + attribToQueryEndSilence (39), -- optional parameters + attribToQueryRejectionThreshold (40), -- optional parameters + attribToQueryAutoInterruptable (41), -- optional parameters + attribToQueryInnerXML (42), -- optional parameters + attribToQueryInterdigitTimeout (43), -- optional parameters + attribToQueryPreflush (44), -- optional parameters + connection ( 9), -- optional parameters + duration (10), -- optional parameters + terminationParameter (11), -- optional parameters + terminationDurationExceeded (12), -- optional parameters + terminationDTMFDigitDetected (13), -- optional parameters + terminationEndOfSpeechDetected (14), -- optional parameters + terminationSpeech (15), -- optional parameters + privateData (16), -- optional parameters + attribInAckEncodingAlgorithmADPCM6K (17), -- optional parameters + attribInAckEncodingAlgorithmADPCM8K (18), -- optional parameters + attribInAckEncodingAlgorithmMuLawPCM6K (19), -- optional parameters + attribInAckEncodingAlgorithmALawPCM6K (20), -- optional parameters + attribInAckSamplingRate (21), -- optional parameters + attribInAckDuration (22), -- optional parameters + attribInAckFilename (23), -- optional parameters + attribInAckCurrentPosition (24), -- optional parameters + attribInAckCurrentSpeed (25), -- optional parameters + attribInAckCurrentVolumeAbs (26), -- optional parameters + attribInAckCurrentGain (27), -- optional parameters + attribInAckCurrentState (28), -- optional parameters + privateDataInAck (29) } -- optional parameters + +Queue ::= BIT STRING +{ message ( 0), -- optional parameters + resource ( 1), -- optional parameters + text ( 2), -- optional parameters + privateData ( 3), -- optional parameters + privateDataInAck ( 4) } -- optional parameters + +RecordMsg ::= BIT STRING +{ resource (13), -- optional parameters + samplingRate ( 0), -- optional parameters + encodingAlgorithmADPCM6K ( 1), -- optional parameters + encodingAlgorithmADPCM8K ( 2), -- optional parameters + encodingAlgorithmMuLawPCM6K ( 3), -- optional parameters + encodingAlgorithmALawPCM6K ( 4), -- optional parameters + maxDuration ( 5), -- optional parameters + terminationParameter ( 6), -- optional parameters + terminationDurationExceeded ( 7), -- optional parameters + terminationDTMFDigitDetected ( 8), -- optional parameters + terminationEndOfDataDetected ( 9), -- optional parameters + terminationSpeechDetected (10), -- optional parameters + privateData (11), -- optional parameters + privateDataInAck (12) } -- optional parameters + +Reposition ::= BIT STRING +{ periodOfRepositionStartOfMsg ( 0), -- optional parameters + periodOfRepositionEndOfMsg ( 1), -- optional parameters + periodOfRepositionRelativePointer ( 2), -- optional parameters + msgToReposition ( 3), -- optional parameters + privateData ( 4), -- optional parameters + privateDataInAck ( 5) } -- optional parameters + +Resume ::= BIT STRING +{ msgToResume ( 0), -- optional parameters + resource ( 4), -- optional parameters + duration ( 1), -- optional parameters + privateData ( 2), -- optional parameters + privateDataInAck ( 3) } -- optional parameters + +Review ::= BIT STRING +{ msgToReview ( 4), -- optional parameters + resource ( 5), -- optional parameters + periodToResumeStartOfMsg ( 0), -- optional parameters + periodToResumeLengthOfReview ( 1), -- optional parameters + privateData ( 2), -- optional parameters + privateDataInAck ( 3) } -- optional parameters + +SetVoiceAttrib::= BIT STRING +{ resource ( 9), -- optional parameters + currentSpeed ( 0), -- optional parameters + currentVolumeAbs ( 1), -- optional parameters + currentVolumeInc ( 2), -- optional parameters + grammars (10), -- optional parameters + language (11), -- optional parameters + mode (12), -- optional parameters + retainAudio (13), -- optional parameters + silenceTimeout (14), -- optional parameters + maxTimeout (15), -- optional parameters + babbleTimeout (16), -- optional parameters + endSilence (17), -- optional parameters + rejectionThreshold (18), -- optional parameters + autoInterruptable (19), -- optional parameters + innerXML (20), -- optional parameters + interdigitTimeout (21), -- optional parameters + preflush (22), -- optional parameters + periodToResumeStartOfMsg ( 3), -- optional parameters + periodToResumeLengthOfReview ( 4), -- optional parameters + currentGain ( 5), -- optional parameters + message ( 6), -- optional parameters + privateData ( 7), -- optional parameters + privateDataInAck ( 8) } -- optional parameters + +Start ::= BIT STRING +{ resource ( 0), -- optional parameters + text ( 1), -- optional parameters + privateData ( 2), -- optional parameters + privateDataInAck ( 3) } -- optional parameters + +Stop ::= BIT STRING +{ msgToBeStopped ( 2), -- optional parameters + resource ( 3), -- optional parameters + privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +Suspend ::= BIT STRING +{ message ( 0), -- optional parameters + resource ( 3), -- optional parameters + privateData ( 1), -- optional parameters + privateDataInAck ( 2) } -- optional parameters + +SynthesizeMsg ::= BIT STRING +{ genderMale ( 0), -- optional parameters + genderFemale ( 1), -- optional parameters + privateData ( 2), -- optional parameters + privateDataInAck ( 3) } -- optional parameters + + +VoiceUnitEvtsList ::= SEQUENCE +{ bookmarkReached [ 7] IMPLICIT BookmarkReached OPTIONAL, + completed [ 8] IMPLICIT Completed OPTIONAL, + dtmfDetected [ 9] IMPLICIT DtmfDetected OPTIONAL, + emptied [10] IMPLICIT Emptied OPTIONAL, + interruptionDetected [11] IMPLICIT InterruptionDetected OPTIONAL, + notRecognized [12] IMPLICIT NotRecognized OPTIONAL, + play [ 0] IMPLICIT Play OPTIONAL, + record [ 1] IMPLICIT Record OPTIONAL, + recognized [13] IMPLICIT Recognized OPTIONAL, + review [ 2] IMPLICIT ReviewEvent OPTIONAL, + started [14] IMPLICIT Started OPTIONAL, + silenceTimeoutExpired [15] IMPLICIT SilenceTimeoutExpired OPTIONAL, + speechDetected [16] IMPLICIT SpeechDetected OPTIONAL, + stop [ 3] IMPLICIT StopEvent OPTIONAL, + suspendPlay [ 4] IMPLICIT SuspendPlay OPTIONAL, + suspendRecord [ 5] IMPLICIT SuspendRecord OPTIONAL, + voiceAttribChanged [ 6] IMPLICIT VoiceAttribChanged OPTIONAL, + voiceErrorOccured [17] IMPLICIT VoiceErrorOccured OPTIONAL } + +BookmarkReached ::= BIT STRING +{ resource ( 0), -- optional parameters + currentPosition ( 1), -- optional parameters + servicesPermitted ( 2), -- optional parameters + privateData ( 3) } -- optional parameters + +Completed ::= BIT STRING +{ resource ( 0), -- optional parameters + cause ( 1), -- optional parameters + servicesPermitted ( 2), -- optional parameters + privateData ( 3) } -- optional parameters + +DtmfDetected ::= BIT STRING +{ resource ( 0), -- optional parameters + cause ( 1), -- optional parameters + servicesPermitted ( 2), -- optional parameters + privateData ( 3) } -- optional parameters + +Emptied ::= BIT STRING +{ resource ( 0), -- optional parameters + cause ( 1), -- optional parameters + servicesPermitted ( 2), -- optional parameters + privateData ( 3) } -- optional parameters + +InterruptionDetected ::= BIT STRING +{ resource ( 0), -- optional parameters + cause ( 1), -- optional parameters + servicesPermitted ( 2), -- optional parameters + privateData ( 3) } -- optional parameters + +NotRecognized ::= BIT STRING +{ resource ( 0), -- optional parameters + result ( 1), -- optional parameters + cause ( 2), -- optional parameters + servicesPermitted ( 3), -- optional parameters + privateData ( 4) } -- optional parameters + +Play ::= BIT STRING +{ length ( 0), -- optional parameters + currentPosition ( 1), -- optional parameters + speed ( 2), -- optional parameters + cause ( 3), -- optional parameters + servicesPermitted ( 4), -- optional parameters + privateData ( 5) } -- optional parameters + +Recognized ::= BIT STRING +{ resource ( 0), -- optional parameters + cause ( 1), -- optional parameters + servicesPermitted ( 2), -- optional parameters + privateData ( 3) } -- optional parameters + +Record ::= BIT STRING +{ length ( 0), -- optional parameters + currentPosition ( 1), -- optional parameters + speed ( 2), -- optional parameters + cause ( 3), -- optional parameters + servicesPermitted ( 4), -- optional parameters + privateData ( 5) } -- optional parameters + +ReviewEvent ::= BIT STRING +{ message ( 5), -- optional parameters + resource ( 6), -- optional parameters + length ( 0), -- optional parameters + currentPosition ( 1), -- optional parameters + cause ( 2), -- optional parameters + servicesPermitted ( 3), -- optional parameters + privateData ( 4) } -- optional parameters + + +SilenceTimeoutExpired ::= BIT STRING +{ resource ( 0), -- optional parameters + cause ( 1), -- optional parameters + servicesPermitted ( 2), -- optional parameters + privateData ( 3) } -- optional parameters + +SpeechDetected ::= BIT STRING +{ resource ( 0), -- optional parameters + cause ( 1), -- optional parameters + servicesPermitted ( 2), -- optional parameters + privateData ( 3) } -- optional parameters + +Started ::= BIT STRING +{ resource ( 0), -- optional parameters + cause ( 1), -- optional parameters + servicesPermitted ( 2), -- optional parameters + privateData ( 3) } -- optional parameters + +StopEvent ::= BIT STRING +{ message ( 6), -- optional parameters + resource ( 7), -- optional parameters + length ( 0), -- optional parameters + currentPosition ( 1), -- optional parameters + speed ( 2), -- optional parameters + cause ( 3), -- optional parameters + servicesPermitted ( 4), -- optional parameters + privateData ( 5) } -- optional parameters + +SuspendPlay ::= BIT STRING +{ message ( 5), -- optional parameters + resource ( 6), -- optional parameters + length ( 0), -- optional parameters + currentPosition ( 1), -- optional parameters + cause ( 2), -- optional parameters + servicesPermitted ( 3), -- optional parameters + privateData ( 4) } -- optional parameters + +SuspendRecord ::= BIT STRING +{ message ( 5), -- optional parameters + resource ( 6), -- optional parameters + length ( 0), -- optional parameters + currentPosition ( 1), -- optional parameters + cause ( 2), -- optional parameters + servicesPermitted ( 3), -- optional parameters + privateData ( 4) } -- optional parameters + +VoiceAttribChanged ::= BIT STRING +{ message ( 7), -- optional parameters + resource ( 8), -- optional parameters + playVolumeAbs ( 0), -- optional parameters + playVolumeInc ( 1), -- optional parameters + recordGain ( 2), -- optional parameters + speed ( 3), -- optional parameters + currentPosition ( 4), -- optional parameters + grammars ( 9), -- optional parameters + language (10), -- optional parameters + mode (11), -- optional parameters + retainAudio (12), -- optional parameters + silenceTimeout (13), -- optional parameters + maxTimeout (14), -- optional parameters + babbleTimeout (15), -- optional parameters + endSilence (16), -- optional parameters + rejectionThreshold (17), -- optional parameters + autoInterruptable (18), -- optional parameters + innerXML (19), -- optional parameters + interdigitTimeout (20), -- optional parameters + preflush (21), -- optional parameters + cause ( 5), -- optional parameters + privateData ( 6) } -- optional parameters + +VoiceErrorOccured ::= BIT STRING +{ resource ( 0), -- optional parameters + cause ( 1), -- optional parameters + servicesPermitted ( 2), -- optional parameters + privateData ( 3) } -- optional parameters + +CDRServList ::= SEQUENCE +{ cdrNotification [ 0] IMPLICIT CdrNotification OPTIONAL, + cdrReport [ 1] IMPLICIT CdrReport OPTIONAL, + sendStoredCDRs [ 2] IMPLICIT SendStoredCDRs OPTIONAL, + startCDRTransmission [ 3] IMPLICIT StartCDRTransmission OPTIONAL, + stopCDRTransmission [ 4] IMPLICIT StopCDRTransmission OPTIONAL } + +CdrNotification ::= BIT STRING +{ cdrReasonTimeout ( 0), -- optional parameters + cdrReasonThresholdReached ( 1), -- optional parameters + cdrReasonOther ( 2), -- optional parameters + privateData ( 3), -- optional parameters + privateDataInAck ( 4) } -- optional parameters + +CdrReport ::= BIT STRING +{ cdrReasonTimeout ( 0), -- optional parameters + cdrReasonThresholdReached ( 1), -- optional parameters + cdrReasonOther ( 2), -- optional parameters + recordNumber ( 3), -- optional parameters + recordCreationTime ( 4), -- optional parameters + callingDevice ( 5), -- optional parameters + calledDevice ( 6), -- optional parameters + assocCallingDevice ( 7), -- optional parameters + assocCalledDevice ( 8), -- optional parameters + netwCallingDevice ( 9), -- optional parameters + netwCalledDevice (10), -- optional parameters + callCharacteristics (11), -- optional parameters + mediaCallCharacteristics (12), -- optional parameters + chargedDeviceOperator (13), -- optional parameters + chargedDeviceNonOperator (14), -- optional parameters + recordedCall (15), -- optional parameters + nodeNumberArea0 (16), -- optional parameters + nodeNumberArea1 (17), -- optional parameters + nodeNumberArea2 (18), -- optional parameters + tarifTable (19), -- optional parameters + connectionStart (20), -- optional parameters + connectionEnd (21), -- optional parameters + connectionDuration (22), -- optional parameters + accessCode (23), -- optional parameters + carrier (24), -- optional parameters + selectedRoute (25), -- optional parameters + billingIndicatorNormalCharging (26), -- optional parameters + billingIndicatorReverseCharging (27), -- optional parameters + billingIndicatorCreditCardCharging (28), -- optional parameters + billingIndicatorCallForwarding (29), -- optional parameters + billingIndicatorCallDeflection (30), -- optional parameters + billingIndicatorCallTransfer (31), -- optional parameters + billingIndicatorOther (32), -- optional parameters + chargingInfo (33), -- optional parameters + suppServiceInfoNormalCall (34), -- optional parameters + suppServiceInfoConsultationCall (35), -- optional parameters + suppServiceInfoTransferCall (36), -- optional parameters + suppServiceInfoCallCompletion (37), -- optional parameters + suppServiceInfoCallForwarding (38), -- optional parameters + suppServiceInfoCallDiversion (39), -- optional parameters + suppServiceInfoConferencing (40), -- optional parameters + suppServiceInfoIntrusion (41), -- optional parameters + suppServiceInfoUserUserInfo (42), -- optional parameters + suppServiceInfoOther (43), -- optional parameters + reasonForTermNormalClearing (44), -- optional parameters + reasonForTermUnsuccessfulCallAttempt (45), -- optional parameters + reasonForTermAbnormalTermination (46), -- optional parameters + reasonForTermCallTransferred (47), -- optional parameters + reasonForTermOther (48), -- optional parameters + authCode (49), -- optional parameters + accountInfo (50), -- optional parameters + deviceCategory (51), -- optional parameters + namedDeviceTypes (52), -- optional parameters + operatorDevice (53), -- optional parameters + lastStoredCDRReportSent (54), -- optional parameters + privateData (55), -- optional parameters + privateDataInAck (56) } -- optional parameters + +SendStoredCDRs ::= BIT STRING +{ timePeriod ( 0), -- optional parameters + privateData ( 1), -- optional parameters + privateDataInAck ( 2) } -- optional parameters + +StartCDRTransmission ::= BIT STRING +{ transferModeTransferAtEndOfCall ( 0), -- optional parameters + transferModeTransferOnRequest ( 1), -- optional parameters + transferModeTransferOnThresholdReached ( 2), -- optional parameters + privateData ( 3), -- optional parameters + privateDataInAck ( 4) } -- optional parameters + +StopCDRTransmission ::= BIT STRING +{ cdrTermReasonEndOfData ( 0), -- optional parameters + cdrTermReasonError ( 1), -- optional parameters + cdrTermReasonThresholdReached ( 2), -- optional parameters + cdrTermReasonOther ( 3), -- optional parameter + privateData ( 4), -- optional parameter + privateDataInAck ( 5), -- optional parameter + swFunctionSupportsSending ( 6), -- miscellaneous characteristics + swFunctionSupportsReceiving ( 7) } -- miscellaneous characteristics + +LocationServicesServList ::= SEQUENCE +{ getLocationInformation [ 0] IMPLICIT GetLocationInformation OPTIONAL, + setLocationInformation [ 1] IMPLICIT SetLocationInformation OPTIONAL, + locationTrackingSessionResumed [ 2] IMPLICIT LocationTrackingSessionResumed OPTIONAL, + locationTrackingSessionSuspended [ 3] IMPLICIT LocationTrackingSessionSuspended OPTIONAL, + resumeLocationTrackingSession [ 4] IMPLICIT ResumeLocationTrackingSession OPTIONAL, + locationInformationReport [ 5] IMPLICIT LocationInformationReport OPTIONAL, + startLocationTrackingSession [ 6] IMPLICIT StartLocationTrackingSession OPTIONAL, + stopLocationTrackingSession [ 7] IMPLICIT StopLocationTrackingSession OPTIONAL, + suspendLocationTrackingSession [ 8] IMPLICIT SuspendLocationTrackingSession OPTIONAL, + getLocationTrackingCapabilities [ 9] IMPLICIT GetLocationTrackingCapabilities OPTIONAL, + getLocationTrackingSessions [10] IMPLICIT GetLocationTrackingSessions OPTIONAL, + locationSessionInfo [11] IMPLICIT LocationSessionInfo OPTIONAL } + +GetLocationInformation ::= BIT STRING +{ privateData ( 0), + locationInfoInAck ( 1), + privateDataInAck ( 2) } + +SetLocationInformation ::= BIT STRING +{ locationInfo ( 0), + replaceMode ( 1), + privateData ( 2), + privateDataInAck ( 3) } + +LocationTrackingSessionResumed ::= BIT STRING +{ locReason ( 0), + privateData ( 1), + privateDataInAck ( 2) } + +LocationTrackingSessionSuspended ::= BIT STRING +{ locReason ( 0), + locationInfoList ( 1), + privateData ( 2), + privateDataInAck ( 3) } + +ResumeLocationTrackingSession ::= BIT STRING +{ privateData ( 0), + privateDataInAck ( 1) } + +LocationInformationReport ::= BIT STRING +{ locationInfoList ( 0), + privateData ( 1), + privateDataInAck ( 2) } + +StartLocationTrackingSession ::= BIT STRING +{ collectionType ( 0), + collectionInterval ( 1), + maxCollections ( 2), + collectionFilter ( 3), + reportingType ( 4), + reportingCount ( 5), + privateData ( 6), + piDFProfileOption1inAck ( 7), + piDFProfileOption2inAck ( 8), + privateDataInAck ( 9) } + +StopLocationTrackingSession ::= BIT STRING +{ reason ( 0), + privateData ( 1), + privateDataInAck ( 2) } + +SuspendLocationTrackingSession ::= BIT STRING +{ reason ( 0), + privateData ( 1), + privateDataInAck ( 2) } + +GetLocationTrackingCapabilities ::= BIT STRING +{ privateData ( 0), + privateDataInAck ( 1) } + +GetLocationTrackingSessions ::= BIT STRING +{ privateData ( 0), + privateDataInAck ( 1) } + +LocationSessionInfo ::= BIT STRING +{ segmentID ( 0), + privateData ( 1) } + +VendorSpecificServList ::= SEQUENCE +{ escapeRegister [ 0] IMPLICIT EscapeRegister OPTIONAL, + escapeRegisterCancel [ 1] IMPLICIT EscapeRegisterCancel OPTIONAL, + escapeRegisterAbort [ 2] IMPLICIT EscapeRegisterAbort OPTIONAL, + escape [ 3] IMPLICIT Escape OPTIONAL, + privateDataVersionSelection [ 4] IMPLICIT PrivateDataVersionSelection OPTIONAL } + +EscapeRegister ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +EscapeRegisterCancel ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +EscapeRegisterAbort ::= BIT STRING +{ privateData ( 0), -- optional parameters + privateDataInAck ( 1) } -- optional parameters + +Escape ::= BIT STRING +{ privateDataInAck ( 0), -- optional parameters + swFunctionSupportsSending ( 1), -- misc characteristics + swFunctionSupportsReceiving ( 2) } -- misc characteristics + +PrivateDataVersionSelection ::= BIT STRING +{ privateDataInAck ( 0) } -- optional parameters + +VendorSpecificEvtsList ::= SEQUENCE +{ privateEvent [0] IMPLICIT PrivateEvent OPTIONAL } + +PrivateEvent ::= BIT STRING + +-- other Types + +DeviceIDFormat ::= BIT STRING +{ dialableDigitsAsterix ( 0), + dialableDigitsHash ( 1), + dialableDigitsABCD ( 2), + dialableDigitsExclamation ( 3), + dialableDigitsP ( 4), + dialableDigitsT ( 5), + dialableDigitsComma ( 6), + dialableDigitsW ( 7), + dialableDigitsAt ( 8), + dialableDigitsDollar ( 9), + dialableDigitsSemicolon (10), + sFReprExclamation (11), + sFReprEt (12), + sFReprSlash (13), + sFReprPercent (14), + sFReprNM (15), + sFReprGeneric (16), + sFReprImplicitTON (17), + sFReprPubTONUnkown (18), + sFReprPubTONInternal (19), + sFReprPubTONNational (20), + sFReprPubTONSubscriber (21), + sFReprPubTONAbbreviated (22), + sFReprPriTONUnknown (23), + sFReprPriTONLevel3 (24), + sFReprPriTONLevel2 (25), + sFReprPriTONLevel1 (26), + sFReprPriTONLocal (27), + sFReprPriTONAbbreviated (28), + sFReprOther (29), + sFRResourceID (31), + privateNumber (32), + privateName (33), + deviceNumber (30) } + +SwDomainFeatures ::= BIT STRING +{ isForwardingBefore ( 0), + isForwardingAfter ( 1), + swFunctionDefaultSettings ( 2), + userSpecific ( 3), + userSpecificDefaultFowardingType ( 4), + userSpecificDefaultForwardDestination ( 5), + negativeAcknowledgment ( 6), + supportFailedWithAssConn ( 7), + supportFailedWithoutAssConn ( 8), + supportFailedWithAssConnNotReportet ( 9), + recall (10), + callBack (11), + extCallsIncoming (12), + extCallsOutgoing (13), + prompting (14) } + +SwAppearanceAddressability ::= BIT STRING +{ nonAddressable ( 0), + addressable ( 1) } + +SwAppearanceTypes ::= BIT STRING +{ selectedStandard ( 0), + basicStandard ( 1), + basicBridged ( 2), + exclusiveBridged ( 3), + independentSharedBridged ( 4), + interDependentSharedBridged ( 5) } + +IgnoreUnsupportedParameters ::= ENUMERATED +{ ignoreParameters ( 0), + rejectMessage ( 1) } + +PauseTime ::= INTEGER (1..2000) + +TimeStampMode ::= BIT STRING +{ allEvents ( 0), + allAcks ( 1), + allServReqs ( 2) } + +MiscMonitorCaps ::= BIT STRING +{ groupInclusivModel ( 0), + groupExclusiveModel ( 1), + monitorPhysicalElement ( 2), + acdDeviceInclusiv ( 3), + acdDeviceExclusiv ( 4) } + +MaxLengthParameters ::= SEQUENCE +{ accountInfo INTEGER (0..32), + authCode INTEGER (0..32), + agentID INTEGER (0..32), + agentPassword INTEGER (0..32), + callIDInConnectionID INTEGER (0..8), + correlatorData INTEGER (0..32), + privateData INTEGER, + deviceIdentifiers INTEGER (0..128), + userData INTEGER (0..256), + buttonLabel INTEGER (0..64), + lampLabel INTEGER (0..64), + charactersToSend INTEGER (0..64) } + +MaxLengthParametersContinued ::= SEQUENCE +{ monitorCrossRefID INTEGER, + callQualifyingData INTEGER, + subDomainCallLinkageData INTEGER, + subDomainThreadID INTEGER, + ioData INTEGER, + messageInfo INTEGER } + +FilterThreshold ::= SEQUENCE +{ getLogicalDeviceInformation INTEGER, + getPhysicalDeviceInformation INTEGER, + getSwitchingFunctionCaps INTEGER, + getSwitchingFunctionDevices INTEGER, + switchingFunctionDevices INTEGER, + changeSystemStatusFilter INTEGER, + systemStatusRegister INTEGER, + systemStatusRegisterAbort INTEGER, + systemStatusRegisterCancel INTEGER, + requestSystemStatus INTEGER, + systemStatus INTEGER, + switchingFunctionCapsChanged INTEGER, + switchingFunctionDevsChanged INTEGER, + changeMonitorFilter INTEGER, + monitorStart INTEGER, + monitorStop INTEGER, + snapshotCall INTEGER, + snapshotDevice INTEGER, + snapshotCallData INTEGER, + snapshotDeviceData INTEGER, + acceptCall INTEGER, + alternateCall INTEGER, + answerCall INTEGER, + callBackCallRelated INTEGER, + callBackMessageCallRelated INTEGER, + campOnCall INTEGER, + clearCall INTEGER, + clearConnection INTEGER, + conferenceCall INTEGER, + consultationCall INTEGER, + deflectCall INTEGER, + dialDigits INTEGER, + directedPickupCall INTEGER, + groupPickupCall INTEGER, + holdCall INTEGER, + intrudeCall INTEGER, + joinCall INTEGER, + makeCall INTEGER, + makePredictiveCall INTEGER, + parkCall INTEGER, + reconnectCall INTEGER, + retrieveCall INTEGER, + singleStepConferenceCall INTEGER, + singleStepTransferCall INTEGER, + transferCall INTEGER, + associateData INTEGER, + cancelTelephonyTone INTEGER, + generateDigits INTEGER, + generateTelephonyTone INTEGER, + sendUserInformation INTEGER, + startDTMFDigitsCollection INTEGER, + startTelephonyTonesCollection INTEGER, + stopDTMFDigitsCollection INTEGER, + stopTelephonyTonesCollection INTEGER, + attachMediaService INTEGER, + detachMediaService INTEGER, + routeRegister INTEGER, + routeRegisterAbort INTEGER, + routeRegisterCancel INTEGER, + reRoute INTEGER, + routeEnd INTEGER, + routeReject INTEGER, + routeRequest INTEGER, + routeSelect INTEGER, + routeUsed INTEGER, + buttonPress INTEGER, + getAuditoryApparatusInfo INTEGER, + getButtonInformation INTEGER, + getDisplay INTEGER, + getHookswitchStatus INTEGER, + getLampInformation INTEGER, + getLampMode INTEGER, + getMicrophoneGain INTEGER, + getMicrophoneMute INTEGER, + getMessageWaitingIndicator INTEGER, + getRingerStatus INTEGER, + getSpeakerMute INTEGER, + getSpeakerVolume INTEGER, + setButtonInformation INTEGER, + setDisplay INTEGER, + setHookswitchStatus INTEGER, + setLampMode INTEGER, + setMsgWaitingIndicator INTEGER, + setMicrophoneGain INTEGER, + setMicrophoneMute INTEGER, + setRingerStatus INTEGER, + setSpeakerMute INTEGER, + setSpeakerVolume INTEGER, + callBackMessageNonCallRelated INTEGER, + callBackNonCallRelated INTEGER, + cancelCallBack INTEGER, + cancelCallBackMessage INTEGER, + getAgentState INTEGER, + getAutoAnswer INTEGER, + getAutoWorkMode INTEGER, + getCallerIDStatus INTEGER, + getDoNotDisturb INTEGER, + getForwarding INTEGER, + getLastNumberDialed INTEGER, + getRouteingMode INTEGER, + setAgentState INTEGER, + setAutoAnswer INTEGER, + setAutoWorkMode INTEGER, + setCallerIDStatus INTEGER, + setDoNotDisturb INTEGER, + setForwarding INTEGER, + setRouteingMode INTEGER, + backInService INTEGER, + deviceCaosChanged INTEGER, + outOfService INTEGER, + partiallyInService INTEGER, + ioRegister INTEGER, + ioRegisterAbort INTEGER, + ioRegisterCancel INTEGER, + dataPathResumed INTEGER, + dataPathSuspended INTEGER, + fastData INTEGER, + resumeDataPath INTEGER, + sendBroadcastData INTEGER, + sendData INTEGER, + sendMulticastData INTEGER, + startDataPath INTEGER, + stopDataPath INTEGER, + suspendDataPath INTEGER, + concatenateMsg INTEGER, + deleteMsg INTEGER, + playMsg INTEGER, + queryVoiceAttribute INTEGER, + recordMsg INTEGER, + reposition INTEGER, + resume INTEGER, + review INTEGER, + setVoiceAttribute INTEGER, + stop INTEGER, + suspend INTEGER, + synthesizeMsg INTEGER, + cDRNotification INTEGER, + cDRReport INTEGER, + sendStoredCDRs INTEGER, + startCDRTransmission INTEGER, + stopCDRTransmission INTEGER, + escapeRegister INTEGER, + escapeRegisterAbort INTEGER, + escapeRegisterCancel INTEGER, + escape INTEGER, + privateDataVersion INTEGER } + +MediaServiceCapsList ::= SEQUENCE OF SEQUENCE +{ mediaServiceType MediaServiceType, + mediaServiceVersion INTEGER OPTIONAL, + mediaServiceInstance MediaServiceInstanceID OPTIONAL, + connectionMode ConnectionModeBMap OPTIONAL, + mediaStreamIDSupported BOOLEAN } + +DeviceCategory ::= ENUMERATED +{ acd ( 0), + group ( 1), + networkInterface ( 2), + park ( 3), + routeingDevice ( 4), + station ( 5), + voiceUnit ( 6), + genericInteractiveVoice ( 8), + listenerInteractiveVoice ( 9), + dtmfInteractiveVoice (10), + promptInteractiveVoice (11), + promptQueueInteractiveVoice (12), + messageInteractiveVoice (13), + conference (14), + other ( 7) } + +GroupDeviceAttributes ::= BIT STRING +{ acd ( 0), + hunt ( 1), + pick ( 2), + user ( 4), + agent ( 5), + other ( 3) } + +NamedDeviceTypes ::= ENUMERATED +{ acd ( 0), + acdGroup ( 1), + button ( 2), + buttonGroup ( 3), + conferenceBridge ( 4), + line ( 5), + lineGroup ( 6), + operator ( 7), + operatorGroup ( 8), + parkingDevice ( 9), + station (10), + stationGroup (11), + trunk (12), + trunkGroup (13), + other (14), + otherGroup (15) } + +ACDModels ::= BIT STRING +{ visibleACDRelatedDevices ( 0), + nonVisibleACDRelatedDevices ( 1) } + +AgentLogOnModels ::= BIT STRING +{ logOnToACDDevice ( 0), + logOnToACDGroupExplOneStep ( 1), + logOnToACDGroupExplTwoSteps ( 2), + logOnToACDImplOneStep ( 3) } + +AppearanceType ::= ENUMERATED +{ selectedStandard ( 0), + basicStandard ( 1), + basicBridged ( 2), + exclusiveBridged ( 3), + independentSharedBridged ( 4), + interdependentSharedBridged ( 5) } + +TransAndConfSetup ::= BIT STRING +{ consultationCall ( 0), + holdCallMakeCall ( 1), + alternateCall ( 2), + twoCallsInHold ( 3), + twoCallsInConnected ( 4) } + +END -- of CSTA-capability-exchange diff --git a/csta/CSTA-change-connection-information.asn1 b/csta/CSTA-change-connection-information.asn1 new file mode 100644 index 0000000..5b931bd --- /dev/null +++ b/csta/CSTA-change-connection-information.asn1 @@ -0,0 +1,41 @@ +CSTA-change-connection-information + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) change-connection-information(377) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +ConnectionInformation, MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) } +CSTACommonArguments FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +changeConnectionInformation OPERATION ::= +{ ARGUMENT ChangeConnectionInformationArgument + RESULT ChangeConnectionInformationResult + ERRORS {universalFailure } + CODE local: 377 } + +ChangeConnectionInformationArgument::= SEQUENCE +{ connectionToBeChanged ConnectionID, + requestedConnectionInfo ConnectionInformation, + extensions CSTACommonArguments OPTIONAL } + +ChangeConnectionInformationResult::= SEQUENCE +{ actualConnectionInfo ConnectionInformation, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-change-connection-information diff --git a/csta/CSTA-change-monitor-filter.asn1 b/csta/CSTA-change-monitor-filter.asn1 new file mode 100644 index 0000000..bbd0e32 --- /dev/null +++ b/csta/CSTA-change-monitor-filter.asn1 @@ -0,0 +1,38 @@ +CSTA-change-monitor-filter + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) change-monitor-filter( 102) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +MonitorFilter, MonitorCrossRefID FROM CSTA-status-reporting + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) status-reporting( 126) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +changeMonitorFilter OPERATION ::= +{ ARGUMENT ChangeMonitorFilterArgument + RESULT ChangeMonitorFilterResult + ERRORS {universalFailure } + CODE local: 72 } + +ChangeMonitorFilterArgument ::= SEQUENCE +{ crossRefIdentifier MonitorCrossRefID, + requestedFilterList MonitorFilter, + extensions CSTACommonArguments OPTIONAL } + +ChangeMonitorFilterResult ::= SEQUENCE +{ actualFilterList MonitorFilter OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-change-monitor-filter diff --git a/csta/CSTA-change-system-status-filter.asn1 b/csta/CSTA-change-system-status-filter.asn1 new file mode 100644 index 0000000..2ec2233 --- /dev/null +++ b/csta/CSTA-change-system-status-filter.asn1 @@ -0,0 +1,38 @@ +CSTA-change-system-status-filter + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) change-system-status-filter( 206) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +SysStatRegisterID, SystemStatus FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +changeSysStatFilter OPERATION ::= +{ ARGUMENT ChangeSysStatFilterArg + RESULT ChangeSysStatFilterRes + ERRORS {universalFailure } + CODE local: 206 } + +ChangeSysStatFilterArg ::= SEQUENCE +{ sysStatRegisterID SysStatRegisterID, + requestedStatusFilter SystemStatus, + extensions CSTACommonArguments OPTIONAL } + +ChangeSysStatFilterRes ::= SEQUENCE +{ actualStatusFilter SystemStatus, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-change-system-status-filter diff --git a/csta/CSTA-charge-info.asn1 b/csta/CSTA-charge-info.asn1 new file mode 100644 index 0000000..c615567 --- /dev/null +++ b/csta/CSTA-charge-info.asn1 @@ -0,0 +1,39 @@ +CSTA-charge-info + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) charge-info( 133) } + +DEFINITIONS ::= +BEGIN + +EXPORTS +ChargingInfo; + +ChargingInfo ::= SEQUENCE +{ numberUnits NumberUnits, + typeOfChargingInfo ENUMERATED + { subTotal (0), + total (1) } } + +NumberUnits ::= CHOICE +{ numberOfChargeUnits [0] IMPLICIT NumberOfChargingUnits, + numberOfCurrencyUnits [1] IMPLICIT NumberOfCurrencyUnits } + +NumberOfChargingUnits ::= SEQUENCE OF SEQUENCE +{ chargingUnits INTEGER, + typeOfUnits OCTET STRING OPTIONAL } + +NumberOfCurrencyUnits ::= SEQUENCE +{ currencyType OCTET STRING, -- size 0 indicates default currency + currencyAmount INTEGER, + currencyMultiplier ENUMERATED + { oneThousandth (0), + oneHundredth (1), + oneTenth (2), + one (3), + ten (4), + hundred (5), + thousand (6) + } +} + +END -- of CSTA-charge-info diff --git a/csta/CSTA-charging-event.asn1 b/csta/CSTA-charging-event.asn1 new file mode 100644 index 0000000..882ee2e --- /dev/null +++ b/csta/CSTA-charging-event.asn1 @@ -0,0 +1,34 @@ +CSTA-charging-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) charging-event( 240) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ChargingInfo FROM CSTA-charge-info + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) charge-info( 133) }; + +ChargingEvent ::= SEQUENCE +{ connection ConnectionID, + chargedDevice DeviceID, + chargingInfo ChargingInfo, + cause EventCause OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-charging-event diff --git a/csta/CSTA-clear-call.asn1 b/csta/CSTA-clear-call.asn1 new file mode 100644 index 0000000..80972a8 --- /dev/null +++ b/csta/CSTA-clear-call.asn1 @@ -0,0 +1,45 @@ +CSTA-clear-call + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) clear-call( 4) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +clearCall OPERATION ::= +{ ARGUMENT ClearCallArgument + RESULT ClearCallResult + ERRORS {universalFailure } + CODE local: 4 } + +ClearCallArgument ::= SEQUENCE +{ callToBeCleared ConnectionID, + userData UserData OPTIONAL, + reason EventCause OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +ClearCallResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-clear-call diff --git a/csta/CSTA-clear-connection.asn1 b/csta/CSTA-clear-connection.asn1 new file mode 100644 index 0000000..58bd783 --- /dev/null +++ b/csta/CSTA-clear-connection.asn1 @@ -0,0 +1,46 @@ +CSTA-clear-connection + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) clear-connection( 5) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CorrelatorData, UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +clearConnection OPERATION ::= +{ ARGUMENT ClearConnectionArgument + RESULT ClearConnectionResult + ERRORS {universalFailure } + CODE local: 5 } + +ClearConnectionArgument ::= SEQUENCE +{ connectionToBeCleared ConnectionID, + correlatorData CorrelatorData OPTIONAL, + userData UserData OPTIONAL, + reason EventCause OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +ClearConnectionResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-clear-connection diff --git a/csta/CSTA-clear.asn1 b/csta/CSTA-clear.asn1 new file mode 100644 index 0000000..d2f01b3 --- /dev/null +++ b/csta/CSTA-clear.asn1 @@ -0,0 +1,39 @@ +CSTA-clear + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) clear( 513) } +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +ResourceID, MessageID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +clear OPERATION ::= +{ ARGUMENT ClearArgument + RESULT ClearResult + ERRORS {universalFailure } + CODE local: 513 } + +ClearArgument ::= SEQUENCE +{ overConnection ConnectionID, + resource [0] IMPLICIT ResourceID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +ClearResult ::= SEQUENCE +{ extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-clear diff --git a/csta/CSTA-completed-event.asn1 b/csta/CSTA-completed-event.asn1 new file mode 100644 index 0000000..812c628 --- /dev/null +++ b/csta/CSTA-completed-event.asn1 @@ -0,0 +1,34 @@ +CSTA-completed-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) completed-event(518) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +ResourceID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) +standard( 0) csta3( 285) device-feature-types( 127) }; + +CompletedEvent ::= SEQUENCE +{ overConnection ConnectionID, + resource [0] IMPLICIT ResourceID OPTIONAL, + cause EventCause OPTIONAL, + servicesPermitted ServicesPermitted OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-completed-event diff --git a/csta/CSTA-concatenate-message.asn1 b/csta/CSTA-concatenate-message.asn1 new file mode 100644 index 0000000..b6274cc --- /dev/null +++ b/csta/CSTA-concatenate-message.asn1 @@ -0,0 +1,37 @@ +CSTA-concatenate-message + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) concatenate-message( 500) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +MessageID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +concatenateMessage OPERATION ::= +{ ARGUMENT ConcatenateMessageArgument + RESULT ConcatenateMessageResult + ERRORS {universalFailure } + CODE local: 500 } + +ConcatenateMessageArgument ::= SEQUENCE +{ messagesToConcatenate SEQUENCE OF MessageID, + extensions CSTACommonArguments OPTIONAL } + +ConcatenateMessageResult ::= SEQUENCE +{ concatenatedMessage MessageID, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-concatenate-message diff --git a/csta/CSTA-conference-call.asn1 b/csta/CSTA-conference-call.asn1 new file mode 100644 index 0000000..92a8d0f --- /dev/null +++ b/csta/CSTA-conference-call.asn1 @@ -0,0 +1,50 @@ +CSTA-conference-call + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) conference-call( 6) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +ConnectionList FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +CallLinkageDataList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ConnectionInformation FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +conferenceCall OPERATION ::= +{ ARGUMENT ConferenceCallArgument + RESULT ConferenceCallResult + ERRORS {universalFailure } + CODE local: 6 } + +ConferenceCallArgument ::= SEQUENCE +{ heldCall ConnectionID, + activeCall ConnectionID, + extensions CSTACommonArguments OPTIONAL } + +ConferenceCallResult ::= SEQUENCE +{ conferenceCall ConnectionID, + connections [0] IMPLICIT ConnectionList OPTIONAL, + conferenceCallInfo [1] IMPLICIT ConnectionInformation OPTIONAL, + callLinkageDataList [2] IMPLICIT CallLinkageDataList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-conference-call diff --git a/csta/CSTA-conferenced-event.asn1 b/csta/CSTA-conferenced-event.asn1 new file mode 100644 index 0000000..74ff8ae --- /dev/null +++ b/csta/CSTA-conferenced-event.asn1 @@ -0,0 +1,61 @@ +CSTA-conferenced-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) conferenced-event( 23) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types –- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +LocalConnectionState, ConnectionList FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +CorrelatorData, UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics, CallLinkageDataList, ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LocationInfoList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LanguagePreferences, DeviceHistory FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +ConferencedEvent ::= SEQUENCE +{ primaryOldCall ConnectionID, + secondaryOldCall ConnectionID OPTIONAL, + conferencingDevice SubjectDeviceID, + addedParty SubjectDeviceID, + conferenceConnections ConnectionList, + localConnectionInfo LocalConnectionState OPTIONAL, + correlatorData [1] IMPLICIT CorrelatorData OPTIONAL, + userData UserData OPTIONAL, + cause EventCause, + servicesPermitted [2] IMPLICIT ServicesPermitted OPTIONAL, + mediaCallCharacteristics [3] IMPLICIT MediaCallCharacteristics OPTIONAL, + callCharacteristics [4] IMPLICIT CallCharacteristics OPTIONAL, + callLinkageDataList [6] IMPLICIT CallLinkageDataList OPTIONAL, + languagePreferences [7] IMPLICIT LanguagePreferences OPTIONAL, + deviceHistory [8] IMPLICIT DeviceHistory OPTIONAL, + locationInfo [9] IMPLICIT LocationInfoList OPTIONAL, + extensions [5] IMPLICIT CSTACommonArguments OPTIONAL } + +END -- of CSTA-conferenced-event diff --git a/csta/CSTA-connection-cleared-event.asn1 b/csta/CSTA-connection-cleared-event.asn1 new file mode 100644 index 0000000..1b7e1ce --- /dev/null +++ b/csta/CSTA-connection-cleared-event.asn1 @@ -0,0 +1,63 @@ +CSTA-connection-cleared-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-cleared-event( 24) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types –- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +LocalConnectionState FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +CorrelatorData, UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics, CallLinkageData, ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +ChargingInfo FROM CSTA-charge-info + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) charge-info( 133) } +LocationInfoList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LanguagePreferences, DeviceHistory FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +ConnectionInformation, MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +ConnectionClearedEvent ::= SEQUENCE +{ droppedConnection ConnectionID, + releasingDevice SubjectDeviceID, + localConnectionInfo LocalConnectionState OPTIONAL, + correlatorData [0] IMPLICIT CorrelatorData OPTIONAL, + userData UserData OPTIONAL, + chargingInfo [1] IMPLICIT ChargingInfo OPTIONAL, + cause EventCause, + servicesPermitted [2] IMPLICIT ServicesPermitted OPTIONAL, + mediaCallCharacteristics [3] IMPLICIT MediaCallCharacteristics OPTIONAL, + callCharacteristics [4] IMPLICIT CallCharacteristics OPTIONAL, + droppedConnectionInfo [5] IMPLICIT ConnectionInformation OPTIONAL, + callLinkageData [6] IMPLICIT CallLinkageData OPTIONAL, + languagePreferences [7] IMPLICIT LanguagePreferences OPTIONAL, + deviceHistory [8] IMPLICIT DeviceHistory OPTIONAL, + locationInfo [9] IMPLICIT LocationInfoList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-connection-cleared-event diff --git a/csta/CSTA-connection-states.asn1 b/csta/CSTA-connection-states.asn1 new file mode 100644 index 0000000..f1b9672 --- /dev/null +++ b/csta/CSTA-connection-states.asn1 @@ -0,0 +1,43 @@ +CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } + +DEFINITIONS ::= +BEGIN + +EXPORTS +ConnectionList, LocalConnectionState; + +IMPORTS +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionInformation FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +ConnectionList ::= SEQUENCE OF SEQUENCE +{ newConnection [0] ConnectionID OPTIONAL, + oldConnection [1] ConnectionID OPTIONAL, + endpoint [2] CHOICE + { deviceID DeviceID, + notKnown NULL, + restricted [1] NULL } OPTIONAL, + associatedNID [3] CHOICE + { deviceID DeviceID, + notKnown NULL } OPTIONAL, + resultingConnectionInfo ConnectionInformation OPTIONAL } + +LocalConnectionState ::= [APPLICATION 14] IMPLICIT ENUMERATED +{ null (0), + initiated (1), + alerting (2), + connected (3), + hold (4), + queued (5), + fail (6) } + +END -- CSTA-connection-states diff --git a/csta/CSTA-consultation-call.asn1 b/csta/CSTA-consultation-call.asn1 new file mode 100644 index 0000000..7621c32 --- /dev/null +++ b/csta/CSTA-consultation-call.asn1 @@ -0,0 +1,66 @@ +CSTA-consultation-call + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) consultation-call( 7) } +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +AccountInfo, AuthCode, CorrelatorData, UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics, ConsultOptions, CallLinkageData FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +SubjectOfCall,LanguagePreferences FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +ConnectionInformation, MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +consultationCall OPERATION ::= +{ ARGUMENT ConsultationCallArgument + RESULT ConsultationCallResult + ERRORS {universalFailure } + CODE local: 7 } + +ConsultationCallArgument ::= SEQUENCE +{ existingCall [ 0] IMPLICIT ConnectionID, + consultedDevice [ 1] DeviceID, + connectionReservation [ 2] IMPLICIT BOOLEAN OPTIONAL, + accountCode [ 3] IMPLICIT AccountInfo OPTIONAL, + authCode [ 4] IMPLICIT AuthCode OPTIONAL, + correlatorData [ 5] IMPLICIT CorrelatorData OPTIONAL, + userData [ 6] IMPLICIT UserData OPTIONAL, + callCharacteristics [ 7] IMPLICIT CallCharacteristics OPTIONAL, + mediaCallCharacteristics [ 8] IMPLICIT MediaCallCharacteristics OPTIONAL, + callingConnectionInfo [ 9] IMPLICIT ConnectionInformation OPTIONAL, + consultOptions [10] IMPLICIT ConsultOptions DEFAULT unrestricted, + subjectOfCall [11] IMPLICIT SubjectOfCall OPTIONAL, + languagePreferences [12] IMPLICIT LanguagePreferences OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +ConsultationCallResult ::= SEQUENCE +{ initiatedCall ConnectionID, + mediaCallCharacteristics [0] IMPLICIT MediaCallCharacteristics OPTIONAL, + initiatedCallInfo [1] IMPLICIT ConnectionInformation OPTIONAL, + callLinkageData [2] IMPLICIT CallLinkageData OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-consultation-call diff --git a/csta/CSTA-data-call-types.asn1 b/csta/CSTA-data-call-types.asn1 new file mode 100644 index 0000000..c8de3bd --- /dev/null +++ b/csta/CSTA-data-call-types.asn1 @@ -0,0 +1,19 @@ +CSTA-data-call-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) data-call-types( 134) } + +DEFINITIONS ::= +BEGIN + +EXPORTS +NumberOfChannels, MaxChannelBind, ConnectionRateList, DelayToleranceList; + +NumberOfChannels ::= INTEGER + +MaxChannelBind ::= INTEGER + +ConnectionRateList ::= SEQUENCE OF INTEGER + +DelayToleranceList ::= SEQUENCE OF INTEGER + +END -- of CSTA-data-call-types diff --git a/csta/CSTA-data-collected.asn1 b/csta/CSTA-data-collected.asn1 new file mode 100644 index 0000000..448ff74 --- /dev/null +++ b/csta/CSTA-data-collected.asn1 @@ -0,0 +1,84 @@ +CSTA-data-collected +{ iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) data-collected( 343) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ConnectionInformation FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) } +DcollCrossRefID FROM CSTA-data-collection + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) data-collection( 138) }; + +dataCollected OPERATION ::= +{ ARGUMENT DataCollectedArgument + RESULT DataCollectedResult + ERRORS {universalFailure } + CODE local: 343 } + +DataCollectedArgument ::= SEQUENCE +{ dcollCrossRefID DcollCrossRefID, + digitsData [0] IMPLICIT DigitsData OPTIONAL, + telTonesData [1] IMPLICIT TelTonesData OPTIONAL, + connectionInformation [2] IMPLICIT ConnectionInformation OPTIONAL, + dcollCause DcollCause OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +DataCollectedResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +DigitsData ::= SEQUENCE +{ digitsDetected IA5String (SIZE(0..64)), + digitsDuration [0] IMPLICIT SEQUENCE OF INTEGER OPTIONAL, + digitsPauseDuration [1] IMPLICIT SEQUENCE OF INTEGER OPTIONAL } + +TelTonesData ::= SEQUENCE +{ toneDetected ToneDetected, + toneFrequency [0] IMPLICIT INTEGER OPTIONAL, + toneDuration [1] IMPLICIT INTEGER OPTIONAL, + tonePauseDuration [2] IMPLICIT INTEGER OPTIONAL } + +ToneDetected ::= ENUMERATED +{ beep ( 0), + billing ( 1), + busy ( 2), + carrier ( 3), + confirmation ( 4), + dial ( 5), + faxCNG ( 6), + hold ( 7), + howler ( 8), + intrusion ( 9), + modemCNG (10), + park (11), + recordWarning (12), + reorder (13), + ringback (14), + silence (15), + sitVC (16), + sitIC (17), + sitRO (18), + sitNC (19), + other (20) } + +DcollCause ::= ENUMERATED +{ flushCharReceived ( 0), + charCountReached ( 1), + timeout ( 2), + sfTerminated ( 3) } + +END -- of CSTA-data-collected diff --git a/csta/CSTA-data-collection-resumed.asn1 b/csta/CSTA-data-collection-resumed.asn1 new file mode 100644 index 0000000..52763dd --- /dev/null +++ b/csta/CSTA-data-collection-resumed.asn1 @@ -0,0 +1,37 @@ +CSTA-data-collection-resumed +{ iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) data-collection-resumed( 344) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +DcollCrossRefID FROM CSTA-data-collection + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) data-collection( 138) }; + +dataCollectionResumed OPERATION ::= +{ ARGUMENT DataCollectionResumedArgument + RESULT DataCollectionResumedResult + ERRORS {universalFailure } + CODE local: 344 } + +DataCollectionResumedArgument ::= SEQUENCE +{ dcollCrossRefID DcollCrossRefID, + extensions CSTACommonArguments OPTIONAL } + +DataCollectionResumedResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-data-collection-resumed diff --git a/csta/CSTA-data-collection-suspended.asn1 b/csta/CSTA-data-collection-suspended.asn1 new file mode 100644 index 0000000..e7075d7 --- /dev/null +++ b/csta/CSTA-data-collection-suspended.asn1 @@ -0,0 +1,37 @@ +CSTA-data-collection-suspended + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) data-collection-suspended( 345) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +DcollCrossRefID FROM CSTA-data-collection + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) data-collection( 138) }; + +dataCollectionSuspended OPERATION ::= +{ ARGUMENT DataCollectionSuspendedArgument + RESULT DataCollectionSuspendedResult + ERRORS {universalFailure } + CODE local: 345 } + +DataCollectionSuspendedArgument ::= SEQUENCE +{ dcollCrossRefID DcollCrossRefID, + extensions CSTACommonArguments OPTIONAL } + +DataCollectionSuspendedResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-data-collection-suspended diff --git a/csta/CSTA-data-collection.asn1 b/csta/CSTA-data-collection.asn1 new file mode 100644 index 0000000..f9b275a --- /dev/null +++ b/csta/CSTA-data-collection.asn1 @@ -0,0 +1,13 @@ +CSTA-data-collection + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) data-collection( 138) } + +DEFINITIONS ::= +BEGIN + +EXPORTS +DcollCrossRefID; + +DcollCrossRefID ::= OCTET STRING + +END -- of CSTA-data-collection diff --git a/csta/CSTA-data-path-resumed.asn1 b/csta/CSTA-data-path-resumed.asn1 new file mode 100644 index 0000000..0f5ed10 --- /dev/null +++ b/csta/CSTA-data-path-resumed.asn1 @@ -0,0 +1,37 @@ +CSTA-data-path-resumed + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) data-path-resumed( 118) } +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +IOCrossRefID, IORegisterReqID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +dataPathResumed OPERATION ::= +{ ARGUMENT DataPathResumedArgument + RESULT DataPathResumedResult + ERRORS {universalFailure } + CODE local: 118 } + +DataPathResumedArgument ::= SEQUENCE +{ ioCrossRefID IOCrossRefID, + ioRegisterReqID IORegisterReqID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +DataPathResumedResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-data-path-resumed diff --git a/csta/CSTA-data-path-suspended.asn1 b/csta/CSTA-data-path-suspended.asn1 new file mode 100644 index 0000000..53e4b3d --- /dev/null +++ b/csta/CSTA-data-path-suspended.asn1 @@ -0,0 +1,38 @@ +CSTA-data-path-suspended + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) data-path-suspended( 116) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +IOCrossRefID, IORegisterReqID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +dataPathSuspended OPERATION ::= +{ ARGUMENT DataPathSuspendedArgument + RESULT DataPathSuspendedResult + ERRORS {universalFailure } + CODE local: 116 } + +DataPathSuspendedArgument ::= SEQUENCE +{ ioCrossRefID IOCrossRefID, + ioReqRegisterID IORegisterReqID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +DataPathSuspendedResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-data-path-suspended diff --git a/csta/CSTA-deactivate.asn1 b/csta/CSTA-deactivate.asn1 new file mode 100644 index 0000000..7bfef0a --- /dev/null +++ b/csta/CSTA-deactivate.asn1 @@ -0,0 +1,42 @@ +CSTA-deactivate + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) deactivate ( 514) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ResourceID, MessageID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) }; + +deactivate OPERATION ::= +{ ARGUMENT DeactivateArgument + RESULT DeactivateResult + ERRORS {universalFailure } + CODE local: 514 } + +DeactivateArgument ::= SEQUENCE +{ overConnection ConnectionID, + resource [0] IMPLICIT ResourceID OPTIONAL, + ruleName IA5String, + grammarName [1] IMPLICIT IA5String OPTIONAL, + extensions [2] IMPLICIT CSTACommonArguments OPTIONAL } + +DeactivateResult ::= SEQUENCE +{ extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-deactivate diff --git a/csta/CSTA-deflect-call.asn1 b/csta/CSTA-deflect-call.asn1 new file mode 100644 index 0000000..8f31935 --- /dev/null +++ b/csta/CSTA-deflect-call.asn1 @@ -0,0 +1,62 @@ +CSTA-deflect-call + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) deflect-call( 218) } +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CorrelatorData, UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +SubjectOfCall,LanguagePreferences FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +CallCharacteristics FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +deflectCall OPERATION ::= +{ ARGUMENT DeflectCallArgument + RESULT DeflectCallResult + ERRORS {universalFailure } + CODE local: 218 } + +DeflectCallArgument ::= SEQUENCE +{ callToBeDiverted ConnectionID, + newDestination DeviceID, + addNewDestinationsList DeviceIDList OPTIONAL, + -- List of additional new Destinations + correlatorData CorrelatorData OPTIONAL, + userData UserData OPTIONAL, + callCharacteristics [0] IMPLICIT CallCharacteristics OPTIONAL, + subjectOfCall [1] IMPLICIT SubjectOfCall OPTIONAL, + languagePreferences [2] IMPLICIT LanguagePreferences OPTIONAL, + reason [3] IMPLICIT EventCause OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +DeflectCallResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +DeviceIDList ::= SEQUENCE OF DeviceID + +END -- of CSTA-deflect-call diff --git a/csta/CSTA-delete-message.asn1 b/csta/CSTA-delete-message.asn1 new file mode 100644 index 0000000..6de1e50 --- /dev/null +++ b/csta/CSTA-delete-message.asn1 @@ -0,0 +1,37 @@ +CSTA-delete-message + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) delete-message( 501) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +MessageID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +deleteMessage OPERATION ::= +{ ARGUMENT DeleteMessageArgument + RESULT DeleteMessageResult + ERRORS {universalFailure } + CODE local: 501 } + +DeleteMessageArgument ::= SEQUENCE +{ messageToBeDeleted MessageID, + extensions CSTACommonArguments OPTIONAL } + +DeleteMessageResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-delete-message diff --git a/csta/CSTA-delivered-event.asn1 b/csta/CSTA-delivered-event.asn1 new file mode 100644 index 0000000..c82f858 --- /dev/null +++ b/csta/CSTA-delivered-event.asn1 @@ -0,0 +1,74 @@ +CSTA-delivered-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) delivered-event( 25) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types –- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +SubjectDeviceID, CallingDeviceID, CalledDeviceID, RedirectionDeviceID, +AssociatedCalledDeviceID, AssociatedCallingDeviceID, +NetworkCalledDeviceID, NetworkCallingDeviceID +FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +LocalConnectionState FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +CorrelatorData, UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics, CallLinkageData, ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LocationInfoList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LanguagePreferences, SubjectOfCall, +MessageInfo, DeviceHistory FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +ConnectionInformation, MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +DeliveredEvent ::= SEQUENCE +{ connection ConnectionID, + alertingDevice SubjectDeviceID, + callingDevice CallingDeviceID, + calledDevice CalledDeviceID, + lastRedirectionDevice RedirectionDeviceID, + originatingNIDConnection ConnectionID OPTIONAL, + localConnectionInfo LocalConnectionState OPTIONAL, + correlatorData [ 0] IMPLICIT CorrelatorData OPTIONAL, + userData UserData OPTIONAL, + cause EventCause, + servicesPermitted [ 1] IMPLICIT ServicesPermitted OPTIONAL, + networkCallingDevice NetworkCallingDeviceID OPTIONAL, + networkCalledDevice NetworkCalledDeviceID OPTIONAL, + associatedCallingDevice AssociatedCallingDeviceID OPTIONAL, + associatedCalledDevice AssociatedCalledDeviceID OPTIONAL, + mediaCallCharacteristics [ 2] IMPLICIT MediaCallCharacteristics OPTIONAL, + callCharacteristics [ 3] IMPLICIT CallCharacteristics OPTIONAL, + connectionInfo [ 4] IMPLICIT ConnectionInformation OPTIONAL, + callLinkageData [ 5] IMPLICIT CallLinkageData OPTIONAL, + subjectOfCall [ 6] IMPLICIT SubjectOfCall OPTIONAL, + messageInfo [ 7] IMPLICIT MessageInfo OPTIONAL, + languagePreferences [ 8] IMPLICIT LanguagePreferences OPTIONAL, + deviceHistory [ 9] IMPLICIT DeviceHistory OPTIONAL, + locationInfo [10] IMPLICIT LocationInfoList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + + +END -- of CSTA-delivered-event diff --git a/csta/CSTA-detach-media-service.asn1 b/csta/CSTA-detach-media-service.asn1 new file mode 100644 index 0000000..9b55dc3 --- /dev/null +++ b/csta/CSTA-detach-media-service.asn1 @@ -0,0 +1,40 @@ +CSTA-detach-media-service + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) detach-media-service( 245) } +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +MediaServiceType FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +detachMediaService OPERATION ::= +{ ARGUMENT DetachMediaServiceArgument + RESULT DetachMediaServiceResult + ERRORS {universalFailure } + CODE local: 245 } + +DetachMediaServiceArgument ::= SEQUENCE +{ connection ConnectionID, + mediaServiceType MediaServiceType, + extensions CSTACommonArguments OPTIONAL } + +DetachMediaServiceResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-detach-media-service diff --git a/csta/CSTA-device-capabilities-changed-event.asn1 b/csta/CSTA-device-capabilities-changed-event.asn1 new file mode 100644 index 0000000..ddb3d9a --- /dev/null +++ b/csta/CSTA-device-capabilities-changed-event.asn1 @@ -0,0 +1,26 @@ +CSTA-device-capabilities-changed-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-capabilities-changed-event( 334) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +DeviceCapsChangedEvent ::= SEQUENCE +{ device SubjectDeviceID, + cause EventCause OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-device-capabilities-changed-event diff --git a/csta/CSTA-device-feature-types.asn1 b/csta/CSTA-device-feature-types.asn1 new file mode 100644 index 0000000..4eb3047 --- /dev/null +++ b/csta/CSTA-device-feature-types.asn1 @@ -0,0 +1,345 @@ +CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } + +DEFINITIONS ::= +BEGIN + +EXPORTS +AccountInfo, AgentID, AgentPassword, AgentState, AuthCode, CallOrigination, CorrelatorData, +DataPathType, DisplayAttributeList, ForwardList, IOCrossRefID, IORegisterReqID, +MessageID, ParticipationType, PendingAgentState, RetryValue, RouteRegisterReqID, +RouteingCrossRefID, SelectValue, SysStatRegisterID, SystemStatus, TerminatingConditions, +ForwardingType, ForwardDefault, AttributeInfo, EncodingAlgorithm, ControlData, UserData, +TelephonyTone, DeviceHistory, SubjectOfCall, LanguagePreferences, MessageInfo, +LocReason, LocCrossRefID, ResourceID, PresenceState; + +IMPORTS +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) }; + +AccountInfo ::= OCTET STRING + +AgentID ::= OCTET STRING + +AgentPassword ::= OCTET STRING + +AgentState ::= ENUMERATED +{ agentNotReady (0), + agentNull (1), + agentReady (2), + agentBusy (3), + agentWorkingAfterCall (4) } + +AuthCode ::= OCTET STRING + +CorrelatorData ::= OCTET STRING + +IOCrossRefID ::= CHOICE +{ switchProvided [0] OCTET STRING , + computerProvided [1] OCTET STRING } + +IORegisterReqID ::= OCTET STRING + +MessageID ::= OCTET STRING + +ParticipationType ::= ENUMERATED +{ silent (0), + active (1), + none (2) } + +RouteRegisterReqID ::= OCTET STRING + +RouteingCrossRefID ::= [APPLICATION 24] IMPLICIT OCTET STRING + +SelectValue ::= ENUMERATED +{ normal (0), + leastCost (1), + emergency (2), + aCD (3), + userDefined (4) } + +RetryValue ::= CHOICE -- used in RouteSelect Request service +{ noListAvailable [0] IMPLICIT BOOLEAN, + noCountAvailable [1] IMPLICIT BOOLEAN, + retryCount [2] IMPLICIT INTEGER } + +SysStatRegisterID ::= OCTET STRING + +SystemStatus ::= ENUMERATED +{ disabled (4), + partiallyDisabled (8), + enabled (1), + initializing (0), + messagesLost (3), + normal (2), + overloadImminent (5), + overloadReached (6), + overloadRelieved (7) } + +CallOrigination ::= BIT STRING +{ internal (0), + external (1) } + +ForwardList ::= SEQUENCE OF SEQUENCE +{ forwardingType ForwardingType OPTIONAL, + forwardStatus BOOLEAN, + forwardDN DeviceID OPTIONAL, + forwardDefault ForwardDefault OPTIONAL, + ringDuration [0] IMPLICIT INTEGER OPTIONAL, + ringCount INTEGER (1..100) OPTIONAL } + +ForwardingType ::= ENUMERATED +{ forwardImmediate ( 0), + forwardBusy ( 1), + forwardNoAns ( 2), + forwardDND ( 9), + forwardBusyInt ( 3), + forwardBusyExt ( 4), + forwardNoAnsInt ( 5), + forwardNoAnsExt ( 6), + forwardImmInt ( 7), + forwardImmExt ( 8), + forwardDNDInt (10), + forwardDNDExt (11) } + +ForwardDefault ::= ENUMERATED +{ forwardingTypeAndForwardDN ( 0), + forwardingType ( 1), + forwardDN ( 2) } + +PendingAgentState ::= ENUMERATED +{ agentNotReady ( 0), + agentNull ( 1), + agentReady ( 2), + agentWorkingAfterCall ( 3) } + +DataPathType ::= ENUMERATED +{ text ( 0), + voice ( 1) } + +DisplayAttributeList ::= SEQUENCE +{ physicalBaseRowNumber [0] IMPLICIT INTEGER OPTIONAL, + physicalBaseColumnNumber [1] IMPLICIT INTEGER OPTIONAL, + offset [2] IMPLICIT INTEGER OPTIONAL } + +TerminatingConditions ::= BIT STRING +{ durationExceeded ( 0), + dTMFDigitDetected ( 1), + endOfMessageDetected ( 2), + speechDetected ( 3) } + +AttributeInfo ::= CHOICE +{ encodingAlgorithm [0] IMPLICIT EncodingAlgorithm, + samplingRate [1] IMPLICIT INTEGER, + duration [2] IMPLICIT INTEGER, + filename [3] IMPLICIT IA5String, + currentPosition [4] IMPLICIT INTEGER, + currentSpeed [5] IMPLICIT INTEGER, + currentVolume [6] IMPLICIT INTEGER (0 .. 100), + currentGain [7] IMPLICIT INTEGER (0 .. 100), + currentState [8] IMPLICIT CurrentState } + +EncodingAlgorithm ::= ENUMERATED +{ aDPCM6K ( 0), + aDPCM8K ( 1), + muLawPCM6K ( 2), + aLawPCM6K ( 3) } + +LocReason ::= ENUMERATED +{ connectionToDeviceOrNetworkRestored ( 0), + performanceConditionRelieved ( 1) } + +LocCrossRefID ::= IA5String + +CurrentState ::= ENUMERATED +{ dtmfDetected ( 6), + formed ( 7), + play ( 1), + playing ( 8), + ready ( 9), + record ( 2), + review ( 5), + speechDetected (10), + started (11), + stop ( 0), + suspendPlay ( 3), + suspendRecord ( 4) } + +ResourceID ::= IA5String + +MessageInfo ::= SEQUENCE +{ contents IA5String, + contentTypeAndSubtype IA5String OPTIONAL, + contentsLength INTEGER OPTIONAL } + +DeviceHistory ::= SEQUENCE +{ oldDeviceID DeviceID, + eventCause [1] IMPLICIT EventCause OPTIONAL, + oldConnectionID [2] IMPLICIT ConnectionID OPTIONAL } + +SubjectOfCall ::= IA5String + +LanguagePreferences ::= IA5String + +ControlData ::= SEQUENCE +{ gender ENUMERATED + { male (0), + female (1) }, + language OCTET STRING } + +UserData ::= [APPLICATION 29] OCTET STRING + +TelephonyTone ::= ENUMERATED +{ beep ( 0), + billing ( 1), + busy ( 2), + carrier ( 3), + confirmation ( 4), + dial ( 5), + faxCNG ( 6), + hold ( 7), + howler ( 8), + intrusion ( 9), + modemCNG ( 10), + park ( 11), + recordWarning ( 12), + reorder ( 13), + ringback ( 14), + silence ( 15), + sitVC ( 16), + sitIC ( 17), + sitRO ( 18), + sitNC ( 19), + switchSpec0 ( 20), + switchSpec1 ( 21), + switchSpec2 ( 22), + switchSpec3 ( 23), + switchSpec4 ( 24), + switchSpec5 ( 25), + switchSpec6 ( 26), + switchSpec7 ( 27), + switchSpec8 ( 28), + switchSpec9 ( 29), + switchSpec10 ( 30), + switchSpec11 ( 31), + switchSpec12 ( 32), + switchSpec13 ( 33), + switchSpec14 ( 34), + switchSpec15 ( 35), + switchSpec16 ( 36), + switchSpec17 ( 37), + switchSpec18 ( 38), + switchSpec19 ( 39), + switchSpec20 ( 40), + switchSpec21 ( 41), + switchSpec22 ( 42), + switchSpec23 ( 43), + switchSpec24 ( 44), + switchSpec25 ( 45), + switchSpec26 ( 46), + switchSpec27 ( 47), + switchSpec28 ( 48), + switchSpec29 ( 49), + switchSpec30 ( 50), + switchSpec31 ( 51), + switchSpec32 ( 52), + switchSpec33 ( 53), + switchSpec34 ( 54), + switchSpec35 ( 55), + switchSpec36 ( 56), + switchSpec37 ( 57), + switchSpec38 ( 58), + switchSpec39 ( 59), + switchSpec40 ( 60), + switchSpec41 ( 61), + switchSpec42 ( 62), + switchSpec43 ( 63), + switchSpec44 ( 64), + switchSpec45 ( 65), + switchSpec46 ( 66), + switchSpec47 ( 67), + switchSpec48 ( 68), + switchSpec49 ( 69), + switchSpec50 ( 70), + switchSpec51 ( 71), + switchSpec52 ( 72), + switchSpec53 ( 73), + switchSpec54 ( 74), + switchSpec55 ( 75), + switchSpec56 ( 76), + switchSpec57 ( 77), + switchSpec58 ( 78), + switchSpec59 ( 79), + switchSpec60 ( 80), + switchSpec61 ( 81), + switchSpec62 ( 82), + switchSpec63 ( 83), + switchSpec64 ( 84), + switchSpec65 ( 85), + switchSpec66 ( 86), + switchSpec67 ( 87), + switchSpec68 ( 88), + switchSpec69 ( 89), + switchSpec70 ( 90), + switchSpec71 ( 91), + switchSpec72 ( 92), + switchSpec73 ( 93), + switchSpec74 ( 94), + switchSpec75 ( 95), + switchSpec76 ( 96), + switchSpec77 ( 97), + switchSpec78 ( 98), + switchSpec79 ( 99), + switchSpec80 (100), + switchSpec81 (101), + switchSpec82 (102), + switchSpec83 (103), + switchSpec84 (104), + switchSpec85 (105), + switchSpec86 (106), + switchSpec87 (107), + switchSpec88 (108), + switchSpec89 (109), + switchSpec90 (110), + switchSpec91 (111), + switchSpec92 (112), + switchSpec93 (113), + switchSpec94 (114), + switchSpec95 (115), + switchSpec96 (116), + switchSpec97 (117), + switchSpec98 (118), + switchSpec99 (119), + switchSpec100 (120) } + +PresenceState ::= BIT STRING +{ available ( 0), + away ( 1), + busy ( 2), + calling ( 3), + dnd ( 4), + meeting ( 5), + offline ( 6), + unknown ( 7), + vacation ( 8), + applicationSpec0 ( 9), + applicationSpec1 (10), + applicationSpec2 (11), + applicationSpec3 (12), + applicationSpec4 (13), + applicationSpec5 (14), + applicationSpec6 (15), + applicationSpec7 (16), + applicationSpec8 (17), + applicationSpec9 (18), + applicationSpec10 (19) } + +END -- of CSTA-device-feature-types diff --git a/csta/CSTA-device-identifier.asn1 b/csta/CSTA-device-identifier.asn1 new file mode 100644 index 0000000..84a87cf --- /dev/null +++ b/csta/CSTA-device-identifier.asn1 @@ -0,0 +1,116 @@ +CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } + +DEFINITIONS ::= +BEGIN + +EXPORTS +DeviceID, NumberDigits, CallingDeviceID, CalledDeviceID, +SubjectDeviceID, RedirectionDeviceID, AssociatedCallingDeviceID, +AssociatedCalledDeviceID, NetworkCallingDeviceID, NetworkCalledDeviceID; + +IMPORTS +MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +ExtendedDeviceID::= [APPLICATION 9] CHOICE +{ deviceIdentifier DeviceID, + notKnown [ 7] IMPLICIT NULL, + restricted [ 8] IMPLICIT NULL } + +CallingDeviceID::= [APPLICATION 1] CHOICE +{ deviceIdentifier DeviceID, + notKnown [ 7] IMPLICIT NULL, + restricted [ 8] IMPLICIT NULL } + +CallingDevice ::= CallingDeviceID + +CalledDeviceID ::= [APPLICATION 2] CHOICE +{ deviceIdentifier DeviceID, + notKnown [ 7] IMPLICIT NULL, + restricted [ 8] IMPLICIT NULL } + +CalledDevice ::= CalledDeviceID + +SubjectDeviceID ::= [APPLICATION 3] CHOICE +{ deviceIdentifier DeviceID, + notKnown [ 7] IMPLICIT NULL, + restricted [ 8] IMPLICIT NULL } + +RedirectionDeviceID ::= [APPLICATION 4] CHOICE +{ numberdialed DeviceID, + notKnown [ 7] IMPLICIT NULL, + notRequired [ 8] IMPLICIT NULL, + notSpecified [ 9] IMPLICIT NULL, + restricted [10] IMPLICIT NULL } + +LastRedirectionDevice ::= RedirectionDeviceID + +AssociatedCallingDeviceID::= [APPLICATION 5] CHOICE +{ deviceIdentifier DeviceID, + notKnown [ 7] IMPLICIT NULL, + restricted [ 8] IMPLICIT NULL } + +AssociatedCallingDevice ::= AssociatedCallingDeviceID + +AssociatedCalledDeviceID ::= [APPLICATION 6] CHOICE +{ deviceIdentifier DeviceID, + notKnown [ 7] IMPLICIT NULL, + restricted [ 8] IMPLICIT NULL } + +AssociatedCalledDevice ::= AssociatedCalledDeviceID + +NetworkCallingDeviceID::= [APPLICATION 7] CHOICE +{ deviceIdentifier DeviceID, + notKnown [ 7] IMPLICIT NULL, + restricted [ 8] IMPLICIT NULL } + +NetworkCallingDevice ::= NetworkCallingDeviceID + +NetworkCalledDeviceID ::= [APPLICATION 8] CHOICE +{ deviceIdentifier DeviceID, + notKnown [ 7] IMPLICIT NULL, + restricted [ 8] IMPLICIT NULL } + +NetworkCalledDevice ::= NetworkCalledDeviceID + +DeviceID ::= SEQUENCE +{ deviceIdentifier CHOICE + { dialingNumber [ 0] IMPLICIT NumberDigits, + deviceNumber [ 1] IMPLICIT DeviceNumber, + implicitPublic [ 2] IMPLICIT NumberDigits, + explicitPublic [ 3] PublicTON, + implicitPrivate [ 4] IMPLICIT NumberDigits, + explicitPrivate [ 5] PrivateTON, + other [ 6] IMPLICIT OtherPlan }, + privateNumber [ 0] NumberDigits OPTIONAL, + privateName [ 1] IA5String OPTIONAL, + mediaCallCharacteristics MediaCallCharacteristics OPTIONAL } + +PublicTON ::= CHOICE +{ unknown [ 0] IMPLICIT IA5String, + international [ 1] IMPLICIT IA5String, + national [ 2] IMPLICIT IA5String, + networkspecific [ 3] IMPLICIT IA5String, + subscriber [ 4] IMPLICIT IA5String, + abbreviated [ 5] IMPLICIT IA5String } + +PrivateTON ::= CHOICE +{ unknown [ 0] IMPLICIT IA5String, + level3RegionalNumber [ 1] IMPLICIT IA5String, + level2RegionalNumber [ 2] IMPLICIT IA5String, + level1RegionalNumber [ 3] IMPLICIT IA5String, + pTNSpecificNumber [ 4] IMPLICIT IA5String, + localNumber [ 5] IMPLICIT IA5String, + abbreviated [ 6] IMPLICIT IA5String } + +OtherPlan ::= OCTET STRING -- Allows future expansion to cover other numbering + -- plans + +NumberDigits::= IA5String + +DeviceNumber::= INTEGER + +END -- of CSTA-device-identifier diff --git a/csta/CSTA-device-identifiers.asn1 b/csta/CSTA-device-identifiers.asn1 new file mode 100644 index 0000000..84a87cf --- /dev/null +++ b/csta/CSTA-device-identifiers.asn1 @@ -0,0 +1,116 @@ +CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } + +DEFINITIONS ::= +BEGIN + +EXPORTS +DeviceID, NumberDigits, CallingDeviceID, CalledDeviceID, +SubjectDeviceID, RedirectionDeviceID, AssociatedCallingDeviceID, +AssociatedCalledDeviceID, NetworkCallingDeviceID, NetworkCalledDeviceID; + +IMPORTS +MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +ExtendedDeviceID::= [APPLICATION 9] CHOICE +{ deviceIdentifier DeviceID, + notKnown [ 7] IMPLICIT NULL, + restricted [ 8] IMPLICIT NULL } + +CallingDeviceID::= [APPLICATION 1] CHOICE +{ deviceIdentifier DeviceID, + notKnown [ 7] IMPLICIT NULL, + restricted [ 8] IMPLICIT NULL } + +CallingDevice ::= CallingDeviceID + +CalledDeviceID ::= [APPLICATION 2] CHOICE +{ deviceIdentifier DeviceID, + notKnown [ 7] IMPLICIT NULL, + restricted [ 8] IMPLICIT NULL } + +CalledDevice ::= CalledDeviceID + +SubjectDeviceID ::= [APPLICATION 3] CHOICE +{ deviceIdentifier DeviceID, + notKnown [ 7] IMPLICIT NULL, + restricted [ 8] IMPLICIT NULL } + +RedirectionDeviceID ::= [APPLICATION 4] CHOICE +{ numberdialed DeviceID, + notKnown [ 7] IMPLICIT NULL, + notRequired [ 8] IMPLICIT NULL, + notSpecified [ 9] IMPLICIT NULL, + restricted [10] IMPLICIT NULL } + +LastRedirectionDevice ::= RedirectionDeviceID + +AssociatedCallingDeviceID::= [APPLICATION 5] CHOICE +{ deviceIdentifier DeviceID, + notKnown [ 7] IMPLICIT NULL, + restricted [ 8] IMPLICIT NULL } + +AssociatedCallingDevice ::= AssociatedCallingDeviceID + +AssociatedCalledDeviceID ::= [APPLICATION 6] CHOICE +{ deviceIdentifier DeviceID, + notKnown [ 7] IMPLICIT NULL, + restricted [ 8] IMPLICIT NULL } + +AssociatedCalledDevice ::= AssociatedCalledDeviceID + +NetworkCallingDeviceID::= [APPLICATION 7] CHOICE +{ deviceIdentifier DeviceID, + notKnown [ 7] IMPLICIT NULL, + restricted [ 8] IMPLICIT NULL } + +NetworkCallingDevice ::= NetworkCallingDeviceID + +NetworkCalledDeviceID ::= [APPLICATION 8] CHOICE +{ deviceIdentifier DeviceID, + notKnown [ 7] IMPLICIT NULL, + restricted [ 8] IMPLICIT NULL } + +NetworkCalledDevice ::= NetworkCalledDeviceID + +DeviceID ::= SEQUENCE +{ deviceIdentifier CHOICE + { dialingNumber [ 0] IMPLICIT NumberDigits, + deviceNumber [ 1] IMPLICIT DeviceNumber, + implicitPublic [ 2] IMPLICIT NumberDigits, + explicitPublic [ 3] PublicTON, + implicitPrivate [ 4] IMPLICIT NumberDigits, + explicitPrivate [ 5] PrivateTON, + other [ 6] IMPLICIT OtherPlan }, + privateNumber [ 0] NumberDigits OPTIONAL, + privateName [ 1] IA5String OPTIONAL, + mediaCallCharacteristics MediaCallCharacteristics OPTIONAL } + +PublicTON ::= CHOICE +{ unknown [ 0] IMPLICIT IA5String, + international [ 1] IMPLICIT IA5String, + national [ 2] IMPLICIT IA5String, + networkspecific [ 3] IMPLICIT IA5String, + subscriber [ 4] IMPLICIT IA5String, + abbreviated [ 5] IMPLICIT IA5String } + +PrivateTON ::= CHOICE +{ unknown [ 0] IMPLICIT IA5String, + level3RegionalNumber [ 1] IMPLICIT IA5String, + level2RegionalNumber [ 2] IMPLICIT IA5String, + level1RegionalNumber [ 3] IMPLICIT IA5String, + pTNSpecificNumber [ 4] IMPLICIT IA5String, + localNumber [ 5] IMPLICIT IA5String, + abbreviated [ 6] IMPLICIT IA5String } + +OtherPlan ::= OCTET STRING -- Allows future expansion to cover other numbering + -- plans + +NumberDigits::= IA5String + +DeviceNumber::= INTEGER + +END -- of CSTA-device-identifier diff --git a/csta/CSTA-dial-digits.asn1 b/csta/CSTA-dial-digits.asn1 new file mode 100644 index 0000000..54c7625 --- /dev/null +++ b/csta/CSTA-dial-digits.asn1 @@ -0,0 +1,46 @@ +CSTA-dial-digits + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) dial-digits( 219) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CorrelatorData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +dialDigits OPERATION ::= +{ ARGUMENT DialDigitsArgument + RESULT DialDigitsResult + ERRORS {universalFailure } + CODE local: 219 } + +DialDigitsArgument ::= SEQUENCE +{ diallingConnection ConnectionID, + diallingSequence DeviceID, + correlatorData CorrelatorData OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +DialDigitsResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-dial-digits + \ No newline at end of file diff --git a/csta/CSTA-digits-dialed-event.asn1 b/csta/CSTA-digits-dialed-event.asn1 new file mode 100644 index 0000000..7ba0449 --- /dev/null +++ b/csta/CSTA-digits-dialed-event.asn1 @@ -0,0 +1,64 @@ +CSTA-digits-dialed-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) digits-dialed-event( 225) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types –- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +SubjectDeviceID, DeviceID, AssociatedCalledDeviceID, AssociatedCallingDeviceID, +NetworkCalledDeviceID, NetworkCallingDeviceID +FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +LocalConnectionState FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +CorrelatorData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics, CallLinkageData, ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LocationInfoList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LanguagePreferences FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +ConnectionInformation FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +DigitsDialedEvent ::= SEQUENCE +{ dialingConnection ConnectionID, + dialingDevice SubjectDeviceID, + dialingSequence DeviceID, + localConnectionInfo LocalConnectionState OPTIONAL, + correlatorData [0] IMPLICIT CorrelatorData OPTIONAL, + cause EventCause, + servicesPermitted [1] IMPLICIT ServicesPermitted OPTIONAL, + networkCallingDevice NetworkCallingDeviceID OPTIONAL, + networkCalledDevice NetworkCalledDeviceID OPTIONAL, + associatedCallingDevice AssociatedCallingDeviceID OPTIONAL, + associatedCalledDevice AssociatedCalledDeviceID OPTIONAL, + dialingConnectionInfo [2] IMPLICIT ConnectionInformation OPTIONAL, + callCharacteristics [3] IMPLICIT CallCharacteristics OPTIONAL, + callLinkageData [4] IMPLICIT CallLinkageData OPTIONAL, + languagePreferences [5] IMPLICIT LanguagePreferences OPTIONAL, + locationInfo [6] IMPLICIT LocationInfoList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + + +END -- of CSTA-digits-dialed-event diff --git a/csta/CSTA-digits-generated-event.asn1 b/csta/CSTA-digits-generated-event.asn1 new file mode 100644 index 0000000..361ce56 --- /dev/null +++ b/csta/CSTA-digits-generated-event.asn1 @@ -0,0 +1,29 @@ +CSTA-digits-generated-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) digits-generated-event( 241) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ConnectionInformation FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +DigitsGeneratedEvent ::= SEQUENCE +{ connection ConnectionID, + digitGeneratedList IA5String, + digitDurationList [0] IMPLICIT SEQUENCE OF INTEGER OPTIONAL, + pauseDurationList [1] IMPLICIT SEQUENCE OF INTEGER OPTIONAL, + connectionInfo ConnectionInformation OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-digits-generated-event diff --git a/csta/CSTA-directed-pickup-call.asn1 b/csta/CSTA-directed-pickup-call.asn1 new file mode 100644 index 0000000..adf5796 --- /dev/null +++ b/csta/CSTA-directed-pickup-call.asn1 @@ -0,0 +1,54 @@ +CSTA-directed-pickup-call + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) directed-pickup-call( 220) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CorrelatorData, UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CallLinkageData FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ConnectionInformation FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +directedPickupCall OPERATION ::= +{ ARGUMENT DirectedPickupCallArgument + RESULT DirectedPickupCallResult + ERRORS {universalFailure } + CODE local: 220 } + +DirectedPickupCallArgument ::= SEQUENCE +{ callToBePickedUp ConnectionID, + requestingDevice DeviceID, + correlatorData CorrelatorData OPTIONAL, + userData UserData OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +DirectedPickupCallResult ::= SEQUENCE +{ pickedCall ConnectionID OPTIONAL, + pickedCallInfo ConnectionInformation OPTIONAL, + callLinkageData [1] IMPLICIT CallLinkageData OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-directed-pickup-call diff --git a/csta/CSTA-display-updated-event.asn1 b/csta/CSTA-display-updated-event.asn1 new file mode 100644 index 0000000..593293d --- /dev/null +++ b/csta/CSTA-display-updated-event.asn1 @@ -0,0 +1,34 @@ +CSTA-display-updated-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) display-updated-event( 285) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +DisplayID, CharacterSet FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +DisplayUpdatedEvent ::= SEQUENCE +{ device SubjectDeviceID, + displayID DisplayID OPTIONAL, + logicalRows INTEGER, + logicalColumns INTEGER, + physicalRows [0] IMPLICIT INTEGER OPTIONAL, + physicalColumns [1] IMPLICIT INTEGER OPTIONAL, + physicalBaseRowNumber [2] IMPLICIT INTEGER OPTIONAL, + physicalBaseColumnNumber [3] IMPLICIT INTEGER OPTIONAL, + characterSet CharacterSet OPTIONAL, + contentsOfDisplay IA5String, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-display-updated-event diff --git a/csta/CSTA-diverted-event.asn1 b/csta/CSTA-diverted-event.asn1 new file mode 100644 index 0000000..d51c4a9 --- /dev/null +++ b/csta/CSTA-diverted-event.asn1 @@ -0,0 +1,73 @@ +CSTA-diverted-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) diverted-event( 26) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types –- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +SubjectDeviceID , CallingDeviceID, CalledDeviceID, RedirectionDeviceID, +AssociatedCalledDeviceID, AssociatedCallingDeviceID, +NetworkCalledDeviceID, NetworkCallingDeviceID +FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +LocalConnectionState FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +CorrelatorData, UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics, CallLinkageData, ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LocationInfoList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LanguagePreferences, SubjectOfCall, MessageInfo, +DeviceHistory FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +ConnectionInformation, MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +DivertedEvent ::= SEQUENCE +{ connection ConnectionID, + divertingDevice SubjectDeviceID, + newDestination SubjectDeviceID, + callingDevice CallingDeviceID OPTIONAL, + calledDevice CalledDeviceID OPTIONAL, + lastRedirectionDevice RedirectionDeviceID, + localConnectionInfo LocalConnectionState OPTIONAL, + correlatorData [ 0] IMPLICIT CorrelatorData OPTIONAL, + userData UserData OPTIONAL, + cause EventCause, + servicesPermitted [ 1] IMPLICIT ServicesPermitted OPTIONAL, + mediaCallCharacteristics [ 2] IMPLICIT MediaCallCharacteristics OPTIONAL, + callCharacteristics [ 3] IMPLICIT CallCharacteristics OPTIONAL, + connectionInfo [ 4] IMPLICIT ConnectionInformation OPTIONAL, + networkCallingDevice NetworkCallingDeviceID OPTIONAL, + networkCalledDevice NetworkCalledDeviceID OPTIONAL, + associatedCallingDevice AssociatedCallingDeviceID OPTIONAL, + associatedCalledDevice AssociatedCalledDeviceID OPTIONAL, + callLinkageData [ 5] IMPLICIT CallLinkageData OPTIONAL, + subjectOfCall [ 6] IMPLICIT SubjectOfCall OPTIONAL, + messageInfo [ 7] IMPLICIT MessageInfo OPTIONAL, + languagePreferences [ 8] IMPLICIT LanguagePreferences OPTIONAL, + deviceHistory [ 9] IMPLICIT DeviceHistory OPTIONAL, + locationInfo [10] IMPLICIT LocationInfoList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-diverted-event diff --git a/csta/CSTA-do-not-disturb-event.asn1 b/csta/CSTA-do-not-disturb-event.asn1 new file mode 100644 index 0000000..760bc29 --- /dev/null +++ b/csta/CSTA-do-not-disturb-event.asn1 @@ -0,0 +1,28 @@ +CSTA-do-not-disturb-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) do-not-disturb-event( 42) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +DeviceID, SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CallOrigination FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +DoNotDisturbEvent ::= SEQUENCE +{ device SubjectDeviceID, + doNotDisturbOn BOOLEAN, + callOrigination CallOrigination OPTIONAL, + callingDeviceList SEQUENCE OF DeviceID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-do-not-disturb-event diff --git a/csta/CSTA-dtmf-detected-event.asn1 b/csta/CSTA-dtmf-detected-event.asn1 new file mode 100644 index 0000000..9b56901 --- /dev/null +++ b/csta/CSTA-dtmf-detected-event.asn1 @@ -0,0 +1,34 @@ +CSTA-dtmf-detected-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) dtmf-detected-event(519) } +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ResourceID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) +standard( 0) csta3( 285) device-feature-types( 127) } +ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) }; + +DtmfDetectedEvent ::= SEQUENCE +{ overConnection ConnectionID, + resource [0] IMPLICIT ResourceID OPTIONAL, + dtmfChar IA5String, + cause EventCause OPTIONAL, + servicesPermitted ServicesPermitted OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-dtmf-detected-event diff --git a/csta/CSTA-emptied-event.asn1 b/csta/CSTA-emptied-event.asn1 new file mode 100644 index 0000000..3b9fba1 --- /dev/null +++ b/csta/CSTA-emptied-event.asn1 @@ -0,0 +1,34 @@ +CSTA-emptied-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) emptied-event(520) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +ResourceID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) +standard( 0) csta3( 285) device-feature-types( 127) }; + +EmptiedEvent ::= SEQUENCE +{ overConnection ConnectionID, + resource [0] IMPLICIT ResourceID OPTIONAL, + cause EventCause OPTIONAL, + servicesPermitted ServicesPermitted OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-emptied-event diff --git a/csta/CSTA-error-definition.asn1 b/csta/CSTA-error-definition.asn1 new file mode 100644 index 0000000..eb1d293 --- /dev/null +++ b/csta/CSTA-error-definition.asn1 @@ -0,0 +1,311 @@ +CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } + +DEFINITIONS ::= +BEGIN + +EXPORTS +UniversalFailure, universalFailure, ErrorValue; + +IMPORTS +ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) }; + +universalFailure ERROR ::= +{ PARAMETER UniversalFailure + CODE local:1 } + +ErrorValue ::= UniversalFailure + +UniversalFailure ::= CHOICE +{ operation [0] OperationErrors, + security [1] SecurityErrors, + stateIncompatibility [2] StateIncompatibilityErrors, + systemResourceAvailability [3] SystemResourceAvailabilityErrors, + subscribedResourceAvailability [4] SubscribedResourceAvailabilityErrors, + performanceManagement [5] PerformanceManagementErrors, + privateData [6] PrivateDataInfoErrors, + unspecified [7] UnspecifiedErrors } + +OperationErrors ::= ENUMERATED -- in CSTA2 added in CSTA3 +{ generic ( 1), + atLeastOneConditionalParameterNotProvided ( 29), + featureAlreadySet ( 30), + invalidMsgID ( 25), + invalidParameterValue ( 31), + invalidAccountCode ( 21), + invalidAgentGroup ( 32), + invalidAgentIdentifier ( 33), + invalidAgentPassword ( 34), + invalidAgentState ( 35), + invalidAlertTime ( 36), + invalidAllocationState ( 16), + invalidAuthCode ( 22), + invalidAutoAnswer ( 37), + invalidBitRate ( 38), + invalidButtonIdentifier ( 39), + invalidCallType ( 42), + invalidConnectionRate ( 43), + invalidConsultPurpose ( 44), + invalidCorrelatorData ( 20), + invalidCrossRefID ( 17), + invalidDelayTolerance ( 45), + invalidDestination ( 14), + invalidDestinationDetect ( 46), + invalidDoNotDisturb ( 47), + invalidEscapeCrossRefID ( 48), + invalidFeature ( 15), + invalidFile ( 28), + invalidFlowDirection ( 49), + invalidForwardingDestination ( 7), + invalidForwardingFlag ( 51), + invalidForwardingType ( 52), + invalidHookswitchType ( 53), + invalidHookswitchComponent ( 54), + invalidLampMode ( 55), + invalidLampID ( 56), + invalidMessageWaitingSetting ( 57), + invalidMicrophoneGain ( 58), + invalidMicrophoneMute ( 59), + invalidMonitorCrossRefID ( 60), + invalidMonitorFilter ( 61), + invalidMonitorObject ( 62), + invalidMonitorType ( 63), + invalidNumberOFChannels ( 64), + invalidParticipationType ( 65), + invalidRemainRetry ( 66), + invalidRingCount ( 67), + invalidRingPattern ( 68), + invalidRingVolume ( 69), + invalidRouteingAlgorithm ( 70), + invalidRouteingCrossRefID ( 71), + invalidRouteRegistrationCrossRefID ( 72), + invalidSpeakerVolume ( 73), + invalidSpeakerMute ( 74), + invalidSwitchingSubdomainCharsType ( 75), + invalidObjectType ( 18), + invalidActiveCallObject ( 76), + invalidCalledDeviceObjectType ( 77), + invalidCallingDeviceObjectType ( 78), + invalidCallToBePickedUpObjectType ( 79), + invalidCallToDivertObjectType ( 80), + invalidCallToParkObjectType ( 81), + invalidDestinationDeviceObject (195), + invalidHeldCallObject ( 82), + invalidMonitorObjectType ( 83), + invalidParkToObjectType ( 84), + messageIDRequired ( 26), + notDifferentDevices ( 85), + notSameDevice ( 86), + objectNotKnown ( 4), + invalidCallID ( 11), + invalidActiveCallID ( 87), + invalidHeldCallID ( 88), + invalidConnectionID ( 13), + invalidActiveConnectionID ( 89), + invalidHeldConnectionID ( 90), + invalidDeviceID ( 12), + invalidActiveDeviceID ( 91), + invalidCalledDeviceID ( 6), + invalidCallingDeviceID ( 5), + invalidCallToParkDeviceID ( 92), + invalidDestinationDeviceID ( 93), + invalidDivertingDeviceID ( 94), + invalidHeldDeviceID ( 95), + invalidParkToDeviceID ( 96), + invalidPickUpDeviceID ( 97), + parameterNotSupported ( 98), + accountCodeNotSupported ( 99), + agentGroupNotSupported (100), + agentPasswordNotSupported (101), + agentStateNotSupported (102), + alertTimeNotSupported (103), + allocationNotSupported (104), + authorisationCodeNotSupported (105), + autoAnswerNotSupported (106), + bitRateNotSupported (107), + buttonNotSupported (108), + callTypeNotSupported (109), + charactersToSendNotSupported (110), + connectionRateNotSupported (111), + connectionReservationNotSupported (112), + consultPurposeNotSupported (113), + correlatorDataNotSupported (114), + delayToleranceNotSupported (115), + destinationDetectNotSupported (116), + digitModeNotSupported (117), + errorValueNotSupported (118), + flowDirectionNotSupported (119), + forwardingDestinationNotSupported (120), + lampNotSupported (121), + monitorTypeNotSupported (122), + numberOfChannelsNotSupported (123), + parameterTypeNotSupported (124), + priorityNotSupported (125), + privateDataNotSupported (126), + pulseDurationNotSupported (127), + pulseRateNotSupported (128), + remainRetryNotSupported (129), + ringCountNotSupported (130), + routeUsedNotSupported (131), + securityNotSupported (132), + swSubdomainCCIETypeNotSupported (133), + toneDurationNotSupported (134), + sysStatRegIDNotSupported (135), + userDataNotSupported (136), + privilegeViolationSpecifiedDevice ( 8), + privilegeViolationActiveDevice (137), + privilegeViolationCalledDevice ( 9), + privilegeViolationCallingDevice ( 10), + privilegeViolationCallToParkDevice (138), + privilegeViolationDestinationDevice (139), + privilegeViolationOnDivertingDevice (140), + privilegeViolationHeldDevice (141), + privilegeViolationOnParkToDevice (142), + privilegeViolationPickUpDevice (143), + routeingTimerExpired (144), + requestIncompatibleWithObject ( 2), + requestIncompatibleWithConnection (145), + requestIncompatibleWithActiveConnection (146), + requestIncompatibleWithHeldConnection (147), + requestIncompatibleWithDevice (148), + requestIncompatibleWithCalledDevice ( 24), + requestIncompatibleWithCallingDevice ( 23), + requestIncompatibleWithSubjectDevice (149), + requestIncompatibleWithActiveDevice (150), + requestIncompatibleWithCallToParkDevice (151), + requestIncompatibleWithDestinationDevice (152), + requestIncompatibleWithDivertingDevice (153), + requestIncompatibleWithHeldDevice (154), + requestIncompatibleWithMedia ( 27), + requestIncompatibleWithParkToDevice (155), + requestIncompatibleWithPickupDevice (156), + serviceNotSupported ( 50), + securityViolation ( 19), + valueOutOfRange ( 3), + agentStateOutOfRange (157), + alertTimeOutOfRange (158), + allocationOutOfRange (159), + autoAnswerOutOfRange (160), + bitRateOutOfRange (161), + callTypeOutOfRange (162), + connectionRateOutOfRange (163), + connectionReservoationOutOfRange (164), + consultPurposeOutOfRange (165), + correlatorDataOutOfRange (166), + delayToleranceOutOfRange (167), + destinationDetectOutOfRange (168), + digitModeOutOfRange (169), + doNotDisturbOutOfRange (170), + flowDirectionOutOfRange (171), + forwardingFlagOutOfRange (172), + forwardingTypeOutOfRange (173), + hookswitchComponentOutOfRange (174), + hookswitchTypeOutOfRange (175), + lampModeOutOfRange (176), + messageWaitingSettingOutOfRange (177), + micGainOutOfRange (178), + micMuteOutOfRange (179), + monitorTypeOutOfRange (180), + numberOfChannelsOutOfRange (181), + participationTypeOutOfRange (182), + pulseDurationOutOfRange (183), + pulseRateOutOfRange (184), + ringCountOutOfRange (185), + ringPatternOutOfRange (186), + ringVolumnOutOfRange (187), + routeingAlgorithmOutOfRange (188), + speakerMuteOutOfRange (189), + speakerVolumeOutOfRange (190), + switchingCcittTypeOutOfRange (191), + systemStatusOutOfRange (192), + toneCharacterOutOfRange (193), + toneDurationOutOfRange (194) } + +SecurityErrors ::= ENUMERATED +{ generic ( 0), + sequenceNumberViolated ( 1), + timeStampViolated ( 2), + securityInfoViolated ( 4) } + +StateIncompatibilityErrors ::= ENUMERATED +{ generic ( 1), + invalidObjectState ( 2), + invalidDeviceState (15), + connectedCallExists (16), + invalidActiveDeviceState (17), + invalidCalledDeviceState (18), + invalidCallingDeviceState (19), + invalidCallToParkDeviceState (20), + invalidDestinationDeviceState (21), + invalidDivertingDeviceState (22), + invalidHeldDeviceState (23), + invalidParkToDeviceState (24), + invalidConnectionState (25), + invalidActiveConnectionState (26), + invalidConnectionIDForActiveCall ( 3), + invalidHeldConnectionState (27), + noActiveCall ( 4), + noCallToAnswer ( 8), + noCallToClear ( 6), + noCallToComplete ( 9), + noConnectionToClear ( 7), + noHeldCall ( 5), + incorrectMsgState (28), + beginningOfMsg (13), + endOfMsg (12), + msgSuspended (14), + notAbleToPlay (10), + notAbleToResume (11) } + +SystemResourceAvailabilityErrors ::= ENUMERATED +{ generic ( 1), + resourceBusy ( 2), + internalResourceBusy ( 3), + classifierBusy ( 9), + noMediaChannelsAvailable (10), + channelsInUseForBridgedDevices (11), + channelsInUseForData (12), + toneDetectorBusy (13), + toneGeneratorBusy (14), + networkBusy ( 5), + resourceOutOfService ( 4), + deviceOutOfService (15), + activeDeviceOutOfService (16), + calledDeviceOutOfService (17), + callingDeviceOutOfService (18), + callToParkDeviceOutOfService (19), + destinationDeviceOutOfService (20), + divertingDeviceOutOfService (21), + heldDeviceOutOfService (22), + parkToDeviceOutOfService (23), + pickupDeviceOutOfService (24), + networkOutOfService ( 6), + otherResourceOutOfService (25), + resourceLimitExceeded (26), + overallMonitorLimitExceeded ( 7), + conferenceMemberLimitExceeded ( 8), + registrationLimitExceeded (27), + conferenceResourceCannotBeSatisfied (28), + maxDevicesExceeded (29), + startTimeOutOfRange (30), + durationExceeded (31) } + +SubscribedResourceAvailabilityErrors ::= ENUMERATED +{ generic ( 1), + objectMonitorLimitExceeded ( 2), + trunkLimitExceeded ( 3), + outstandingReqLimitExceeded ( 4), + objectRegistrationLimitExceeded ( 5) } + +PerformanceManagementErrors ::= ENUMERATED +{ generic ( 1), + performanceLimitExceeded ( 2) } + +PrivateDataInfoErrors ::= ENUMERATED +{ cSTAPrivateDataInfoError ( 1) } + +UnspecifiedErrors ::= NULL + +END -- of CSTA-error-definition diff --git a/csta/CSTA-escape-register-abort.asn1 b/csta/CSTA-escape-register-abort.asn1 new file mode 100644 index 0000000..5a5fe14 --- /dev/null +++ b/csta/CSTA-escape-register-abort.asn1 @@ -0,0 +1,33 @@ +CSTA-escape-register-abort + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) escape-register-abort( 366) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +EscapeRegisterID FROM CSTA-escape-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) escape-types( 135) }; + +escapeRegisterAbort OPERATION ::= +{ ARGUMENT EscapeRegisterAbortArgument + ERRORS {universalFailure } + ALWAYS RESPONDS FALSE + CODE local: 366 } + +EscapeRegisterAbortArgument ::= SEQUENCE +{ escapeRegisterID EscapeRegisterID, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-escape-register-abort diff --git a/csta/CSTA-escape-register-cancel.asn1 b/csta/CSTA-escape-register-cancel.asn1 new file mode 100644 index 0000000..4d3fadc --- /dev/null +++ b/csta/CSTA-escape-register-cancel.asn1 @@ -0,0 +1,37 @@ +CSTA-escape-register-cancel + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) escape-register-cancel( 367) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +EscapeRegisterID FROM CSTA-escape-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) escape-types( 135) }; + +escapeRegisterCancel OPERATION ::= +{ ARGUMENT EscapeRegisterCancelArgument + RESULT EscapeRegisterCancelResult + ERRORS {universalFailure } + CODE local: 367 } + +EscapeRegisterCancelArgument ::= SEQUENCE +{ escapeRegisterID EscapeRegisterID, + extensions CSTACommonArguments OPTIONAL } + +EscapeRegisterCancelResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-escape-register-cancel diff --git a/csta/CSTA-escape-register.asn1 b/csta/CSTA-escape-register.asn1 new file mode 100644 index 0000000..bab414a --- /dev/null +++ b/csta/CSTA-escape-register.asn1 @@ -0,0 +1,37 @@ +CSTA-escape-register + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) escape-register( 365) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +EscapeRegisterID FROM CSTA-escape-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) escape-types( 135) }; + +escapeRegister OPERATION ::= +{ ARGUMENT EscapeRegisterArgument + RESULT EscapeRegisterResult + ERRORS {universalFailure } + CODE local: 365 } + +EscapeRegisterArgument ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +EscapeRegisterResult ::= SEQUENCE +{ escapeRegisterID EscapeRegisterID, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-escape-register diff --git a/csta/CSTA-escape-service.asn1 b/csta/CSTA-escape-service.asn1 new file mode 100644 index 0000000..91dbffc --- /dev/null +++ b/csta/CSTA-escape-service.asn1 @@ -0,0 +1,41 @@ +CSTA-escape-service + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) escape-service( 91) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTASecurityData FROM CSTA-security + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) security( 128) } +CSTACommonArguments, CSTAPrivateData FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +EscapeRegisterID FROM CSTA-escape-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) escape-types( 135) }; + +escape OPERATION ::= +{ ARGUMENT EscapeArgument + RESULT EscapeResult + ERRORS {universalFailure } + CODE local: 51 } + +EscapeArgument ::= SEQUENCE +{ escapeRegisterID EscapeRegisterID OPTIONAL, + security CSTASecurityData OPTIONAL, + privateData CSTAPrivateData } + +EscapeResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-escape-service diff --git a/csta/CSTA-escape-types.asn1 b/csta/CSTA-escape-types.asn1 new file mode 100644 index 0000000..4a7e567 --- /dev/null +++ b/csta/CSTA-escape-types.asn1 @@ -0,0 +1,13 @@ +CSTA-escape-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) escape-types( 135) } + +DEFINITIONS ::= +BEGIN + +EXPORTS +EscapeRegisterID; + +EscapeRegisterID ::= [0] OCTET STRING + +END -- of CSTA-escape-types diff --git a/csta/CSTA-established-event.asn1 b/csta/CSTA-established-event.asn1 new file mode 100644 index 0000000..7a266c4 --- /dev/null +++ b/csta/CSTA-established-event.asn1 @@ -0,0 +1,73 @@ +CSTA-established-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) established-event( 27) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types –- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +SubjectDeviceID, CalledDeviceID, CallingDeviceID, RedirectionDeviceID, +AssociatedCalledDeviceID, AssociatedCallingDeviceID, +NetworkCalledDeviceID, NetworkCallingDeviceID +FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +LocalConnectionState FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +CorrelatorData, UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics, CallLinkageData, ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LocationInfoList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LanguagePreferences, SubjectOfCall, MessageInfo, +DeviceHistory FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +ConnectionInformation, MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +EstablishedEvent ::= SEQUENCE +{ establishedConnection ConnectionID, + answeringDevice SubjectDeviceID, + callingDevice CallingDeviceID, + calledDevice CalledDeviceID, + lastRedirectionDevice RedirectionDeviceID, + originatingNIDConnection ConnectionID OPTIONAL, + localConnectionInfo LocalConnectionState OPTIONAL, + correlatorData [ 1] IMPLICIT CorrelatorData OPTIONAL, + userData UserData OPTIONAL, + cause EventCause, + servicesPermitted [ 2] IMPLICIT ServicesPermitted OPTIONAL, + networkCallingDevice NetworkCallingDeviceID OPTIONAL, + networkCalledDevice NetworkCalledDeviceID OPTIONAL, + associatedCallingDevice AssociatedCallingDeviceID OPTIONAL, + associatedCalledDevice AssociatedCalledDeviceID OPTIONAL, + mediaCallCharacteristics [ 3] IMPLICIT MediaCallCharacteristics OPTIONAL, + callCharacteristics [ 4] IMPLICIT CallCharacteristics OPTIONAL, + establishedConnectionInfo [ 5] IMPLICIT ConnectionInformation OPTIONAL, + callLinkageData [ 6] IMPLICIT CallLinkageData OPTIONAL, + subjectOfCall [ 7] IMPLICIT SubjectOfCall OPTIONAL, + messageInfo [ 8] IMPLICIT MessageInfo OPTIONAL, + languagePreferences [ 9] IMPLICIT LanguagePreferences OPTIONAL, + deviceHistory [10] IMPLICIT DeviceHistory OPTIONAL, + locationInfo [11] IMPLICIT LocationInfoList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-established-event diff --git a/csta/CSTA-event-cause.asn1 b/csta/CSTA-event-cause.asn1 new file mode 100644 index 0000000..beeddb5 --- /dev/null +++ b/csta/CSTA-event-cause.asn1 @@ -0,0 +1,135 @@ +CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } + +DEFINITIONS ::= +BEGIN + +EXPORTS +EventCause; + +EventCause ::= ENUMERATED +{ aCDBusy ( 57), + aCDForward ( 58), + aCDSaturated ( 59), + activation ( 88), + activeParticipation ( 1), + alertTimeExpired ( 60), + alternate ( 2), + autoWork ( 61), + babble ( 89), + badAttribute ( 90), + badGrammar ( 91), + badVoice ( 92), + badUri ( 93), + blocked ( 35), + busy ( 3), + busyOverflow ( 94), + calendarOverflow ( 95), + callBack ( 4), + callCancelled ( 5), + callForward ( 9), + callForwardImmediate ( 6), + callForwardBusy ( 7), + callForwardNoAnswer ( 8), + callInterception (116), + callInterceptionBusy (117), + callInterceptionForwarded (118), + callInterceptionNoAnswer (119), + callInterceptionResourcesNotAvailable (120), + callNotAnswered ( 10), + callPickup ( 11), + campOn ( 12), + campOnTrunks ( 62), + capacityOverflow ( 96), + characterCountReached ( 36), + conference ( 63), + consultation ( 37), + destDetected ( 64), + destNotObtainable ( 13), + destOutOfOrder ( 65), + distributed ( 38), + distributionDelay ( 66), + doNotDisturb ( 14), + dTMFDigitDetected ( 39), + duplicateDTMF ( 97), + durationExceeded ( 40), + earlyStop ( 98), + emptyQueue ( 99), + endOfMessageDetected ( 41), + enteringDistribution ( 42), + forcedPause ( 43), + forcedTransition ( 67), + incompatibleDestination ( 15), + interDigitTimeout (100), + intrude ( 68), + invalidAccountCode ( 16), + invalidConnection (101), + invalidConnectionState (102), + invalidNumberFormat ( 69), + joinCall ( 70), + keyOperation ( 17), + keyOperationInUse ( 71), + lawfulInterception (121), + lockout ( 18), + maintenance ( 19), + makeCall ( 44), + makeConnection (103), + makePredictiveCall ( 72), + maxTimeout (104), + messageDurationExceeded ( 73), + messageSizeExceeded ( 45), + multipleAlerting ( 74), + multipleQueuing ( 75), + networkCongestion ( 20), + networkDialling ( 76), + networkNotObtainable ( 21), + networkOutOfOrder ( 77), + networkSignal ( 46), + newCall ( 22), + nextMessage ( 47), + noAudioSaved (105), + noAvailableAgents ( 23), + noQueue (106), + normal ( 78), + normalClearing ( 48), + noRule (107), + noSpeechDetected ( 49), + notAvaliableBearerService ( 79), + notSupportedBearerService ( 80), + numberChanged ( 50), + numberUnallocated ( 81), + outOfGrammar (108), + overflow ( 26), + override ( 24), + park ( 25), + pathReplacement (109), + queueCleared ( 82), + queueTimeOverflow (110), + recall ( 27), + recallBusy (111), + recallForwarded (112), + recallNoAnswer (113), + recallResourcesNotAvailable (114), + redirected ( 28), + remainsInQueue ( 83), + reorderTone ( 29), + reserved ( 84), + resourcesNotAvailable ( 30), + selectedTrunkBusy ( 85), + silentParticipation ( 31), + singleStepConference ( 51), + singleStepTransfer ( 52), + speechDetected ( 53), + suspend ( 86), + switchingFunctionTerminated ( 54), + terminationCharacterReceived ( 55), + timeout ( 56), + transfer ( 32), + trunksBusy ( 33), + unauthorisedBearerService ( 87), + unknownOverflow (115) } + -- voiceUnitInitiator ( 34) + -- *** note that the voiceUnitOriginator ( 34) is no longer used (commented out) *** + +END -- of CSTA-event-causes diff --git a/csta/CSTA-event-causes.asn1 b/csta/CSTA-event-causes.asn1 new file mode 100644 index 0000000..beeddb5 --- /dev/null +++ b/csta/CSTA-event-causes.asn1 @@ -0,0 +1,135 @@ +CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } + +DEFINITIONS ::= +BEGIN + +EXPORTS +EventCause; + +EventCause ::= ENUMERATED +{ aCDBusy ( 57), + aCDForward ( 58), + aCDSaturated ( 59), + activation ( 88), + activeParticipation ( 1), + alertTimeExpired ( 60), + alternate ( 2), + autoWork ( 61), + babble ( 89), + badAttribute ( 90), + badGrammar ( 91), + badVoice ( 92), + badUri ( 93), + blocked ( 35), + busy ( 3), + busyOverflow ( 94), + calendarOverflow ( 95), + callBack ( 4), + callCancelled ( 5), + callForward ( 9), + callForwardImmediate ( 6), + callForwardBusy ( 7), + callForwardNoAnswer ( 8), + callInterception (116), + callInterceptionBusy (117), + callInterceptionForwarded (118), + callInterceptionNoAnswer (119), + callInterceptionResourcesNotAvailable (120), + callNotAnswered ( 10), + callPickup ( 11), + campOn ( 12), + campOnTrunks ( 62), + capacityOverflow ( 96), + characterCountReached ( 36), + conference ( 63), + consultation ( 37), + destDetected ( 64), + destNotObtainable ( 13), + destOutOfOrder ( 65), + distributed ( 38), + distributionDelay ( 66), + doNotDisturb ( 14), + dTMFDigitDetected ( 39), + duplicateDTMF ( 97), + durationExceeded ( 40), + earlyStop ( 98), + emptyQueue ( 99), + endOfMessageDetected ( 41), + enteringDistribution ( 42), + forcedPause ( 43), + forcedTransition ( 67), + incompatibleDestination ( 15), + interDigitTimeout (100), + intrude ( 68), + invalidAccountCode ( 16), + invalidConnection (101), + invalidConnectionState (102), + invalidNumberFormat ( 69), + joinCall ( 70), + keyOperation ( 17), + keyOperationInUse ( 71), + lawfulInterception (121), + lockout ( 18), + maintenance ( 19), + makeCall ( 44), + makeConnection (103), + makePredictiveCall ( 72), + maxTimeout (104), + messageDurationExceeded ( 73), + messageSizeExceeded ( 45), + multipleAlerting ( 74), + multipleQueuing ( 75), + networkCongestion ( 20), + networkDialling ( 76), + networkNotObtainable ( 21), + networkOutOfOrder ( 77), + networkSignal ( 46), + newCall ( 22), + nextMessage ( 47), + noAudioSaved (105), + noAvailableAgents ( 23), + noQueue (106), + normal ( 78), + normalClearing ( 48), + noRule (107), + noSpeechDetected ( 49), + notAvaliableBearerService ( 79), + notSupportedBearerService ( 80), + numberChanged ( 50), + numberUnallocated ( 81), + outOfGrammar (108), + overflow ( 26), + override ( 24), + park ( 25), + pathReplacement (109), + queueCleared ( 82), + queueTimeOverflow (110), + recall ( 27), + recallBusy (111), + recallForwarded (112), + recallNoAnswer (113), + recallResourcesNotAvailable (114), + redirected ( 28), + remainsInQueue ( 83), + reorderTone ( 29), + reserved ( 84), + resourcesNotAvailable ( 30), + selectedTrunkBusy ( 85), + silentParticipation ( 31), + singleStepConference ( 51), + singleStepTransfer ( 52), + speechDetected ( 53), + suspend ( 86), + switchingFunctionTerminated ( 54), + terminationCharacterReceived ( 55), + timeout ( 56), + transfer ( 32), + trunksBusy ( 33), + unauthorisedBearerService ( 87), + unknownOverflow (115) } + -- voiceUnitInitiator ( 34) + -- *** note that the voiceUnitOriginator ( 34) is no longer used (commented out) *** + +END -- of CSTA-event-causes diff --git a/csta/CSTA-event-report-definitions.asn1 b/csta/CSTA-event-report-definitions.asn1 new file mode 100644 index 0000000..4db0f19 --- /dev/null +++ b/csta/CSTA-event-report-definitions.asn1 @@ -0,0 +1,347 @@ +CSTA-event-report-definitions + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-report-definitions( 21) } +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +CallClearedEvent FROM CSTA-call-cleared-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-cleared-event( 22) } +ConferencedEvent FROM CSTA-conferenced-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) conferenced-event( 23) } +ConnectionClearedEvent FROM CSTA-connection-cleared-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-cleared-event( 24) } +DeliveredEvent FROM CSTA-delivered-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) delivered-event( 25) } +DivertedEvent FROM CSTA-diverted-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) diverted-event( 26) } +EstablishedEvent FROM CSTA-established-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) established-event( 27) } +FailedEvent FROM CSTA-failed-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) failed-event( 28) } +HeldEvent FROM CSTA-held-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) held-event( 29) } +NetworkReachedEvent FROM CSTA-network-reached-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) network-reached-event( 30) } +OriginatedEvent FROM CSTA-originated-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) originated-event( 31) } +QueuedEvent FROM CSTA-queued-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) queued-event( 32) } +RetrievedEvent FROM CSTA-retrieved-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) retrieved-event( 33) } +ServiceInitiatedEvent FROM CSTA-service-initiated-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) service-initiated-event( 34) } +TransferredEvent FROM CSTA-transferred-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) transferred-event( 35) } +AutoAnswerEvent FROM CSTA-auto-answer-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) auto-answer-event( 40) } +CallInformationEvent FROM CSTA-call-information-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-information-event( 41) } +DoNotDisturbEvent FROM CSTA-do-not-disturb-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) do-not-disturb-event( 42) } +ForwardingEvent FROM CSTA-forwarding-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) forwarding-event( 43) } +MessageWaitingEvent FROM CSTA-message-waiting-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) message-waiting-event( 44) } +MicrophoneMuteEvent FROM CSTA-microphone-mute-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) microphone-mute-event( 45) } +SpeakerMuteEvent FROM CSTA-speaker-mute-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) speaker-mute-event( 46) } +SpeakerVolumeEvent FROM CSTA-speaker-volume-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) speaker-volume-event( 47) } +AgentBusyEvent FROM CSTA-agent-busy-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) agent-busy-event( 319) } +AgentLoggedOnEvent FROM CSTA-agent-logged-on-event + { iso( 1) identified-organization( 3) icd-ecma( 12) --corrected 12/2000 + standard( 0) csta3( 285) agent-logged-on-event( 321) } +AgentLoggedOffEvent FROM CSTA-agent-logged-off-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) agent-logged-off-event( 320) } +AgentNotReadyEvent FROM CSTA-agent-not-ready-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) agent-not-ready-event( 322) } +AgentReadyEvent FROM CSTA-agent-ready-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) agent-ready-event( 323) } +AgentWorkingAfterCallEvent FROM CSTA-agent-working-after-call-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) agent-working-after-call-event( 324) } +BackInServiceEvent FROM CSTA-back-in-service-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) back-in-service-event( 333) } +OutOfServiceEvent FROM CSTA-out-of-service-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) out-of-service-event( 335) } +PrivateEvent FROM CSTA-private-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) private-event( 71) } +PresenceStateEvent FROM CSTA-presence-state-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) presence-state-event( 552) } +PlayEvent FROM CSTA-play-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) play( 75) } +RecordEvent FROM CSTA-record-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) record( 76) } +ReviewEvent FROM CSTA-review-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) review( 77) } +StopEvent FROM CSTA-stop-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) stop( 78) } +SuspendPlayEvent FROM CSTA-suspend-play-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) suspend-play( 79) } +SuspendRecordEvent FROM CSTA-suspend-record-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) suspend-record( 80) } +VoiceAttributesChangeEvent FROM CSTA-voice-attributes-change-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) voice-attributes-change-event( 74) } +MonitorCrossRefID FROM CSTA-status-reporting + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) status-reporting( 126) } +BridgedEvent FROM CSTA-bridged-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) bridged-event( 224) } +DigitsDialedEvent FROM CSTA-digits-dialed-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) digits-dialed-event( 225) } +NetworkCapabilitiesChangedEvent FROM CSTA-network-capabilities-changed-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) network-capabilities-changed-event( 226) } +OfferedEvent FROM CSTA-offered-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) offered-event( 227) } +ChargingEvent FROM CSTA-charging-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) charging-event( 240) } +DigitsGeneratedEvent FROM CSTA-digits-generated-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) digits-generated-event( 241) } +TelephonyTonesGeneratedEvent FROM CSTA-telephony-tones-generated-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) telephony-tones-generated-event( 242) } +ServiceCompletionFailureEvent FROM CSTA-service-completion-failure-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) service-completion-failure-event( 243) } +MediaAttachedEvent FROM CSTA-media-attached-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-attached-event( 246) } +MediaDetachedEvent FROM CSTA-media-detached-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-detached-event( 247) } +ButtonInformationEvent FROM CSTA-button-information-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) button-information-event( 283) } +ButtonPressEvent FROM CSTA-button-press-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) button-press-event( 284) } +DisplayUpdatedEvent FROM CSTA-display-updated-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) display-updated-event( 285) } +HookswitchEvent FROM CSTA-hookswitch-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) hookswitch-event( 286) } +LampModeEvent FROM CSTA-lamp-mode-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) lamp-mode-event( 287) } +MicrophoneGainEvent FROM CSTA-microphone-gain-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) microphone-gain-event( 288) } +RingerStatusEvent FROM CSTA-ringer-status-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) ringer-status-event( 289) } +AutoWorkModeEvent FROM CSTA-auto-work-mode-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) auto-work-mode-event( 326) } +CallBackEvent FROM CSTA-call-back-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-back-event( 327) } +CallBackMessageEvent FROM CSTA-call-back-message-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-back-message-event( 328) } +CallerIDStatusEvent FROM CSTA-caller-id-status-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) caller-id-status-event( 329) } +RouteingModeEvent FROM CSTA-routeing-mode-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) routeing-mode-event( 332) } +PartiallyInServiceEvent FROM CSTA-partially-in-service-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) partially-in-service ( 379) } +BookmarkReachedEvent FROM CSTA-bookmark-reached-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) bookmark-reached-event(517) } +CompletedEvent FROM CSTA-completed-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) completed-event(518) } +DtmfDetectedEvent FROM CSTA-dtmf-detected-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) dtmf-detected-event(519) } +EmptiedEvent FROM CSTA-emptied-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) emptied-event(520) } +InterruptionDetectedEvent FROM CSTA-interruption-detected-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) interruption-detected-event(521) } +NotRecognizedEvent FROM CSTA-not-recognized-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) not-recognized-event(522) } +RecognizedEvent FROM CSTA-recognized-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) recognized-event(523) } +SilenceTimeoutExpiredEvent FROM CSTA-silence-timeout-expired-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) silence-timeout-expired-event(524) } +SpeechDetectedEvent FROM CSTA-speech-detected-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) speech-detected-event (525) } +StartedEvent FROM CSTA-started-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) started-event (526) } +VoiceErrorOccuredEvent FROM CSTA-voice-error-occured-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) voice-error-occured-event (527) } +DeviceCapsChangedEvent FROM CSTA-device-capabilities-changed-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-capabilities-changed-event( 334) }; + +cSTAEventReport OPERATION ::= +{ ARGUMENT CSTAEventReportArgument + ALWAYS RESPONDS FALSE + CODE local:21 } + +CSTAEventReportArgument ::= SEQUENCE +{ crossRefIdentifier MonitorCrossRefID, + eventSpecificInfo EventSpecificInfo } + +EventSpecificInfo ::= CHOICE +{ callControlEvents [ 0] CallControlEvents, + callAssociatedEvents [ 1] CallAssociatedEvents, + mediaAttachmentEvents [ 2] MediaAttachmentEvents, + physicalDeviceFeatureEvents [ 3] PhysicalDeviceFeatureEvents, + logicalDeviceFeatureEvents [ 4] LogicalDeviceFeatureEvents, + deviceMaintenanceEvents [ 5] DeviceMaintenanceEvents, + voiceUnitEvents [ 6] VoiceUnitEvents, + vendorSpecEvents [ 7] VendorSpecEvents } + +CallControlEvents ::= CHOICE +{ bridged [ 0] IMPLICIT BridgedEvent, + callCleared [ 1] IMPLICIT CallClearedEvent, + conferenced [ 2] IMPLICIT ConferencedEvent, + connectionCleared [ 3] IMPLICIT ConnectionClearedEvent, + delivered [ 4] IMPLICIT DeliveredEvent, + digitsDialed [ 5] IMPLICIT DigitsDialedEvent, + diverted [ 6] IMPLICIT DivertedEvent, + established [ 7] IMPLICIT EstablishedEvent, + failed [ 8] IMPLICIT FailedEvent, + held [ 9] IMPLICIT HeldEvent, + networkCapabilitiesChanged [10] IMPLICIT NetworkCapabilitiesChangedEvent, + networkReached [11] IMPLICIT NetworkReachedEvent, + offered [12] IMPLICIT OfferedEvent, + originated [13] IMPLICIT OriginatedEvent, + queued [14] IMPLICIT QueuedEvent, + retrieved [15] IMPLICIT RetrievedEvent, + serviceInitiated [16] IMPLICIT ServiceInitiatedEvent, + transferred [17] IMPLICIT TransferredEvent } + +CallAssociatedEvents ::= CHOICE +{ callInformation [ 0] IMPLICIT CallInformationEvent, + charging [ 1] IMPLICIT ChargingEvent, + digitsGeneratedEvent [ 2] IMPLICIT DigitsGeneratedEvent, + telephonyTonesGeneratedEvent [ 3] IMPLICIT TelephonyTonesGeneratedEvent, + serviceCompletionFailure [ 4] IMPLICIT ServiceCompletionFailureEvent } + +MediaAttachmentEvents ::= CHOICE +{ mediaAttached [ 0] IMPLICIT MediaAttachedEvent, + mediaDetached [ 1] IMPLICIT MediaDetachedEvent } + +PhysicalDeviceFeatureEvents ::= CHOICE +{ buttonInformation [ 0] IMPLICIT ButtonInformationEvent, + buttonPress [ 1] IMPLICIT ButtonPressEvent, + displayUpdated [ 2] IMPLICIT DisplayUpdatedEvent, + hookswitch [ 3] IMPLICIT HookswitchEvent, + lampMode [ 4] IMPLICIT LampModeEvent, + messageWaiting [ 5] IMPLICIT MessageWaitingEvent, + microphoneGain [ 6] IMPLICIT MicrophoneGainEvent, + microphoneMute [ 7] IMPLICIT MicrophoneMuteEvent, + ringerStatus [ 8] IMPLICIT RingerStatusEvent, + speakerMute [ 9] IMPLICIT SpeakerMuteEvent, + speakerVolume [10] IMPLICIT SpeakerVolumeEvent } + +LogicalDeviceFeatureEvents ::= CHOICE +{ agentBusy [ 0] IMPLICIT AgentBusyEvent, + agentLoggedOn [ 1] IMPLICIT AgentLoggedOnEvent, + agentLoggedOff [ 2] IMPLICIT AgentLoggedOffEvent, + agentNotReady [ 3] IMPLICIT AgentNotReadyEvent, + agentReady [ 4] IMPLICIT AgentReadyEvent, + agentWorkingAfterCall [ 5] IMPLICIT AgentWorkingAfterCallEvent, + autoAnswer [ 6] IMPLICIT AutoAnswerEvent, + autoWorkMode [ 7] IMPLICIT AutoWorkModeEvent, + callBack [ 8] IMPLICIT CallBackEvent, + callBackMessage [ 9] IMPLICIT CallBackMessageEvent, + callerIDStatus [10] IMPLICIT CallerIDStatusEvent, + doNotDisturb [11] IMPLICIT DoNotDisturbEvent, + forwarding [12] IMPLICIT ForwardingEvent, + presenceState [14] IMPLICIT PresenceStateEvent, + routeingMode [13] IMPLICIT RouteingModeEvent } + +DeviceMaintenanceEvents ::= CHOICE +{ backInService [ 0] IMPLICIT BackInServiceEvent, + deviceCapabilityChanged [ 1] IMPLICIT DeviceCapsChangedEvent, + outOfService [ 2] IMPLICIT OutOfServiceEvent, + partiallyInService [ 3] IMPLICIT PartiallyInServiceEvent } + +VoiceUnitEvents ::= CHOICE +{ bookmarkReached [ 7] IMPLICIT BookmarkReachedEvent, + completed [ 8] IMPLICIT CompletedEvent, + dtmfDetected [ 9] IMPLICIT DtmfDetectedEvent, + emptied [10] IMPLICIT EmptiedEvent, + interruptionDetected [11] IMPLICIT InterruptionDetectedEvent, + notRecognized [12] IMPLICIT NotRecognizedEvent, + play [ 0] IMPLICIT PlayEvent, + recognized [13] IMPLICIT RecognizedEvent, + record [ 1] IMPLICIT RecordEvent, + review [ 2] IMPLICIT ReviewEvent, + silenceTimeoutExpired [14] IMPLICIT SilenceTimeoutExpiredEvent, + speechDetected [15] IMPLICIT SpeechDetectedEvent, + started [16] IMPLICIT StartedEvent, + stop [ 3] IMPLICIT StopEvent, + suspendPlay [ 4] IMPLICIT SuspendPlayEvent, + suspendRecord [ 5] IMPLICIT SuspendRecordEvent, + voiceAttributesChange [ 6] IMPLICIT VoiceAttributesChangeEvent, + voiceErrorOccured [17] IMPLICIT VoiceErrorOccuredEvent } + +VendorSpecEvents::= CHOICE +{ privateEvent [ 0] IMPLICIT PrivateEvent } + +END -- of CSTA-event-report-definitions diff --git a/csta/CSTA-extension-types.asn1 b/csta/CSTA-extension-types.asn1 new file mode 100644 index 0000000..c232af3 --- /dev/null +++ b/csta/CSTA-extension-types.asn1 @@ -0,0 +1,25 @@ +CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } + +DEFINITIONS ::= +BEGIN + +EXPORTS +CSTACommonArguments, CSTAPrivateData; + +IMPORTS +CSTASecurityData FROM CSTA-security + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) security( 128) }; + +CSTACommonArguments ::= [APPLICATION 30] IMPLICIT SEQUENCE +{ security [0] IMPLICIT CSTASecurityData OPTIONAL, + privateData [1] IMPLICIT SEQUENCE OF CSTAPrivateData OPTIONAL } + +CSTAPrivateData ::= CHOICE +{ string OCTET STRING, + private NULL } -- The actual encoding is added here, + -- replacing NULL with another valid ASN.1 type. + +END -- of CSTA-extension-types diff --git a/csta/CSTA-failed-event.asn1 b/csta/CSTA-failed-event.asn1 new file mode 100644 index 0000000..9b86486 --- /dev/null +++ b/csta/CSTA-failed-event.asn1 @@ -0,0 +1,74 @@ +CSTA-failed-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) failed-event( 28) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +SubjectDeviceID, CallingDeviceID, CalledDeviceID, RedirectionDeviceID, + AssociatedCalledDeviceID, AssociatedCallingDeviceID, + NetworkCalledDeviceID, NetworkCallingDeviceID + FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +LocalConnectionState FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +CorrelatorData, UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics, CallLinkageData, ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LocationInfoList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LanguagePreferences, SubjectOfCall, MessageInfo, +DeviceHistory FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +ConnectionInformation, MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +FailedEvent ::= SEQUENCE +{ failedConnection ConnectionID, + failingDevice SubjectDeviceID, + callingDevice CallingDeviceID, + calledDevice CalledDeviceID, + lastRedirectionDevice RedirectionDeviceID, + originatingNIDConnection ConnectionID OPTIONAL, + localConnectionInfo LocalConnectionState OPTIONAL, + correlatorData [ 0] IMPLICIT CorrelatorData OPTIONAL, + userData UserData OPTIONAL, + cause EventCause, + servicesPermitted [ 1] IMPLICIT ServicesPermitted OPTIONAL, + networkCallingDevice NetworkCallingDeviceID OPTIONAL, + networkCalledDevice NetworkCalledDeviceID OPTIONAL, + associatedCallingDevice AssociatedCallingDeviceID OPTIONAL, + associatedCalledDevice AssociatedCalledDeviceID OPTIONAL, + mediaCallCharacteristics [ 2] IMPLICIT MediaCallCharacteristics OPTIONAL, + callCharacteristics [ 3] IMPLICIT CallCharacteristics OPTIONAL, + failedConnectionInfo [ 4] IMPLICIT ConnectionInformation OPTIONAL, + --corrected 06/2001 + callLinkageData [ 5] IMPLICIT CallLinkageData OPTIONAL, + subjectOfCall [ 6] IMPLICIT SubjectOfCall OPTIONAL, + messageInfo [ 7] IMPLICIT MessageInfo OPTIONAL, + languagePreferences [ 8] IMPLICIT LanguagePreferences OPTIONAL, + deviceHistory [ 9] IMPLICIT DeviceHistory OPTIONAL, + locationInfo [10] IMPLICIT LocationInfoList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-failed-event diff --git a/csta/CSTA-fast-data.asn1 b/csta/CSTA-fast-data.asn1 new file mode 100644 index 0000000..afa3837 --- /dev/null +++ b/csta/CSTA-fast-data.asn1 @@ -0,0 +1,53 @@ +CSTA-fast-data + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) fast-data( 119) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTAObject FROM CSTA-switching-function-objects + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) switching-function-objects( 122) } +DataPathType, IORegisterReqID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +DisplayID FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +fastData OPERATION ::= +{ ARGUMENT FastDataArgument + RESULT FastDataResult + ERRORS {universalFailure } + CODE local: 119 } + +FastDataArgument ::= SEQUENCE +{ ioRegisterReqID IORegisterReqID OPTIONAL, + object CSTAObject, + dataPathType DataPathType OPTIONAL, + displayAttributes DisplayAttribute OPTIONAL, + ioData OCTET STRING, --corrected 12/2000 + extensions CSTACommonArguments OPTIONAL } + +FastDataResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +DisplayAttribute ::= SEQUENCE +{ displayID DisplayID OPTIONAL, + physicalBaseRowNumber [0] IMPLICIT INTEGER OPTIONAL, + physicalBaseColumnNumber [1] IMPLICIT INTEGER OPTIONAL, + offset [2] IMPLICIT INTEGER OPTIONAL } + +END -- of CSTA-fast-data diff --git a/csta/CSTA-forwarding-event.asn1 b/csta/CSTA-forwarding-event.asn1 new file mode 100644 index 0000000..29de005 --- /dev/null +++ b/csta/CSTA-forwarding-event.asn1 @@ -0,0 +1,31 @@ +CSTA-forwarding-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) forwarding-event( 43) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +DeviceID, SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ForwardingType, ForwardDefault FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +ForwardingEvent ::= SEQUENCE +{ device SubjectDeviceID, + forwardingType ForwardingType OPTIONAL, + forwardStatus BOOLEAN, + forwardTo DeviceID OPTIONAL, + forwardDefault ForwardDefault OPTIONAL, + ringCount INTEGER (1..100) OPTIONAL, + ringDuration [4] IMPLICIT INTEGER OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-forwarding-event diff --git a/csta/CSTA-generate-digits.asn1 b/csta/CSTA-generate-digits.asn1 new file mode 100644 index 0000000..e0f2bd1 --- /dev/null +++ b/csta/CSTA-generate-digits.asn1 @@ -0,0 +1,46 @@ +CSTA-generate-digits + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) generate-digits( 232) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +generateDigits OPERATION ::= +{ ARGUMENT GenerateDigitsArgument + RESULT GenerateDigitsResult + ERRORS {universalFailure } + CODE local: 232 } + +GenerateDigitsArgument ::= SEQUENCE +{ connectionToSendDigits ConnectionID, + digitMode DigitMode OPTIONAL, + charactersToSend IA5String, + toneDuration [0] IMPLICIT INTEGER OPTIONAL, + pulseRate [1] IMPLICIT INTEGER OPTIONAL, + pauseDuration [2] IMPLICIT INTEGER OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +GenerateDigitsResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +DigitMode ::= ENUMERATED +{ rotaryPulse (0), + dTMF (1) } + +END -- of CSTA-generate-digits diff --git a/csta/CSTA-generate-telephony-tones.asn1 b/csta/CSTA-generate-telephony-tones.asn1 new file mode 100644 index 0000000..b91cba4 --- /dev/null +++ b/csta/CSTA-generate-telephony-tones.asn1 @@ -0,0 +1,42 @@ +CSTA-generate-telephony-tones + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) generate-telephony-tones( 233) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +TelephonyTone FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +generateTelephonyTones OPERATION ::= +{ ARGUMENT GenerateTelephonyTonesArgument + RESULT GenerateTelephonyTonesResult + ERRORS {universalFailure } + CODE local: 233 } + +GenerateTelephonyTonesArgument ::= SEQUENCE +{ connectionToSendTone ConnectionID, + toneToSend TelephonyTone, + toneDuration INTEGER OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +GenerateTelephonyTonesResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-generate-telephony-tones diff --git a/csta/CSTA-get-agent-state.asn1 b/csta/CSTA-get-agent-state.asn1 new file mode 100644 index 0000000..7e26fb0 --- /dev/null +++ b/csta/CSTA-get-agent-state.asn1 @@ -0,0 +1,58 @@ +CSTA-get-agent-state + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-agent-state( 304) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +AgentID, AgentState, PendingAgentState FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +getAgentState OPERATION ::= +{ ARGUMENT GetAgentStateArgument + RESULT GetAgentStateResult + ERRORS {universalFailure } + CODE local: 304 } + +GetAgentStateArgument ::= SEQUENCE +{ device DeviceID, + acdGroup DeviceID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +GetAgentStateResult ::= SEQUENCE +{ agentStateList AgentStateList, + extensions CSTACommonArguments OPTIONAL } + +AgentStateList ::= SEQUENCE SIZE (1..32) OF AgentStateEntry + +AgentStateEntry ::= SEQUENCE +{ agentID AgentID OPTIONAL, + loggedOn BOOLEAN, + agentInfo SEQUENCE OF AgentInfo OPTIONAL } + +AgentInfo ::= SEQUENCE +{ acdGroup DeviceID OPTIONAL, + agentState AgentState, + pendingAgentState [0] IMPLICIT PendingAgentState OPTIONAL, + agentStateCondition [1] IMPLICIT AgentStateCondition OPTIONAL } + +AgentStateCondition ::= ENUMERATED +{ forcedPause (0), + other (1) } + +END -- of CSTA-get-agent-state diff --git a/csta/CSTA-get-auditory-apparatus-information.asn1 b/csta/CSTA-get-auditory-apparatus-information.asn1 new file mode 100644 index 0000000..d38d76f --- /dev/null +++ b/csta/CSTA-get-auditory-apparatus-information.asn1 @@ -0,0 +1,41 @@ +CSTA-get-auditory-apparatus-information +{ iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-auditory-apparatus-information( 261) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +AuditoryApparatusID, AuditoryApparatusList FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +getAuditoryApparatusInformation OPERATION ::= +{ ARGUMENT GetAuditoryApparatusInformationArgument + RESULT GetAuditoryApparatusInformationResult + ERRORS {universalFailure } + CODE local: 261 } + +GetAuditoryApparatusInformationArgument ::= SEQUENCE +{ device DeviceID, + auditoryApparatus AuditoryApparatusID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +GetAuditoryApparatusInformationResult ::= SEQUENCE +{ auditoryApparatusList AuditoryApparatusList, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-get-auditory-apparatus-information diff --git a/csta/CSTA-get-auto-answer.asn1 b/csta/CSTA-get-auto-answer.asn1 new file mode 100644 index 0000000..49bc19a --- /dev/null +++ b/csta/CSTA-get-auto-answer.asn1 @@ -0,0 +1,38 @@ +CSTA-get-auto-answer + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-auto-answer( 305) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +getAutoAnswer OPERATION ::= +{ ARGUMENT GetAutoAnswerArgument + RESULT GetAutoAnswerResult + ERRORS {universalFailure } + CODE local: 305 } + +GetAutoAnswerArgument ::= SEQUENCE +{ device DeviceID, + extensions CSTACommonArguments OPTIONAL } + +GetAutoAnswerResult ::= SEQUENCE +{ autoAnswerOn BOOLEAN, + numberOfRings INTEGER OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-get-auto-answer diff --git a/csta/CSTA-get-auto-work-mode.asn1 b/csta/CSTA-get-auto-work-mode.asn1 new file mode 100644 index 0000000..bfcbbc6 --- /dev/null +++ b/csta/CSTA-get-auto-work-mode.asn1 @@ -0,0 +1,38 @@ +CSTA-get-auto-work-mode + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-auto-work-mode( 306) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +getAutoWorkMode OPERATION ::= +{ ARGUMENT GetAutoWorkModeArgument + RESULT GetAutoWorkModeResult + ERRORS {universalFailure } + CODE local: 306 } + +GetAutoWorkModeArgument ::= SEQUENCE +{ device DeviceID, + extensions CSTACommonArguments OPTIONAL } + +GetAutoWorkModeResult ::= SEQUENCE +{ autoWorkOn BOOLEAN, + autoWorkInterval INTEGER OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-get-auto-work-mode diff --git a/csta/CSTA-get-button-information.asn1 b/csta/CSTA-get-button-information.asn1 new file mode 100644 index 0000000..008c633 --- /dev/null +++ b/csta/CSTA-get-button-information.asn1 @@ -0,0 +1,51 @@ +CSTA-get-button-information + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-button-information( 262) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ButtonID, LampID FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +getButtonInformation OPERATION ::= +{ ARGUMENT GetButtonInformationArgument + RESULT GetButtonInformationResult + ERRORS {universalFailure } + CODE local: 262 } + +GetButtonInformationArgument ::= SEQUENCE +{ device DeviceID, + button ButtonID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +GetButtonInformationResult ::= SEQUENCE +{ buttonList ButtonList, + extensions CSTACommonArguments OPTIONAL } + +ButtonList ::= SEQUENCE OF SEQUENCE +{ button ButtonID, + buttonLabel [0] IMPLICIT IA5String OPTIONAL, + buttonLabelSettable [1] IMPLICIT BOOLEAN OPTIONAL, + buttonFunction [2] IMPLICIT IA5String OPTIONAL, + buttonAssociatedNumber [3] IMPLICIT DeviceID OPTIONAL, + buttonAssociatedNumberSettable [4] IMPLICIT BOOLEAN OPTIONAL, + buttonPressIndicator [5] IMPLICIT BOOLEAN OPTIONAL, + lampList SEQUENCE OF LampID OPTIONAL } + +END -- of CSTA-get-button-information diff --git a/csta/CSTA-get-call-back.asn1 b/csta/CSTA-get-call-back.asn1 new file mode 100644 index 0000000..119b38f --- /dev/null +++ b/csta/CSTA-get-call-back.asn1 @@ -0,0 +1,42 @@ +CSTA-get-call-back + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-call-back( 378) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +getCallBack OPERATION ::= +{ ARGUMENT GetCallBackArgument + RESULT GetCallBackResult + ERRORS {universalFailure } + CODE local: 378 } + +GetCallBackArgument::= SEQUENCE +{ device DeviceID, + extensions CSTACommonArguments OPTIONAL } + +GetCallBackResult ::= SEQUENCE +{ callBackList CallBackList, + extensions CSTACommonArguments OPTIONAL } + +CallBackList ::= SEQUENCE OF SEQUENCE +{ originatingDevice DeviceID, + targetDevice DeviceID, + callBackMessageIndicator BOOLEAN OPTIONAL } + +END -- of CSTA-get-call-back diff --git a/csta/CSTA-get-caller-id-status.asn1 b/csta/CSTA-get-caller-id-status.asn1 new file mode 100644 index 0000000..d73bbc9 --- /dev/null +++ b/csta/CSTA-get-caller-id-status.asn1 @@ -0,0 +1,37 @@ +CSTA-get-caller-id-status +{ iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-caller-id-status( 307) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +getCallerIDStatus OPERATION ::= +{ ARGUMENT GetCallerIDStatusArgument + RESULT GetCallerIDStatusResult + ERRORS {universalFailure } + CODE local: 307 } + +GetCallerIDStatusArgument ::= SEQUENCE +{ device DeviceID, + extensions CSTACommonArguments OPTIONAL } + +GetCallerIDStatusResult ::= SEQUENCE +{ callerIDProvided BOOLEAN, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-get-caller-id-status diff --git a/csta/CSTA-get-csta-features-service.asn1 b/csta/CSTA-get-csta-features-service.asn1 new file mode 100644 index 0000000..47f8af5 --- /dev/null +++ b/csta/CSTA-get-csta-features-service.asn1 @@ -0,0 +1,70 @@ +CSTA-get-csta-features-service + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-csta-features-service ( 370 ) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +LocationServicesServList FROM CSTA-capability-exchange + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) capability-exchange( 131) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +RouteingServList, DeviceMaintEvtsList, +CapExchangeServList,SystemStatusServList, MonitoringServList, SnapshotServList, +CallControlServList,CallAssociatedServList,MediaServList,PhysDevServList,LogicalServList, +IOServicesServList,DataCollectionServList,VoiceUnitServList,CDRServList,VendorSpecificServList, +CallControlEvtsList,CallAssociatedEvtsList,MediaEvtsList,PhysDevEvtsList,LogicalEvtsList, +VoiceUnitEvtsList,VendorSpecificEvtsList +FROM CSTA-capability-exchange + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) capability-exchange( 131) }; + +getCSTAFeature OPERATION ::= +{ ARGUMENT GetCSTAFeatureArgument + RESULT GetCSTAFeatureResult + ERRORS {universalFailure } + CODE local: 370 } + +GetCSTAFeatureArgument::= SEQUENCE +{ extensions CSTACommonArguments OPTIONAL } + +GetCSTAFeatureResult::= SEQUENCE +{ supportedServices SEQUENCE + { capExchangeServList [ 0] CapExchangeServList OPTIONAL, + systemStatServList [ 1] SystemStatusServList OPTIONAL, + monitoringServList [ 2] MonitoringServList OPTIONAL, + snapshotServList [ 3] SnapshotServList OPTIONAL, + callControlServList [ 4] CallControlServList OPTIONAL, + callAssociatedServList [ 5] CallAssociatedServList OPTIONAL, + mediaServList [ 6] MediaServList OPTIONAL, + routeingServList [ 7] RouteingServList OPTIONAL, + physDevServList [ 8] PhysDevServList OPTIONAL, + logicalServList [ 9] LogicalServList OPTIONAL, + iOServicesServList [10] IOServicesServList OPTIONAL, + dataCollectionServList [11] DataCollectionServList OPTIONAL, + voiceServList [12] VoiceUnitServList OPTIONAL, + cDRServList [13] CDRServList OPTIONAL, + vendorSpecificServList [14] VendorSpecificServList OPTIONAL, + locationServicesServList [15] LocationServicesServList OPTIONAL }, + supportedEvents SEQUENCE + { callControlEvtsList [0] CallControlEvtsList OPTIONAL, + callAssociatedEvtsList [1] CallAssociatedEvtsList OPTIONAL, + mediaEvtsList [2] MediaEvtsList OPTIONAL, + physDevEvtsList [3] PhysDevEvtsList OPTIONAL, + logicalEvtsList [4] LogicalEvtsList OPTIONAL, + deviceMaintEvtsList [5] DeviceMaintEvtsList OPTIONAL, + voiceEvtsList [6] VoiceUnitEvtsList OPTIONAL, + vendorSpecificEvtsList [7] VendorSpecificEvtsList OPTIONAL } OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-get-csta-features-service diff --git a/csta/CSTA-get-display.asn1 b/csta/CSTA-get-display.asn1 new file mode 100644 index 0000000..8b4e4ae --- /dev/null +++ b/csta/CSTA-get-display.asn1 @@ -0,0 +1,52 @@ +CSTA-get-display +{ iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-display( 263) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +DisplayID, CharacterSet FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +getDisplay OPERATION ::= +{ ARGUMENT GetDisplayArgument + RESULT GetDisplayResult + ERRORS {universalFailure } + CODE local: 263 } + +GetDisplayArgument ::= SEQUENCE +{ device DeviceID, + display DisplayID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +GetDisplayResult ::= SEQUENCE +{ displayList DisplayList, + extensions CSTACommonArguments OPTIONAL } + +DisplayList ::= SEQUENCE OF SEQUENCE +{ displayID DisplayID, + logicalRows INTEGER, + logicalColumns INTEGER, + physicalRows [0] IMPLICIT INTEGER OPTIONAL, + physicalColumns [1] IMPLICIT INTEGER OPTIONAL, + physicalBaseRowNumber [2] IMPLICIT INTEGER OPTIONAL, + physicalBaseColumnNumber [3] IMPLICIT INTEGER OPTIONAL, + characterSet CharacterSet OPTIONAL, + contentsOfDisplay IA5String } + +END -- of CSTA-get-display diff --git a/csta/CSTA-get-do-not-disturb.asn1 b/csta/CSTA-get-do-not-disturb.asn1 new file mode 100644 index 0000000..cdc5f93 --- /dev/null +++ b/csta/CSTA-get-do-not-disturb.asn1 @@ -0,0 +1,42 @@ +CSTA-get-do-not-disturb + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-do-not-disturb( 308) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CallOrigination FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +getDoNotDisturb OPERATION ::= +{ ARGUMENT GetDoNotDisturbArgument + RESULT GetDoNotDisturbResult + ERRORS {universalFailure } + CODE local: 308 } + +GetDoNotDisturbArgument ::= SEQUENCE +{ device DeviceID, + extensions CSTACommonArguments OPTIONAL } + +GetDoNotDisturbResult ::= SEQUENCE +{ doNotDisturbOn BOOLEAN, + callOrigination CallOrigination OPTIONAL, + callingDeviceList SEQUENCE OF DeviceID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-get-do-not-disturb diff --git a/csta/CSTA-get-forwarding.asn1 b/csta/CSTA-get-forwarding.asn1 new file mode 100644 index 0000000..0a507ab --- /dev/null +++ b/csta/CSTA-get-forwarding.asn1 @@ -0,0 +1,40 @@ +CSTA-get-forwarding + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-forwarding( 309) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ForwardList FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +getForwarding OPERATION ::= +{ ARGUMENT GetForwardingArgument + RESULT GetForwardingResult + ERRORS {universalFailure } + CODE local: 309 } + +GetForwardingArgument ::= SEQUENCE +{ device DeviceID, + extensions CSTACommonArguments OPTIONAL } + +GetForwardingResult ::= SEQUENCE +{ forwardingList ForwardList, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-get-forwarding diff --git a/csta/CSTA-get-hookswitch-status.asn1 b/csta/CSTA-get-hookswitch-status.asn1 new file mode 100644 index 0000000..16bf82f --- /dev/null +++ b/csta/CSTA-get-hookswitch-status.asn1 @@ -0,0 +1,45 @@ +CSTA-get-hookswitch-status + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-hookswitch-status( 264) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +HookswitchID FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +getHookswitchStatus OPERATION ::= +{ ARGUMENT GetHookswitchStatusArgument + RESULT GetHookswitchStatusResult + ERRORS {universalFailure } + CODE local: 264 } + +GetHookswitchStatusArgument ::= SEQUENCE +{ device DeviceID, + hookswitch HookswitchID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +GetHookswitchStatusResult ::= SEQUENCE +{ hookswitchStatusList HookswitchStatusList, + extensions CSTACommonArguments OPTIONAL } + +HookswitchStatusList ::= SEQUENCE OF SEQUENCE +{ hookswitch HookswitchID, + hookswitchOnHook BOOLEAN } + +END -- of CSTA-get-hookswitch-status diff --git a/csta/CSTA-get-lamp-information.asn1 b/csta/CSTA-get-lamp-information.asn1 new file mode 100644 index 0000000..23fc4ff --- /dev/null +++ b/csta/CSTA-get-lamp-information.asn1 @@ -0,0 +1,47 @@ +CSTA-get-lamp-information +{ iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-lamp-information( 265) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ButtonID, LampID, LampColor FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +getLampInformation OPERATION ::= +{ ARGUMENT GetLampInformationArgument + RESULT GetLampInformationResult + ERRORS {universalFailure } + CODE local: 265 } + +GetLampInformationArgument ::= SEQUENCE +{ device DeviceID, + lamp LampID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +GetLampInformationResult ::= SEQUENCE +{ lampList LampList, + extensions CSTACommonArguments OPTIONAL } + +LampList ::= SEQUENCE OF SEQUENCE +{ lamp LampID, + lampLabel [0] IMPLICIT OCTET STRING OPTIONAL, + button [1] IMPLICIT ButtonID OPTIONAL, + lampColor LampColor OPTIONAL } + +END -- of CSTA-get-lamp-information diff --git a/csta/CSTA-get-lamp-mode.asn1 b/csta/CSTA-get-lamp-mode.asn1 new file mode 100644 index 0000000..25fff05 --- /dev/null +++ b/csta/CSTA-get-lamp-mode.asn1 @@ -0,0 +1,50 @@ +CSTA-get-lamp-mode +{ iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-lamp-mode( 266) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ButtonID, LampID, LampColor, LampMode, LampBrightness +FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +getLampMode OPERATION ::= +{ ARGUMENT GetLampModeArgument + RESULT GetLampModeResult + ERRORS {universalFailure } + CODE local: 266 } + +GetLampModeArgument ::= SEQUENCE +{ device DeviceID, + lamp LampID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +GetLampModeResult ::= SEQUENCE +{ lampModeList LampModeList, + lamp LampID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +LampModeList ::= SEQUENCE OF SEQUENCE +{ lamp LampID, + lampMode LampMode, + lampBrightness [0] IMPLICIT LampBrightness OPTIONAL, + lampColor [1] IMPLICIT LampColor OPTIONAL, + button [2] IMPLICIT ButtonID OPTIONAL } + +END -- of CSTA-get-lamp-mode diff --git a/csta/CSTA-get-last-number-dialed.asn1 b/csta/CSTA-get-last-number-dialed.asn1 new file mode 100644 index 0000000..8d7f383 --- /dev/null +++ b/csta/CSTA-get-last-number-dialed.asn1 @@ -0,0 +1,37 @@ +CSTA-get-last-number-dialed + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-last-number-dialed( 310) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +getLastNumberDialed OPERATION ::= +{ ARGUMENT GetLastNumberDialedArgument + RESULT GetLastNumberDialedResult + ERRORS {universalFailure } + CODE local: 310 } + +GetLastNumberDialedArgument ::= SEQUENCE +{ device DeviceID, + extensions CSTACommonArguments OPTIONAL } + +GetLastNumberDialedResult ::= SEQUENCE +{ numberDialed DeviceID, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-get-last-number-dialed diff --git a/csta/CSTA-get-location-information.asn1 b/csta/CSTA-get-location-information.asn1 new file mode 100644 index 0000000..944a194 --- /dev/null +++ b/csta/CSTA-get-location-information.asn1 @@ -0,0 +1,40 @@ +CSTA-get-location-information + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-location-information ( 530) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +LocationInfo FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) }; + +getLocationInformation OPERATION ::= +{ ARGUMENT GetLocationInformationArgument + RESULT GetLocationInformationResult + ERRORS {universalFailure } + CODE local: 530} + +GetLocationInformationArgument ::= SEQUENCE +{ device DeviceID, + extensions CSTACommonArguments OPTIONAL } + +GetLocationInformationResult ::= SEQUENCE +{ locationInfo LocationInfo, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-get-location-information diff --git a/csta/CSTA-get-location-tracking-capabilities.asn1 b/csta/CSTA-get-location-tracking-capabilities.asn1 new file mode 100644 index 0000000..55b0664 --- /dev/null +++ b/csta/CSTA-get-location-tracking-capabilities.asn1 @@ -0,0 +1,75 @@ +CSTA-get-location-tracking-capabilities + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-location-tracking-capabilities( 539) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definitioneq + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +LocCrossRefID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) }; + +getLocationTrackingCapabilities OPERATION ::= +{ ARGUMENT GetLocationTrackingCapabilitiesArgument + RESULT GetLocationTrackingCapabilitiesResult + ERRORS {universalFailure } + CODE local: 539 } + +GetLocationTrackingCapabilitiesArgument ::= SEQUENCE +{ device DeviceID, + extensions CSTACommonArguments OPTIONAL } + +GetLocationTrackingCapabilitiesResult ::= SEQUENCE +{ collectionTypeDefault ENUMERATED + { periodic (0), + updatesOnly (1), + periodicWithUpdates (2) }, + collectionTypePeriodic BOOLEAN, + collectionTypeUpdatesOnly BOOLEAN, + collectionTypePeriodicWithUpdates BOOLEAN, + collectionIntervalDefault INTEGER, + collectionIntervalMin INTEGER, + collectionIntervalMax INTEGER, + maxCollectionsDefault INTEGER, + maxCollectionsMin INTEGER, + maxCollectionsMax INTEGER, + collectionFilterDefault ENUMERATED + { horizontalMovement (0), + verticalMovement (1), + civicAddressChange (2), + none (3) }, + collectionFilterHorizontal BOOLEAN, + collectionFilterVertical BOOLEAN, + collectionFilterCivicAddress BOOLEAN, + reportingTypeDefault ENUMERATED + { immediate (0), + periodic (1), + count (2) }, + reportingTypeImmediate BOOLEAN, + reportingTypePeriodic BOOLEAN, + reportingTypeCount INTEGER, + reportingIntervalDefault INTEGER, + reportingIntervalMin INTEGER, + reportingIntervalMax INTEGER, + reportingCountDefault INTEGER, + reportingCountMin INTEGER, + reportingCountMax INTEGER, + supportsSuspendingTracking BOOLEAN, + supportsResumingTracking BOOLEAN, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-get-location-tracking-capabilities diff --git a/csta/CSTA-get-location-tracking-sessions.asn1 b/csta/CSTA-get-location-tracking-sessions.asn1 new file mode 100644 index 0000000..dd535f5 --- /dev/null +++ b/csta/CSTA-get-location-tracking-sessions.asn1 @@ -0,0 +1,44 @@ +CSTA-get-location-tracking-sessions + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-location-tracking-sessions( 540) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +LocationSessionInfoList FROM CSTA-status-reporting + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) status-reporting( 126) } +ServiceCrossRefID FROM CSTA-capability-exchange + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) capability-exchange( 131) }; + +getLocationTrackingSessions OPERATION ::= +{ ARGUMENT GetLocationTrackingSessionsArgument + RESULT GetLocationTrackingSessionsResult + ERRORS {universalFailure } + CODE local: 540} + +GetLocationTrackingSessionsArgument ::= SEQUENCE +{ extensions CSTACommonArguments OPTIONAL } + +GetLocationTrackingSessionsResult::= SEQUENCE +{ crossRefIDorRegistrationData CHOICE + { serviceCrossRefID ServiceCrossRefID, + locationSessionInfoList LocationSessionInfoList }, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-get-location-tracking-sessions diff --git a/csta/CSTA-get-logical-device-information.asn1 b/csta/CSTA-get-logical-device-information.asn1 new file mode 100644 index 0000000..df2c63a --- /dev/null +++ b/csta/CSTA-get-logical-device-information.asn1 @@ -0,0 +1,83 @@ +CSTA-get-logical-device-information + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-logical-device-information( 201) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +MonitorFilter, MonitorMediaClass FROM CSTA-status-reporting + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) status-reporting( 126) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +DeviceCategory, GroupDeviceAttributes, NamedDeviceTypes, ACDModels, AgentLogOnModels, +AppearanceType, MiscMonitorCaps, TransAndConfSetup, MediaServiceCapsList,RouteingServList, +LogDevServList, LogDevEvtsList, DeviceMaintEvtsList +FROM CSTA-capability-exchange + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) capability-exchange( 131) } +NumberOfChannels, MaxChannelBind, ConnectionRateList, DelayToleranceList +FROM CSTA-data-call-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) data-call-types( 134) }; + +getLogicalDeviceInformation OPERATION ::= +{ ARGUMENT GetLogicalDeviceInformationArgument + RESULT GetLogicalDeviceInformationResult + ERRORS {universalFailure } + CODE local:201 } + +GetLogicalDeviceInformationArgument ::= SEQUENCE +{ device DeviceID, + extensions CSTACommonArguments OPTIONAL } + +GetLogicalDeviceInformationResult ::= SEQUENCE +{ deviceCategory [ 0] IMPLICIT DeviceCategory DEFAULT station, + groupDeviceAttributes [ 1] IMPLICIT GroupDeviceAttributes OPTIONAL, + namedDeviceTypes [ 2] IMPLICIT NamedDeviceTypes OPTIONAL, + shortFormDeviceID [ 3] DeviceID OPTIONAL, + hasPhysicalElement BOOLEAN, + acdModels ACDModels, + agentLogOnModels [ 4] IMPLICIT AgentLogOnModels OPTIONAL, + appearanceAddressable BOOLEAN, + appearanceType AppearanceType, + appearanceList [ 5] IMPLICIT SEQUENCE OF IA5String OPTIONAL, + otherPhysicalDeviceList [ 6] IMPLICIT SEQUENCE OF DeviceID OPTIONAL, + miscMonitorCaps [ 7] IMPLICIT MiscMonitorCaps OPTIONAL, + associatedGroupList [ 8] IMPLICIT SEQUENCE OF DeviceID OPTIONAL, + maxCallbacks [ 9] IMPLICIT INTEGER OPTIONAL, + maxAutoAnswerRings [10] IMPLICIT INTEGER OPTIONAL, + maxActiveCalls [11] IMPLICIT INTEGER OPTIONAL, + maxHeldCalls [12] IMPLICIT INTEGER OPTIONAL, + maxFwdSettings [13] IMPLICIT INTEGER OPTIONAL, + maxDevicesInConf [14] IMPLICIT INTEGER OPTIONAL, + transAndConfSetup [15] IMPLICIT TransAndConfSetup OPTIONAL, + deviceOnDeviceMonitorFilter [16] IMPLICIT MonitorFilter OPTIONAL, + deviceOnConnectionMonitorFilter [17] IMPLICIT MonitorFilter OPTIONAL, + callOnDeviceMonitorFilter [18] IMPLICIT MonitorFilter OPTIONAL, + callOnConnectionMonitorFilter [19] IMPLICIT MonitorFilter OPTIONAL, + mediaClassSupport [20] IMPLICIT MonitorMediaClass OPTIONAL, + mediaServiceCapsList [21] IMPLICIT MediaServiceCapsList OPTIONAL, + connectionRateList [22] IMPLICIT ConnectionRateList OPTIONAL, + delayToleranceList [23] IMPLICIT DelayToleranceList OPTIONAL, + numberOfChannels [24] IMPLICIT NumberOfChannels OPTIONAL, + maxChannelBind [25] IMPLICIT MaxChannelBind OPTIONAL, + routeingServList [26] IMPLICIT RouteingServList OPTIONAL, + logDevServList [27] IMPLICIT LogDevServList OPTIONAL, + logDevEvtsList [28] IMPLICIT LogDevEvtsList OPTIONAL, + deviceMaintEvtsList [29] IMPLICIT DeviceMaintEvtsList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-get-logical-device-information diff --git a/csta/CSTA-get-message-waiting-indicator.asn1 b/csta/CSTA-get-message-waiting-indicator.asn1 new file mode 100644 index 0000000..045820d --- /dev/null +++ b/csta/CSTA-get-message-waiting-indicator.asn1 @@ -0,0 +1,39 @@ +CSTA-get-message-waiting-indicator +{ iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-message-waiting-indicator( 267) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +getMessageWaitingIndicator OPERATION ::= +{ ARGUMENT GetMessageWaitingIndicatorArgument + RESULT GetMessageWaitingIndicatorResult + ERRORS {universalFailure } + CODE local: 267 } + +GetMessageWaitingIndicatorArgument ::= SEQUENCE +{ device DeviceID, + extensions CSTACommonArguments OPTIONAL } + +GetMessageWaitingIndicatorResult ::= SEQUENCE +{ messageWaitingOn BOOLEAN, + deviceForMessage DeviceID OPTIONAL, + lampIsPresent BOOLEAN OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-get-message-waiting-indicator diff --git a/csta/CSTA-get-microphone-gain.asn1 b/csta/CSTA-get-microphone-gain.asn1 new file mode 100644 index 0000000..54124c2 --- /dev/null +++ b/csta/CSTA-get-microphone-gain.asn1 @@ -0,0 +1,45 @@ +CSTA-get-microphone-gain + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-microphone-gain( 268) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +AuditoryApparatusID, MicGainAbs FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +getMicrophoneGain OPERATION ::= +{ ARGUMENT GetMicrophoneGainArgument + RESULT GetMicrophoneGainResult + ERRORS {universalFailure } + CODE local: 268 } + +GetMicrophoneGainArgument ::= SEQUENCE +{ device DeviceID, + auditoryApparatus AuditoryApparatusID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +GetMicrophoneGainResult ::= SEQUENCE +{ microphoneGainList MicrophoneGainList, + extensions CSTACommonArguments OPTIONAL } + +MicrophoneGainList ::= SEQUENCE OF SEQUENCE +{ auditoryApparatus AuditoryApparatusID, + micGainAbs MicGainAbs OPTIONAL } + +END -- of CSTA-get-microphone-gain diff --git a/csta/CSTA-get-microphone-mute.asn1 b/csta/CSTA-get-microphone-mute.asn1 new file mode 100644 index 0000000..57e8b7d --- /dev/null +++ b/csta/CSTA-get-microphone-mute.asn1 @@ -0,0 +1,45 @@ +CSTA-get-microphone-mute + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-microphone-mute( 269) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +AuditoryApparatusID FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +getMicrophoneMute OPERATION ::= +{ ARGUMENT GetMicrophoneMuteArgument + RESULT GetMicrophoneMuteResult + ERRORS {universalFailure } + CODE local: 269 } + +GetMicrophoneMuteArgument ::= SEQUENCE +{ device DeviceID, + auditoryApparatus AuditoryApparatusID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +GetMicrophoneMuteResult ::= SEQUENCE +{ microphoneMuteList MicrophoneMuteList, + extensions CSTACommonArguments OPTIONAL } + +MicrophoneMuteList ::= SEQUENCE OF SEQUENCE +{ auditoryApparatus AuditoryApparatusID, + microphoneMuteOn BOOLEAN } + +END -- of CSTA-get-microphone-mute diff --git a/csta/CSTA-get-monitor.asn1 b/csta/CSTA-get-monitor.asn1 new file mode 100644 index 0000000..c57e428 --- /dev/null +++ b/csta/CSTA-get-monitor.asn1 @@ -0,0 +1,41 @@ +CSTA-get-monitor + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-monitor ( 373) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +MonitorList FROM CSTA-status-reporting + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) status-reporting( 126) } +ServiceCrossRefID FROM CSTA-capability-exchange + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) capability-exchange( 131) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +getMonitors OPERATION ::= +{ ARGUMENT GetMonitorArgument + RESULT GetMonitorResult + ERRORS {universalFailure } + CODE local: 373 } + +GetMonitorArgument ::= SEQUENCE +{ extensions CSTACommonArguments OPTIONAL } + +GetMonitorResult ::= SEQUENCE +{ crossRefIDorRegistrationData CHOICE + { serviceCrossRefID ServiceCrossRefID, + monitorList MonitorList }, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-get-monitor diff --git a/csta/CSTA-get-physical-device-information.asn1 b/csta/CSTA-get-physical-device-information.asn1 new file mode 100644 index 0000000..f355d02 --- /dev/null +++ b/csta/CSTA-get-physical-device-information.asn1 @@ -0,0 +1,59 @@ +CSTA-get-physical-device-information + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-physical-device-information( 202) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +MonitorFilter FROM CSTA-status-reporting + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) status-reporting( 126) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +DeviceCategory, GroupDeviceAttributes, NamedDeviceTypes, PhysDevServList, PhysDevEvtsList +FROM CSTA-capability-exchange + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) capability-exchange( 131) }; + +getPhysicalDeviceInformation OPERATION ::= +{ ARGUMENT GetPhysicalDeviceInformationArgument + RESULT GetPhysicalDeviceInformationResult + ERRORS {universalFailure } + CODE local:202 } + +GetPhysicalDeviceInformationArgument ::= SEQUENCE +{ device DeviceID, + extensions CSTACommonArguments OPTIONAL } + +GetPhysicalDeviceInformationResult ::= SEQUENCE +{ deviceCategory [ 0] IMPLICIT DeviceCategory DEFAULT station, + groupDeviceAttributes [ 1] IMPLICIT GroupDeviceAttributes OPTIONAL, + namedDeviceTypes [ 2] IMPLICIT NamedDeviceTypes OPTIONAL, + hasLogicalElement BOOLEAN, + otherLogicalDeviceList [ 3] IMPLICIT SEQUENCE OF DeviceID OPTIONAL, + deviceModelName [ 4] IMPLICIT IA5String (SIZE(0..64)) OPTIONAL, + deviceOnDeviceMonitorFilter [ 5] IMPLICIT MonitorFilter OPTIONAL, + deviceOnConnectionMonitorFilter [ 6] IMPLICIT MonitorFilter OPTIONAL, + callOnDeviceMonitorFilter [ 7] IMPLICIT MonitorFilter OPTIONAL, + callOnConnectionMonitorFilter [ 8] IMPLICIT MonitorFilter OPTIONAL, + maxDisplays [ 9] IMPLICIT INTEGER OPTIONAL, + maxButtons [10] IMPLICIT INTEGER OPTIONAL, + maxLamps [11] IMPLICIT INTEGER OPTIONAL, + maxRingPatterns [12] IMPLICIT INTEGER OPTIONAL, + physDevServList [13] IMPLICIT PhysDevServList OPTIONAL, + physDevEvtsList [14] IMPLICIT PhysDevEvtsList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-get-physical-device-information diff --git a/csta/CSTA-get-presence-state.asn1 b/csta/CSTA-get-presence-state.asn1 new file mode 100644 index 0000000..dceab14 --- /dev/null +++ b/csta/CSTA-get-presence-state.asn1 @@ -0,0 +1,48 @@ +CSTA-get-presence-state + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-presence-state( 550) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +PresenceState FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +TimeInfo FROM CSTA-security +{ iso( 1) identified-organization( 3) icd-ecma( 12) +standard( 0) csta3( 285) security( 128) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +getPresenceState OPERATION ::= +{ ARGUMENT GetPresenceStateArgument + RESULT GetPresenceStateResult + ERRORS {universalFailure } + CODE local: 550 } + +GetPresenceStateArgument ::= SEQUENCE +{ device DeviceID, + extensions CSTACommonArguments OPTIONAL } + +GetPresenceStateResult ::= SEQUENCE +{ presenceState PresenceState, + fromTime [0] IMPLICIT TimeInfo OPTIONAL, + untilTime [1] IMPLICIT TimeInfo OPTIONAL, + place [2] IMPLICIT OCTET STRING OPTIONAL, + mood [3] IMPLICIT OCTET STRING OPTIONAL, + namedPresenceState [4] IMPLICIT OCTET STRING OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-get-presence-state diff --git a/csta/CSTA-get-registrations.asn1 b/csta/CSTA-get-registrations.asn1 new file mode 100644 index 0000000..c45b0a4 --- /dev/null +++ b/csta/CSTA-get-registrations.asn1 @@ -0,0 +1,45 @@ +CSTA-get-registrations + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-registrations( 371) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +RegistrationTypeList FROM CSTA-status-reporting + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) status-reporting( 126) } +ServiceCrossRefID FROM CSTA-capability-exchange + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) capability-exchange( 131) } +RegistrationList FROM CSTA-status-reporting + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) status-reporting( 126) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +getRegistrations OPERATION ::= +{ ARGUMENT GetRegistrationsArg + RESULT GetRegistrationsRes + ERRORS {universalFailure } + CODE local: 371 } + +GetRegistrationsArg ::= SEQUENCE +{ requestedRegTypes RegistrationTypeList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +GetRegistrationsRes ::= SEQUENCE +{ crossRefIDorRegistrationData CHOICE + { serviceCrossRefID ServiceCrossRefID, + registrationList RegistrationList }, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-get-registrations diff --git a/csta/CSTA-get-ringer-status.asn1 b/csta/CSTA-get-ringer-status.asn1 new file mode 100644 index 0000000..98024c1 --- /dev/null +++ b/csta/CSTA-get-ringer-status.asn1 @@ -0,0 +1,50 @@ +CSTA-get-ringer-status + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-ringer-status( 270) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +RingerID, RingMode FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +getRingerStatus OPERATION ::= +{ ARGUMENT GetRingerStatusArgument + RESULT GetRingerStatusResult + ERRORS {universalFailure } + CODE local: 270 } + +GetRingerStatusArgument ::= SEQUENCE +{ device DeviceID, + ringer RingerID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +GetRingerStatusResult ::= SEQUENCE +{ ringerStatusList RingerStatusList, + extensions CSTACommonArguments OPTIONAL } + +RingerStatusList ::= SEQUENCE OF SEQUENCE +{ ringer RingerID, + ringMode RingMode, + ringCount [0] IMPLICIT INTEGER (0..1000) OPTIONAL, + ringDuration [3] IMPLICIT INTEGER OPTIONAL, + ringPattern [1] IMPLICIT INTEGER OPTIONAL, + ringVolAbs [2] IMPLICIT INTEGER (0..100) OPTIONAL } + + +END -- of CSTA-get-ringer-status diff --git a/csta/CSTA-get-routeing-mode.asn1 b/csta/CSTA-get-routeing-mode.asn1 new file mode 100644 index 0000000..cd78bc1 --- /dev/null +++ b/csta/CSTA-get-routeing-mode.asn1 @@ -0,0 +1,37 @@ +CSTA-get-routeing-mode + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-routeing-mode( 311) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +getRouteingMode OPERATION ::= +{ ARGUMENT GetRouteingModeArgument + RESULT GetRouteingModeResult + ERRORS {universalFailure } + CODE local: 311 } + +GetRouteingModeArgument ::= SEQUENCE +{ device DeviceID, + extensions CSTACommonArguments OPTIONAL } + +GetRouteingModeResult ::= SEQUENCE +{ routeingMode BOOLEAN, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-get-routeing-mode diff --git a/csta/CSTA-get-speaker-mute.asn1 b/csta/CSTA-get-speaker-mute.asn1 new file mode 100644 index 0000000..65df46f --- /dev/null +++ b/csta/CSTA-get-speaker-mute.asn1 @@ -0,0 +1,45 @@ +CSTA-get-speaker-mute + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-speaker-mute( 271) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +AuditoryApparatusID FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +getSpeakerMute OPERATION ::= +{ ARGUMENT GetSpeakerMuteArgument + RESULT GetSpeakerMuteResult + ERRORS {universalFailure } + CODE local: 271 } + +GetSpeakerMuteArgument ::= SEQUENCE +{ device DeviceID, + auditoryApparatus AuditoryApparatusID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +GetSpeakerMuteResult ::= SEQUENCE +{ speakerMuteList SpeakerMuteList, + extensions CSTACommonArguments OPTIONAL } + +SpeakerMuteList ::= SEQUENCE OF SEQUENCE +{ auditoryApparatus AuditoryApparatusID, + speakerMuteOn BOOLEAN } + +END -- of CSTA-get-speaker-mute diff --git a/csta/CSTA-get-speaker-volume.asn1 b/csta/CSTA-get-speaker-volume.asn1 new file mode 100644 index 0000000..265a9bf --- /dev/null +++ b/csta/CSTA-get-speaker-volume.asn1 @@ -0,0 +1,45 @@ +CSTA-get-speaker-volume + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-speaker-volume( 272) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +AuditoryApparatusID, VolAbs FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +getSpeakerVolume OPERATION ::= +{ ARGUMENT GetSpeakerVolumeArgument + RESULT GetSpeakerVolumeResult + ERRORS {universalFailure } + CODE local: 272 } + +GetSpeakerVolumeArgument ::= SEQUENCE +{ device DeviceID, + auditoryApparatus AuditoryApparatusID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +GetSpeakerVolumeResult ::= SEQUENCE +{ speakerVolumeList SpeakerVolumeList, + extensions CSTACommonArguments OPTIONAL } + +SpeakerVolumeList ::= SEQUENCE OF SEQUENCE +{ auditoryApparatus AuditoryApparatusID, + speakerVolAbs VolAbs OPTIONAL } + +END -- of CSTA-get-speaker-volume diff --git a/csta/CSTA-get-switching-function-capabilities.asn1 b/csta/CSTA-get-switching-function-capabilities.asn1 new file mode 100644 index 0000000..839d4a9 --- /dev/null +++ b/csta/CSTA-get-switching-function-capabilities.asn1 @@ -0,0 +1,202 @@ +CSTA-get-switching-function-capabilities + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-switching-function-capabilities( 203) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +MonitorMediaClass, MonitorFilter FROM CSTA-status-reporting + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) status-reporting( 126) } +TimeInfo FROM CSTA-security + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) security( 128) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +ACDModels, CapExchangeServList, DeviceIDFormat, FilterThreshold, +IgnoreUnsupportedParameters, CallControlServList, CallControlEvtsList, +CallAssociatedServList, CallAssociatedEvtsList, MediaServList, MediaEvtsList, +RouteingServList, PhysDevEvtsList, PhysDevServList, LogicalEvtsList, LogicalServList, +DeviceMaintEvtsList, IOServicesServList, DataCollectionServList, VoiceUnitServList, +VoiceUnitEvtsList, CDRServList, VendorSpecificServList, VendorSpecificEvtsList, +MaxLengthParameters, TransAndConfSetup, MediaServiceCapsList, MiscMonitorCaps, +MonitoringServList, PauseTime, SnapshotServList, SwAppearanceAddressability, +MaxLengthParametersContinued,SwAppearanceTypes, SwDomainFeatures, SystemStatusServList, +TimeStampMode, LocationServicesServList +FROM CSTA-capability-exchange + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) capability-exchange( 131) } + +NumberOfChannels, MaxChannelBind, ConnectionRateList, DelayToleranceList + +FROM CSTA-data-call-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) data-call-types( 134) }; + +getSwitchingFunctionCapabilities OPERATION ::= +{ ARGUMENT GetSwitchingFunctionCapsArgument + RESULT GetSwitchingFunctionCapsResult + ERRORS {universalFailure } + CODE local:203 } + +GetSwitchingFunctionCapsArgument ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +GetSwitchingFunctionCapsResult ::= SEQUENCE +{ switchingSubDomainName IA5String (SIZE(0..64)), + manufacturerName IA5String (SIZE(0..64)), + profiles Profiles, + deviceIDFormat DeviceIDFormat, + swDomainFeatures SwDomainFeatures, + swAppearanceAddressability SwAppearanceAddressability, + swAppearanceTypes SwAppearanceTypes, + ignoreUnsupportedParameters IgnoreUnsupportedParameters, + callCharacteristicsSupported [ 0] IMPLICIT CallCharacteristics OPTIONAL, + mediaClassSupport [ 1] IMPLICIT MonitorMediaClass OPTIONAL, + numberOfChannels [ 2] IMPLICIT NumberOfChannels OPTIONAL, + maxChannelBind [ 3] IMPLICIT MaxChannelBind OPTIONAL, + miscMediaCallCharacteristics [ 4] IMPLICIT MiscMediaCallCharacteristics OPTIONAL, + connectionRateList [ 5] IMPLICIT ConnectionRateList OPTIONAL, + delayToleranceList [ 6] IMPLICIT DelayToleranceList OPTIONAL, + pauseTime [ 7] IMPLICIT PauseTime OPTIONAL, + currentTime [ 8] IMPLICIT TimeInfo OPTIONAL, + messageSeqNumbers [ 9] IMPLICIT MessageSeqNumbers OPTIONAL, + timeStampMode [10] IMPLICIT TimeStampMode OPTIONAL, + securityMode [11] IMPLICIT SecurityMode OPTIONAL, + securityFormat [12] IMPLICIT SecurityFormat OPTIONAL, + privateDataFormat [13] IMPLICIT SecurityFormat OPTIONAL, + transAndConfSetup [14] IMPLICIT TransAndConfSetup OPTIONAL, + monitorFilterItems [15] IMPLICIT MonitorFilterItems OPTIONAL, + miscMonitorCaps [16] IMPLICIT MiscMonitorCaps OPTIONAL, + correlatorDataSupported [17] IMPLICIT BOOLEAN OPTIONAL, + dynamicFeatureSupported [18] IMPLICIT DynamicFeatureSupported OPTIONAL, + callLinkageOptions [28] IMPLICIT CallLinkageOptions OPTIONAL, + aCDModels [19] IMPLICIT ACDModels OPTIONAL, + agentLogOnModels [20] IMPLICIT AgentLogOnModels OPTIONAL, + agentStateModels [21] IMPLICIT AgentStateModels OPTIONAL, + connectionView ConnectionView, + maxLengthParameters MaxLengthParameters, + maxLengthParametersContinued [28] IMPLICIT MaxLengthParametersContinued OPTIONAL, + servEvtsList [22] IMPLICIT ServEvtsList OPTIONAL, + privateDataVersionList [23] IMPLICIT PrivateDataVersionList OPTIONAL, + systemStatusTimer [24] IMPLICIT INTEGER (0..180) OPTIONAL, + simpleThreshold [25] IMPLICIT INTEGER OPTIONAL, + filterThreshold [26] IMPLICIT FilterThreshold OPTIONAL, + mediaServiceCapsList [27] IMPLICIT MediaServiceCapsList OPTIONAL, + maxDeviceHistoryLength [29] IMPLICIT INTEGER OPTIONAL, + maxDestinationDevicesForDeflect [30] IMPLICIT INTEGER OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +MonitorFilterItems ::= SEQUENCE +{ deviceOnDeviceMonitorFilter [0] IMPLICIT MonitorFilter OPTIONAL, + deviceOnConnectionMonitorFilter [1] IMPLICIT MonitorFilter OPTIONAL, + callOnDeviceMonitorFilter [2] IMPLICIT MonitorFilter OPTIONAL, + callOnConnectionMonitorFilter [3] IMPLICIT MonitorFilter OPTIONAL } + +MessageSeqNumbers ::= BIT STRING +{ allEvents (0), + allAcks (1), + allServReqs (2) } + +SecurityMode ::= ENUMERATED +{ allEvents (0), + allAcks (1), + allServReqs (2) } + +SecurityFormat ::= BIT STRING +{ octetStringFromSF (0), + otherTypeFromSF (1), + octetStringToSF (2), + otherTypeToSF (3) } + +Profiles ::= BIT STRING +{ basicTelephonyProfile ( 0), + routeingProfile ( 1), + level1aVoiceBrowserProfile ( 2), + level1bVoiceBrowserProfile ( 3), + level2VoiceBrowserProfile ( 4), + minimalUaCSTACallControlProfile ( 5), + basicUaCSTACallControlProfile ( 6), + advancedUaCSTACallControlProfile ( 7), + conferencingUaCSTACallControlProfile ( 8), + basicUaCSTADeviceFeatureProfile ( 9), + advancedUaCSTADeviceFeatureProfile (10), + speakerUACSTADeviceFeatureProfile (11), + basicSpeechServiceProfile (12), + advancedSpeechServiceProfile (13) } + +DynamicFeatureSupported ::= ENUMERATED +{ none (0), + all (1), + some (2) } + +CallLinkageOptions ::= BIT STRING +{ callLinkageFeatureSupported (0), + threadLinkageFeatureSupported (1) } + +AgentLogOnModels ::= BIT STRING +{ logOnACDDevice (0), + logOnACDGroupExplOneStep (1), + logOnACDGroupExplTwoSteps (2), + logOnACDGroupImplOneStep (3) } + +AgentStateModels ::= BIT STRING +{ multiState (0), + multiStateSemiIndependentLinked (1), + agentOriented (2) } + +ConnectionView ::= ENUMERATED +{ fixed (0), + local (1) } + +ServEvtsList ::= SEQUENCE +{ capExchangeServList [ 0] IMPLICIT CapExchangeServList OPTIONAL, + systemServList [ 1] IMPLICIT SystemStatusServList OPTIONAL, + monitoringServList [ 2] IMPLICIT MonitoringServList OPTIONAL, + snapshotServList [ 3] IMPLICIT SnapshotServList OPTIONAL, + callControlServList [ 4] IMPLICIT CallControlServList OPTIONAL, + callControlEvtsList [ 5] IMPLICIT CallControlEvtsList OPTIONAL, + callAssociatedServList [ 6] IMPLICIT CallAssociatedServList OPTIONAL, + callAssociatedEvtsList [ 7] IMPLICIT CallAssociatedEvtsList OPTIONAL, + mediaServList [ 8] IMPLICIT MediaServList OPTIONAL, + mediaEvtsList [ 9] IMPLICIT MediaEvtsList OPTIONAL, + routeingServList [10] IMPLICIT RouteingServList OPTIONAL, + physDevServList [11] IMPLICIT PhysDevServList OPTIONAL, + physDevEvtsList [12] IMPLICIT PhysDevEvtsList OPTIONAL, + logicalServList [13] IMPLICIT LogicalServList OPTIONAL, + logicalEvtsList [14] IMPLICIT LogicalEvtsList OPTIONAL, + deviceMaintEvtsList [15] IMPLICIT DeviceMaintEvtsList OPTIONAL, + iOServicesServList [16] IMPLICIT IOServicesServList OPTIONAL, + dataCollectionServList [17] IMPLICIT DataCollectionServList OPTIONAL, + voiceUnitServList [18] IMPLICIT VoiceUnitServList OPTIONAL, + voiceUnitEvtsList [19] IMPLICIT VoiceUnitEvtsList OPTIONAL, + cdrServList [20] IMPLICIT CDRServList OPTIONAL, + vendorSpecificServList [21] IMPLICIT VendorSpecificServList OPTIONAL, + vendorSpecificEvtsList [22] IMPLICIT VendorSpecificEvtsList OPTIONAL, + statusReportingServList [23] IMPLICIT StatusReportingServList OPTIONAL, + locationServList [24] IMPLICIT LocationServicesServList OPTIONAL } + +StatusReportingServList ::= SEQUENCE +{ monitoringServices [ 0] IMPLICIT MonitoringServList OPTIONAL, + snapshotServices [ 1] IMPLICIT SnapshotServList OPTIONAL, + systemServices [ 2] IMPLICIT SystemStatusServList OPTIONAL } + +MiscMediaCallCharacteristics ::= BIT STRING +{ supportAdjustment (0) } + +PrivateDataVersionList ::= SEQUENCE OF INTEGER + +END -- of CSTA-get-switching-function-capabilities diff --git a/csta/CSTA-get-switching-function-devices.asn1 b/csta/CSTA-get-switching-function-devices.asn1 new file mode 100644 index 0000000..297daa9 --- /dev/null +++ b/csta/CSTA-get-switching-function-devices.asn1 @@ -0,0 +1,62 @@ +CSTA-get-switching-function-devices + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) get-switching-function-devices( 204) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ServiceCrossRefID FROM CSTA-capability-exchange + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) capability-exchange( 131) }; + +getSwitchingFunctionDevices OPERATION ::= +{ ARGUMENT GetSwitchingFunctionDevicesArgument + RESULT GetSwitchingFunctionDevicesResult + ERRORS {universalFailure } + CODE local:204 } + +GetSwitchingFunctionDevicesArgument ::= SEQUENCE +{ requestedDeviceID DeviceID OPTIONAL, + requestedDeviceCategory ReqDeviceCategory OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +GetSwitchingFunctionDevicesResult ::= SEQUENCE +{ serviceCrossRefID ServiceCrossRefID, + extensions CSTACommonArguments OPTIONAL } + +ReqDeviceCategory ::= ENUMERATED +{ acd ( 0), + conference (11), + dtmfIV (12), + genericIV (13), + groupACD ( 1), + groupHunt ( 2), + groupPick ( 3), + groupOther ( 4), + groupUser (14), + listenerIV (15), + messageIV (16), + networkInterface ( 5), + park ( 6), + promptIV (17), + promptQueue (18), + routeingDevice ( 7), + station ( 8), + voiceUnit ( 9), + other (10) } + +END -- of CSTA-get-switching-function-devices diff --git a/csta/CSTA-group-pickup-call.asn1 b/csta/CSTA-group-pickup-call.asn1 new file mode 100644 index 0000000..1b209ce --- /dev/null +++ b/csta/CSTA-group-pickup-call.asn1 @@ -0,0 +1,54 @@ +CSTA-group-pickup-call + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) group-pickup-call( 221) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CorrelatorData, UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CallLinkageData FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ConnectionInformation FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +groupPickupCall OPERATION ::= +{ ARGUMENT GroupPickupCallArgument + RESULT GroupPickupCallResult + ERRORS {universalFailure } + CODE local: 221 } + +GroupPickupCallArgument ::=SEQUENCE +{ newDestination DeviceID, + pickGroup DeviceID OPTIONAL, + correlatorData CorrelatorData OPTIONAL, + userData UserData OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +GroupPickupCallResult ::= SEQUENCE +{ pickedCall ConnectionID OPTIONAL, + pickedCallInfo ConnectionInformation OPTIONAL, + callLinkageData [1] IMPLICIT CallLinkageData OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-group-pickup-call diff --git a/csta/CSTA-held-event.asn1 b/csta/CSTA-held-event.asn1 new file mode 100644 index 0000000..faa819c --- /dev/null +++ b/csta/CSTA-held-event.asn1 @@ -0,0 +1,57 @@ +CSTA-held-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) held-event( 29) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types –- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +LocalConnectionState FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +CorrelatorData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics, CallLinkageData, ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LocationInfoList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LanguagePreferences FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +ConnectionInformation, MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +HeldEvent ::= SEQUENCE +{ heldConnection ConnectionID, + holdingDevice SubjectDeviceID, + localConnectionInfo LocalConnectionState OPTIONAL, + correlatorData [0] IMPLICIT CorrelatorData OPTIONAL, + cause EventCause, + servicesPermitted [1] IMPLICIT ServicesPermitted OPTIONAL, + mediaCallCharacteristics [2] IMPLICIT MediaCallCharacteristics OPTIONAL, + callCharacteristics [3] IMPLICIT CallCharacteristics OPTIONAL, + heldConnectionInfo [4] IMPLICIT ConnectionInformation OPTIONAL, + callLinkageData [5] IMPLICIT CallLinkageData OPTIONAL, + languagePreferences [6] IMPLICIT LanguagePreferences OPTIONAL, + locationInfo [7] IMPLICIT LocationInfoList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-held-event diff --git a/csta/CSTA-hold-call.asn1 b/csta/CSTA-hold-call.asn1 new file mode 100644 index 0000000..537916e --- /dev/null +++ b/csta/CSTA-hold-call.asn1 @@ -0,0 +1,38 @@ +CSTA-hold-call + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) hold-call( 9) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +holdCall OPERATION ::= +{ ARGUMENT HoldCallArgument + RESULT HoldCallResult + ERRORS {universalFailure } + CODE local: 9 } + +HoldCallArgument ::= SEQUENCE +{ callToBeHeld ConnectionID, + connectionReservation BOOLEAN OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +HoldCallResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-hold-call diff --git a/csta/CSTA-hookswitch-event.asn1 b/csta/CSTA-hookswitch-event.asn1 new file mode 100644 index 0000000..b3cf957 --- /dev/null +++ b/csta/CSTA-hookswitch-event.asn1 @@ -0,0 +1,27 @@ +CSTA-hookswitch-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) hookswitch-event( 286) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +HookswitchID FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +HookswitchEvent ::= SEQUENCE +{ device SubjectDeviceID, + hookswitch HookswitchID, + hookswitchOnHook BOOLEAN, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-hookswitch-event diff --git a/csta/CSTA-interruption-detected-event.asn1 b/csta/CSTA-interruption-detected-event.asn1 new file mode 100644 index 0000000..837d543 --- /dev/null +++ b/csta/CSTA-interruption-detected-event.asn1 @@ -0,0 +1,33 @@ +CSTA-interruption-detected-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) interruption-detected-event(521) } +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ResourceID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) +standard( 0) csta3( 285) device-feature-types( 127) } +ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) }; + +InterruptionDetectedEvent ::= SEQUENCE +{ overConnection ConnectionID, + resource [0] IMPLICIT ResourceID OPTIONAL, + cause EventCause OPTIONAL, + servicesPermitted ServicesPermitted OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-interruption-detected-event diff --git a/csta/CSTA-intrude-call.asn1 b/csta/CSTA-intrude-call.asn1 new file mode 100644 index 0000000..d31865e --- /dev/null +++ b/csta/CSTA-intrude-call.asn1 @@ -0,0 +1,50 @@ +CSTA-intrude-call + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) intrude-call( 222) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +ParticipationType, UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CallLinkageDataList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ConnectionInformation FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +intrudeCall OPERATION ::= +{ ARGUMENT IntrudeCallArgument + RESULT IntrudeCallResult + ERRORS {universalFailure } + CODE local: 222 } + +IntrudeCallArgument ::= SEQUENCE +{ intrude ConnectionID, + participationType ParticipationType DEFAULT active, + userData UserData OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +IntrudeCallResult ::= SEQUENCE +{ conferencedCall ConnectionID OPTIONAL, + conferencedCallInfo ConnectionInformation OPTIONAL, + callLinkageDataList [1] IMPLICIT CallLinkageDataList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-intrude-call diff --git a/csta/CSTA-io-register-abort.asn1 b/csta/CSTA-io-register-abort.asn1 new file mode 100644 index 0000000..b22e834 --- /dev/null +++ b/csta/CSTA-io-register-abort.asn1 @@ -0,0 +1,33 @@ +CSTA-io-register-abort + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) io-register-abort( 341) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +IORegisterReqID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +ioRegisterAbort OPERATION ::= +{ ARGUMENT IORegisterAbortArgument + ERRORS {universalFailure } + ALWAYS RESPONDS FALSE + CODE local: 341 } + +IORegisterAbortArgument ::= SEQUENCE +{ ioRegisterReqID IORegisterReqID, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-io-register-abort diff --git a/csta/CSTA-io-register-cancel.asn1 b/csta/CSTA-io-register-cancel.asn1 new file mode 100644 index 0000000..50cc6d9 --- /dev/null +++ b/csta/CSTA-io-register-cancel.asn1 @@ -0,0 +1,37 @@ +CSTA-io-register-cancel + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) io-register-cancel( 342) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +IORegisterReqID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +ioRegisterCancel OPERATION ::= +{ ARGUMENT IORegisterCancelArgument + RESULT IORegisterCancelResult + ERRORS {universalFailure } + CODE local: 342 } + +IORegisterCancelArgument ::= SEQUENCE +{ ioRegisterReqID IORegisterReqID, + extensions CSTACommonArguments OPTIONAL } + +IORegisterCancelResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-io-register-cancel diff --git a/csta/CSTA-io-register.asn1 b/csta/CSTA-io-register.asn1 new file mode 100644 index 0000000..c0393f1 --- /dev/null +++ b/csta/CSTA-io-register.asn1 @@ -0,0 +1,40 @@ +CSTA-io-register + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) io-register( 340) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +IORegisterReqID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +ioRegister OPERATION ::= +{ ARGUMENT IORegisterArgument + RESULT IORegisterResult + ERRORS {universalFailure } + CODE local: 340 } + +IORegisterArgument ::= SEQUENCE +{ ioDevice DeviceID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +IORegisterResult ::= SEQUENCE +{ ioRegisterReqID IORegisterReqID, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-io-register diff --git a/csta/CSTA-join-call.asn1 b/csta/CSTA-join-call.asn1 new file mode 100644 index 0000000..29852a9 --- /dev/null +++ b/csta/CSTA-join-call.asn1 @@ -0,0 +1,59 @@ +CSTA-join-call + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) join-call( 223) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +AccountInfo, AuthCode, CorrelatorData, ParticipationType, UserData +FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ConnectionInformation FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) } +AutoOriginate, CallLinkageDataList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) }; + +joinCall OPERATION ::= +{ ARGUMENT JoinCallArgument + RESULT JoinCallResult + ERRORS {universalFailure } + CODE local: 223 } + +JoinCallArgument ::= SEQUENCE +{ activeCall ConnectionID, + joiningDevice DeviceID, + autoOriginate [0] IMPLICIT AutoOriginate DEFAULT prompt, + participationType [1] IMPLICIT ParticipationType DEFAULT active, + accountCode [2] IMPLICIT AccountInfo OPTIONAL, + authCode [3] IMPLICIT AuthCode OPTIONAL, + correlatorData [4] IMPLICIT CorrelatorData OPTIONAL, + userData UserData OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +JoinCallResult ::= SEQUENCE +{ conferencedCall ConnectionID, + conferencedCallInfo ConnectionInformation OPTIONAL, + callLinkageDataList [1] IMPLICIT CallLinkageDataList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-join-call diff --git a/csta/CSTA-lamp-mode-event.asn1 b/csta/CSTA-lamp-mode-event.asn1 new file mode 100644 index 0000000..1014445 --- /dev/null +++ b/csta/CSTA-lamp-mode-event.asn1 @@ -0,0 +1,31 @@ +CSTA-lamp-mode-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) lamp-mode-event( 287) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +LampID, LampMode, LampBrightness, LampColor + FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +LampModeEvent ::= SEQUENCE +{ device SubjectDeviceID, + lamp LampID, + lampLabel OCTET STRING OPTIONAL, + lampMode LampMode, + lampBrightness LampBrightness OPTIONAL, + lampColor LampColor OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-lamp-mode-event diff --git a/csta/CSTA-location-information-report.asn1 b/csta/CSTA-location-information-report.asn1 new file mode 100644 index 0000000..14b55c2 --- /dev/null +++ b/csta/CSTA-location-information-report.asn1 @@ -0,0 +1,44 @@ +CSTA-location-information-report + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) location-information-report(535) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +LocCrossRefID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +LocationInfoList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) }; + +locationInformationReport OPERATION ::= +{ ARGUMENT LocationInformationReportArgument + RESULT LocationInformationReportResult + ERRORS {universalFailure } + CODE local: 535} + +LocationInformationReportArgument ::= SEQUENCE +{ locCrossRefID LocCrossRefID, + device DeviceID, + locationInfoList LocationInfoList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +LocationInformationReportResult ::= SEQUENCE +{ extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-location-information-report diff --git a/csta/CSTA-location-session-info.asn1 b/csta/CSTA-location-session-info.asn1 new file mode 100644 index 0000000..426c305 --- /dev/null +++ b/csta/CSTA-location-session-info.asn1 @@ -0,0 +1,41 @@ +CSTA-location-session-info +{ iso( 1) identified-organization( 3) icd-ecma( 12) +standard( 0) csta3( 285) location-session-info( 541) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition +{ iso( 1) identified-organization( 3) icd-ecma( 12) +standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types +{ iso( 1) identified-organization( 3) icd-ecma( 12) +standard( 0) csta3( 285) extension-types( 129) } +DeviceID FROM CSTA-device-identifiers +{ iso( 1) identified-organization( 3) icd-ecma( 12) +standard( 0) csta3( 285) device-identifiers( 123) } +LocationSessionInfoList FROM CSTA-status-reporting +{ iso( 1) identified-organization( 3) icd-ecma( 12) +standard( 0) csta3( 285) status-reporting( 126) } +ServiceCrossRefID FROM CSTA-capability-exchange + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) capability-exchange( 131) }; + +locationSessionInfoReport OPERATION ::= +{ ARGUMENT LocationSessionInfoArgument + ERRORS {universalFailure } + CODE local: 541} + +LocationSessionInfoArgument ::= SEQUENCE +{ serviceCrossRefID ServiceCrossRefID OPTIONAL, + segmentID INTEGER OPTIONAL, + lastSegment BOOLEAN, + locationSessionInfoList LocationSessionInfoList, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-location-session-info diff --git a/csta/CSTA-location-tracking-session-resumed.asn1 b/csta/CSTA-location-tracking-session-resumed.asn1 new file mode 100644 index 0000000..1a5f8a5 --- /dev/null +++ b/csta/CSTA-location-tracking-session-resumed.asn1 @@ -0,0 +1,37 @@ +CSTA-location-tracking-session-resumed + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) location-tracking-session-resumed ( 532) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +LocCrossRefID, LocReason FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) }; + +locationTrackingSessionResumed OPERATION ::= +{ ARGUMENT LocationTrackingSessionResumedArgument + RESULT LocationTrackingSessionResumedResult + ERRORS {universalFailure } + CODE local: 532} + +LocationTrackingSessionResumedArgument ::= SEQUENCE +{ locCrossRefID LocCrossRefID, + locReason LocReason OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +LocationTrackingSessionResumedResult ::= SEQUENCE +{ extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-location-tracking-session-resumed diff --git a/csta/CSTA-location-tracking-session-suspended.asn1 b/csta/CSTA-location-tracking-session-suspended.asn1 new file mode 100644 index 0000000..8e66be4 --- /dev/null +++ b/csta/CSTA-location-tracking-session-suspended.asn1 @@ -0,0 +1,41 @@ +CSTA-location-tracking-session-suspended + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) location-tracking-session-suspended( 533) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +LocCrossRefID, LocReason FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +LocationInfoList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) }; + +locationTrackingSessionSuspended OPERATION ::= +{ ARGUMENT LocationTrackingSessionSuspendedArgument + RESULT LocationTrackingSessionSuspendedResult + ERRORS {universalFailure } + CODE local: 533} + +LocationTrackingSessionSuspendedArgument ::= SEQUENCE +{ locCrossRefID LocCrossRefID, + locReason LocReason OPTIONAL, + locationInfoList LocationInfoList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +LocationTrackingSessionSuspendedResult ::= SEQUENCE +{ extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-location-tracking-session-suspended diff --git a/csta/CSTA-make-call.asn1 b/csta/CSTA-make-call.asn1 new file mode 100644 index 0000000..0072a3c --- /dev/null +++ b/csta/CSTA-make-call.asn1 @@ -0,0 +1,70 @@ +CSTA-make-call + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) make-call( 10) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +AccountInfo, AuthCode, CorrelatorData, UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +AutoOriginate, CallCharacteristics, CallLinkageData FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +SubjectOfCall,LanguagePreferences FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +ConnectionInformation, MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +makeCall OPERATION ::= +{ ARGUMENT MakeCallArgument + RESULT MakeCallResult + ERRORS {universalFailure } + CODE local: 10 } + +MakeCallArgument ::= SEQUENCE +{ callingDevice DeviceID, + calledDirectoryNumber DeviceID, + accountCode [0] IMPLICIT AccountInfo OPTIONAL, + authCode [1] IMPLICIT AuthCode OPTIONAL, + autoOriginate [3] IMPLICIT AutoOriginate DEFAULT prompt, + correlatorData [2] IMPLICIT CorrelatorData OPTIONAL, + userData UserData OPTIONAL, + callCharacteristics CallCharacteristics OPTIONAL, + mediaCallCharacteristics [4] IMPLICIT MediaCallCharacteristics OPTIONAL, + callingConnectionInfo [5] IMPLICIT ConnectionInformation OPTIONAL, + subjectOfCall [6] IMPLICIT SubjectOfCall OPTIONAL, + languagePreferences [7] IMPLICIT LanguagePreferences OPTIONAL, + reason [8] IMPLICIT EventCause OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +MakeCallResult ::= SEQUENCE +{ callingDevice ConnectionID, + mediaCallCharacteristics [0] IMPLICIT MediaCallCharacteristics OPTIONAL, + initiatedCallInfo [1] IMPLICIT ConnectionInformation OPTIONAL, + callLinkageData [2] IMPLICIT CallLinkageData OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-make-call diff --git a/csta/CSTA-make-connection.asn1 b/csta/CSTA-make-connection.asn1 new file mode 100644 index 0000000..a6da27f --- /dev/null +++ b/csta/CSTA-make-connection.asn1 @@ -0,0 +1,74 @@ +CSTA-make-connection + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) make-connection( 375) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +AccountInfo, AuthCode, CorrelatorData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +AutoOriginate, CallCharacteristics, CallLinkageData FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +TimeInfo FROM CSTA-security + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) security( 128) } +SubjectOfCall,LanguagePreferences FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +ConnectionInformation, MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +makeConnection OPERATION ::= +{ ARGUMENT MakeConnectionArgument + RESULT MakeConnectionResult + ERRORS {universalFailure } + CODE local: 375 } + +MakeConnectionArgument ::= SEQUENCE +{ initiatingDevice DeviceID, + accountCode [ 0] IMPLICIT AccountInfo OPTIONAL, + authCode [ 1] IMPLICIT AuthCode OPTIONAL, + autoOriginate [ 2] IMPLICIT AutoOriginate DEFAULT prompt, + correlatorData [ 3] IMPLICIT CorrelatorData OPTIONAL, + callCharacteristics [ 4] IMPLICIT CallCharacteristics OPTIONAL, + mediaCallCharacteristics [ 5] IMPLICIT MediaCallCharacteristics OPTIONAL, + connectionInfo [ 6] IMPLICIT ConnectionInformation OPTIONAL, + subjectOfCall [ 7] IMPLICIT SubjectOfCall OPTIONAL, + languagePreferences [ 8] IMPLICIT LanguagePreferences OPTIONAL, + reason [ 9] IMPLICIT EventCause OPTIONAL, + maxDevices [10] IMPLICIT INTEGER OPTIONAL, + startTime [11] IMPLICIT TimeInfo OPTIONAL, + duration [12] IMPLICIT INTEGER OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +MakeConnectionResult ::= SEQUENCE +{ initiatingDevice ConnectionID, + mediaCallCharacteristics [0] IMPLICIT MediaCallCharacteristics OPTIONAL, + initiatedCallInfo [1] IMPLICIT ConnectionInformation OPTIONAL, + callLinkageData [2] IMPLICIT CallLinkageData OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-make-connection diff --git a/csta/CSTA-make-predictive-call.asn1 b/csta/CSTA-make-predictive-call.asn1 new file mode 100644 index 0000000..c16e5f5 --- /dev/null +++ b/csta/CSTA-make-predictive-call.asn1 @@ -0,0 +1,95 @@ +CSTA-make-predictive-call + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) make-predictive-call( 11) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +AccountInfo, AuthCode, CorrelatorData, UserData FROM +CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +AutoOriginate, CallCharacteristics, CallLinkageData FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +SubjectOfCall,LanguagePreferences FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +ConnectionInformation FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +makePredictiveCall OPERATION ::= +{ ARGUMENT MakePredictiveCallArgument + RESULT MakePredictiveCallResult + ERRORS {universalFailure } + CODE local: 11 } + +MakePredictiveCallArgument ::= SEQUENCE +{ callingDevice DeviceID, + calledDirectoryNumber DeviceID, + signallingDetection [ 0] IMPLICIT SignallingDetection OPTIONAL, + destinationDetection [ 1] IMPLICIT DestinationDetection OPTIONAL, + defaultAction [ 2] IMPLICIT DefaultAction OPTIONAL, + accountCode [ 3] IMPLICIT AccountInfo OPTIONAL, + authCode [ 4] IMPLICIT AuthCode OPTIONAL, + autoOriginate [ 5] IMPLICIT AutoOriginate DEFAULT prompt, + alertTime [ 6] IMPLICIT INTEGER OPTIONAL, + correlatorData [ 7] IMPLICIT CorrelatorData OPTIONAL, + callCharacteristics [ 8] IMPLICIT CallCharacteristics OPTIONAL, + userData UserData OPTIONAL, + subjectOfCall [ 9] IMPLICIT SubjectOfCall OPTIONAL, + languagePreferences [10] IMPLICIT LanguagePreferences OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +MakePredictiveCallResult ::= SEQUENCE +{ initiatedCall ConnectionID, + initiatedCallInfo ConnectionInformation OPTIONAL, + callLinkageData [1] IMPLICIT CallLinkageData OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SignallingDetection ::= SEQUENCE +{ signallingCondition SignallingCondition, + signallingConditionsAction SignallingConditionsAction } + +SignallingCondition ::= ENUMERATED +{ callDelivered (0), + callEstablished (1) } + +SignallingConditionsAction ::= ENUMERATED +{ destinationDetection (0), + remainConnected (1) } + +DestinationDetection ::= SEQUENCE OF SEQUENCE +{ destinationCondition DestinationCondition, + detectionAction DetectionAction } + +DestinationCondition ::= ENUMERATED +{ humanVoice (0), + answeringMachine (1), + facsimileMachine (2) } + +DefaultAction ::= DetectionAction + +DetectionAction ::= ENUMERATED +{ clearCalledConnection (0), + remainConnected (1) } + +END -- of CSTA-make-predictive-call diff --git a/csta/CSTA-media-attached-event.asn1 b/csta/CSTA-media-attached-event.asn1 new file mode 100644 index 0000000..db8a992 --- /dev/null +++ b/csta/CSTA-media-attached-event.asn1 @@ -0,0 +1,50 @@ +CSTA-media-attached-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-attached-event( 246) } + +DEFINITIONS ::= + +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +LocalConnectionState FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +MediaServiceType, MediaServiceInstanceID, MediaStreamID, +MediaCallCharacteristics, ConnectionInformation FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +MediaAttachedEvent ::= SEQUENCE +{ mediaConnection ConnectionID, + mediaDevice SubjectDeviceID, + mediaServiceType MediaServiceType, + mediaServiceVersion INTEGER OPTIONAL, + mediaServiceInstanceID [0] IMPLICIT MediaServiceInstanceID OPTIONAL, + mediaStreamID [1] IMPLICIT MediaStreamID OPTIONAL, + mediaCallCharacteristics [2] IMPLICIT MediaCallCharacteristics OPTIONAL, + callCharacteristics CallCharacteristics OPTIONAL, + localConnectionInfo LocalConnectionState OPTIONAL, + mediaConnectionInfo [3] IMPLICIT ConnectionInformation OPTIONAL, + extension CSTACommonArguments OPTIONAL } + +END -- of CSTA-media-attached-event diff --git a/csta/CSTA-media-detached-event.asn1 b/csta/CSTA-media-detached-event.asn1 new file mode 100644 index 0000000..7d7e4a3 --- /dev/null +++ b/csta/CSTA-media-detached-event.asn1 @@ -0,0 +1,48 @@ +CSTA-media-detached-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-detached-event( 247) } +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +LocalConnectionState FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +MediaServiceType, MediaServiceInstanceID, MediaStreamID, + MediaCallCharacteristics, ConnectionInformation FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +MediaDetachedEvent ::= SEQUENCE +{ mediaConnection ConnectionID, + mediaDevice SubjectDeviceID, + mediaServiceType MediaServiceType, + mediaServiceVersion INTEGER OPTIONAL, + mediaServiceInstanceID [0] IMPLICIT MediaServiceInstanceID OPTIONAL, + mediaStreamID [1] IMPLICIT MediaStreamID OPTIONAL, + mediaCallCharacteristics [2] IMPLICIT MediaCallCharacteristics OPTIONAL, + callCharacteristics CallCharacteristics OPTIONAL, + localConnectionInfo LocalConnectionState OPTIONAL, + mediaConnectionInfo [3] IMPLICIT ConnectionInformation OPTIONAL, + extension CSTACommonArguments OPTIONAL } + +END -- of CSTA-media-detached-event diff --git a/csta/CSTA-media-services.asn1 b/csta/CSTA-media-services.asn1 new file mode 100644 index 0000000..54c1ea0 --- /dev/null +++ b/csta/CSTA-media-services.asn1 @@ -0,0 +1,125 @@ +CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) } + +DEFINITIONS ::= +BEGIN + +EXPORTS +ConnectionInformation, ConnectionMode, ConnectionModeBMap, MediaCallCharacteristics, +MediaServiceInstanceID, MediaServiceType, MediaStreamID, MediaClass; + +MediaServiceType ::= ENUMERATED +{ cstaVoiceUnit ( 0), + dataModem ( 1), + digitalDataIsochronousIeee1394 ( 2), + digitalDataIsochronousGeoport ( 3), + digitalDataIsochronousIeeeAtm ( 4), + digitalDataIsochronousIeeeIsdn ( 5), + digitalDataApi ( 6), + ectfS100MediaServicesDefault ( 7), + ectfS100MediaServicesAppServices ( 8), + cstaIVRScript1 ( 9), + cstaIVRScript2 (10), + cstaIVRScript3 (11), + cstaIVRScript4 (12), + cstaIVRScript5 (13), + cstaIVRScript6 (14), + cstaIVRScript7 (15), + cstaIVRScript8 (16), + cstaIVRScript9 (17), + cstaIVRScript10 (18), + liveSoundCaptureAnalog (19), + liveSoundTransmitAnalog (20), + liveSoundCaptureIeee1394 (21), + liveSoundTransmitIeee1394 (22), + liveSoundCaptureTransmitGeoport (23), + liveSoundCaptureTransmitAtm (24), + liveSoundCaptureTransmitISDN (25), + soundCaptureTransmitADPCM (26), + soundCaptureTransmitApi (27), + usb (28), + sfSpecific1 (29), + sfSpecific2 (30), + sfSpecific3 (31), + sfSpecific4 (32), + sfSpecific5 (33), + sfSpecific6 (34), + sfSpecific7 (35), + sfSpecific8 (36), + sfSpecific9 (37), + sfSpecific10 (38) } + +MediaStreamID ::= OCTET STRING + +MediaServiceInstanceID ::= OCTET STRING + +ConnectionInformation ::= SEQUENCE +{ flowDirection ENUMERATED + { transmit (0), + receive (1), + transmitAndReceive (2), + none (3) } OPTIONAL, + numberOfChannels INTEGER DEFAULT 1, + mediaSessionInformation IA5String OPTIONAL } + +ConnectionMode ::= ENUMERATED +{ consultationConference (0), + consultationConferenceHold (1), + deflect (2), + directedPickup (3), + join (4), + singleStepConference (5), + singleStepConferenceHold (6), + singleStepTransfer (7), + transfer (8), + direct (9) } + +ConnectionModeBMap ::= BIT STRING +{ consultationConference (0), + consultationConferenceHold (1), + deflect (2), + directedPickup (3), + join (4), + singleStepConference (5), + singleStepConferenceHold (6), + singleStepTransfer (7), + transfer (8), + direct (9) } + +MediaCallCharacteristics ::= SEQUENCE +{ mediaClass MediaClass, + connectionRate [0] IMPLICIT INTEGER OPTIONAL, + -- value 0 indicates that + -- the connection rate is + -- unknown + bitRate [1] IMPLICIT ENUMERATED + { constant (0), + variable (1) } DEFAULT constant, + delayTolerance [2] IMPLICIT INTEGER OPTIONAL, + switchingSubDomainCCIEType [3] IMPLICIT ENUMERATED + { isdn (0), + atm (1), + isoEthernet (2), + rsvp (3), + other (4), + sip (5) } OPTIONAL, + switchingSubDomainInformationElements OCTET STRING OPTIONAL } + -- is mandatory, if the switchingSubDomainCCIEType is present, + -- should be ignored otherwise + +MediaClass ::= BIT STRING +{ voice ( 0), + data ( 1), + image ( 2), + audio ( 4), + other ( 3), + notKnown ( 5), + chat ( 6), + email ( 7), + message ( 8), + im ( 9), + sms (10), + mms (11) } + +END -- of CSTA-media-services diff --git a/csta/CSTA-message-waiting-event.asn1 b/csta/CSTA-message-waiting-event.asn1 new file mode 100644 index 0000000..565cfdc --- /dev/null +++ b/csta/CSTA-message-waiting-event.asn1 @@ -0,0 +1,24 @@ +CSTA-message-waiting-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) message-waiting-event( 44) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +DeviceID, SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +MessageWaitingEvent ::= SEQUENCE +{ targetDevice SubjectDeviceID, + deviceForMessage DeviceID OPTIONAL, + messageWaitingOn BOOLEAN, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-message-waiting-event diff --git a/csta/CSTA-microphone-gain-event.asn1 b/csta/CSTA-microphone-gain-event.asn1 new file mode 100644 index 0000000..2fe14f7 --- /dev/null +++ b/csta/CSTA-microphone-gain-event.asn1 @@ -0,0 +1,27 @@ +CSTA-microphone-gain-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) microphone-gain-event( 288) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +AuditoryApparatusID, MicrophoneGain FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +MicrophoneGainEvent ::= SEQUENCE +{ invokingDevice SubjectDeviceID, + auditoryApparatus AuditoryApparatusID, + microphoneGain MicrophoneGain, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-microphone-gain-event diff --git a/csta/CSTA-microphone-mute-event.asn1 b/csta/CSTA-microphone-mute-event.asn1 new file mode 100644 index 0000000..bc43bcd --- /dev/null +++ b/csta/CSTA-microphone-mute-event.asn1 @@ -0,0 +1,27 @@ +CSTA-microphone-mute-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) microphone-mute-event( 45) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +AuditoryApparatusID FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +MicrophoneMuteEvent ::= SEQUENCE +{ invokingDevice SubjectDeviceID, + auditoryApparatus AuditoryApparatusID, + microphoneMuteOn BOOLEAN, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-microphone-mute-event diff --git a/csta/CSTA-monitor-info.asn1 b/csta/CSTA-monitor-info.asn1 new file mode 100644 index 0000000..4c4a7fe --- /dev/null +++ b/csta/CSTA-monitor-info.asn1 @@ -0,0 +1,38 @@ +CSTA-monitor-info + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) monitor-info ( 374) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +MonitorList FROM CSTA-status-reporting + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) status-reporting( 126) } +ServiceCrossRefID FROM CSTA-capability-exchange + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) capability-exchange( 131) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +monitorInfo OPERATION ::= +{ ARGUMENT MonitorInfoArgument + ERRORS {universalFailure } + CODE local: 374 } + +MonitorInfoArgument ::= SEQUENCE +{ serviceCrossRefID ServiceCrossRefID, + segmentID INTEGER OPTIONAL, + lastSegment BOOLEAN, + monitorList MonitorList, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-monitor-info diff --git a/csta/CSTA-monitor-start.asn1 b/csta/CSTA-monitor-start.asn1 new file mode 100644 index 0000000..1dc9262 --- /dev/null +++ b/csta/CSTA-monitor-start.asn1 @@ -0,0 +1,44 @@ +CSTA-monitor-start + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) monitor-start( 101) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +MonitorObject, MonitorFilter, MonitorType, MonitorMediaClass, +MonitorCrossRefID FROM CSTA-status-reporting + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) status-reporting( 126) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +monitorStart OPERATION ::= +{ ARGUMENT MonitorStartArgument + RESULT MonitorStartResult + ERRORS {universalFailure } + CODE local: 71 } + +MonitorStartArgument ::= SEQUENCE +{ monitorObject MonitorObject, + requestedMonitorFilter [0] IMPLICIT MonitorFilter OPTIONAL, + monitorType MonitorType OPTIONAL, + requestedMonitorMediaClass [1] IMPLICIT MonitorMediaClass OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +MonitorStartResult ::= SEQUENCE +{ crossRefIdentifier MonitorCrossRefID, + actualmonitorFilter [0] IMPLICIT MonitorFilter OPTIONAL, + actualMonitorMediaClass [1] IMPLICIT MonitorMediaClass OPTIONAL, + monitorExistingCalls BOOLEAN OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-monitor-start diff --git a/csta/CSTA-monitor-stop.asn1 b/csta/CSTA-monitor-stop.asn1 new file mode 100644 index 0000000..cf1119b --- /dev/null +++ b/csta/CSTA-monitor-stop.asn1 @@ -0,0 +1,37 @@ +CSTA-monitor-stop + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) monitor-stop( 103) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +MonitorCrossRefID FROM CSTA-status-reporting + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) status-reporting( 126) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +monitorStop OPERATION ::= +{ ARGUMENT MonitorStopArgument + RESULT MonitorStopResult + ERRORS {universalFailure } + CODE local: 73 } + +MonitorStopArgument ::= SEQUENCE +{ crossRefIdentifier MonitorCrossRefID, + extensions CSTACommonArguments OPTIONAL } + +MonitorStopResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-monitor-stop diff --git a/csta/CSTA-network-capabilities-changed-event.asn1 b/csta/CSTA-network-capabilities-changed-event.asn1 new file mode 100644 index 0000000..1d89c4a --- /dev/null +++ b/csta/CSTA-network-capabilities-changed-event.asn1 @@ -0,0 +1,62 @@ +CSTA-network-capabilities-changed-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) network-capabilities-changed-event( 226) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types –- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +SubjectDeviceID, CalledDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +LocalConnectionState FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +CorrelatorData, UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics, CallLinkageData, NetworkCapability, ProgressIndicator, +ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LocationInfoList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LanguagePreferences FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +ConnectionInformation, MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +NetworkCapabilitiesChangedEvent ::= SEQUENCE +{ outboundConnection ConnectionID, + networkInterfaceUsed SubjectDeviceID, + calledDevice CalledDeviceID, + progressIndicator ProgressIndicator, + localConnectionInfo LocalConnectionState OPTIONAL, + correlatorData CorrelatorData OPTIONAL, + userData UserData OPTIONAL, + networkCapability [0] IMPLICIT NetworkCapability OPTIONAL, + cause EventCause, + servicesPermitted [1] IMPLICIT ServicesPermitted OPTIONAL, + mediaCallCharacteristics [2] IMPLICIT MediaCallCharacteristics OPTIONAL, + callCharacteristics [3] IMPLICIT CallCharacteristics OPTIONAL, + outboundConnectionInfo [4] IMPLICIT ConnectionInformation OPTIONAL, + callLinkageData [5] IMPLICIT CallLinkageData OPTIONAL, + languagePreferences [6] IMPLICIT LanguagePreferences OPTIONAL, + locationInfo [7] IMPLICIT LocationInfoList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-network-capabilities-changed-event diff --git a/csta/CSTA-network-reached-event.asn1 b/csta/CSTA-network-reached-event.asn1 new file mode 100644 index 0000000..1e14120 --- /dev/null +++ b/csta/CSTA-network-reached-event.asn1 @@ -0,0 +1,70 @@ +CSTA-network-reached-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) network-reached-event( 30) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types –- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +SubjectDeviceID, CallingDeviceID, CalledDeviceID, RedirectionDeviceID, +AssociatedCallingDeviceID, NetworkCalledDeviceID, NetworkCallingDeviceID +FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +LocalConnectionState FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +CorrelatorData, UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics, CallLinkageData, NetworkCapability, +ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +DeviceHistory, LanguagePreferences FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +LocationInfoList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +ConnectionInformation, MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +NetworkReachedEvent ::= SEQUENCE +{ outboundConnection ConnectionID, + networkInterfaceUsed SubjectDeviceID, + callingDevice CallingDeviceID, + calledDevice CalledDeviceID, + lastRedirectionDevice RedirectionDeviceID, + originatingNIDConneciton ConnectionID OPTIONAL, + localConnectionInfo LocalConnectionState OPTIONAL, + correlatorData [0] IMPLICIT CorrelatorData OPTIONAL, + userData UserData OPTIONAL, + networkCapability [1] IMPLICIT NetworkCapability OPTIONAL, + cause EventCause, + servicesPermitted [2] IMPLICIT ServicesPermitted OPTIONAL, + mediaCallCharacteristics [3] IMPLICIT MediaCallCharacteristics OPTIONAL, + callCharacteristics [4] IMPLICIT CallCharacteristics OPTIONAL, + outboundConnectionInfo [5] IMPLICIT ConnectionInformation OPTIONAL, + networkCallingDevice NetworkCallingDeviceID OPTIONAL, + networkCalledDevice NetworkCalledDeviceID OPTIONAL, + associatedCallingDevice AssociatedCallingDeviceID OPTIONAL, + callLinkageData [6] IMPLICIT CallLinkageData OPTIONAL, + languagePreferences [7] IMPLICIT LanguagePreferences OPTIONAL, + deviceHistory [8] IMPLICIT DeviceHistory OPTIONAL, + locationInfo [9] IMPLICIT LocationInfoList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-network-reached-event diff --git a/csta/CSTA-not-recognized-event.asn1 b/csta/CSTA-not-recognized-event.asn1 new file mode 100644 index 0000000..5af10a2 --- /dev/null +++ b/csta/CSTA-not-recognized-event.asn1 @@ -0,0 +1,34 @@ +CSTA-not-recognized-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) not-recognized-event(522) } +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ResourceID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) +standard( 0) csta3( 285) device-feature-types( 127) } +ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) }; + +NotRecognizedEvent ::=SEQUENCE +{ overConnection ConnectionID, + resource [0] IMPLICIT ResourceID OPTIONAL, + result IA5String, + cause EventCause OPTIONAL, + servicesPermitted ServicesPermitted OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-not-recognized-event diff --git a/csta/CSTA-offered-event.asn1 b/csta/CSTA-offered-event.asn1 new file mode 100644 index 0000000..5499d5b --- /dev/null +++ b/csta/CSTA-offered-event.asn1 @@ -0,0 +1,72 @@ +CSTA-offered-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) offered-event( 227) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types –- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +SubjectDeviceID, CallingDeviceID, CalledDeviceID, RedirectionDeviceID, AssociatedCalledDeviceID, +AssociatedCallingDeviceID, NetworkCalledDeviceID, NetworkCallingDeviceID +FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +LocalConnectionState FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +CorrelatorData, UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics, CallLinkageData, ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +DeviceHistory, LanguagePreferences, SubjectOfCall, +MessageInfo FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +LocationInfoList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +ConnectionInformation, MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +OfferedEvent ::= SEQUENCE +{ offeredConnection ConnectionID, + offeredDevice SubjectDeviceID, + callingDevice CallingDeviceID, + calledDevice CalledDeviceID, + lastRedirectionDevice RedirectionDeviceID, + originatingNIDConnection ConnectionID OPTIONAL, + localConnectionInfo LocalConnectionState OPTIONAL, + correlatorData CorrelatorData OPTIONAL, + userData UserData OPTIONAL, + cause EventCause, + servicesPermitted [0] IMPLICIT ServicesPermitted OPTIONAL, + networkCallingDevice NetworkCallingDeviceID OPTIONAL, + networkCalledDevice NetworkCalledDeviceID OPTIONAL, + associatedCallingDevice AssociatedCallingDeviceID OPTIONAL, + associatedCalledDevice AssociatedCalledDeviceID OPTIONAL, + mediaCallCharacteristics [1] IMPLICIT MediaCallCharacteristics OPTIONAL, + callCharacteristics [2] IMPLICIT CallCharacteristics OPTIONAL, + offeredConnectionInfo [3] IMPLICIT ConnectionInformation OPTIONAL, + callLinkageData [4] IMPLICIT CallLinkageData OPTIONAL, + subjectOfCall [5] IMPLICIT SubjectOfCall OPTIONAL, + messageInfo [6] IMPLICIT MessageInfo OPTIONAL, + languagePreferences [7] IMPLICIT LanguagePreferences OPTIONAL, + deviceHistory [8] IMPLICIT DeviceHistory OPTIONAL, + locationInfo [9] IMPLICIT LocationInfoList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-offered-event diff --git a/csta/CSTA-originated-event.asn1 b/csta/CSTA-originated-event.asn1 new file mode 100644 index 0000000..2c3339f --- /dev/null +++ b/csta/CSTA-originated-event.asn1 @@ -0,0 +1,67 @@ +CSTA-originated-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) originated-event( 31) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +DeviceID, CallingDeviceID, CalledDeviceID, AssociatedCalledDeviceID, +AssociatedCallingDeviceID, NetworkCalledDeviceID, NetworkCallingDeviceID, SubjectDeviceID + FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +LocalConnectionState FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +CorrelatorData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics, CallLinkageData, ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LocationInfoList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LanguagePreferences, SubjectOfCall, MessageInfo FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +ConnectionInformation, MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +OriginatedEvent ::= SEQUENCE +{ originatedConnection ConnectionID, + callingDevice SubjectDeviceID, + calledDevice CalledDeviceID, + originatingDevice DeviceID OPTIONAL, + localConnectionInfo LocalConnectionState OPTIONAL, + correlatorData [ 2] IMPLICIT CorrelatorData OPTIONAL, + cause EventCause, + servicesPermitted [ 3] IMPLICIT ServicesPermitted OPTIONAL, + networkCallingDevice NetworkCallingDeviceID OPTIONAL, + networkCalledDevice NetworkCalledDeviceID OPTIONAL, + associatedCallingDevice AssociatedCallingDeviceID OPTIONAL, + associatedCalledDevice AssociatedCalledDeviceID OPTIONAL, + mediaCallCharacteristics [ 4] IMPLICIT MediaCallCharacteristics OPTIONAL, + callCharacteristics [ 5] IMPLICIT CallCharacteristics OPTIONAL, + originatedConnectionInfo [ 6] IMPLICIT ConnectionInformation OPTIONAL, + callLinkageData [ 7] IMPLICIT CallLinkageData OPTIONAL, + subjectOfCall [ 8] IMPLICIT SubjectOfCall OPTIONAL, + messageInfo [ 9] IMPLICIT MessageInfo OPTIONAL, + languagePreferences [10] IMPLICIT LanguagePreferences OPTIONAL, + locationInfo [11] IMPLICIT LocationInfoList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-originated-event diff --git a/csta/CSTA-out-of-service-event.asn1 b/csta/CSTA-out-of-service-event.asn1 new file mode 100644 index 0000000..e3eba6c --- /dev/null +++ b/csta/CSTA-out-of-service-event.asn1 @@ -0,0 +1,26 @@ +CSTA-out-of-service-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) out-of-service-event( 335) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +OutOfServiceEvent ::= SEQUENCE +{ device SubjectDeviceID, + cause EventCause OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-out-of-service-event diff --git a/csta/CSTA-park-call.asn1 b/csta/CSTA-park-call.asn1 new file mode 100644 index 0000000..1233c28 --- /dev/null +++ b/csta/CSTA-park-call.asn1 @@ -0,0 +1,54 @@ +CSTA-park-call + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) park-call( 18) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CorrelatorData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +SubjectOfCall,LanguagePreferences FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CallLinkageData FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +parkCall OPERATION ::= +{ ARGUMENT ParkCallArgument + RESULT ParkCallResult + ERRORS {universalFailure } + CODE local: 18 } + +ParkCallArgument ::= SEQUENCE +{ parking ConnectionID, + parkTo DeviceID, + correlatorData CorrelatorData OPTIONAL, + subjectOfCall [0] IMPLICIT SubjectOfCall OPTIONAL, + languagePreferences [1] IMPLICIT LanguagePreferences OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +ParkCallResult ::= SEQUENCE +{ parkedTo ConnectionID OPTIONAL, + callLinkageData [1] IMPLICIT CallLinkageData OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-park-call diff --git a/csta/CSTA-partially-in-service-event.asn1 b/csta/CSTA-partially-in-service-event.asn1 new file mode 100644 index 0000000..eeb9087 --- /dev/null +++ b/csta/CSTA-partially-in-service-event.asn1 @@ -0,0 +1,26 @@ +CSTA-partially-in-service-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) partially-in-service ( 379) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +PartiallyInServiceEvent ::= SEQUENCE +{ device SubjectDeviceID, + cause EventCause OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-partially-in-service-event diff --git a/csta/CSTA-physical-device-feature.asn1 b/csta/CSTA-physical-device-feature.asn1 new file mode 100644 index 0000000..e060ca5 --- /dev/null +++ b/csta/CSTA-physical-device-feature.asn1 @@ -0,0 +1,106 @@ +CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) } + +DEFINITIONS ::= +BEGIN + +EXPORTS +AuditoryApparatusID, AuditoryApparatusList, ButtonID, CharacterSet,DisplayID, LampBrightness, +LampColor, LampID, LampMode, MicGainAbs, MicrophoneGain, RingerID, RingMode, +VolAbs, Volume, HookswitchID; + +AuditoryApparatusList ::= SEQUENCE OF SEQUENCE +{ auditoryApparatus AuditoryApparatusID, + auditoryApparatusType ENUMERATED + { speakerphone (0), + handset (1), + headset (2), + speakerOnlyPhone (3), + other (4) }, + + speaker BIT STRING + { present (0), + volumeSettable (1), + volumeReadable (2), + muteSettable (3), + muteReadable (4) }, + + microphone BIT STRING + { present (0), + gainSettable (1), + gainReadable (2), + muteSettable (3), + muteReadable (4) }, + + hookswitch BIT STRING + { hookswitchSettable (0), + hookswitchOnHook (1) }, + + hookswitchID HookswitchID } + +AuditoryApparatusID ::= OCTET STRING + +ButtonID ::= OCTET STRING + +CharacterSet ::= ENUMERATED +{ ascii (0), + unicode (1), + proprietary (2) } + +DisplayID ::= OCTET STRING + +HookswitchID ::= OCTET STRING + +LampBrightness ::= ENUMERATED +{ unspecified (0), + dim (1), + bright (2) } + +LampColor ::= INTEGER +{ noColor (0), + red (1), + yellow (2), + green (3), + blue (4), + unknown (5) } (0..100) + +LampID ::= OCTET STRING + +LampMode ::= INTEGER +{ brokenFlutter (0), + flutter (1), + off (2), + steady (3), + wink (4), + unknown (5) } (0..100) + + +MicrophoneGain ::= CHOICE +{ micGainAbs MicGainAbs, + micGainInc MicGainInc } + +MicGainInc ::= ENUMERATED +{ increment (0), + decrement (1) } + +MicGainAbs ::= INTEGER (0..100) + +RingerID ::= OCTET STRING + +RingMode ::= ENUMERATED +{ ringing (0), + notRinging (1) } + +Volume ::= CHOICE +{ volAbs VolAbs, + volInc VolInc } + +VolInc ::= ENUMERATED +{ increment (0), + decrement (1) } + + +VolAbs ::= INTEGER (0..100) + +END -- of CSTA-physical-device-feature diff --git a/csta/CSTA-play-event.asn1 b/csta/CSTA-play-event.asn1 new file mode 100644 index 0000000..f9ba673 --- /dev/null +++ b/csta/CSTA-play-event.asn1 @@ -0,0 +1,37 @@ +CSTA-play-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) play( 75) } +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +ResourceID, MessageID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) }; + +PlayEvent ::=SEQUENCE +{ connection ConnectionID, + message MessageID, + resource [3] IMPLICIT ResourceID OPTIONAL, + length [0] IMPLICIT INTEGER OPTIONAL, + currentPosition [1] IMPLICIT INTEGER OPTIONAL, + speed [2] IMPLICIT INTEGER OPTIONAL, + cause EventCause OPTIONAL, + servicesPermitted ServicesPermitted OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-play-event diff --git a/csta/CSTA-play-message.asn1 b/csta/CSTA-play-message.asn1 new file mode 100644 index 0000000..a3eeca8 --- /dev/null +++ b/csta/CSTA-play-message.asn1 @@ -0,0 +1,42 @@ +CSTA-play-message + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) play-message( 502) } +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +MessageID, TerminatingConditions FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +playMessage OPERATION ::= +{ ARGUMENT PlayMessageArgument + RESULT PlayMessageResult + ERRORS {universalFailure } + CODE local: 502 } + +PlayMessageArgument ::= SEQUENCE +{ messageToBePlayed MessageID, + overConnection ConnectionID, + duration INTEGER OPTIONAL, + termination TerminatingConditions OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +PlayMessageResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-play-message diff --git a/csta/CSTA-presence-state-event.asn1 b/csta/CSTA-presence-state-event.asn1 new file mode 100644 index 0000000..96f8ddd --- /dev/null +++ b/csta/CSTA-presence-state-event.asn1 @@ -0,0 +1,34 @@ +CSTA-presence-state-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) presence-state-event( 552) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +PresenceState FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +TimeInfo FROM CSTA-security +{ iso( 1) identified-organization( 3) icd-ecma( 12) +standard( 0) csta3( 285) security( 128) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +PresenceStateEvent::= SEQUENCE +{ device SubjectDeviceID, + presenceState PresenceState, + fromTime [0] IMPLICIT TimeInfo OPTIONAL, + untilTime [1] IMPLICIT TimeInfo OPTIONAL, + place [2] IMPLICIT OCTET STRING OPTIONAL, + mood [3] IMPLICIT OCTET STRING OPTIONAL, + namedPresenceState [4] IMPLICIT OCTET STRING OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-presence-state-event diff --git a/csta/CSTA-private-data-version-selection.asn1 b/csta/CSTA-private-data-version-selection.asn1 new file mode 100644 index 0000000..f2e2c54 --- /dev/null +++ b/csta/CSTA-private-data-version-selection.asn1 @@ -0,0 +1,32 @@ +CSTA-private-data-version-selection + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) private-data-version-selection( 368) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +privateDataVersionSelection OPERATION ::= +{ ARGUMENT PrivateDataVersionSelectionArgument + RESULT PrivateDataVersionSelectionResult + ERRORS {universalFailure } + CODE local: 368 } + +PrivateDataVersionSelectionArgument ::= INTEGER + +PrivateDataVersionSelectionResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-private-data-version-selection diff --git a/csta/CSTA-private-event.asn1 b/csta/CSTA-private-event.asn1 new file mode 100644 index 0000000..97f443b --- /dev/null +++ b/csta/CSTA-private-event.asn1 @@ -0,0 +1,22 @@ +CSTA-private-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) private-event( 71) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +CSTASecurityData FROM CSTA-security + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) security( 128) } +CSTAPrivateData FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +PrivateEvent ::= SEQUENCE +{ security CSTASecurityData OPTIONAL, + privateData CSTAPrivateData} + +END -- of CSTA-private-event diff --git a/csta/CSTA-query-voice-attribute.asn1 b/csta/CSTA-query-voice-attribute.asn1 new file mode 100644 index 0000000..bb75371 --- /dev/null +++ b/csta/CSTA-query-voice-attribute.asn1 @@ -0,0 +1,68 @@ +CSTA-query-voice-attribute + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) query-voice-attribute( 503) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +ResourceID, AttributeInfo, MessageID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +queryVoiceAttribute OPERATION ::= +{ ARGUMENT QueryVoiceAttributeArgument + RESULT QueryVoiceAttributeResult + ERRORS {universalFailure } + CODE local: 503 } + +QueryVoiceAttributeArgument ::= SEQUENCE +{ messageToQuery MessageID, + attributeToQuery AttributeToQuery, + resource [0] IMPLICIT ResourceID OPTIONAL, + connection ConnectionID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +QueryVoiceAttributeResult ::= SEQUENCE +{ attribute AttributeInfo, + extensions CSTACommonArguments OPTIONAL } + + +AttributeToQuery ::= ENUMERATED +{ encodingAlgorithm ( 0), + samplingRate ( 1), + duration ( 2), + fileName ( 3), + currentPosition ( 4), + currentSpeed ( 5), + currentVolume ( 6), + currentLevel ( 7), + currentState ( 8), + grammars ( 9), + language (10), + mode (11), + retainAudio (12), + silenceTimeout (13), + maxTimeout (14), + babbleTimeout (15), + endSilence (16), + rejectionThreshold (17), + autoInterruptible (18), + innerXml (19), + interDigitTimeout (20), + preflush (21) } + +END -- of CSTA-query-voice-attribute diff --git a/csta/CSTA-queue.asn1 b/csta/CSTA-queue.asn1 new file mode 100644 index 0000000..5d9c8e5 --- /dev/null +++ b/csta/CSTA-queue.asn1 @@ -0,0 +1,42 @@ +CSTA-queue + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) queue (515) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +ResourceID, MessageID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +queue OPERATION ::= +{ ARGUMENT QueueArgument + RESULT QueueResult + ERRORS {universalFailure } + CODE local: 515 } + +QueueArgument ::= SEQUENCE +{ overConnection ConnectionID, + message MessageID, + resource [0] IMPLICIT ResourceID OPTIONAL, + text [1] IMPLICIT IA5String OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +QueueResult ::= SEQUENCE +{ extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-queue diff --git a/csta/CSTA-queued-event.asn1 b/csta/CSTA-queued-event.asn1 new file mode 100644 index 0000000..b86660f --- /dev/null +++ b/csta/CSTA-queued-event.asn1 @@ -0,0 +1,66 @@ +CSTA-queued-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) queued-event( 32) } + +DEFINITIONS::= +BEGIN + +IMPORTS + +-- Data Types –- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +CalledDeviceID,CallingDeviceID,RedirectionDeviceID,SubjectDeviceID,AssociatedCalledDeviceID, AssociatedCallingDeviceID, NetworkCalledDeviceID, +NetworkCallingDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +LocalConnectionState FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +LocationInfoList,CallCharacteristics, CallLinkageData, ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +DeviceHistory,CorrelatorData, UserData,LanguagePreferences, +SubjectOfCall, MessageInfo FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +ConnectionInformation, MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +QueuedEvent ::= SEQUENCE +{ queuedConnection ConnectionID, + queue SubjectDeviceID, + callingDevice CallingDeviceID, + calledDevice CalledDeviceID, + lastRedirectionDevice RedirectionDeviceID, + numberQueued [ 0] IMPLICIT INTEGER OPTIONAL, + callsInFront [ 1] IMPLICIT INTEGER OPTIONAL, + localConnectionInfo LocalConnectionState OPTIONAL, + correlatorData [ 2] IMPLICIT CorrelatorData OPTIONAL, + userData UserData OPTIONAL, + cause EventCause, + servicesPermitted [ 3] IMPLICIT ServicesPermitted OPTIONAL, + networkCallingDevice NetworkCallingDeviceID OPTIONAL, + networkCalledDevice NetworkCalledDeviceID OPTIONAL, + associatedCallingDevice AssociatedCallingDeviceID OPTIONAL, + associatedCalledDevice AssociatedCalledDeviceID OPTIONAL, + mediaCallCharacteristics [ 4] IMPLICIT MediaCallCharacteristics OPTIONAL, + callCharacteristics [ 5] IMPLICIT CallCharacteristics OPTIONAL, + queuedConnectionInfo [ 6] IMPLICIT ConnectionInformation OPTIONAL, + callLinkageData [ 7] IMPLICIT CallLinkageData OPTIONAL, + subjectOfCall [ 8] IMPLICIT SubjectOfCall OPTIONAL, + messageInfo [ 9] IMPLICIT MessageInfo OPTIONAL, + languagePreferences [10] IMPLICIT LanguagePreferences OPTIONAL, + deviceHistory [11] IMPLICIT DeviceHistory OPTIONAL, + locationInfo [12] IMPLICIT LocationInfoList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-queued-event diff --git a/csta/CSTA-re-route-request.asn1 b/csta/CSTA-re-route-request.asn1 new file mode 100644 index 0000000..9cc41a7 --- /dev/null +++ b/csta/CSTA-re-route-request.asn1 @@ -0,0 +1,41 @@ +CSTA-re-route-request + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) re-route-request( 82) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +CorrelatorData, RouteRegisterReqID, RouteingCrossRefID +FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallLinkageData FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) }; + +reRouteRequest OPERATION ::= +{ ARGUMENT ReRouteRequestArgument + ERRORS {universalFailure } + ALWAYS RESPONDS FALSE + CODE local: 32 } + +ReRouteRequestArgument ::= SEQUENCE +{ crossRefIdentifier RouteingCrossRefID, + routeRegisterReqID [0] IMPLICIT RouteRegisterReqID OPTIONAL, + replyTimeout [1] IMPLICIT INTEGER OPTIONAL, + correlatorData [2] IMPLICIT CorrelatorData OPTIONAL, + callLinkageData [3] IMPLICIT CallLinkageData OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-re-route-request diff --git a/csta/CSTA-recognized-event.asn1 b/csta/CSTA-recognized-event.asn1 new file mode 100644 index 0000000..27b5edd --- /dev/null +++ b/csta/CSTA-recognized-event.asn1 @@ -0,0 +1,35 @@ +CSTA-recognized-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) recognized-event(523) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +ResourceID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) }; + +RecognizedEvent ::=SEQUENCE +{ overConnection ConnectionID, + resource [0] IMPLICIT ResourceID OPTIONAL, + result IA5String, + cause EventCause OPTIONAL, + servicesPermitted ServicesPermitted OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-recognized-event diff --git a/csta/CSTA-reconnect-call.asn1 b/csta/CSTA-reconnect-call.asn1 new file mode 100644 index 0000000..68e6dd6 --- /dev/null +++ b/csta/CSTA-reconnect-call.asn1 @@ -0,0 +1,38 @@ +CSTA-reconnect-call + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) reconnect-call( 13) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +reconnectCall OPERATION ::= +{ ARGUMENT ReconnectCallArgument + RESULT ReconnectCallResult + ERRORS {universalFailure } + CODE local: 13 } + +ReconnectCallArgument ::= SEQUENCE +{ activeCall ConnectionID, + heldCall ConnectionID, + extensions CSTACommonArguments OPTIONAL } + +ReconnectCallResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-reconnect-call diff --git a/csta/CSTA-record-event.asn1 b/csta/CSTA-record-event.asn1 new file mode 100644 index 0000000..c8432d2 --- /dev/null +++ b/csta/CSTA-record-event.asn1 @@ -0,0 +1,40 @@ +CSTA-record-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) record( 76) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +MessageID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ResourceID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) }; + +RecordEvent ::= SEQUENCE +{ connection ConnectionID, + message MessageID, + resource [2] IMPLICIT ResourceID OPTIONAL, + length [0] IMPLICIT INTEGER OPTIONAL, + currentPosition [1] IMPLICIT INTEGER OPTIONAL, + cause EventCause OPTIONAL, + servicesPermitted ServicesPermitted OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-record-event diff --git a/csta/CSTA-record-message.asn1 b/csta/CSTA-record-message.asn1 new file mode 100644 index 0000000..2497f6f --- /dev/null +++ b/csta/CSTA-record-message.asn1 @@ -0,0 +1,46 @@ +CSTA-record-message + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) record-message( 511) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +ResourceID, MessageID, EncodingAlgorithm, TerminatingConditions + FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +recordMessage OPERATION ::= +{ ARGUMENT RecordMessageArgument + RESULT RecordMessageResult + ERRORS {universalFailure } + CODE local: 511 } + +RecordMessageArgument ::= SEQUENCE +{ callToBeRecorded ConnectionID, + resource [2] IMPLICIT ResourceID OPTIONAL, + samplingRate [0] IMPLICIT INTEGER OPTIONAL, + encodingAlgorithm EncodingAlgorithm OPTIONAL, + maxDuration [1] IMPLICIT INTEGER OPTIONAL, + termination TerminatingConditions OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +RecordMessageResult ::= SEQUENCE +{ resultingMessage MessageID, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-record-message diff --git a/csta/CSTA-registration-info.asn1 b/csta/CSTA-registration-info.asn1 new file mode 100644 index 0000000..ddbde8d --- /dev/null +++ b/csta/CSTA-registration-info.asn1 @@ -0,0 +1,38 @@ +CSTA-registration-info + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) registration-info ( 372) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +RegistrationList FROM CSTA-status-reporting + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) status-reporting( 126) } +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ServiceCrossRefID FROM CSTA-capability-exchange + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) capability-exchange( 131) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +registrationInfo OPERATION ::= +{ ARGUMENT RegistrationInfoArg + ERRORS {universalFailure } + CODE local: 372 } + +RegistrationInfoArg ::= SEQUENCE +{ serviceCrossRefID ServiceCrossRefID, + segmentID INTEGER OPTIONAL, + lastSegment BOOLEAN, + registrationList RegistrationList, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-registration-info diff --git a/csta/CSTA-reposition.asn1 b/csta/CSTA-reposition.asn1 new file mode 100644 index 0000000..239f78c --- /dev/null +++ b/csta/CSTA-reposition.asn1 @@ -0,0 +1,49 @@ +CSTA-reposition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) reposition( 504) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +ResourceID, MessageID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +reposition OPERATION ::= +{ ARGUMENT RepositionArgument + RESULT RepositionResult + ERRORS {universalFailure } + CODE local: 504 } + +RepositionArgument ::= SEQUENCE +{ connection ConnectionID, + periodOfReposition Period, + messageToReposition MessageID OPTIONAL, --corrected 06/2001 + resource [0] IMPLICIT ResourceID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +RepositionResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +Period ::= CHOICE +{ absolutePosition ENUMERATED + { startOfMessage (0), + endOfMessage (1) }, + relativePosition INTEGER } + +END -- of CSTA-reposition diff --git a/csta/CSTA-request-system-status.asn1 b/csta/CSTA-request-system-status.asn1 new file mode 100644 index 0000000..ea9de6a --- /dev/null +++ b/csta/CSTA-request-system-status.asn1 @@ -0,0 +1,37 @@ +CSTA-request-system-status + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) request-system-status( 210) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +SysStatRegisterID, SystemStatus FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +requestSysStat OPERATION ::= +{ ARGUMENT RequestSysStatArg + RESULT RequestSysStatRes + ERRORS {universalFailure } + CODE local: 210 } + +RequestSysStatArg ::= SEQUENCE +{ sysStatRegisterID SysStatRegisterID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +RequestSysStatRes ::= SEQUENCE +{ systemStatus SystemStatus, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-request-system-status diff --git a/csta/CSTA-resume-data-collection.asn1 b/csta/CSTA-resume-data-collection.asn1 new file mode 100644 index 0000000..a164155 --- /dev/null +++ b/csta/CSTA-resume-data-collection.asn1 @@ -0,0 +1,37 @@ +CSTA-resume-data-collection + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) resume-data-collection( 346) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +DcollCrossRefID FROM CSTA-data-collection + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) data-collection( 138) }; + +resumeDataCollection OPERATION ::= +{ ARGUMENT ResumeDataCollectionArgument + RESULT ResumeDataCollectionResult + ERRORS {universalFailure } + CODE local: 346 } + +ResumeDataCollectionArgument ::= SEQUENCE +{ dcollCrossRefID DcollCrossRefID, + extensions CSTACommonArguments OPTIONAL } + +ResumeDataCollectionResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-resume-data-collection diff --git a/csta/CSTA-resume-data-path.asn1 b/csta/CSTA-resume-data-path.asn1 new file mode 100644 index 0000000..c7c37ac --- /dev/null +++ b/csta/CSTA-resume-data-path.asn1 @@ -0,0 +1,38 @@ +CSTA-resume-data-path + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) resume-data-path( 117) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +IOCrossRefID, IORegisterReqID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +resumeDataPath OPERATION ::= +{ ARGUMENT ResumeDataPathArgument + RESULT ResumeDataPathResult + ERRORS {universalFailure } + CODE local: 117 } + +ResumeDataPathArgument ::= SEQUENCE +{ ioCrossRefID IOCrossRefID, + ioRegisterReqID IORegisterReqID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +ResumeDataPathResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-resume-data-path diff --git a/csta/CSTA-resume-location-tracking-session.asn1 b/csta/CSTA-resume-location-tracking-session.asn1 new file mode 100644 index 0000000..5a15024 --- /dev/null +++ b/csta/CSTA-resume-location-tracking-session.asn1 @@ -0,0 +1,36 @@ +CSTA-resume-location-tracking-session + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) resume-location-tracking-session ( 534) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +LocCrossRefID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) }; + +resumeLocationTrackingSession OPERATION ::= +{ ARGUMENT ResumeLocationTrackingSessionArgument + RESULT ResumeLocationTrackingSessionResult + ERRORS {universalFailure } + CODE local: 534} + +ResumeLocationTrackingSessionArgument ::= SEQUENCE +{ locCrossRefID LocCrossRefID, + extensions CSTACommonArguments OPTIONAL } + +ResumeLocationTrackingSessionResult ::= SEQUENCE +{ extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-resume-location-tracking-session diff --git a/csta/CSTA-resume.asn1 b/csta/CSTA-resume.asn1 new file mode 100644 index 0000000..d76f92a --- /dev/null +++ b/csta/CSTA-resume.asn1 @@ -0,0 +1,42 @@ +CSTA-resume + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) resume( 505) } +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +ResourceID, MessageID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +resume OPERATION ::= +{ ARGUMENT ResumeArgument + RESULT ResumeResult + ERRORS {universalFailure } + CODE local: 505 } + +ResumeArgument ::= SEQUENCE +{ connection ConnectionID, + messageToResume MessageID OPTIONAL, --corrected 06/2001 + resource [0] IMPLICIT ResourceID OPTIONAL, + duration INTEGER OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +ResumeResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-resume diff --git a/csta/CSTA-retrieve-call.asn1 b/csta/CSTA-retrieve-call.asn1 new file mode 100644 index 0000000..698c176 --- /dev/null +++ b/csta/CSTA-retrieve-call.asn1 @@ -0,0 +1,37 @@ +CSTA-retrieve-call + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) retrieve-call( 14) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +retrieveCall OPERATION ::= +{ ARGUMENT RetrieveCallArgument + RESULT RetrieveCallResult + ERRORS {universalFailure } + CODE local: 14 } + +RetrieveCallArgument ::= SEQUENCE +{ callToBeRetrieved ConnectionID, + extensions CSTACommonArguments OPTIONAL } + +RetrieveCallResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-retrieve-call diff --git a/csta/CSTA-retrieved-event.asn1 b/csta/CSTA-retrieved-event.asn1 new file mode 100644 index 0000000..ecea6c7 --- /dev/null +++ b/csta/CSTA-retrieved-event.asn1 @@ -0,0 +1,57 @@ +CSTA-retrieved-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) retrieved-event( 33) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +LocalConnectionState FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +CorrelatorData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics, CallLinkageData, ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LanguagePreferences FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +LocationInfoList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +ConnectionInformation, MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +RetrievedEvent ::= SEQUENCE +{ retrievedConnection ConnectionID, + retrievingDevice SubjectDeviceID, + localConnectionInfo LocalConnectionState OPTIONAL, + correlatorData [0] IMPLICIT CorrelatorData OPTIONAL, + cause EventCause, + servicesPermitted [1] IMPLICIT ServicesPermitted OPTIONAL, + mediaCallCharacteristics [2] IMPLICIT MediaCallCharacteristics OPTIONAL, + callCharacteristics [3] IMPLICIT CallCharacteristics OPTIONAL, + retrievedConnectionInfo [4] IMPLICIT ConnectionInformation OPTIONAL, + callLinkageData [5] IMPLICIT CallLinkageData OPTIONAL, + languagePreferences [6] IMPLICIT LanguagePreferences OPTIONAL, + locationInfo [7] IMPLICIT LocationInfoList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-retrieved-event diff --git a/csta/CSTA-review-event.asn1 b/csta/CSTA-review-event.asn1 new file mode 100644 index 0000000..29f6cd5 --- /dev/null +++ b/csta/CSTA-review-event.asn1 @@ -0,0 +1,39 @@ +CSTA-review-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) review( 77) } +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +MessageID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ResourceID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) }; + +ReviewEvent ::= SEQUENCE +{ connection ConnectionID, + message MessageID, + resource [2] IMPLICIT ResourceID OPTIONAL, + length [0] IMPLICIT INTEGER OPTIONAL, + currentPosition [1] IMPLICIT INTEGER OPTIONAL, + cause EventCause OPTIONAL, + servicesPermitted ServicesPermitted OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-review-event diff --git a/csta/CSTA-review.asn1 b/csta/CSTA-review.asn1 new file mode 100644 index 0000000..5872cb9 --- /dev/null +++ b/csta/CSTA-review.asn1 @@ -0,0 +1,47 @@ +CSTA-review + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) review( 506) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +ResourceID, MessageID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +review OPERATION ::= +{ ARGUMENT ReviewArgument + RESULT ReviewResult + ERRORS {universalFailure } + CODE local: 506 } + +ReviewArgument ::= SEQUENCE +{ connection ConnectionID, + periodToReview PeriodToReview, + messageToReview MessageID OPTIONAL, --corrected 06/2001 + resource [0] IMPLICIT ResourceID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +ReviewResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +PeriodToReview ::= CHOICE +{ startOfMessage NULL, + lengthOfReview INTEGER } + +END -- of CSTA-review diff --git a/csta/CSTA-ringer-status-event.asn1 b/csta/CSTA-ringer-status-event.asn1 new file mode 100644 index 0000000..a737784 --- /dev/null +++ b/csta/CSTA-ringer-status-event.asn1 @@ -0,0 +1,30 @@ +CSTA-ringer-status-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) ringer-status-event( 289) } +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +RingerID, RingMode, Volume FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +RingerStatusEvent ::= SEQUENCE +{ device SubjectDeviceID, + ringer RingerID, + ringMode RingMode OPTIONAL, + ringCount [0] IMPLICIT INTEGER (0..1000) OPTIONAL, + ringDuration [3] IMPLICIT INTEGER OPTIONAL, + ringPattern [1] IMPLICIT INTEGER OPTIONAL, + ringVolume [2] Volume OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-ringer-status-event diff --git a/csta/CSTA-route-end-request.asn1 b/csta/CSTA-route-end-request.asn1 new file mode 100644 index 0000000..d301d39 --- /dev/null +++ b/csta/CSTA-route-end-request.asn1 @@ -0,0 +1,36 @@ +CSTA-route-end-request + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) route-end-request( 85) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure, ErrorValue FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CorrelatorData, RouteRegisterReqID, RouteingCrossRefID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +routeEndRequest OPERATION ::= +{ ARGUMENT RouteEndRequestArgument + ERRORS {universalFailure } + ALWAYS RESPONDS FALSE + CODE local: 35 } + +RouteEndRequestArgument ::= SEQUENCE { + crossRefIdentifier RouteingCrossRefID, + routeRegisterReqID [ 0] IMPLICIT RouteRegisterReqID OPTIONAL, + errorValue [ 1] ErrorValue OPTIONAL, + correlatorData [ 2] IMPLICIT CorrelatorData OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-route-end-request diff --git a/csta/CSTA-route-register-abort.asn1 b/csta/CSTA-route-register-abort.asn1 new file mode 100644 index 0000000..13a8384 --- /dev/null +++ b/csta/CSTA-route-register-abort.asn1 @@ -0,0 +1,33 @@ +CSTA-route-register-abort + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) route-register-abort( 249) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +RouteRegisterReqID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +routeRegisterAbort OPERATION ::= +{ ARGUMENT RouteRegisterAbortArgument + ERRORS {universalFailure } + ALWAYS RESPONDS FALSE + CODE local: 249 } + +RouteRegisterAbortArgument ::= SEQUENCE +{ routeRegisterReqID RouteRegisterReqID, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-route-register-abort diff --git a/csta/CSTA-route-register-cancel.asn1 b/csta/CSTA-route-register-cancel.asn1 new file mode 100644 index 0000000..3f4bd3c --- /dev/null +++ b/csta/CSTA-route-register-cancel.asn1 @@ -0,0 +1,37 @@ +CSTA-route-register-cancel + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) route-register-cancel( 250) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +RouteRegisterReqID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +routeRegisterCancel OPERATION ::= +{ ARGUMENT RouteRegisterCancelArgument + RESULT RouteRegisterCancelResult + ERRORS {universalFailure } + CODE local: 250 } + +RouteRegisterCancelArgument ::= SEQUENCE +{ routeRegisterReqID RouteRegisterReqID, + extensions CSTACommonArguments OPTIONAL } + +RouteRegisterCancelResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-route-register-cancel diff --git a/csta/CSTA-route-register.asn1 b/csta/CSTA-route-register.asn1 new file mode 100644 index 0000000..eeee304 --- /dev/null +++ b/csta/CSTA-route-register.asn1 @@ -0,0 +1,45 @@ +CSTA-route-register + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) route-register( 248) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +RouteRegisterReqID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +MediaClass FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +routeRegister OPERATION ::= +{ ARGUMENT RouteRegisterArgument + RESULT RouteRegisterResult + ERRORS {universalFailure } + CODE local: 248 } + +RouteRegisterArgument ::= SEQUENCE +{ routeingDevice DeviceID OPTIONAL, + requestedRouteingMediaClass MediaClass OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +RouteRegisterResult ::= SEQUENCE +{ routeRegisterReqID RouteRegisterReqID, + actualRouteingMediaClass MediaClass OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-route-register diff --git a/csta/CSTA-route-reject.asn1 b/csta/CSTA-route-reject.asn1 new file mode 100644 index 0000000..7810d58 --- /dev/null +++ b/csta/CSTA-route-reject.asn1 @@ -0,0 +1,44 @@ +CSTA-route-reject + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) route-reject( 86) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CorrelatorData, RouteRegisterReqID, RouteingCrossRefID +FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +routeReject OPERATION ::= +{ ARGUMENT RouteRejectArgument + ERRORS {universalFailure } + ALWAYS RESPONDS FALSE + CODE local: 36 } + +RouteRejectArgument ::= SEQUENCE +{ crossRefIdentifier RouteingCrossRefID, + routeRegisterReqID [0] IMPLICIT RouteRegisterReqID OPTIONAL, + rejectCause [1] IMPLICIT RejectCause OPTIONAL, + correlatorData [2] IMPLICIT CorrelatorData OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +RejectCause ::= ENUMERATED +{ busyOverflow (1), + queueTimeOverflow (2), + capacityOverflow (3), + calendarOverflow (4), + unknownOverflow (5) } + +END -- of CSTA-route-reject diff --git a/csta/CSTA-route-request.asn1 b/csta/CSTA-route-request.asn1 new file mode 100644 index 0000000..599cd99 --- /dev/null +++ b/csta/CSTA-route-request.asn1 @@ -0,0 +1,70 @@ +CSTA-route-request + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) route-request( 81) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +AssociatedCallingDeviceID, AssociatedCalledDeviceID, CalledDeviceID, +CallingDeviceID, SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CorrelatorData,SelectValue, RouteRegisterReqID, RouteingCrossRefID +FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics, CallLinkageData FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +MessageInfo,LanguagePreferences,SubjectOfCall,DeviceHistory +FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) +standard( 0) csta3( 285) device-feature-types( 127) } +ConnectionInformation, MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +routeRequest OPERATION ::= +{ ARGUMENT RouteRequestArgument + ERRORS {universalFailure } + ALWAYS RESPONDS FALSE + CODE local: 31 } + +RouteRequestArgument ::= SEQUENCE +{ crossRefIdentifier RouteingCrossRefID, + routeRegisterReqID [ 0] IMPLICIT RouteRegisterReqID OPTIONAL, + currentRoute CalledDeviceID, + callingDevice CallingDeviceID OPTIONAL, + routeingDevice SubjectDeviceID OPTIONAL, + routedCall ConnectionID OPTIONAL, + routeSelAlgorithm [ 1] IMPLICIT SelectValue OPTIONAL, + associatedCallingDevice AssociatedCallingDeviceID OPTIONAL, + associatedCalledDevice AssociatedCalledDeviceID OPTIONAL, + priority [ 2] IMPLICIT BOOLEAN OPTIONAL, + replyTimeout [ 3] IMPLICIT INTEGER OPTIONAL, + correlatorData [ 4] IMPLICIT CorrelatorData OPTIONAL, + mediaCallCharacteristics [ 5] IMPLICIT MediaCallCharacteristics OPTIONAL, + callCharacteristics [ 6] IMPLICIT CallCharacteristics OPTIONAL, + routeCallInfo [ 7] IMPLICIT ConnectionInformation OPTIONAL, + callLinkageData [ 8] IMPLICIT CallLinkageData OPTIONAL, + subjectOfCall [ 9] IMPLICIT SubjectOfCall OPTIONAL, + messageInfo [10] IMPLICIT MessageInfo OPTIONAL, + languagePreferences [11] IMPLICIT LanguagePreferences OPTIONAL, + deviceHistory [12] IMPLICIT DeviceHistory OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-route-request diff --git a/csta/CSTA-route-select-request.asn1 b/csta/CSTA-route-select-request.asn1 new file mode 100644 index 0000000..daae24d --- /dev/null +++ b/csta/CSTA-route-select-request.asn1 @@ -0,0 +1,42 @@ +CSTA-route-select-request + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) route-select-request( 83) } +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CorrelatorData, RetryValue, RouteingCrossRefID, RouteRegisterReqID +FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +routeSelectRequest OPERATION ::= +{ ARGUMENT RouteSelectRequestArgument + ERRORS {universalFailure } + ALWAYS RESPONDS FALSE + CODE local: 33 } + +RouteSelectRequestArgument ::= SEQUENCE +{ crossRefIdentifier RouteingCrossRefID, + routeRegisterReqID [ 0] IMPLICIT RouteRegisterReqID OPTIONAL, + routeSelected [ 1] DeviceID, + alternateRoutes [ 2] IMPLICIT SEQUENCE OF DeviceID OPTIONAL, + remainRetries [ 3] RetryValue OPTIONAL, + routeUsedReq [ 4] IMPLICIT BOOLEAN OPTIONAL, + correlatorData [ 5] IMPLICIT CorrelatorData OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-route-select-request diff --git a/csta/CSTA-route-used-request.asn1 b/csta/CSTA-route-used-request.asn1 new file mode 100644 index 0000000..afb5b45 --- /dev/null +++ b/csta/CSTA-route-used-request.asn1 @@ -0,0 +1,45 @@ +CSTA-route-used-request + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) route-used-request( 84) } + +DEFINITIONS::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CallingDeviceID, CalledDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CorrelatorData, RouteRegisterReqID, RouteingCrossRefID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallLinkageData FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) }; + +routeUsedRequest OPERATION ::= +{ ARGUMENT RouteUsedRequestArgument + ERRORS {universalFailure } + ALWAYS RESPONDS FALSE + CODE local: 34 } + +RouteUsedRequestArgument ::= SEQUENCE +{ crossRefIdentifier RouteingCrossRefID, + routeRegisterReqID [0] IMPLICIT RouteRegisterReqID OPTIONAL, + routeUsed CalledDeviceID, + callingDevice CallingDeviceID OPTIONAL, + domain BOOLEAN OPTIONAL, + correlatorData [1] IMPLICIT CorrelatorData OPTIONAL, + callLinkageData [2] IMPLICIT CallLinkageData OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-route-used-request diff --git a/csta/CSTA-routeing-mode-event.asn1 b/csta/CSTA-routeing-mode-event.asn1 new file mode 100644 index 0000000..635cd86 --- /dev/null +++ b/csta/CSTA-routeing-mode-event.asn1 @@ -0,0 +1,23 @@ +CSTA-routeing-mode-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) routeing-mode-event( 332) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +RouteingModeEvent ::= SEQUENCE +{ device SubjectDeviceID, + routeingMode BOOLEAN, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-routeing-mode-event diff --git a/csta/CSTA-security.asn1 b/csta/CSTA-security.asn1 new file mode 100644 index 0000000..4c5767a --- /dev/null +++ b/csta/CSTA-security.asn1 @@ -0,0 +1,23 @@ +CSTA-security + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) security( 128) } + +DEFINITIONS ::= +BEGIN + +EXPORTS +CSTASecurityData,TimeInfo; + +CSTASecurityData ::= SEQUENCE +{ messageSequenceNumber [0] IMPLICIT INTEGER OPTIONAL, + timestamp TimeInfo OPTIONAL, + securityInfo SecurityInfo OPTIONAL } + +SecurityInfo ::= CHOICE +{ string OCTET STRING, + private NULL } -- The actual encoding is added here, + -- replacing NULL with another valid ASN.1 type. + +TimeInfo ::= GeneralizedTime + +END -- of CSTA-security diff --git a/csta/CSTA-send-broadcast-data.asn1 b/csta/CSTA-send-broadcast-data.asn1 new file mode 100644 index 0000000..019ad1e --- /dev/null +++ b/csta/CSTA-send-broadcast-data.asn1 @@ -0,0 +1,38 @@ +CSTA-send-broadcast-data + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) send-broadcast-data( 114) } +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DataPathType, DisplayAttributeList FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +sendBroadcastData OPERATION ::= +{ ARGUMENT SendBroadcastDataArgument + RESULT SendBroadcastDataResult + ERRORS {universalFailure } + CODE local: 114 } + +SendBroadcastDataArgument ::= SEQUENCE +{ ioData OCTET STRING, + dataPathType DataPathType OPTIONAL, + displayAttributes DisplayAttributeList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SendBroadcastDataResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-send-broadcast-data diff --git a/csta/CSTA-send-data.asn1 b/csta/CSTA-send-data.asn1 new file mode 100644 index 0000000..3f91e44 --- /dev/null +++ b/csta/CSTA-send-data.asn1 @@ -0,0 +1,43 @@ +CSTA-send-data + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) send-data( 112) } +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +IOCrossRefID, IORegisterReqID, DisplayAttributeList FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +sendData OPERATION ::= +{ ARGUMENT SendDataArgument + RESULT SendDataResult + ERRORS {universalFailure } + CODE local: 112 } + +SendDataArgument ::= SEQUENCE +{ ioCrossRefID IOCrossRefID, + ioRegisterReqID [0] IMPLICIT IORegisterReqID OPTIONAL, + displayAttributes DisplayAttributeList OPTIONAL, + ioData OCTET STRING, + ioCause EventCause OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SendDataResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-send-data diff --git a/csta/CSTA-send-message.asn1 b/csta/CSTA-send-message.asn1 new file mode 100644 index 0000000..fd17ebf --- /dev/null +++ b/csta/CSTA-send-message.asn1 @@ -0,0 +1,74 @@ +CSTA-send-message + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) send-message( 376) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CallCharacteristics, CallLinkageData FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +AccountInfo, AuthCode, CorrelatorData +FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +SubjectOfCall,LanguagePreferences, MessageInfo +FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) }; + +sendMessage OPERATION ::= +{ ARGUMENT SendMessageArgument + RESULT SendMessageResult + ERRORS {universalFailure } + CODE local: 376 } + +SendMessageArgument ::= SEQUENCE +{ callingDevice DeviceID, + destinationDevices DeviceListItems, + messageInfo MessageInfo, + accountCode [0] IMPLICIT AccountInfo OPTIONAL, + authCode [1] IMPLICIT AuthCode OPTIONAL, + correlatorData [2] IMPLICIT CorrelatorData OPTIONAL, + callCharacteristics [3] IMPLICIT CallCharacteristics OPTIONAL, + mediaCallCharacteristics [4] IMPLICIT MediaCallCharacteristics OPTIONAL, + subjectOfCall [5] IMPLICIT SubjectOfCall OPTIONAL, + languagePreferences [6] IMPLICIT LanguagePreferences OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SendMessageResult ::= SEQUENCE +{ connectionList ConnectionListItems, + mediaCallCharacteristics MediaCallCharacteristics OPTIONAL, + listOfCallLinkageData [1] IMPLICIT CallLinkageDataListItems OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +DeviceListItems ::= SEQUENCE +{ device DeviceID } + +ConnectionListItems ::= SEQUENCE +{ connection ConnectionID } + +CallLinkageDataListItems ::= SEQUENCE +{ callLinkageData CallLinkageData } + +END -- of CSTA-send-message diff --git a/csta/CSTA-send-multicast-data.asn1 b/csta/CSTA-send-multicast-data.asn1 new file mode 100644 index 0000000..2cf4870 --- /dev/null +++ b/csta/CSTA-send-multicast-data.asn1 @@ -0,0 +1,39 @@ +CSTA-send-multicast-data + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) send-multicast-data( 113) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +IOCrossRefID, DisplayAttributeList FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +sendMulticastData OPERATION ::= +{ ARGUMENT SendMulticastDataArgument + RESULT SendMulticastDataResult + ERRORS {universalFailure } + CODE local: 113 } + +SendMulticastDataArgument ::= SEQUENCE +{ ioCrossRefIDList SEQUENCE OF IOCrossRefID, + ioData OCTET STRING OPTIONAL, + displayAttributes DisplayAttributeList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SendMulticastDataResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-send-multicast-data diff --git a/csta/CSTA-send-stored-call-detail-records.asn1 b/csta/CSTA-send-stored-call-detail-records.asn1 new file mode 100644 index 0000000..a889086 --- /dev/null +++ b/csta/CSTA-send-stored-call-detail-records.asn1 @@ -0,0 +1,38 @@ +CSTA-send-stored-call-detail-records + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) send-stored-call-detail-records( 362) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CDRCrossRefID, CDRTimePeriod FROM CSTA-call-detail-record + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-detail-record( 132) }; + +sendStoredCDR OPERATION ::= +{ ARGUMENT SendStoredCDRArgument + RESULT SendStoredCDRResult + ERRORS {universalFailure } + CODE local: 362 } + +SendStoredCDRArgument ::= SEQUENCE +{ cdrCrossRefID CDRCrossRefID, --corrected 06/2001 + timePeriod CDRTimePeriod OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SendStoredCDRResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-send-stored-call-detail-records diff --git a/csta/CSTA-send-user-information.asn1 b/csta/CSTA-send-user-information.asn1 new file mode 100644 index 0000000..1756369 --- /dev/null +++ b/csta/CSTA-send-user-information.asn1 @@ -0,0 +1,41 @@ +CSTA-send-user-information + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) send-user-information( 234) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +sendUserInfo OPERATION ::= +{ ARGUMENT SendUserInfoArgument + RESULT SendUserInfoResult + ERRORS {universalFailure } + CODE local: 234 } + +SendUserInfoArgument ::= SEQUENCE +{ existingCall ConnectionID, + userData UserData, + extensions CSTACommonArguments OPTIONAL } + +SendUserInfoResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-send-user-information diff --git a/csta/CSTA-service-completion-failure-event.asn1 b/csta/CSTA-service-completion-failure-event.asn1 new file mode 100644 index 0000000..27cfc2d --- /dev/null +++ b/csta/CSTA-service-completion-failure-event.asn1 @@ -0,0 +1,51 @@ +CSTA-service-completion-failure-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) service-completion-failure-event( 243) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +LocalConnectionState FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +MediaCallCharacteristics, ConnectionInformation FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +ServiceCompletionFailureEvent ::= SEQUENCE +{ primaryCall PrimaryOrSecondaryCall, + secondaryCall [0] IMPLICIT PrimaryOrSecondaryCall OPTIONAL, + otherDevsPrimaryCallList [1] IMPLICIT SEQUENCE OF OtherCall OPTIONAL, + otherDevsSecondaryCallList [2] IMPLICIT SEQUENCE OF OtherCall OPTIONAL, + mediaCallCharacteristics [3] IMPLICIT MediaCallCharacteristics OPTIONAL, + cause EventCause, + extensions CSTACommonArguments OPTIONAL } + +PrimaryOrSecondaryCall ::= SEQUENCE +{ deviceID DeviceID, + connectionID ConnectionID, + localConnectionState LocalConnectionState, + connectionInfo ConnectionInformation OPTIONAL } + +OtherCall ::= SEQUENCE +{ deviceID DeviceID, + connectionID ConnectionID, + localConnectionState LocalConnectionState OPTIONAL, + connectionInfo ConnectionInformation OPTIONAL } + +END -- of CSTA-service-completion-failure-event diff --git a/csta/CSTA-service-initiated-event.asn1 b/csta/CSTA-service-initiated-event.asn1 new file mode 100644 index 0000000..a6659b9 --- /dev/null +++ b/csta/CSTA-service-initiated-event.asn1 @@ -0,0 +1,70 @@ +CSTA-service-initiated-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) service-initiated-event( 34) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +SubjectDeviceID, AssociatedCallingDeviceID, NetworkCalledDeviceID, +NetworkCallingDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +LocalConnectionState FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +CorrelatorData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics, CallLinkageData, ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +LocationInfoList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +MessageInfo, SubjectOfCall, LanguagePreferences FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CalledDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionInformation, MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +ServiceInitiatedEvent ::= SEQUENCE +{ initiatedConnection ConnectionID, + initiatingDevice SubjectDeviceID, + calledDevice CalledDeviceID OPTIONAL, + localConnectionInfo LocalConnectionState OPTIONAL, + correlatorData [ 0] IMPLICIT CorrelatorData OPTIONAL, + cause EventCause, + servicesPermitted [ 1] IMPLICIT ServicesPermitted OPTIONAL, + mediaCallCharacteristics [ 2] IMPLICIT MediaCallCharacteristics OPTIONAL, + callCharacteristics [ 3] IMPLICIT CallCharacteristics OPTIONAL, + initiatedConnectionInfo [ 4] IMPLICIT ConnectionInformation OPTIONAL, + networkCallingDevice NetworkCallingDeviceID OPTIONAL, + networkCalledDevice NetworkCalledDeviceID OPTIONAL, + associatedCallingDevice AssociatedCallingDeviceID OPTIONAL, + callLinkageData [ 5] IMPLICIT CallLinkageData OPTIONAL, + subjectOfCall [ 7] IMPLICIT SubjectOfCall OPTIONAL, + messageInfo [ 8] IMPLICIT MessageInfo OPTIONAL, + languagePreferences [ 9] IMPLICIT LanguagePreferences OPTIONAL, + locationInfo [10] IMPLICIT LocationInfoList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-service-initiated-event diff --git a/csta/CSTA-set-agent-state.asn1 b/csta/CSTA-set-agent-state.asn1 new file mode 100644 index 0000000..b74e039 --- /dev/null +++ b/csta/CSTA-set-agent-state.asn1 @@ -0,0 +1,51 @@ +CSTA-set-agent-state + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) set-agent-state( 312) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +AgentID, AgentPassword, PendingAgentState FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +setAgentState OPERATION ::= +{ ARGUMENT SetAgentStateArgument + RESULT SetAgentStateResult + ERRORS {universalFailure } + CODE local: 312 } + +SetAgentStateArgument ::= SEQUENCE +{ device DeviceID, + requestedAgentState ReqAgentState, + agentID [2] IMPLICIT AgentID OPTIONAL, + password [3] IMPLICIT AgentPassword OPTIONAL, + group DeviceID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SetAgentStateResult ::= SEQUENCE +{ pendingAgentState PendingAgentState OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +ReqAgentState ::= ENUMERATED +{ loggedOn (0), + loggedOff (1), + notReady (2), + ready (3), + workingAfterCall (4) } + +END -- of CSTA-set-agent-state diff --git a/csta/CSTA-set-auto-answer.asn1 b/csta/CSTA-set-auto-answer.asn1 new file mode 100644 index 0000000..48c75bd --- /dev/null +++ b/csta/CSTA-set-auto-answer.asn1 @@ -0,0 +1,39 @@ +CSTA-set-auto-answer + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) set-auto-answer( 313) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +setAutoAnswer OPERATION ::= +{ ARGUMENT SetAutoAnswerArgument + RESULT SetAutoAnswerResult + ERRORS {universalFailure } + CODE local: 313 } + +SetAutoAnswerArgument ::= SEQUENCE +{ device DeviceID, + autoAnswerOn BOOLEAN, + numberOfRings INTEGER OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SetAutoAnswerResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-set-auto-answer diff --git a/csta/CSTA-set-auto-work-mode.asn1 b/csta/CSTA-set-auto-work-mode.asn1 new file mode 100644 index 0000000..ea24b88 --- /dev/null +++ b/csta/CSTA-set-auto-work-mode.asn1 @@ -0,0 +1,39 @@ +CSTA-set-auto-work-mode + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) set-auto-work-mode( 314) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +setAutoWorkMode OPERATION ::= +{ ARGUMENT SetAutoWorkModeArgument + RESULT SetAutoWorkModeResult + ERRORS {universalFailure } + CODE local: 314 } + +SetAutoWorkModeArgument ::= SEQUENCE +{ device DeviceID, + autoWorkOn BOOLEAN, + autoWorkInterval INTEGER (0..6000) OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SetAutoWorkModeResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-set-auto-work-mode diff --git a/csta/CSTA-set-button-information.asn1 b/csta/CSTA-set-button-information.asn1 new file mode 100644 index 0000000..add3e8b --- /dev/null +++ b/csta/CSTA-set-button-information.asn1 @@ -0,0 +1,43 @@ +CSTA-set-button-information + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) set-button-information( 273) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ButtonID FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +setButtonInformation OPERATION ::= +{ ARGUMENT SetButtonInformationArgument + RESULT SetButtonInformationResult + ERRORS {universalFailure } + CODE local: 273 } + +SetButtonInformationArgument ::= SEQUENCE +{ device DeviceID, + button ButtonID, + buttonLabel IA5String (SIZE(0..64)) OPTIONAL, + buttonAssociatedNumber DeviceID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SetButtonInformationResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-set-button-information diff --git a/csta/CSTA-set-caller-id-status.asn1 b/csta/CSTA-set-caller-id-status.asn1 new file mode 100644 index 0000000..1500b23 --- /dev/null +++ b/csta/CSTA-set-caller-id-status.asn1 @@ -0,0 +1,38 @@ +CSTA-set-caller-id-status + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) set-caller-id-status( 315) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +setCallerIDStatus OPERATION ::= +{ ARGUMENT SetCallerIDStatusArgument + RESULT SetCallerIDStatusResult + ERRORS {universalFailure } + CODE local: 315 } + +SetCallerIDStatusArgument ::= SEQUENCE +{ device DeviceID, + callerIDProvided BOOLEAN, + extensions CSTACommonArguments OPTIONAL } + +SetCallerIDStatusResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-set-caller-id-status diff --git a/csta/CSTA-set-display.asn1 b/csta/CSTA-set-display.asn1 new file mode 100644 index 0000000..8b776b4 --- /dev/null +++ b/csta/CSTA-set-display.asn1 @@ -0,0 +1,46 @@ +CSTA-set-display + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) set-display( 274) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +DisplayID, CharacterSet FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +setDisplay OPERATION ::= +{ ARGUMENT SetDisplayArgument + RESULT SetDisplayResult + ERRORS {universalFailure } + CODE local: 274 } + +SetDisplayArgument ::= SEQUENCE +{ device DeviceID, + display DisplayID OPTIONAL, + physicalBaseRowNumber [0] IMPLICIT INTEGER OPTIONAL, + physicalBaseColumnNumber [1] IMPLICIT INTEGER OPTIONAL, + contentsOfDisplay IA5String (SIZE(0..240)), + offset [2] IMPLICIT INTEGER OPTIONAL, + characterSet [3] IMPLICIT CharacterSet OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SetDisplayResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-set-display diff --git a/csta/CSTA-set-do-not-disturb.asn1 b/csta/CSTA-set-do-not-disturb.asn1 new file mode 100644 index 0000000..9348a85 --- /dev/null +++ b/csta/CSTA-set-do-not-disturb.asn1 @@ -0,0 +1,43 @@ +CSTA-set-do-not-disturb + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) set-do-not-disturb( 316) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CallOrigination FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +setDoNotDisturb OPERATION ::= +{ ARGUMENT SetDoNotDisturbArgument + RESULT SetDoNotDisturbResult + ERRORS {universalFailure } + CODE local: 316 } + +SetDoNotDisturbArgument ::= SEQUENCE +{ device DeviceID, + doNotDisturbOn BOOLEAN, + callOrigination CallOrigination OPTIONAL, + callingDeviceList SEQUENCE OF DeviceID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SetDoNotDisturbResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-set-do-not-disturb diff --git a/csta/CSTA-set-forwarding.asn1 b/csta/CSTA-set-forwarding.asn1 new file mode 100644 index 0000000..b7c99fc --- /dev/null +++ b/csta/CSTA-set-forwarding.asn1 @@ -0,0 +1,45 @@ +CSTA-set-forwarding + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) set-forwarding( 317) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ForwardingType FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +setForwarding OPERATION ::= +{ ARGUMENT SetForwardingArgument + RESULT SetForwardingResult + ERRORS {universalFailure } + CODE local: 317 } + +SetForwardingArgument ::= SEQUENCE +{ device DeviceID, + forwardingType ForwardingType OPTIONAL, + activateForward BOOLEAN, + forwardDN DeviceID OPTIONAL, + ringCount INTEGER (1..100) OPTIONAL, + ringDuration [3] IMPLICIT INTEGER OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SetForwardingResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-set-forwarding diff --git a/csta/CSTA-set-hookswitch-status.asn1 b/csta/CSTA-set-hookswitch-status.asn1 new file mode 100644 index 0000000..6e4c484 --- /dev/null +++ b/csta/CSTA-set-hookswitch-status.asn1 @@ -0,0 +1,42 @@ +CSTA-set-hookswitch-status + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) set-hookswitch-status( 275) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +HookswitchID FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +setHookswitchStatus OPERATION ::= +{ ARGUMENT SetHookswitchStatusArgument + RESULT SetHookswitchStatusResult + ERRORS {universalFailure } + CODE local: 275 } + +SetHookswitchStatusArgument ::= SEQUENCE +{ device DeviceID, + hookswitch HookswitchID, + hookswitchOnHook BOOLEAN, + extensions CSTACommonArguments OPTIONAL } + +SetHookswitchStatusResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-set-hookswitch-status diff --git a/csta/CSTA-set-lamp-mode.asn1 b/csta/CSTA-set-lamp-mode.asn1 new file mode 100644 index 0000000..6661ad7 --- /dev/null +++ b/csta/CSTA-set-lamp-mode.asn1 @@ -0,0 +1,45 @@ +CSTA-set-lamp-mode + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) set-lamp-mode( 276) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +LampID, LampColor, LampMode, LampBrightness + FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +setLampMode OPERATION ::= +{ ARGUMENT SetLampModeArgument + RESULT SetLampModeResult + ERRORS {universalFailure } + CODE local: 276 } + +SetLampModeArgument ::= SEQUENCE +{ device DeviceID, + lamp LampID, + lampMode LampMode, + lampBrightness LampBrightness OPTIONAL, + lampColor LampColor OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SetLampModeResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-set-lamp-mode diff --git a/csta/CSTA-set-location-information.asn1 b/csta/CSTA-set-location-information.asn1 new file mode 100644 index 0000000..63206c3 --- /dev/null +++ b/csta/CSTA-set-location-information.asn1 @@ -0,0 +1,45 @@ +CSTA-set-location-information + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) set-location-information ( 531) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +LocationInfo FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) }; + +setLocationInformation OPERATION ::= +{ ARGUMENT SetLocationInformationArgument + RESULT SetLocationInformationResult + ERRORS {universalFailure } + CODE local: 531} + +SetLocationInformationArgument ::= SEQUENCE +{ device DeviceID, + locationInfo LocationInfo OPTIONAL, + replaceMode ReplaceMode OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SetLocationInformationResult ::= SEQUENCE +{ extensions CSTACommonArguments OPTIONAL } + +ReplaceMode ::= ENUMERATED +{ replaceAll (0), + replacePortion (1) } + +END -- of CSTA-set-location-information diff --git a/csta/CSTA-set-message-waiting-indicator.asn1 b/csta/CSTA-set-message-waiting-indicator.asn1 new file mode 100644 index 0000000..1643950 --- /dev/null +++ b/csta/CSTA-set-message-waiting-indicator.asn1 @@ -0,0 +1,39 @@ +CSTA-set-message-waiting-indicator + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) set-message-waiting-indicator( 277) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +setMessageWaitingIndicator OPERATION ::= +{ ARGUMENT SetMessageWaitingIndicatorArgument + RESULT SetMessageWaitingIndicatorResult + ERRORS {universalFailure } + CODE local: 277 } + +SetMessageWaitingIndicatorArgument ::= SEQUENCE +{ device DeviceID, + messageWaitingOn BOOLEAN, + deviceForMessage DeviceID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SetMessageWaitingIndicatorResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-set-message-waiting-indicator diff --git a/csta/CSTA-set-microphone-gain.asn1 b/csta/CSTA-set-microphone-gain.asn1 new file mode 100644 index 0000000..4baa2ee --- /dev/null +++ b/csta/CSTA-set-microphone-gain.asn1 @@ -0,0 +1,42 @@ +CSTA-set-microphone-gain + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) set-microphone-gain( 278) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +AuditoryApparatusID, MicrophoneGain FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +setMicrophoneGain OPERATION ::= +{ ARGUMENT SetMicrophoneGainArgument + RESULT SetMicrophoneGainResult + ERRORS {universalFailure } + CODE local: 278 } + +SetMicrophoneGainArgument ::= SEQUENCE +{ device DeviceID, + auditoryApparatus AuditoryApparatusID, + microphoneGain MicrophoneGain, + extensions CSTACommonArguments OPTIONAL } + +SetMicrophoneGainResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-set-microphone-gain diff --git a/csta/CSTA-set-microphone-mute.asn1 b/csta/CSTA-set-microphone-mute.asn1 new file mode 100644 index 0000000..ed41ad7 --- /dev/null +++ b/csta/CSTA-set-microphone-mute.asn1 @@ -0,0 +1,42 @@ +CSTA-set-microphone-mute + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) set-microphone-mute( 279) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +AuditoryApparatusID FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +setMicrophoneMute OPERATION ::= +{ ARGUMENT SetMicrophoneMuteArgument + RESULT SetMicrophoneMuteResult + ERRORS {universalFailure } + CODE local: 279 } + +SetMicrophoneMuteArgument ::= SEQUENCE +{ device DeviceID, + auditoryApparatus AuditoryApparatusID, + microphoneMuteOn BOOLEAN, + extensions CSTACommonArguments OPTIONAL } + +SetMicrophoneMuteResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-set-microphone-mute diff --git a/csta/CSTA-set-presence-state.asn1 b/csta/CSTA-set-presence-state.asn1 new file mode 100644 index 0000000..51b6ea9 --- /dev/null +++ b/csta/CSTA-set-presence-state.asn1 @@ -0,0 +1,49 @@ +CSTA-set-presence-state + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) set-presence-state( 551) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +PresenceState FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +TimeInfo FROM CSTA-security +{ iso( 1) identified-organization( 3) icd-ecma( 12) +standard( 0) csta3( 285) security( 128) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +setPresenceState OPERATION ::= +{ ARGUMENT SetPresenceStateArgument + RESULT SetPresenceStateResult + ERRORS {universalFailure } + CODE local: 551 } + +SetPresenceStateArgument ::= SEQUENCE +{ device DeviceID, + requestedPresenceState PresenceState, + fromTime [0] IMPLICIT TimeInfo OPTIONAL, + untilTime [1] IMPLICIT TimeInfo OPTIONAL, + place [2] IMPLICIT OCTET STRING OPTIONAL, + mood [3] IMPLICIT OCTET STRING OPTIONAL, + namedPresenceState [4] IMPLICIT OCTET STRING OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SetPresenceStateResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-set-presence-state diff --git a/csta/CSTA-set-ringer-status.asn1 b/csta/CSTA-set-ringer-status.asn1 new file mode 100644 index 0000000..b2de154 --- /dev/null +++ b/csta/CSTA-set-ringer-status.asn1 @@ -0,0 +1,44 @@ +CSTA-set-ringer-status + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) set-ringer-status( 280) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +RingerID, RingMode, Volume FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +setRingerStatus OPERATION ::= +{ ARGUMENT SetRingerStatusArgument + RESULT SetRingerStatusResult + ERRORS {universalFailure } + CODE local: 280 } + +SetRingerStatusArgument ::= SEQUENCE +{ device DeviceID, + ringer RingerID, + ringMode RingMode OPTIONAL, + ringPattern [1] IMPLICIT INTEGER OPTIONAL, + ringVolume [2] Volume OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SetRingerStatusResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-set-ringer-status diff --git a/csta/CSTA-set-routeing-mode.asn1 b/csta/CSTA-set-routeing-mode.asn1 new file mode 100644 index 0000000..988db81 --- /dev/null +++ b/csta/CSTA-set-routeing-mode.asn1 @@ -0,0 +1,38 @@ +CSTA-set-routeing-mode + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) set-routeing-mode( 318) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +setRouteingMode OPERATION ::= +{ ARGUMENT SetRouteingModeArgument + RESULT SetRouteingModeResult + ERRORS {universalFailure } + CODE local: 318 } + +SetRouteingModeArgument ::= SEQUENCE +{ device DeviceID, + routeingMode BOOLEAN, + extensions CSTACommonArguments OPTIONAL } + +SetRouteingModeResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-set-routeing-mode diff --git a/csta/CSTA-set-speaker-mute.asn1 b/csta/CSTA-set-speaker-mute.asn1 new file mode 100644 index 0000000..6b7b9e9 --- /dev/null +++ b/csta/CSTA-set-speaker-mute.asn1 @@ -0,0 +1,42 @@ +CSTA-set-speaker-mute + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) set-speaker-mute( 281) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +AuditoryApparatusID FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +setSpeakerMute OPERATION ::= +{ ARGUMENT SetSpeakerMuteArgument + RESULT SetSpeakerMuteResult + ERRORS {universalFailure } + CODE local: 281 } + +SetSpeakerMuteArgument ::= SEQUENCE +{ device DeviceID, + auditoryApparatus AuditoryApparatusID, + speakerMuteOn BOOLEAN, + extensions CSTACommonArguments OPTIONAL } + +SetSpeakerMuteResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-set-speaker-mute diff --git a/csta/CSTA-set-speaker-volume.asn1 b/csta/CSTA-set-speaker-volume.asn1 new file mode 100644 index 0000000..cdca9d1 --- /dev/null +++ b/csta/CSTA-set-speaker-volume.asn1 @@ -0,0 +1,42 @@ +CSTA-set-speaker-volume + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) set-speaker-volume( 282) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +AuditoryApparatusID, Volume FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +setSpeakerVolume OPERATION ::= +{ ARGUMENT SetSpeakerVolumeArgument + RESULT SetSpeakerVolumeResult + ERRORS {universalFailure } + CODE local: 282 } + +SetSpeakerVolumeArgument ::= SEQUENCE +{ device DeviceID, + auditoryApparatus AuditoryApparatusID, + speakerVolume Volume, + extensions CSTACommonArguments OPTIONAL } + +SetSpeakerVolumeResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-set-speaker-volume diff --git a/csta/CSTA-set-voice-attribute.asn1 b/csta/CSTA-set-voice-attribute.asn1 new file mode 100644 index 0000000..d366e98 --- /dev/null +++ b/csta/CSTA-set-voice-attribute.asn1 @@ -0,0 +1,68 @@ +CSTA-set-voice-attribute + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) set-voice-attribute( 507) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +ResourceID, MessageID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +Volume FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +setVoiceAttribute OPERATION ::= +{ ARGUMENT SetVoiceAttributeArgument + RESULT SetVoiceAttributeResult + ERRORS {universalFailure } + CODE local: 507 } + +SetVoiceAttributeArgument ::= SEQUENCE +{ connection ConnectionID, + attributeToSet AttributeToSet, + message MessageID OPTIONAL, + resource [0] IMPLICIT ResourceID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SetVoiceAttributeResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +AttributeToSet ::= CHOICE +{ currentSpeed [ 0] IMPLICIT INTEGER, + currentVolume [ 1] Volume, + currentGain [ 2] IMPLICIT INTEGER (0 .. 100), + grammars [ 3] IMPLICIT IA5String, + language [ 4] IMPLICIT IA5String, + mode [ 5] IMPLICIT ENUMERATED + { automatic (0), + single (1), + multiple (2) }, + retainAudio [ 6] IMPLICIT BOOLEAN, + silenceTimeout [ 7] IMPLICIT INTEGER, + maxTimeout [ 8] IMPLICIT INTEGER, + babbleTimeout [ 9] IMPLICIT INTEGER, + endSilence [10] IMPLICIT INTEGER, + rejectionThreshold [11] IMPLICIT INTEGER, + autoInterruptible [12] IMPLICIT BOOLEAN, + innerXML [13] IMPLICIT IA5String, + interDigitTimeout [14] IMPLICIT INTEGER, + preflush [15] IMPLICIT BOOLEAN } + + +END -- of CSTA-set-voice-attribute diff --git a/csta/CSTA-silence-timeout-expired-event.asn1 b/csta/CSTA-silence-timeout-expired-event.asn1 new file mode 100644 index 0000000..5bdb595 --- /dev/null +++ b/csta/CSTA-silence-timeout-expired-event.asn1 @@ -0,0 +1,34 @@ +CSTA-silence-timeout-expired-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) silence-timeout-expired-event(524) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ResourceID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) }; + +SilenceTimeoutExpiredEvent ::=SEQUENCE +{ overConnection ConnectionID, + resource [0] IMPLICIT ResourceID OPTIONAL, + cause EventCause OPTIONAL, + servicesPermitted ServicesPermitted OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-silence-timeout-expired-event diff --git a/csta/CSTA-single-step-conference.asn1 b/csta/CSTA-single-step-conference.asn1 new file mode 100644 index 0000000..f8bfe89 --- /dev/null +++ b/csta/CSTA-single-step-conference.asn1 @@ -0,0 +1,63 @@ +CSTA-single-step-conference + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) single-step-conference( 20) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +AccountInfo, AuthCode, CorrelatorData, ParticipationType, UserData +FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CallLinkageDataList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +SubjectOfCall,LanguagePreferences FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +ConnectionInformation FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +singleStepConf OPERATION ::= +{ ARGUMENT SingleStepConfArgument + RESULT SingleStepConfResult + ERRORS {universalFailure } + CODE local: 20 } + +SingleStepConfArgument ::= SEQUENCE +{ activeCall ConnectionID, + deviceToJoin DeviceID, + participationType ParticipationType DEFAULT active, + accountCode [0] IMPLICIT AccountInfo OPTIONAL, + authCode [1] IMPLICIT AuthCode OPTIONAL, + correlatorData [2] IMPLICIT CorrelatorData OPTIONAL, + userData UserData OPTIONAL, + subjectOfCall [3] IMPLICIT SubjectOfCall OPTIONAL, + languagePreferences [4] IMPLICIT LanguagePreferences OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SingleStepConfResult ::= SEQUENCE +{ conferencedCall ConnectionID, + conferencedCallInfo ConnectionInformation OPTIONAL, + callLinkageDataList [1] IMPLICIT CallLinkageDataList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-single-step-conference diff --git a/csta/CSTA-single-step-transfer.asn1 b/csta/CSTA-single-step-transfer.asn1 new file mode 100644 index 0000000..a44223c --- /dev/null +++ b/csta/CSTA-single-step-transfer.asn1 @@ -0,0 +1,71 @@ +CSTA-single-step-transfer + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) single-step-conference( 50) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +ConnectionList FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +AccountInfo, AuthCode, CorrelatorData, UserData +FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +SubjectOfCall,LanguagePreferences FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +CallCharacteristics, CallLinkageDataList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +ConnectionInformation FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +singleStepTrans OPERATION ::= +{ ARGUMENT SingleStepTransArgument + RESULT SingleStepTransResult + ERRORS {universalFailure } + CODE local: 50 } + +SingleStepTransArgument ::= SEQUENCE +{ activeCall ConnectionID, + transferredTo DeviceID, + accountCode [0] IMPLICIT AccountInfo OPTIONAL, + authCode [1] IMPLICIT AuthCode OPTIONAL, + correlatorData [2] IMPLICIT CorrelatorData OPTIONAL, + userData UserData OPTIONAL, + callCharacteristics [3] IMPLICIT CallCharacteristics OPTIONAL, + subjectOfCall [4] IMPLICIT SubjectOfCall OPTIONAL, + languagePreferences [5] IMPLICIT LanguagePreferences OPTIONAL, + reason [6] IMPLICIT EventCause OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SingleStepTransResult ::= SEQUENCE +{ transferredCall ConnectionID, + connections [0] IMPLICIT ConnectionList OPTIONAL, + transferredCallInfo [1] IMPLICIT ConnectionInformation OPTIONAL, + callLinkageDataList [2] IMPLICIT CallLinkageDataList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-single-step-transfer diff --git a/csta/CSTA-snapshot-call-data.asn1 b/csta/CSTA-snapshot-call-data.asn1 new file mode 100644 index 0000000..f6754e1 --- /dev/null +++ b/csta/CSTA-snapshot-call-data.asn1 @@ -0,0 +1,39 @@ +CSTA-snapshot-call-data + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) snapshot-call-data(106) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +SnapshotCallData FROM CSTA-status-reporting + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) status-reporting( 126) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ServiceCrossRefID FROM CSTA-capability-exchange + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) capability-exchange( 131) }; + +snapshotCallData OPERATION ::= +{ ARGUMENT SnapshotCallDataArgument + ERRORS {universalFailure } + ALWAYS RESPONDS FALSE + CODE local: 76 } + +SnapshotCallDataArgument ::= SEQUENCE +{ serviceCrossRefID ServiceCrossRefID, + segmentID INTEGER OPTIONAL, + lastSegment BOOLEAN, + snapshotData SnapshotCallData, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-snapshot-call-data diff --git a/csta/CSTA-snapshot-call.asn1 b/csta/CSTA-snapshot-call.asn1 new file mode 100644 index 0000000..80f0f3f --- /dev/null +++ b/csta/CSTA-snapshot-call.asn1 @@ -0,0 +1,74 @@ +CSTA-snapshot-call + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) snapshot-call( 105) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CallingDeviceID, CalledDeviceID, AssociatedCallingDeviceID, +AssociatedCalledDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +SnapshotCallData FROM CSTA-status-reporting + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) status-reporting( 126) } +CorrelatorData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics, CallLinkageData FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +ServiceCrossRefID FROM CSTA-capability-exchange + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) capability-exchange( 131) } +SubjectOfCall,LanguagePreferences, MessageInfo, DeviceHistory +FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +snapshotCall OPERATION ::= +{ ARGUMENT SnapshotCallArgument + RESULT SnapshotCallResult + ERRORS {universalFailure } + CODE local: 75 } + +SnapshotCallArgument ::= SEQUENCE +{ snapshotObject ConnectionID, + extensions CSTACommonArguments OPTIONAL } + +SnapshotCallResult ::= SEQUENCE +{ crossRefIDorSnapshotData CHOICE + { serviceCrossRefID [0] IMPLICIT ServiceCrossRefID, + snapshotData SnapshotCallData }, + mediaCallCharacteristics MediaCallCharacteristics OPTIONAL, + callCharacteristics CallCharacteristics OPTIONAL, + callingDevice CallingDeviceID OPTIONAL, + calledDevice CalledDeviceID OPTIONAL, + associatedCallingDeviceID AssociatedCallingDeviceID OPTIONAL, + associatedCalledDeviceID AssociatedCalledDeviceID OPTIONAL, + correlatorData [1] IMPLICIT CorrelatorData OPTIONAL, + callLinkageData [2] IMPLICIT CallLinkageData OPTIONAL, + subjectOfCall [3] IMPLICIT SubjectOfCall OPTIONAL, + messageInfo [4] IMPLICIT MessageInfo OPTIONAL, + languagePreferences [5] IMPLICIT LanguagePreferences OPTIONAL, + deviceHistory [6] IMPLICIT DeviceHistory OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-snapshot-call diff --git a/csta/CSTA-snapshot-device-data.asn1 b/csta/CSTA-snapshot-device-data.asn1 new file mode 100644 index 0000000..bedab2e --- /dev/null +++ b/csta/CSTA-snapshot-device-data.asn1 @@ -0,0 +1,39 @@ +CSTA-snapshot-device-data + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) snapshot-device-data(107) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +SnapshotDeviceData FROM CSTA-status-reporting + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) status-reporting( 126) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ServiceCrossRefID FROM CSTA-capability-exchange + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) capability-exchange( 131) }; + +snapshotDeviceData OPERATION ::= +{ ARGUMENT SnapshotDeviceDataArgument + ERRORS {universalFailure } + ALWAYS RESPONDS FALSE + CODE local: 77 } + +SnapshotDeviceDataArgument ::= SEQUENCE +{ serviceCrossRefID ServiceCrossRefID, + segmentID INTEGER OPTIONAL, + lastSegment BOOLEAN, + snapshotData SnapshotDeviceData, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-snapshot-device-data diff --git a/csta/CSTA-snapshot-device.asn1 b/csta/CSTA-snapshot-device.asn1 new file mode 100644 index 0000000..07a6cc5 --- /dev/null +++ b/csta/CSTA-snapshot-device.asn1 @@ -0,0 +1,45 @@ +CSTA-snapshot-device + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) snapshot-device( 104) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +SnapshotDeviceData FROM CSTA-status-reporting + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) status-reporting( 126) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ServiceCrossRefID FROM CSTA-capability-exchange + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) capability-exchange( 131) }; + +snapshotDevice OPERATION ::= +{ ARGUMENT SnapshotDeviceArgument + RESULT SnapshotDeviceResult + ERRORS {universalFailure } + CODE local: 74 } + +SnapshotDeviceArgument ::= SEQUENCE +{ snapshotObject DeviceID, + extensions CSTACommonArguments OPTIONAL } + +SnapshotDeviceResult ::= SEQUENCE +{ crossRefIDorSnapshotData CHOICE + { serviceCrossRefID ServiceCrossRefID, + snapshotData SnapshotDeviceData }, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-snapshot-device diff --git a/csta/CSTA-speaker-mute-event.asn1 b/csta/CSTA-speaker-mute-event.asn1 new file mode 100644 index 0000000..f9a7a2d --- /dev/null +++ b/csta/CSTA-speaker-mute-event.asn1 @@ -0,0 +1,26 @@ +CSTA-speaker-mute-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) speaker-mute-event( 46) } +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +AuditoryApparatusID FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +SpeakerMuteEvent ::= SEQUENCE +{ invokingDevice SubjectDeviceID, + auditoryApparatus AuditoryApparatusID, + speakerMuteOn BOOLEAN, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-speaker-mute-event diff --git a/csta/CSTA-speaker-volume-event.asn1 b/csta/CSTA-speaker-volume-event.asn1 new file mode 100644 index 0000000..759dda5 --- /dev/null +++ b/csta/CSTA-speaker-volume-event.asn1 @@ -0,0 +1,26 @@ +CSTA-speaker-volume-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) speaker-volume-event( 47) } +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +AuditoryApparatusID, Volume FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +SpeakerVolumeEvent ::= SEQUENCE +{ invokingDevice SubjectDeviceID, + auditoryApparatus AuditoryApparatusID, + speakerVolume Volume, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-speaker-volume-event diff --git a/csta/CSTA-speech-detected-event.asn1 b/csta/CSTA-speech-detected-event.asn1 new file mode 100644 index 0000000..94e271c --- /dev/null +++ b/csta/CSTA-speech-detected-event.asn1 @@ -0,0 +1,34 @@ +CSTA-speech-detected-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) speech-detected-event (525) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ResourceID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) }; + +SpeechDetectedEvent ::=SEQUENCE +{ overConnection ConnectionID, + resource [0] IMPLICIT ResourceID OPTIONAL, + cause EventCause OPTIONAL, + servicesPermitted ServicesPermitted OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-speech-detected-event diff --git a/csta/CSTA-start-call-detail-records-transmission.asn1 b/csta/CSTA-start-call-detail-records-transmission.asn1 new file mode 100644 index 0000000..77aba0d --- /dev/null +++ b/csta/CSTA-start-call-detail-records-transmission.asn1 @@ -0,0 +1,37 @@ +CSTA-start-call-detail-records-transmission + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) start-call-detail-records-transmission( 363) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CDRCrossRefID, CDRTransferMode FROM CSTA-call-detail-record + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-detail-record( 132) }; + +startCDRTransmission OPERATION ::= +{ ARGUMENT StartCDRTransmissionArgument + RESULT StartCDRTransmissionResult + ERRORS {universalFailure } + CODE local: 363 } + +StartCDRTransmissionArgument ::= SEQUENCE +{ transferMode CDRTransferMode, + extensions CSTACommonArguments OPTIONAL } + +StartCDRTransmissionResult ::= SEQUENCE +{ cdrCrossRefID CDRCrossRefID, --corrected 06/2001 + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-start-call-detail-records-transmission diff --git a/csta/CSTA-start-data-collection.asn1 b/csta/CSTA-start-data-collection.asn1 new file mode 100644 index 0000000..ab8127f --- /dev/null +++ b/csta/CSTA-start-data-collection.asn1 @@ -0,0 +1,58 @@ +CSTA-start-data-collection + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) start-data-collection( 347) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +DcollCrossRefID FROM CSTA-data-collection + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) data-collection( 138) }; + +startDataCollection OPERATION ::= +{ ARGUMENT StartDataCollectionArgument + RESULT StartDataCollectionResult + ERRORS {universalFailure } + CODE local: 347 } + +StartDataCollectionArgument ::= SEQUENCE +{ object CallObject, + dataCollType DataCollType OPTIONAL, + digitsReportingCriteria DigitsReportingCriteria OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +StartDataCollectionResult ::= SEQUENCE +{ dcollCrossRefID DcollCrossRefID, + extensions CSTACommonArguments OPTIONAL } + +CallObject ::= CHOICE +{ device DeviceID, + call ConnectionID } + +DataCollType ::= ENUMERATED +{ digits (0), + telTones (1) } + +DigitsReportingCriteria ::= SEQUENCE +{ numChars [0] IMPLICIT INTEGER OPTIONAL, + flushChar IA5String (SIZE(1..1)) OPTIONAL, + timeout [1] IMPLICIT INTEGER OPTIONAL } + +END -- of CSTA-start-data-collection diff --git a/csta/CSTA-start-data-path.asn1 b/csta/CSTA-start-data-path.asn1 new file mode 100644 index 0000000..fd91260 --- /dev/null +++ b/csta/CSTA-start-data-path.asn1 @@ -0,0 +1,58 @@ +CSTA-start-data-path + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) start-data-path( 110) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTAObject FROM CSTA-switching-function-objects + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) switching-function-objects( 122) } +DataPathType, IOCrossRefID, IORegisterReqID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +DisplayID FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +startDataPath OPERATION ::= +{ ARGUMENT StartDataPathArgument + RESULT StartDataPathResult + ERRORS {universalFailure } + CODE local: 110 } + +StartDataPathArgument ::= SEQUENCE +{ ioRegisterReqID IORegisterReqID OPTIONAL, + object CSTAObject, + dataPathDirection [0] IMPLICIT DataPathDirection OPTIONAL, + dataPathType [1] IMPLICIT DataPathType OPTIONAL, + displayID DisplayID OPTIONAL, + numberOfCharactersToCollect [2] IMPLICIT INTEGER OPTIONAL, + terminationCharacter IA5String (SIZE(1..1)) OPTIONAL, + timeout [3] IMPLICIT INTEGER OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +StartDataPathResult ::= SEQUENCE +{ ioCrossRefID IOCrossRefID, + numberOfCharactersToCollect [0] IMPLICIT INTEGER OPTIONAL, + terminationCharacter IA5String(SIZE(1..1)) OPTIONAL, + timeout [1] IMPLICIT INTEGER OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +DataPathDirection ::= ENUMERATED +{ computeFunctionToObject (0), + objectToComputeFunction (1), + bidirectional (2) } + +END -- of CSTA-start-data-path diff --git a/csta/CSTA-start-location-tracking-session.asn1 b/csta/CSTA-start-location-tracking-session.asn1 new file mode 100644 index 0000000..518f307 --- /dev/null +++ b/csta/CSTA-start-location-tracking-session.asn1 @@ -0,0 +1,67 @@ +CSTA-start-location-tracking-session + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) start-location-tracking-session( 536) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definitioneq + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +LocCrossRefID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) }; + +startLocationTrackingSession OPERATION ::= +{ ARGUMENT StartLocationTrackingSessionArgument + RESULT StartLocationTrackingSessionResult + ERRORS {universalFailure } + CODE local: 536} + +StartLocationTrackingSessionArgument ::= SEQUENCE +{ locDevice DeviceID, + collectionType [0] IMPLICIT CollectionType OPTIONAL, + collectionInterval [1] IMPLICIT INTEGER OPTIONAL, + maxCollections [2] IMPLICIT INTEGER OPTIONAL, + collectionFilter [3] IMPLICIT CollectionFilter OPTIONAL, + reportingType [4] IMPLICIT ReportingType OPTIONAL, + reportingInterval [5] IMPLICIT INTEGER OPTIONAL, + reportingCount [6] IMPLICIT INTEGER OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +StartLocationTrackingSessionResult ::= SEQUENCE +{ locCrossRefID LocCrossRefID, + pidProfile PIDProfile OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +CollectionType ::= ENUMERATED +{ periodic (0), + periodicWithUpdates (1), + updatesOnly (2) } + +CollectionFilter ::= SEQUENCE +{ horizontalMovement [0] IMPLICIT INTEGER OPTIONAL, + verticalMovement [1] IMPLICIT INTEGER OPTIONAL, + civicAdressChange [2] IMPLICIT INTEGER OPTIONAL } + +ReportingType ::= ENUMERATED +{ immediate (0), + periodic (1), + count (2) } + +PIDProfile ::= ENUMERATED +{ pidProfileOption1 (0), + pidProfileOption2 (1) } + +END -- of CSTA-start-location-tracking-session diff --git a/csta/CSTA-start.asn1 b/csta/CSTA-start.asn1 new file mode 100644 index 0000000..af4faba --- /dev/null +++ b/csta/CSTA-start.asn1 @@ -0,0 +1,39 @@ +CSTA-start + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) start (516) } +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ResourceID, MessageID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +ConnectionID FROM CSTA-call-connection-identifiers +{ iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; +start OPERATION ::= +{ ARGUMENT StartArgument + RESULT StartResult + ERRORS {universalFailure } + CODE local: 516} + +StartArgument ::= SEQUENCE +{ overConnection ConnectionID, + resource [0] IMPLICIT ResourceID OPTIONAL, + text [1] IMPLICIT IA5String OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +StartResult ::= SEQUENCE +{ extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-start diff --git a/csta/CSTA-started-event.asn1 b/csta/CSTA-started-event.asn1 new file mode 100644 index 0000000..39d8a28 --- /dev/null +++ b/csta/CSTA-started-event.asn1 @@ -0,0 +1,34 @@ +CSTA-started-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) started-event (526) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ResourceID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) +standard( 0) csta3( 285) device-feature-types( 127) } +ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) }; + +StartedEvent ::= SEQUENCE +{ overConnection ConnectionID, + resource [0] IMPLICIT ResourceID OPTIONAL, + cause EventCause OPTIONAL, + servicesPermitted ServicesPermitted OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-started-event diff --git a/csta/CSTA-status-reporting.asn1 b/csta/CSTA-status-reporting.asn1 new file mode 100644 index 0000000..583a427 --- /dev/null +++ b/csta/CSTA-status-reporting.asn1 @@ -0,0 +1,165 @@ +CSTA-status-reporting + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) status-reporting( 126) } + +DEFINITIONS ::= +BEGIN + +EXPORTS +MonitorObject, MonitorCrossRefID, MonitorFilter, MonitorType, +MonitorMediaClass,SnapshotCallData, SnapshotDeviceData,RegistrationTypeList,RegistrationList, +MonitorList,LocationSessionInfoList; + +IMPORTS +CallControlEvents, CallAssociatedEvents, MediaAttachmentEvents, +PhysicalDeviceFeatureEvents, LogicalDeviceFeatureEvents, +DeviceMaintenanceEvents, VoiceUnitEvents, VendorSpecEvents +FROM CSTA-application-context-information-csta3 + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) application-context-information( 200) } +ServicesPermitted, LocationInfoList, CallLinkageData FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control(130) } +CSTAObject FROM CSTA-switching-function-objects + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) switching-function-objects( 122) } +DeviceID, SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +LocalConnectionState FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +ConnectionInformation, MediaCallCharacteristics, MediaServiceType, +MediaServiceInstanceID, MediaStreamID FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) } +LocCrossRefID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) }; + +MonitorObject ::= CSTAObject + +MonitorCrossRefID ::= [APPLICATION 21] IMPLICIT OCTET STRING + +MonitorFilter ::= SEQUENCE-- default is no filter (i.e. all events) +{ callControl [0] IMPLICIT CallControlEvents DEFAULT { }, + callAssociated [6] IMPLICIT CallAssociatedEvents DEFAULT { }, + mediaAttachment [7] IMPLICIT MediaAttachmentEvents DEFAULT { }, + physicalDeviceFeature [8] IMPLICIT PhysicalDeviceFeatureEvents DEFAULT { }, + logicalDeviceFeature [9] IMPLICIT LogicalDeviceFeatureEvents DEFAULT { }, + maintenance [3] IMPLICIT DeviceMaintenanceEvents DEFAULT { }, + voiceUnit [5] IMPLICIT VoiceUnitEvents DEFAULT { }, + private [4] IMPLICIT VendorSpecEvents DEFAULT { } } + +-- setting the relevant bit requests the filter for the appropriate events + +MonitorType ::= ENUMERATED +{ call (0), + device (1) } + +MonitorList ::= SEQUENCE OF MonitorListEntry + +MonitorListEntry ::= SEQUENCE +{ monitorCrossRefID MonitorCrossRefID, + monitorObject DeviceID } + +RegistrationTypeList ::= SEQUENCE OF RegistrationType + +RegistrationType ::= ENUMERATED +{ escapeRegister (1), + ioRegister (2), + routeRegister (3), + sysStatRegister (4) } + +RegistrationList ::= SEQUENCE OF RegistrationListEntry + +RegistrationListEntry ::= SEQUENCE +{ registrationType RegistrationType, + registrationID IA5String, + registrationObject DeviceID OPTIONAL } + +LocationSessionInfoList ::= SEQUENCE OF LocationSessionListEntry + +LocationSessionListEntry ::= SEQUENCE +{ locCrossRefID LocCrossRefID, + locDevice DeviceID } + +MonitorMediaClass ::= BIT STRING +{ voice ( 0), + data ( 1), + image ( 2), + audio ( 4), + other ( 3), + notKnown ( 5), + chat ( 6), + email ( 7), + message ( 8), + im ( 9), + sms (10), + mms (11) } + +SnapshotDeviceData ::= [APPLICATION 22] IMPLICIT SEQUENCE OF SnapshotDeviceResponseInfo + +SnapshotDeviceResponseInfo ::= SEQUENCE +{ connectionIdentifier ConnectionID, + endpointDevice [3] IMPLICIT SubjectDeviceID OPTIONAL, + localCallState CallState, + servicesPermitted [0] IMPLICIT ServicesPermitted OPTIONAL, + mediaServiceInfoList [1] IMPLICIT DeviceMediaInfoList OPTIONAL, + mediaCallCharacteristics [2] IMPLICIT MediaCallCharacteristics OPTIONAL, + callLinkageData [4] IMPLICIT CallLinkageData OPTIONAL } + +DeviceMediaInfoList ::= SEQUENCE OF SEQUENCE +{ mediaStreamID MediaStreamID OPTIONAL, + connectionInformation ConnectionInformation OPTIONAL } + +SnapshotCallData ::= [APPLICATION 23] IMPLICIT SEQUENCE OF SnapshotCallResponseInfo + +SnapshotCallResponseInfo ::= SEQUENCE +{ deviceOnCall SubjectDeviceID, + callIdentifier ConnectionID OPTIONAL, + localConnectionState LocalConnectionState OPTIONAL, + servicesPermitted [0] IMPLICIT ServicesPermitted OPTIONAL, + mediaServiceInfoList [1] IMPLICIT CallMediaInfoList OPTIONAL, + locationInfo [2] IMPLICIT LocationInfoList OPTIONAL } + +CallMediaInfoList ::= SEQUENCE OF SEQUENCE +{ mediaServiceType [0] IMPLICIT MediaServiceType, + mediaServiceVersion [1] IMPLICIT INTEGER OPTIONAL, + mediaServiceInstance [2] IMPLICIT MediaServiceInstanceID OPTIONAL, + mediaStreamID [3] IMPLICIT MediaStreamID OPTIONAL, + connectionInformation [4] IMPLICIT ConnectionInformation OPTIONAL } + +CallState ::= CHOICE +{ compoundCallState [0] IMPLICIT CompoundCallState, + simpleCallState [1] IMPLICIT SimpleCallState, + unknown [2] IMPLICIT NULL } + +CompoundCallState ::= SEQUENCE OF LocalConnectionState + +SimpleCallState ::= ENUMERATED +{ callNull ( 0), -- ‘00’H - null-null + callPending ( 1), -- ‘01’H - null-initiate + callOriginated ( 3), -- ‘03’H - null-connect + callDelivered ( 35), -- ‘23’H - alerting-connect + callDeliveredHeld ( 36), -- ‘24’H - alerting-held + callReceived ( 50), -- ‘32’H - connect-alerting + callEstablished ( 51), -- ‘33’H - connect-connect + callEstablishedHeld ( 52), -- ‘34’H - connected-held + callReceivedOnHold ( 66), -- ‘42’H - held-alerting + callEstablishedOnHold ( 67), -- ‘43’H - held-connect + callQueued ( 83), -- ‘53’H - queued-connect + callQueuedHeld ( 84), -- ‘54’H - queued-held + callFailed ( 99), -- ‘63’H - failed-connect + callFailedHeld (100), -- ‘64’H - failed-held + callBlocked ( 96) } -- ‘60’H - failed-null } + + +-- This represents the main call states in a simplified encoding. The semantics +-- are identical to the sequence of connection states but they are represented by +-- an item from an enumerated list. + +END -- of CSTA-status-reporting diff --git a/csta/CSTA-stop-call-detail-records.asn1 b/csta/CSTA-stop-call-detail-records.asn1 new file mode 100644 index 0000000..638f4b0 --- /dev/null +++ b/csta/CSTA-stop-call-detail-records.asn1 @@ -0,0 +1,37 @@ +CSTA-stop-call-detail-records + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) stop-call-detail-records( 364) } +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CDRCrossRefID, CDRTermReason FROM CSTA-call-detail-record + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-detail-record( 132) }; + +stopCDRTransmission OPERATION ::= +{ ARGUMENT StopCDRTransmissionArgument + RESULT StopCDRTransmissionResult + ERRORS {universalFailure } + CODE local: 364 } + +StopCDRTransmissionArgument ::= SEQUENCE +{ cdrCrossRefID CDRCrossRefID, --corrected 06/2001 + cdrTermReason CDRTermReason OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +StopCDRTransmissionResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-stop-call-detail-records diff --git a/csta/CSTA-stop-data-collection.asn1 b/csta/CSTA-stop-data-collection.asn1 new file mode 100644 index 0000000..27cca3a --- /dev/null +++ b/csta/CSTA-stop-data-collection.asn1 @@ -0,0 +1,37 @@ +CSTA-stop-data-collection + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) stop-data-collection( 348) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +DcollCrossRefID FROM CSTA-data-collection + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) data-collection( 138) }; + +stopDataCollection OPERATION ::= +{ ARGUMENT StopDataCollectionArgument + RESULT StopDataCollectionResult + ERRORS {universalFailure } + CODE local: 348 } + +StopDataCollectionArgument ::= SEQUENCE +{ dcollCrossRefID DcollCrossRefID, + extensions CSTACommonArguments OPTIONAL } + +StopDataCollectionResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-stop-data-collection diff --git a/csta/CSTA-stop-data-path.asn1 b/csta/CSTA-stop-data-path.asn1 new file mode 100644 index 0000000..7fd7184 --- /dev/null +++ b/csta/CSTA-stop-data-path.asn1 @@ -0,0 +1,38 @@ +CSTA-stop-data-path + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) stop-data-path( 111) } +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +IOCrossRefID, IORegisterReqID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +stopDataPath OPERATION ::= +{ ARGUMENT StopDataPathArgument + RESULT StopDataPathResult + ERRORS {universalFailure } + CODE local: 111 +} + +StopDataPathArgument ::= SEQUENCE +{ ioCrossRefID IOCrossRefID, + ioRegisterReqID IORegisterReqID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +StopDataPathResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-stop-data-path diff --git a/csta/CSTA-stop-event.asn1 b/csta/CSTA-stop-event.asn1 new file mode 100644 index 0000000..2343677 --- /dev/null +++ b/csta/CSTA-stop-event.asn1 @@ -0,0 +1,40 @@ +CSTA-stop-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) stop( 78) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +MessageID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ResourceID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) +standard( 0) csta3( 285) device-feature-types( 127) } +ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) }; + +StopEvent ::= SEQUENCE +{ connection ConnectionID, + message MessageID, + resource [2] IMPLICIT ResourceID OPTIONAL, + length [0] IMPLICIT INTEGER OPTIONAL, + currentPosition [1] IMPLICIT INTEGER OPTIONAL, + cause EventCause OPTIONAL, + servicesPermitted ServicesPermitted OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-stop-event diff --git a/csta/CSTA-stop-location-tracking-session.asn1 b/csta/CSTA-stop-location-tracking-session.asn1 new file mode 100644 index 0000000..1177c72 --- /dev/null +++ b/csta/CSTA-stop-location-tracking-session.asn1 @@ -0,0 +1,43 @@ +CSTA-stop-location-tracking-session + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) stop-location-tracking-session( 537) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definitioneq + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +LocCrossRefID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) }; + +stopLocationTrackingSession OPERATION ::= +{ ARGUMENT StopLocationTrackingSessionArgument + RESULT StopLocationTrackingSessionResult + ERRORS {universalFailure } + CODE local: 537} + +StopLocationTrackingSessionArgument ::= SEQUENCE +{ locCrossRefID LocCrossRefID, + reason EventCause OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +StopLocationTrackingSessionResult ::= SEQUENCE +{ extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-stop-location-tracking-session diff --git a/csta/CSTA-stop.asn1 b/csta/CSTA-stop.asn1 new file mode 100644 index 0000000..26d1f5a --- /dev/null +++ b/csta/CSTA-stop.asn1 @@ -0,0 +1,42 @@ +CSTA-stop + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) stop( 508) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +ResourceID, MessageID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +stop OPERATION ::= +{ ARGUMENT StopArgument + RESULT StopResult + ERRORS {universalFailure } + CODE local: 508 } + +StopArgument ::= SEQUENCE +{ connection ConnectionID, + messageToBeStopped MessageID OPTIONAL, + resource [0] IMPLICIT ResourceID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +StopResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-stop diff --git a/csta/CSTA-suspend-data-collection.asn1 b/csta/CSTA-suspend-data-collection.asn1 new file mode 100644 index 0000000..437f3d0 --- /dev/null +++ b/csta/CSTA-suspend-data-collection.asn1 @@ -0,0 +1,37 @@ +CSTA-suspend-data-collection + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) suspend-data-collection( 349) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +DcollCrossRefID FROM CSTA-data-collection + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) data-collection( 138) }; + +suspendDataCollection OPERATION ::= +{ ARGUMENT SuspendDataCollectionArgument + RESULT SuspendDataCollectionResult + ERRORS {universalFailure } + CODE local: 349 } + +SuspendDataCollectionArgument ::= SEQUENCE +{ dcollCrossRefID DcollCrossRefID, + extensions CSTACommonArguments OPTIONAL } + +SuspendDataCollectionResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-suspend-data-collection diff --git a/csta/CSTA-suspend-data-path.asn1 b/csta/CSTA-suspend-data-path.asn1 new file mode 100644 index 0000000..262a7b7 --- /dev/null +++ b/csta/CSTA-suspend-data-path.asn1 @@ -0,0 +1,38 @@ +CSTA-suspend-data-path + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) suspend-data-path( 115) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +IOCrossRefID, IORegisterReqID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +suspendDataPath OPERATION ::= +{ ARGUMENT SuspendDataPathArgument + RESULT SuspendDataPathResult + ERRORS {universalFailure } + CODE local: 115 } + +SuspendDataPathArgument ::= SEQUENCE +{ ioCrossRefID IOCrossRefID, + ioRegisterReqID IORegisterReqID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SuspendDataPathResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-suspend-data-path diff --git a/csta/CSTA-suspend-location-tracking-session.asn1 b/csta/CSTA-suspend-location-tracking-session.asn1 new file mode 100644 index 0000000..5f976e3 --- /dev/null +++ b/csta/CSTA-suspend-location-tracking-session.asn1 @@ -0,0 +1,39 @@ +CSTA-suspend-location-tracking-session + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) suspend-location-tracking-session ( 538) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definitioneq + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +LocCrossRefID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) }; + +suspendLocationTrackingSession OPERATION ::= +{ ARGUMENT SuspendLocationTrackingSessionArgument + RESULT SuspendLocationTrackingSessionResult + ERRORS {universalFailure } + CODE local: 538 } + +SuspendLocationTrackingSessionArgument ::= SEQUENCE +{ locCrossRefID LocCrossRefID, + extensions CSTACommonArguments OPTIONAL } + +SuspendLocationTrackingSessionResult ::= SEQUENCE +{ extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-suspend-location-tracking-session diff --git a/csta/CSTA-suspend-play-event.asn1 b/csta/CSTA-suspend-play-event.asn1 new file mode 100644 index 0000000..43d5351 --- /dev/null +++ b/csta/CSTA-suspend-play-event.asn1 @@ -0,0 +1,40 @@ +CSTA-suspend-play-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) suspend-play( 79) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +MessageID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ResourceID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) +standard( 0) csta3( 285) device-feature-types( 127) } +ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) }; + +SuspendPlayEvent ::= SEQUENCE +{ connection ConnectionID, + message MessageID, + resource [2] IMPLICIT ResourceID OPTIONAL, + length [0] IMPLICIT INTEGER OPTIONAL, + currentPosition [1] IMPLICIT INTEGER OPTIONAL, + cause EventCause OPTIONAL, + servicesPermitted ServicesPermitted OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-suspend-play-event diff --git a/csta/CSTA-suspend-record-event.asn1 b/csta/CSTA-suspend-record-event.asn1 new file mode 100644 index 0000000..af36fa3 --- /dev/null +++ b/csta/CSTA-suspend-record-event.asn1 @@ -0,0 +1,39 @@ +CSTA-suspend-record-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) suspend-record( 80) } +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +MessageID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +ResourceID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) }; + +SuspendRecordEvent ::= SEQUENCE +{ connection ConnectionID, + message MessageID, + resource [2] IMPLICIT ResourceID OPTIONAL, + length [0] IMPLICIT INTEGER OPTIONAL, + currentPosition [1] IMPLICIT INTEGER OPTIONAL, + cause EventCause OPTIONAL, + servicesPermitted ServicesPermitted OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-suspend-record-event diff --git a/csta/CSTA-suspend.asn1 b/csta/CSTA-suspend.asn1 new file mode 100644 index 0000000..82a014e --- /dev/null +++ b/csta/CSTA-suspend.asn1 @@ -0,0 +1,42 @@ +CSTA-suspend + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) suspend( 509) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +ResourceID, MessageID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +suspend OPERATION ::= +{ ARGUMENT SuspendArgument + RESULT SuspendResult + ERRORS {universalFailure } + CODE local: 509 } + +SuspendArgument ::= SEQUENCE +{ connection ConnectionID, + message MessageID OPTIONAL, --corrected 06/2001 + resource [0] IMPLICIT ResourceID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SuspendResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-suspend diff --git a/csta/CSTA-switching-function-capabilities-changed.asn1 b/csta/CSTA-switching-function-capabilities-changed.asn1 new file mode 100644 index 0000000..9281a2c --- /dev/null +++ b/csta/CSTA-switching-function-capabilities-changed.asn1 @@ -0,0 +1,37 @@ +CSTA-switching-function-capabilities-changed + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) switching-function-capabilities-changed( 212) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +SysStatRegisterID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +swFunctionCapsChanged OPERATION ::= +{ ARGUMENT SwFunctionCapsChangedArg + RESULT SwFunctionCapsChangedRes + ERRORS {universalFailure } + CODE local: 212 } + +SwFunctionCapsChangedArg ::= SEQUENCE +{ sysStatRegisterID SysStatRegisterID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SwFunctionCapsChangedRes ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-switching-function-capabilities-changed diff --git a/csta/CSTA-switching-function-devices-changed.asn1 b/csta/CSTA-switching-function-devices-changed.asn1 new file mode 100644 index 0000000..a948d91 --- /dev/null +++ b/csta/CSTA-switching-function-devices-changed.asn1 @@ -0,0 +1,37 @@ +CSTA-switching-function-devices-changed + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) switching-function-devices-changed( 213) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +SysStatRegisterID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +swFunctionDevicesChanged OPERATION ::= +{ ARGUMENT SwFunctionDevicesChangedArg + RESULT SwFunctionDevicesChangedRes + ERRORS {universalFailure } + CODE local: 213 } + +SwFunctionDevicesChangedArg ::= SEQUENCE +{ sysStatRegisterID SysStatRegisterID OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SwFunctionDevicesChangedRes ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-switching-function-devices-changed diff --git a/csta/CSTA-switching-function-devices.asn1 b/csta/CSTA-switching-function-devices.asn1 new file mode 100644 index 0000000..1937fff --- /dev/null +++ b/csta/CSTA-switching-function-devices.asn1 @@ -0,0 +1,53 @@ +CSTA-switching-function-devices +{ iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) switching-function-devices( 205) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ServiceCrossRefID, DeviceCategory, NamedDeviceTypes FROM CSTA-capability-exchange + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) capability-exchange( 131) }; + +switchingFunctionDevices OPERATION ::= +{ ARGUMENT SwitchingFunctionDevicesArgument + ERRORS {universalFailure } + CODE local:205 } + +SwitchingFunctionDevicesArgument ::= SEQUENCE +{ serviceCrossRefID ServiceCrossRefID, + segmentID INTEGER OPTIONAL, + lastSegment BOOLEAN, + deviceList DeviceList, + extensions CSTACommonArguments OPTIONAL } + +DeviceList ::= SEQUENCE OF SEQUENCE +{ deviceID DeviceID, + deviceCategory [0] IMPLICIT DeviceCategory DEFAULT station, + namedDeviceTypes [1] IMPLICIT NamedDeviceTypes OPTIONAL, + deviceAttributes DeviceAttributes OPTIONAL, + deviceModelName IA5String (SIZE(0..64)) OPTIONAL, + nidGroup DeviceID OPTIONAL } + +DeviceAttributes ::= BIT STRING +{ mediaAccessDevice ( 0), + routeingDevice ( 1), + groupACD ( 2), + groupHunt ( 3), + groupPick ( 4) } + +END -- of CSTA-switching-function-devices diff --git a/csta/CSTA-switching-function-objects.asn1 b/csta/CSTA-switching-function-objects.asn1 new file mode 100644 index 0000000..0aa2ab5 --- /dev/null +++ b/csta/CSTA-switching-function-objects.asn1 @@ -0,0 +1,22 @@ +CSTA-switching-function-objects + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) switching-function-objects( 122) } +DEFINITIONS ::= +BEGIN + +EXPORTS +CSTAObject; + +IMPORTS +DeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) }; + +CSTAObject ::= CHOICE +{ deviceObject DeviceID, + callObject ConnectionID } + +END -- of CSTA-switching-function-objects diff --git a/csta/CSTA-synthesize-message.asn1 b/csta/CSTA-synthesize-message.asn1 new file mode 100644 index 0000000..a7cf4be --- /dev/null +++ b/csta/CSTA-synthesize-message.asn1 @@ -0,0 +1,38 @@ +CSTA-synthesize-message + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) synthesize-message( 510) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ControlData, MessageID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +synthesizeMessage OPERATION ::= +{ ARGUMENT SynthesizeMessageArgument + RESULT SynthesizeMessageResult + ERRORS {universalFailure } + CODE local: 510 } + +SynthesizeMessageArgument ::= SEQUENCE +{ textToBeSynthesized IA5String, + control ControlData OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SynthesizeMessageResult ::= SEQUENCE +{ synthesizedMessage MessageID, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-synthesize-message diff --git a/csta/CSTA-system-register-abort.asn1 b/csta/CSTA-system-register-abort.asn1 new file mode 100644 index 0000000..3e3ab6d --- /dev/null +++ b/csta/CSTA-system-register-abort.asn1 @@ -0,0 +1,35 @@ +CSTA-system-register-abort + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) system-register-abort( 208) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } + +SysStatRegisterID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } + +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +systemRegisterAbort OPERATION ::= +{ ARGUMENT SystemRegisterAbortArgument + ERRORS {universalFailure } + ALWAYS RESPONDS FALSE + CODE local: 208 } + +SystemRegisterAbortArgument ::= SEQUENCE +{ sysStatRegisterID SysStatRegisterID, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-system-register-abort diff --git a/csta/CSTA-system-register-cancel.asn1 b/csta/CSTA-system-register-cancel.asn1 new file mode 100644 index 0000000..8640b06 --- /dev/null +++ b/csta/CSTA-system-register-cancel.asn1 @@ -0,0 +1,37 @@ +CSTA-system-register-cancel + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) system-register-cancel( 209) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +SysStatRegisterID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +systemRegisterCancel OPERATION ::= +{ ARGUMENT SystemRegisterCancelArgument + RESULT SystemRegisterCancelResult + ERRORS {universalFailure } + CODE local: 209 } + +SystemRegisterCancelArgument ::= SEQUENCE +{ sysStatRegisterID SysStatRegisterID, + extensions CSTACommonArguments OPTIONAL } + +SystemRegisterCancelResult ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-system-register-cancel diff --git a/csta/CSTA-system-register.asn1 b/csta/CSTA-system-register.asn1 new file mode 100644 index 0000000..4a7e85e --- /dev/null +++ b/csta/CSTA-system-register.asn1 @@ -0,0 +1,56 @@ +CSTA-system-register + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) system-register( 207) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +SysStatRegisterID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +systemRegister OPERATION ::= +{ ARGUMENT SystemRegisterArgument + RESULT SystemRegisterResult + ERRORS {universalFailure } + CODE local: 207 } + +SystemRegisterArgument ::= SEQUENCE +{ requestTypes RequestTypes, + requestedStatusFilter StatusFilter OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +SystemRegisterResult ::= SEQUENCE +{ sysStatRegisterID SysStatRegisterID, + actualStatusFilter StatusFilter OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +StatusFilter ::= BIT STRING +{ initializing ( 0), + enabled ( 1), + normal ( 2), + messageLost ( 3), + disabled ( 4), + partiallyDisabled ( 5), + overloadImminent ( 6), + overloadReached ( 7), + overloadRelieved ( 8) } + +RequestTypes ::= BIT STRING +{ systemStatus ( 0), + requestSystemStatus ( 1), + switchingFunctionCapsChanged ( 2), + switchingFunctionDevicesChanged ( 3) } + +END -- of CSTA-system-register diff --git a/csta/CSTA-system-status.asn1 b/csta/CSTA-system-status.asn1 new file mode 100644 index 0000000..5ffca4f --- /dev/null +++ b/csta/CSTA-system-status.asn1 @@ -0,0 +1,38 @@ +CSTA-system-status + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) system-status( 211) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types -- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +SysStatRegisterID, SystemStatus FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) }; + +systemStatus OPERATION ::= +{ ARGUMENT SystemStatusArg + RESULT SystemStatusRes + ERRORS {universalFailure } + CODE local: 211 } + +SystemStatusArg ::= SEQUENCE +{ sysStatRegisterID SysStatRegisterID OPTIONAL, + systemStatus SystemStatus, + extensions CSTACommonArguments OPTIONAL } + +SystemStatusRes ::= CHOICE +{ extensions CSTACommonArguments, + noData NULL } + +END -- of CSTA-system-status diff --git a/csta/CSTA-telephony-tones-generated-event.asn1 b/csta/CSTA-telephony-tones-generated-event.asn1 new file mode 100644 index 0000000..be1fda9 --- /dev/null +++ b/csta/CSTA-telephony-tones-generated-event.asn1 @@ -0,0 +1,34 @@ +CSTA-telephony-tones-generated-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) telephony-tones-generated-event( 242) } + +DEFINITIONS ::= + +BEGIN + +IMPORTS + +-- Data Types -- +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +TelephonyTone FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ConnectionInformation FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +TelephonyTonesGeneratedEvent ::= SEQUENCE +{ connection ConnectionID, + toneGenerated TelephonyTone OPTIONAL, + toneFrequency [0] IMPLICIT INTEGER OPTIONAL, + toneDuration [1] IMPLICIT INTEGER OPTIONAL, + pauseDuration [2] IMPLICIT INTEGER OPTIONAL, + connectionInfo ConnectionInformation OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-telephony-tones-generated-event diff --git a/csta/CSTA-transfer-call.asn1 b/csta/CSTA-transfer-call.asn1 new file mode 100644 index 0000000..610d95a --- /dev/null +++ b/csta/CSTA-transfer-call.asn1 @@ -0,0 +1,49 @@ +CSTA-transfer-call + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) transfer-call( 16) } + +DEFINITIONS ::= +BEGIN + +IMPORTS +OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) } + +-- Data Types –- +universalFailure FROM CSTA-error-definition + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) error-definition( 120) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +ConnectionList FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +CallLinkageDataList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ConnectionInformation FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; +transferCall OPERATION ::= +{ ARGUMENT TransferCallArgument + RESULT TransferCallResult + ERRORS {universalFailure } + CODE local: 16 } + +TransferCallArgument ::= SEQUENCE +{ heldCall ConnectionID, + activeCall ConnectionID, + extensions CSTACommonArguments OPTIONAL } + +TransferCallResult ::= SEQUENCE +{ transferredCall ConnectionID, + connections [0] IMPLICIT ConnectionList OPTIONAL, + transferredCallInfo [1] IMPLICIT ConnectionInformation OPTIONAL, + callLinkageDataList [2] IMPLICIT CallLinkageDataList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-transfer-call diff --git a/csta/CSTA-transferred-event.asn1 b/csta/CSTA-transferred-event.asn1 new file mode 100644 index 0000000..c5d34bb --- /dev/null +++ b/csta/CSTA-transferred-event.asn1 @@ -0,0 +1,65 @@ +CSTA-transferred-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) transferred-event( 35) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +SubjectDeviceID FROM CSTA-device-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-identifiers( 123) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +LocalConnectionState, ConnectionList FROM CSTA-connection-states + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) connection-states( 125) } +CorrelatorData, UserData FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +CallCharacteristics, CallLinkageDataList, ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +ChargingInfo FROM CSTA-charge-info + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) charge-info( 133) } +LocationInfoList FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +LanguagePreferences, DeviceHistory FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +ConnectionInformation, MediaCallCharacteristics FROM CSTA-media-services + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) media-services( 136) }; + +TransferredEvent ::= SEQUENCE +{ primaryOldCall ConnectionID, + secondaryOldCall [ 0] IMPLICIT ConnectionID OPTIONAL, + transferringDevice SubjectDeviceID, + transferredToDevice SubjectDeviceID, + transferredConnections [ 1] IMPLICIT ConnectionList, + localConnectionInfo LocalConnectionState OPTIONAL, + correlatorData [ 2] IMPLICIT CorrelatorData OPTIONAL, + userData UserData OPTIONAL, + chargingInfo [ 3] IMPLICIT ChargingInfo OPTIONAL, + cause EventCause, + servicesPermitted [ 4] IMPLICIT ServicesPermitted OPTIONAL, + mediaCallCharacteristics [ 5] IMPLICIT MediaCallCharacteristics OPTIONAL, + callCharacteristics [ 6] IMPLICIT CallCharacteristics OPTIONAL, + callLinkageDataList [ 7] IMPLICIT CallLinkageDataList OPTIONAL, + languagePreferences [ 8] IMPLICIT LanguagePreferences OPTIONAL, + deviceHistory [ 9] IMPLICIT DeviceHistory OPTIONAL, + locationInfo [10] IMPLICIT LocationInfoList OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-transferred-event diff --git a/csta/CSTA-voice-attributes-change-event.asn1 b/csta/CSTA-voice-attributes-change-event.asn1 new file mode 100644 index 0000000..58c8c0b --- /dev/null +++ b/csta/CSTA-voice-attributes-change-event.asn1 @@ -0,0 +1,61 @@ +CSTA-voice-attributes-change-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) voice-attributes-change-event( 74) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +MessageID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) device-feature-types( 127) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) } +ResourceID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) +standard( 0) csta3( 285) device-feature-types( 127) } +Volume FROM CSTA-physical-device-feature + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) physical-device-feature( 137) }; + +VoiceAttributesChangeEvent ::= SEQUENCE +{ connection ConnectionID, + resource [ 4] IMPLICIT ResourceID OPTIONAL, + message MessageID, + playVolume [ 0] Volume OPTIONAL, + recordingGain [ 1] IMPLICIT INTEGER (0 .. 100) OPTIONAL, + speed [ 2] IMPLICIT INTEGER OPTIONAL, + currentPosition [ 3] IMPLICIT INTEGER OPTIONAL, + grammars [ 5] IMPLICIT IA5String OPTIONAL, + language [ 6] IMPLICIT IA5String OPTIONAL, + mode [ 7] IMPLICIT ENUMERATED + { automatic (0), + single (1), + multiple (2) } OPTIONAL, + retainAudio [ 8] IMPLICIT BOOLEAN OPTIONAL, + silenceTimeout [ 9] IMPLICIT INTEGER OPTIONAL, + maxTimeout [10] IMPLICIT INTEGER OPTIONAL, + babbleTimeout [11] IMPLICIT INTEGER OPTIONAL, + endSilence [12] IMPLICIT INTEGER OPTIONAL, + rejectionThreshold [13] IMPLICIT INTEGER OPTIONAL, + autoInterruptible [14] IMPLICIT BOOLEAN OPTIONAL, + innerXML [15] IMPLICIT IA5String OPTIONAL, + interDigitTimeout [16] IMPLICIT INTEGER OPTIONAL, + preflush [17] IMPLICIT BOOLEAN OPTIONAL, + cause EventCause OPTIONAL, + servicesPermitted ServicesPermitted OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-voice-attributes-change-event diff --git a/csta/CSTA-voice-error-occured-event.asn1 b/csta/CSTA-voice-error-occured-event.asn1 new file mode 100644 index 0000000..5f5d2bf --- /dev/null +++ b/csta/CSTA-voice-error-occured-event.asn1 @@ -0,0 +1,34 @@ +CSTA-voice-error-occured-event + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) voice-error-occured-event (527) } + +DEFINITIONS ::= +BEGIN + +IMPORTS + +-- Data Types -- +EventCause FROM CSTA-event-causes + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) event-causes( 121) } +ConnectionID FROM CSTA-call-connection-identifiers + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-connection-identifiers( 124) } +CSTACommonArguments FROM CSTA-extension-types + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) extension-types( 129) } +ResourceID FROM CSTA-device-feature-types + { iso( 1) identified-organization( 3) icd-ecma( 12) +standard( 0) csta3( 285) device-feature-types( 127) } +ServicesPermitted FROM CSTA-call-control + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) call-control( 130) }; + +VoiceErrorOccuredEvent ::=SEQUENCE +{ overConnection ConnectionID, + resource [0] IMPLICIT ResourceID OPTIONAL, + cause EventCause OPTIONAL, + servicesPermitted ServicesPermitted OPTIONAL, + extensions CSTACommonArguments OPTIONAL } + +END -- of CSTA-voice-error-occured-event diff --git a/kme/CSTA-application-context-information-csta3.asn1 b/kme/CSTA-application-context-information-csta3.asn1 new file mode 100644 index 0000000..4d37977 --- /dev/null +++ b/kme/CSTA-application-context-information-csta3.asn1 @@ -0,0 +1,374 @@ +CSTA-application-context-information-csta3 + { iso( 1) identified-organization( 3) icd-ecma( 12) + standard( 0) csta3( 285) application-context-information( 200) } + +DEFINITIONS ::= +BEGIN + +CSTAFunctionality ::= SEQUENCE + {switchingFunctionServices [0] IMPLICIT SwitchingFunctionServicesC2 DEFAULT {}, + eventReportServices [1] IMPLICIT EventReportServicesC2 DEFAULT {}, + computingFunctionServices [2] IMPLICIT ComputingFunctionServicesC2 DEFAULT {}, + bidirectionalServices [3] IMPLICIT BidirectionalServicesC2 DEFAULT {}, + statusReportingServices [4] IMPLICIT StatusReportingServicesC2 DEFAULT {}, + inputOutputServices [5] IMPLICIT InputOutputServicesC2 DEFAULT {}, + voiceUnitServices [6] IMPLICIT VoiceUnitServicesC2 DEFAULT {} } + +SwitchingFunctionServicesC2 ::= BIT STRING + {alternateCall (0), + answerCall (1), + associateData (2), + callCompletion (3), + clearCall (4), + clearConnection (5), + conferenceCall (6), + consultationCall (7), + divertCall (8), + holdCall (9), + makeCall (10), + makePredictiveCall (11), + parkCall (12), + queryDevice (13), + reconnectCall (14), + retrieveCall (15), + sendDTMFTones (16), + setFeature (17), + singleStepConference (18), + singleStepTransfer (19), + transferCall (20) } + +EventReportServicesC2 ::= BIT STRING + { + + -- Call events + + callCleared (0), + conferenced (1), + connectionCleared (2), + delivered (3), + diverted (4), + established (5), + failed (6), + held (7), + networkReached (8), + originated (9), + queued (10), + retrieved (11), + serviceInitiated (12), + transferred (13), + + -- Feature events + + autoAnswer (14), + callInformation (15), + doNotDisturb (16), + forwarding (17), + messageWaiting (18), + microphoneMute (19), + speakerMute (20), + speakerVolume (21), + + -- Agent state events + + agentBusy (22), + loggedOn (23), + loggedOff (24), + notReady (25), + ready (26), + workingAfterCall (27), + + -- Maintenance events + + backInService (28), + outOfServiceEvent (29), + + -- Private events + + privateEvent (30), + + -- Voice unit events + + playEvent (31), + recordEvent (32), + reviewEvent (33), + stopEvent (34), + suspendPlayEvent (35), + suspendRecordEvent (36), + voiceAttributesChangeEvent (37) } + +ComputingFunctionServicesC2 ::= BIT STRING + {routeRequest (0), + reRouteRequest (1), + routeSelectRequest (2), + routeUsedRequest (3), + routeEndRequest (4) } + +BidirectionalServicesC2 ::= BIT STRING + {escapeService (0), + systemStatus (1) } + +StatusReportingServicesC2 ::= BIT STRING + {monitorStart (0), + changeMonitorFilter (1), + monitorStop (2), + snapshotDevice (3), + snapshotCall (4) } + +InputOutputServicesC2 ::= BIT STRING + {startDataPathService (0), + stopDataPathService (1), + sendDataService (2), + sendMulticastDataService (3), + sendBroadcastDataService (4), + suspendDataPathService (5), + dataPathSuspendedService (6), + resumeDataPath (7), + dataPathResumedService (8), + fastData (9) } + +VoiceUnitServicesC2 ::= BIT STRING + {concatenateMessage (0), + deleteMessage (1), + playMessage (2), + queryVoiceAttribute (3), + recordMessage (4), + reposition (5), + resume (6), + review (7), + setVoiceAttribute (8), + stop (9), + suspend (10), + synthesizeMessage (11) } + + +ACSEUserInformationForCSTA ::= CHOICE +{ oldDefinition OldACSEUserInformationForCSTA, + newDefinition [0] IMPLICIT NewACSEUserInformationForCSTA } + + +OldACSEUserInformationForCSTA ::= SEQUENCE +{ cSTAVersion CSTAVersion, + cSTAFunctionsRequiredByApplication CSTAFunctionality, + cSTAFunctionsThatCanBeSupplied CSTAFunctionality } + + +NewACSEUserInformationForCSTA ::= SEQUENCE +{ cSTAVersion CSTAVersion, +-- +-- Note that the following two parameters are defined in ECMA-218 (CSTA Phase II). +-- They are defined in the context of CSTA Phase II Services and Events for +-- backward compatibility considerations. +-- For CSTA Phase III (and later), implementations should use CSTA Capability Exchange Services +-- to determine the Services and Events supported by a switching function. +-- + cSTAFunctionsRequiredByApplication [0] IMPLICIT CSTAFunctionality OPTIONAL, + cSTAFunctionsThatCanBeSupplied [1] IMPLICIT CSTAFunctionality OPTIONAL, + cSTAPrivateDataVersionList [2] IMPLICIT CSTAPrivateDataVersionList OPTIONAL } + + +CSTAPrivateDataVersionList ::= SEQUENCE OF INTEGER + + +CSTAVersion ::= BIT STRING +{ versionOne ( 0), -- ECMA-180 + versionTwo ( 1), -- ECMA-218 + versionThree ( 2), -- ECMA-285, 1st Edition + versionFour ( 3), -- ISO/IEC 18052 + versionFive ( 4), -- ECMA-285, 2nd Edition + versionSix ( 5), -- ECMA-323 + versionSeven ( 6), -- ECMA-323, 2nd Edition + versionEight ( 7), -- ECMA-323, 3rd Edition + versionNine ( 8), -- ECMA-323, 4th Edition, Tag option + versionTen ( 9), -- ECMA-323, 4th Edition, short Tag option + versionEleven (10), -- ECMA-323, 4th Edition, dynamic transformation option + versionTwelve (11), -- ECMA-323, 5th Edition, Tag option + versionThirteen (12), -- ECMA-323, 5th Edition, short Tag option + versionFourteen (13), -- ECMA-323, 5th Edition, dynamic transformation option + versionFifteen (14), -- ECMA-285, 3rd Edition + versionSixteen (15), -- ECMA-323, 6th Edition, Tag option + versionSeventeen (16), -- ECMA-323, 6th Edition, short Tag option + versionEighteen (17), -- ECMA-323, 6th Edition, dynamic transformation option + versionNineteen (18), -- ECMA-285, 4th Edition + versionTwenty (19), -- Reserved for future use + versionTwentyone (20), -- Reserved for future use + versionTwentytwo (21), -- Reserved for future use + versionTwentythree (22), -- Reserved for future use + versionTwentyfour (23) } -- Reserved for future use + + +CallControlServices ::= BIT STRING +{ acceptCall ( 0), + alternateCall ( 1), + answerCall ( 2), + callBack ( 3), + callBackMessage ( 4), + campOnCall ( 5), + clearCall ( 6), + clearConnection ( 7), + conferenceCall ( 8), + consultationCall ( 9), + deflectCall (10), + dialDigits (11), + directedPickupCall (12), + groupPickupCall (13), + holdCall (14), + intrudeCall (15), + joinCall (16), + makeCall (17), + makeConnection (25), + makePredictiveCall (18), + parkCall (19), + reconnectCall (20), + retrieveCall (21), + sendMessage (26), + singleStepConference (22), + singleStepTransfer (23), + transferCall (24) } + + +CallAssociatedServices ::= BIT STRING +{ associateData ( 0), + cancelTelephonyTones ( 1), + changeConnectionInformation ( 5), + generateDigits ( 2), + generateTelephonyTones ( 3), + sendUserInformation ( 4) } + + +MediaAttachmentServices ::= BIT STRING +{ attachMediaService ( 0), + detachMediaService ( 1) } + + +RouteingServices ::= BIT STRING +{ routeRegister ( 0), + routeRegisterCancel ( 1), + routeRegisterAbort ( 2), + reroute ( 3), + routeEnd ( 4), + routeReject ( 5), + routeRequest ( 6), + routeSelect ( 7), + routeUsed ( 8) } + + +VoiceUnitServices ::= BIT STRING +{ activate (12), + clear (13), + concatenateMessage ( 0), + deactivate (14), + deleteMessage ( 1), + playMessage ( 2), + queryVoiceAttribute ( 3), + recordMessage ( 4), + reposition ( 5), + resume ( 6), + review ( 7), + setVoiceAttribute ( 8), + stop ( 9), + suspend (10), + synthesizeMessage (11) } + +LocationServices ::= BIT STRING +{ getLocationInformation ( 0), + setLocationInformation ( 1), + locationTrackkingSessionResumed ( 2), + locationTrackkingSessionSuspended ( 3), + resumeLocationTrackingSession ( 4), + locationInformationReport ( 5), + startLocationTrackingSession ( 6), + stopLocationTrackingSession ( 7), + suspendLocationTrackingCapabilities ( 8), + locationSessionInfo ( 9) } + +CallControlEvents ::= BIT STRING +{ bridged (15), + callCleared ( 0), + conferenced ( 1), + connectionCleared ( 2), + delivered ( 3), + digitsDialed (14), + diverted ( 4), + established ( 5), + failed ( 6), + held ( 7), + networkCapabilitiesChanged (16), + networkReached ( 8), + offered (17), + originated ( 9), + queued (10), + retrieved (11), + serviceInitiated (12), + transferred (13) } + +CallAssociatedEvents ::= BIT STRING +{ callInformation ( 0), + charging ( 1), + dTMFDigitsDetected ( 2), + telephonyTonesDetected ( 3), + serviceCompletionFailure ( 4) } + +MediaAttachmentEvents ::= BIT STRING +{ mediaAttached ( 0), + mediaDetached ( 1) } + +PhysicalDeviceFeatureEvents ::= BIT STRING +{ buttonInformation ( 0), + buttonPress ( 1), + displayUpdated ( 2), + hookswitch ( 3), + lampMode ( 4), + messageWaiting ( 5), + microphoneGain ( 6), + microphoneMute ( 7), + ringerStatus ( 8), + speakerMute ( 9), + speakerVolume (10) } + +LogicalDeviceFeatureEvents ::= BIT STRING +{ agentBusy ( 0), + agentLoggedOn ( 1), + agentLoggedOff ( 2), + agentNotReady ( 3), + agentReady ( 4), + agentWorkingAfterCall ( 5), + autoAnswer ( 6), + autoWorkMode ( 7), + callBack ( 8), + callBackMessage ( 9), + callerIDStatus (10), + doNotDisturb (11), + forwarding (12), + presenceState (14), + routeingMode (13) } + +DeviceMaintenanceEvents ::= BIT STRING +{ backInService ( 0), + deviceCapabilityChanged ( 2), + outOfService ( 1), + partiallyInService ( 3) } + +VoiceUnitEvents ::= BIT STRING +{ bookmarkReached ( 7), + completed ( 8), + dtmfDetected ( 9), + emptied (10), + interruptionDetected (11), + notRecognized (12), + play ( 1), + recognized (13), + record ( 3), + review ( 5), + started (14), + silenceTimeoutExpired (15), + speechDetected (16), + stop ( 0), + suspendPlay ( 2), + suspendRecord ( 4), + voiceAttributesChange ( 6), + voiceErrorOccured (17) } + +VendorSpecEvents::= BIT STRING +{ privateEvent (0) } + +END -- of CSTA-application-context-information-csta3 diff --git a/kme/KME-specific-types.asn1 b/kme/KME-specific-types.asn1 new file mode 100644 index 0000000..6566c44 --- /dev/null +++ b/kme/KME-specific-types.asn1 @@ -0,0 +1,1278 @@ +------------------------------------------------------------------------------ +-- Panasonic Specific Data Types for CSTA Phase III +-- Version: 4.6 (for TDA 600 V4.0) +-- Date: 2008/04/01 +-- Copyright Panasonic Communications Co.,Ltd. +-- Office Network Company +------------------------------------------------------------------------------ + +KME-specific-types { + iso(1) identified-organization(3) icd-ecma(12) + member-company(2) panasonic(1019) kme(1) telecom(1) pbx(1) software(1) tda-types(1) +} + +DEFINITIONS ::= +BEGIN + +EXPORTS +KMESpecificPrivateData; + +IMPORTS +DeviceID, SubjectDeviceID FROM CSTA-device-identifiers { + iso(1) identified-organization(3) icd-ecma(12) + standard(0) csta3(285) device-identifiers(123) +} +ConnectionID, CallID FROM CSTA-call-connection-identifiers { + iso(1) identified-organization(3) icd-ecma(12) + standard(0) csta3(285) call-connection-identifiers(124) +} +AccountInfo FROM CSTA-device-feature-types { + iso(1) identified-organization(3) icd-ecma(12) + standard(0) csta3(285) device-feature-types(127) +} +ForwardList FROM CSTA-device-feature-types { + iso(1) identified-organization(3) icd-ecma(12) + standard(0) csta3(285) device-feature-types(127) +} +EventCause FROM CSTA-event-causes { + iso(1) identified-organization(3) icd-ecma(12) + standard(0) csta3(285) event-causes(121) +} +LocalConnectionState FROM CSTA-connection-states { + iso(1) identified-organization(3) icd-ecma(12) + standard(0) csta3(285) connection-states(125) +} +DeviceCategory FROM CSTA-capability-exchange { + iso(1) identified-organization(3) icd-ecma(12) + standard(0) csta3(285) capability-exchange(131) +} +ReqDeviceCategory FROM CSTA-get-switching-function-devices { + iso(1) identified-organization(3) icd-ecma(12) + standard(0) csta3(285) get-switching-function-devices(204) +} +ServiceCrossRefID FROM CSTA-capability-exchange { + iso(1) identified-organization(3) icd-ecma(12) + standard(0) csta3(285) capability-exchange(131) +} +ButtonID FROM CSTA-physical-device-feature { + iso(1) identified-organization(3) icd-ecma(12) + standard(0) csta3(285) physical-device-feature(137) +}; + +KmeDeviceLock ::= ENUMERATED { + lock (0), + unlock (1) +} + +KmeTimeStamp ::= GeneralizedTime + +KmeSpeedDialRequest ::= SEQUENCE { + startSerialNo INTEGER(0..999), + number INTEGER(1..1000), -- Currently 0..50 + tenantNo [0] INTEGER OPTIONAL -- TDA600V4.0 +} + +KmeSpeedDial ::= SEQUENCE OF SEQUENCE { + serialNumber [0] INTEGER(0..999), + registeredDigits [1] IA5String(SIZE(1..32)) OPTIONAL, + callerName [2] CHOICE { + single [0] OCTET STRING(SIZE(1..20)), + wide [1] OCTET STRING(SIZE(1..40)) + } OPTIONAL +} + +KmeWakeUpTime ::= SEQUENCE { + hour [0] IA5String(SIZE(2)), + minute [1] IA5String(SIZE(2)) +} + +KmeWakeUpSchedule ::= ENUMERATED { + noSchedule (0), + once (1), + everyday (2) +} + +KmeWakeUpInfo ::= SEQUENCE { + time [0] KmeWakeUpTime OPTIONAL, + schedule [1] KmeWakeUpSchedule +} + +KmeWakeupState ::= ENUMERATED { + answered (0), + noAnswer (1) +} + +-- 2002/10/29 Changed +KmeAbsentMessage ::= CHOICE { + single [0] OCTET STRING(SIZE(0..16)), + wide [1] OCTET STRING(SIZE(0..32)) +} + +KmeDnMode ::= ENUMERATED { + day (0), + lunch (1), + break (2), + night (3) +} + +KmeDayNightMode ::= SEQUENCE OF SEQUENCE { + tenantNo [0] INTEGER, + mode [1] KmeDnMode +} + +KmeOgmPlayState ::= ENUMERATED { + started (0), + ended (1) +} + +KmeForwardType ::= ENUMERATED { + forwardImmediate (0), + forwardBusy (1), + forwardNoAns (2), + forwardDND (9), + forwardBusyInt (3), + forwardBusyExt (4), + forwardNoAnsInt (5), + forwardNoAnsExt (6), + forwardImmInt (7), + forwardImmExt (8), + forwardDNDInt (10), + forwardDNDExt (11), + forwardBusyNoAnswer (12), -- KmeProprietary + forwardBusyNoAnswerInt (13), -- KmeProprietary + forwardBusyNoAnswerExt (14) -- KmeProprietary +} + +KmeSetForwardInfo ::= SEQUENCE { + forwardingType [0] KmeForwardType, + activateForward [1] BOOLEAN, + forwardDN [2] DeviceID OPTIONAL +} + +KmeFeatureList ::= SEQUENCE OF SEQUENCE { + featureNo [0] INTEGER, + featureDigits [1] IA5String(SIZE(1..6)) OPTIONAL +} + +KmeExtGroupEntry ::= SEQUENCE { + device [0] DeviceID, -- ext. number + name [1] CHOICE { + single [0] OCTET STRING(SIZE(1..20)), + wide [1] OCTET STRING(SIZE(1..40)) + } OPTIONAL, + devNumber [2] DeviceID, -- device number + cabinetNO [3] INTEGER OPTIONAL, + psNo [4] IA5String(SIZE(1..3)) OPTIONAL, + numberOfBch [5] INTEGER OPTIONAL +} + +KmeTrkGroupEntry ::= SEQUENCE { + device [0] DeviceID, -- device number + name [1] CHOICE { + single [0] OCTET STRING(SIZE(1..20)), + wide [1] OCTET STRING(SIZE(1..40)) + } OPTIONAL, + coNo [2] IA5String(SIZE(1..3)), + cabinetNO [3] INTEGER OPTIONAL +} + +KmeExtMembers ::= SEQUENCE { + groupNo [0] IMPLICIT INTEGER, + members [1] IMPLICIT SEQUENCE OF KmeExtGroupEntry +} + +KmeTrkMembers ::= SEQUENCE { + groupNo [0] IMPLICIT INTEGER, + members [1] IMPLICIT SEQUENCE OF KmeTrkGroupEntry +} + +KmeExtTrkGroupList ::= SEQUENCE OF SEQUENCE { + groupNo [0] INTEGER, + name [1] CHOICE { + single [0] OCTET STRING(SIZE(1..20)), + wide [1] OCTET STRING(SIZE(1..40)) + } OPTIONAL, + tenantNo [2] INTEGER OPTIONAL +} + +KmeGroupMembers ::= BIT STRING { + one (0), + two (1), + three (2), + four (3), + five (4), + six (5), + seven (6), + eight (7), + nine (8), + ten (9), + eleven (10), + twelve (11), + thirteen (12), + fourteen (13), + fifteen (14), + sixteen (15), + seventeen (16), + eighteen (17), + nineteen (18), + twenty (19), + twentyOne (20), + twentyTwo (21), + twentyThree (22), + twentyFour (23), + twentyFive (24), + twentySix (25), + twentySeven (26), + twentyEight (27), + twentyNine (28), + thirty (29), + thirtyOne (30), + thirtyTwo (31), + thirtyThree (32), + thirtyFour (33), + thirtyFive (34), + thirtySix (35), + thirtySeven (36), + thirtyEight (37), + thirtyNine (38), + fourty (39), + fourtyOne (40), + fourtyTwo (41), + fourtyThree (42), + fourtyFour (43), + fourtyFive (44), + fourtySix (45), + fourtySeven (46), + fourtyEight (47), + fourtyNine (48), + fifty (49), + fiftyOne (50), + fiftyTwo (51), + fiftyThree (52), + fiftyFour (53), + fiftyFive (54), + fiftySix (55), + fiftySeven (56), + fiftyEight (57), + fiftyNine (58), + sixty (59), + sixtyOne (60), + sixtyTwo (61), + sixtyThree (62), + sixtyFour (63), + sixtyFive (64), + sixtySix (65), + sixtySeven (66), + sixtyEight (67), + sixtyNine (68), + seventy (69), + seventyOne (70), + seventyTwo (71), + seventyThree (72), + seventyFour (73), + seventyFive (74), + seventySix (75), + seventySeven (76), + seventyEight (77), + seventyNine (78), + eighty (79), + eightyOne (80), + eightyTwo (81), + eightyThree (82), + eightyFour (83), + eightyFive (84), + eightySix (85), + eightySeven (86), + eightyEight (87), + eightyNine (88), + ninety (89), + ninetyOne (90), + ninetyTwo (91), + ninetyThree (92), + ninetyFour (93), + ninetyFive (94), + ninetySix (95), + ninetySeven (96), + ninetyEight (97), + ninetyNine (98), + oneHundred (99), + oneHundredOne (100), + oneHundredTwo (101), + oneHundredThree (102), + oneHundredFour (103), + oneHundredFive (104), + oneHundredSix (105), + oneHundredSeven (106), + oneHundredEitht (107), + oneHundredNine (108), + oneHundredTen (109), + oneHundredEleven (110), + oneHundredTwelve (111), + oneHundredThirteen (112), + oneHundredFourteen (113), + oneHundredFifteen (114), + oneHundredSixteen (115), + oneHundredSeventeen (116), + oneHundredEithteen (117), + oneHundredNineteen (118), + oneHundredTwenty (119), + oneHundredTwentyOne (120), + oneHundredTwentyTwo (121), + oneHundredTwentyThree (122), + oneHundredTwentyFour (123), + oneHundredTwentyFive (124), + oneHundredTwentySix (125), + oneHundredTwentySeven (126), + oneHundredTwentyEight (127) +} + +KmePckPagGroupList ::= SEQUENCE OF SEQUENCE { + groupNo [0] INTEGER, + memberList [1] KmeGroupMembers OPTIONAL +} + +KmeIcmGrpMembers ::= SEQUENCE { + grpDevice [0] IMPLICIT DeviceID, + members [1] IMPLICIT SEQUENCE OF DeviceID +} + +KmeIncomingGroupList ::= SEQUENCE OF SEQUENCE { + groupNo [0] INTEGER, + device [1] DeviceID, + name [2] CHOICE { + single [0] OCTET STRING(SIZE(1..20)), + wide [1] OCTET STRING(SIZE(1..40)) + } OPTIONAL, + extNo [3] IA5String(SIZE(1..5)) OPTIONAL, + groupType [4] KmeGroupType, -- 3rd Party + acdMode [5] BOOLEAN, -- 3rd Party + ctiWaitTime [6] INTEGER, -- 3rd Party + queueSize [7] INTEGER OPTIONAL -- 3rd Party +} + +-- 2001.05.15 Modified +KmeDoorPhone ::= SEQUENCE OF SEQUENCE { + doorPhoneNo [0] IA5String(SIZE(1..2)), + device [1] DeviceID, + name [2] CHOICE { + single [0] OCTET STRING(SIZE(1..20)), + wide [1] OCTET STRING(SIZE(1..40)) + } OPTIONAL +} + +-- 2001.05.10 added +KmeVmGroup ::= ENUMERATED { + dpt (0), + dtmf (1) +} + +-- 2001.05.10 added +KmeVmDtmfType ::= ENUMERATED { + aa (0), + vm (1) +} + +-- 2001.05.10 added +KmeVmGroupList ::= SEQUENCE OF SEQUENCE { + device DeviceID, -- Ext.Number + vmType KmeVmGroup, + name CHOICE { + single [0] OCTET STRING(SIZE(1..20)), + wide [1] OCTET STRING(SIZE(1..40)) + } OPTIONAL, + dtmfType KmeVmDtmfType OPTIONAL -- dtmf type only +} + +-- 01/12/17 +KmePsGroupList ::= SEQUENCE OF SEQUENCE { + groupNo INTEGER, + device DeviceID, -- Ext. number + name CHOICE { + single [0] OCTET STRING(SIZE(1..20)), + wide [1] OCTET STRING(SIZE(1..40)) + } OPTIONAL, + memberList [2] KmeGroupMembers OPTIONAL, + memberList2 [3] KmeGroupMembers OPTIONAL, + memberList3 [4] KmeGroupMembers OPTIONAL, + memberList4 [5] KmeGroupMembers OPTIONAL +} + +KmeChangeExtNo ::= SEQUENCE { + requestingDevice DeviceID, + newExtNo IA5String(SIZE(1..5)) +} + +KmeChangeName ::= SEQUENCE { + requestingDevice DeviceID, + newName CHOICE { + single [0] OCTET STRING(SIZE(1..20)), + wide [1] OCTET STRING(SIZE(1..40)) + } OPTIONAL +} + +------------------------------------------------------------------------------ +-- GetSystemData for Third Party Function +------------------------------------------------------------------------------ + +KmeDeviceCategory ::= CHOICE { + standardDevice [0] DeviceCategory, + kmeDevice [1] KmeOtherDevice +} + +KmeRequestedDevice ::= CHOICE { -- for GetSystemData.deviceList + device [0] DeviceID, + category [1] KmeDeviceCategory +} + +KmeChangedDeviceCategory ::= CHOICE { -- for SWF.DeviceChanged + standardDevice [0] ReqDeviceCategory, + kmeDevice [1] KmeOtherDevice +} + +KmeDeviceStateList ::= SEQUENCE OF KmeDeviceStateEntry + +KmeDeviceStateEntry ::= SEQUENCE { + device DeviceID, + number IA5String(SIZE(1..5)) OPTIONAL, -- Ext No, CO No, Park Area No. + status KmeDeviceState +} + +KmeDeviceState ::= ENUMERATED { + ins (0), + ous (1) +} + +KmeGroupType ::= ENUMERATED { + ucd (0), + ring (1), + hunt (2) +} + +KmePhoneProperty ::= SEQUENCE { + portType INTEGER, + phoneCode INTEGER, + lcdRows INTEGER, + lcdColumns INTEGER, + numberOfCoKeys INTEGER, + numberOfSoftKeys INTEGER, + spPhone BOOLEAN +} + +-- PortType +-- none 0x00 +-- slt/OPX 0x01 +-- apt 0x02 +-- dptOld 0x03 +-- dpt 0x04 +-- isdn 0x08 +-- wireless 0x0A +-- ip-pt 0x0C +-- ip-pt(p2p) 0x0D +-- sip 0x0E + +------------------------------------------------------------------------------ +-- Version 1.1 +------------------------------------------------------------------------------ + +KmeDeviceExtNo ::= SEQUENCE { + devNumber DeviceID, -- DeviceNumber type + extNo IA5String(SIZE(1..5)) OPTIONAL +} + +KmeDeviceName ::= SEQUENCE { + extNo IA5String(SIZE(1..5)), + name KmeExtName +} + +KmeFcoKeyInfo ::= SEQUENCE { -- V2.0 + button ButtonID, + function OCTET STRING(SIZE(1)) +} + +KmeFcoKeyList ::= SEQUENCE OF KmeFcoKeyInfo -- V2.0 + +KmeExternalSensorList ::= SEQUENCE OF SEQUENCE { -- V2.0 + sensorNo [0] IA5String(SIZE(1..3)), + device [1] DeviceID, + name [2] CHOICE { + single [0] OCTET STRING(SIZE(1..20)), + wide [1] OCTET STRING(SIZE(1..40)) + } OPTIONAL +} + +KmeTenantSpeedDial ::= SEQUENCE { -- V2.0 + tenantNo [0] INTEGER, + kmeSpeedDial [1] KmeSpeedDial +} + +KmeDistributionMethod ::= SEQUENCE { -- V2.0 + group DeviceID, + type KmeGroupType +} + +KmePDFStart ::= SEQUENCE { -- V2.0 + device DeviceID +} + +KmePDFStop ::= DeviceID -- V2.0 + +KmePDFStatus ::= SEQUENCE { -- V2.0 + targetDevice DeviceID, + originatingDevice DeviceID, + status BOOLEAN +} + +KmePDFSrvEvt ::= CHOICE { -- V2.0 + pDFStart [0] KmePDFStart, + pDFStop [1] KmePDFStop +} + +-- TDA30 V2.2 +KmeSvmList ::= SEQUENCE OF SEQUENCE { + device DeviceID, -- Ext.Number + name KmeExtName OPTIONAL +} + +------------------------------------------------------------------------------ +-- SetSystemData for Third Party Function +------------------------------------------------------------------------------ + +KmeExtName ::= CHOICE { + single [0] OCTET STRING(SIZE(0..20)), + wide [1] OCTET STRING(SIZE(0..40)) +} + +NumberOfMsgPort ::= SEQUENCE { + numberOfMsgPort INTEGER, + numberOfFreePort INTEGER +} + +------------------------------------------------------------------------------ +-- KmeCallControlSrvExt +------------------------------------------------------------------------------ + +KmeDndOverride ::= ConnectionID + +KmeInteruptCall ::= ConnectionID + +KmeExternalFeatureAccess ::= ConnectionID -- Request Only. Response = noData in EscapeResult. + +KmeTempTollChange ::= SEQUENCE { + connection ConnectionID, + tollLevel INTEGER +} + +KmeDoorOpen ::= ConnectionID + +KmeTwoWayRec ::= SEQUENCE { + connection ConnectionID, + vmGroupExtNo IA5String(SIZE(1..5)) +} + +-- 2002/05/28 Added +KmeCallBackInvokeReq ::= SEQUENCE { + callBackID OCTET STRING (SIZE(0..4)), + requestingDevice DeviceID, + targetDevice DeviceID OPTIONAL -- extension only +} + +-- 2002/05/28 Added +KmeCallBackInvokeRsp ::= ConnectionID + +-- 2002/05/28 Added +CallBackNotification ::= SEQUENCE { + callBackID OCTET STRING (SIZE(0..4)), + prompted BOOLEAN, + requestingDevice DeviceID, + targetDevice SubjectDeviceID +} + +-- 2002/05/28 Mod +KmeCallBackInvoke ::= CHOICE { + request KmeCallBackInvokeReq, + result KmeCallBackInvokeRsp +} + +-- 2002/04/03 +KmePcRec ::= SEQUENCE { + connection ConnectionID, + pcRecOn BOOLEAN +} + +------------------------------------------------------------------------------ +-- KmeDeviceStatus +------------------------------------------------------------------------------ + +KmeDeviceAgentStatus ::= SEQUENCE { + device [0] DeviceID, + status [1] ENUMERATED { + logout (0), + login (1) + }, + imcomingGroup [2] DeviceID +} + +-- Changed 2001.04.24 +KmeDeviceCallStatus ::= SEQUENCE OF SEQUENCE { + device [0] DeviceID, + status [1] CHOICE { + lineStatus [0] ENUMERATED { + idle (0), + ring (1), + busy (2), + hold (3) + }, + parkStatus [1] SEQUENCE { + area [0] INTEGER(0..999), + call [1] CallID, + action ENUMERATED { + parkin (0), + parkout (1) + } + } + } +} + +KmeDeviceServiceStatus ::= SEQUENCE { + source [0] CHOICE { + device [0] DeviceID, + cabinet [1] INTEGER + }, + status [1] ENUMERATED { + ous (0), + ins (1) + } +} + +-- TDA600 +KmeLineStatus ::= SEQUENCE { + segmentId KmeLineStatusSegment, + lineInformation OCTET STRING(SIZE(0..384)) +} + +KmeLineStatusSegment ::= ENUMERATED { + wired1 (0), + wired2 (1), + wireless (2), + trunk (3) +} + +-- End of KmeDeviceStatus + +------------------------------------------------------------------------------ +-- KmeDeviceMonitor +------------------------------------------------------------------------------ + +KmeStartDeviceMonitor ::= CHOICE { + null NULL, + event CallMonitorEvent -- TDA600 +} + +KmeStopDeviceMonitor ::= NULL -- Request Only. Response = noData in EscapeResult. + +-- TDA600 +CallMonitorEvent ::= ENUMERATED { + deviceCallStatus (0), + deviceLineStatus (1) +} + +-- End of KmeDeviceMonitor + +------------------------------------------------------------------------------ +-- TDA Version 1.1 +------------------------------------------------------------------------------ + +KmeBroadcastGroupList ::= SEQUENCE OF SEQUENCE { + groupNo INTEGER, + name KmeExtName OPTIONAL +} + +KmeBroadcastGrpMembers ::= SEQUENCE { + groupNo [0] INTEGER, + members [1] IMPLICIT SEQUENCE OF DeviceID +} + +------------------------------------------------------------------------------ +-- TDA600 +------------------------------------------------------------------------------ + +KmeAlterIfSrvEvt ::= CHOICE { + alterIf [0] KmeAlterIf, + ifAltered [1] KmeIfAltered +} + +KmeAlterIf ::= IfVersion + +KmeIfAltered ::= IfVersion + +IfVersion ::= ENUMERATED { + version0 (0), + version1 (1) +} + +KmeDeviceDataList ::= SEQUENCE OF SEQUENCE { + device [0] DeviceID, + sysData [1] CHOICE { + standardInfo SEQUENCE { + wakeUp [ 9] KmeWakeUpInfo OPTIONAL, + remoteLock [10] KmeDeviceLock OPTIONAL, + callLogLock [11] KmeDeviceLock OPTIONAL, + absentMessage [12] KmeAbsentMessage OPTIONAL, + forwardDnd [13] ForwardList OPTIONAL, + cos [34] INTEGER OPTIONAL, + phoneProperty [35] KmePhoneProperty OPTIONAL, + assocIncomGroup [36] KmeGroupMembers OPTIONAL, + messageWaiting [37] SEQUENCE OF DeviceID OPTIONAL, + assocExtGroup [39] INTEGER OPTIONAL + }, + extName [41] KmeExtName, + fcoKeyList [44] KmeFcoKeyList, + sxdpMaster [45] DeviceID + } +} + +-- TDA600 V3.1 +KmePdnGMembers ::= SEQUENCE { + groupDevice [0] IMPLICIT DeviceID, + members [1] IMPLICIT SEQUENCE OF DeviceID +} + +-- TDA600 V4.0 : PBX internal hotel feature control interface +KmeHotelSrvEvt ::= CHOICE { + guestCheckIn [0] IMPLICIT DeviceID, + guestCheckOut [1] IMPLICIT DeviceID, + checkedIn [2] IMPLICIT DeviceID, + checkedOut [3] IMPLICIT DeviceID, + cleanUp [4] IMPLICIT DeviceID, -- Req.(toggle:Ready<->NotRready) + cleanUpReady [5] IMPLICIT DeviceID, -- Event + cleanUpNotReady [6] IMPLICIT DeviceID -- Event +} + +-- Used in KmeGetSystemDataRsp +KmeCheckStatusList ::= SEQUENCE OF SEQUENCE { + extNo DeviceID, + status KmeRoomStatus, + cleanUpStatus KmeCleanUpStatus OPTIONAL +} + +KmeRoomStatus ::= ENUMERATED { + checkIn (0), + checkOut (1) +} + +KmeCleanUpStatus ::= ENUMERATED { + ready (0), + notReady (1) +} + +------------------------------------------------------------------------------ +-- KmeSystemData +------------------------------------------------------------------------------ + +KmeGetSystemDataReq ::= CHOICE { + systemData [0] ENUMERATED { + sysTimeStamp (0), + devTimeStamp (1), -- Not used + featureList (2), + speedDial (3), -- Not used + trunkGroup (4), + extensionGroup (5), + pickupGroup (6), + pagingGroup (7), + incomingGroup (8), + dayNightMode (9), + doorPhone (10), + vmGroup (11), + manufacturerName (12), -- 3rd Party + subdomainName (13), -- 3rd Party + softwareVersion (14), -- 3rd Party + ctiVersion (15), -- 3rd Party + regionCode (16), -- 3rd Party + systemTime (17), -- 3rd Party + numberOfMsgPort (18), -- 3rd Party + psGroup (19), -- 3rd Party + whoAmI (20), -- V1.1 + broadcastGroup (21), -- V1.1 + pbxType (22), -- V2.0 + externalSensor (23), -- V2.0 + svm (24), -- TDA30 V2.2 + pdn (25) -- TDA600 V3.1 + }, + deviceData [1] SEQUENCE { -- Extension(Station) Device + device [0] DeviceID, + sysData [1] CHOICE { + standardInfo BIT STRING { + wakeUp (0), + remoteStatationLock (1), + callLogLock (2), + absentMessage (3), + forwardDnd (4), + cos (5), -- 3rd Party + phoneProperty (6), -- 3rd Party + assocIncomGroup (7), -- 3rd Party + messageWating (8), -- 3rd Party + assocExtGroup (9) -- 3rd Party + }, + extName [1] NULL, -- V1.1 + fcoKey [2] NULL, -- V2.0 + sxdpMaster [3] NULL -- V2.0 + } + }, + trkExtGMember [2] IMPLICIT SEQUENCE { + groupNo INTEGER, + groupType ENUMERATED { + trunkGMembers (0), + extGMembers (1) + } + }, + incomGMember [3] IMPLICIT SEQUENCE { + groupNo DeviceID + }, + deviceList [4] KmeRequestedDevice, + vmGMember [5] DeviceID, -- 02/05/20 + speedDial [6] KmeSpeedDialRequest, -- 02/11/26 + broadcastGMembers [7] INTEGER, -- V1.1 + guestCheckStatus [8] IMPLICIT DeviceID -- TDA600 V4.0 +} + +KmeGetSystemDataRsp ::= SEQUENCE { +-- Whole system data + timeStamp [ 0] KmeTimeStamp OPTIONAL, -- PCC + featureList [ 1] KmeFeatureList OPTIONAL, -- PCC + speedDial [ 2] KmeSpeedDial OPTIONAL, -- PCC + trunkGroup [ 3] KmeExtTrkGroupList OPTIONAL, -- PCC + extGroup [ 4] KmeExtTrkGroupList OPTIONAL, -- PCC + pickGroup [ 5] KmePckPagGroupList OPTIONAL, -- PCC + pagingGroup [ 6] KmePckPagGroupList OPTIONAL, -- PCC + incomingGroup [ 7] KmeIncomingGroupList OPTIONAL, -- PCC + dayNightMode [ 8] KmeDayNightMode OPTIONAL, -- PCC + wakeUp [ 9] KmeWakeUpInfo OPTIONAL, -- PCC + remoteLock [10] KmeDeviceLock OPTIONAL, -- PCC + callLogLock [12] KmeAbsentMessage OPTIONAL, -- PCC + forwardDnd [11] KmeDeviceLock OPTIONAL, -- PCC + absentMessage [13] ForwardList OPTIONAL, -- PCC + trkGMembers [14] KmeTrkMembers OPTIONAL, -- PCC + extGMembers [15] KmeExtMembers OPTIONAL, -- PCC + incomGMembers [16] KmeIcmGrpMembers OPTIONAL, -- PCC + doorPhone [17] KmeDoorPhone OPTIONAL, -- PCC + vmGroup [18] KmeVmGroupList OPTIONAL, -- PCC + manufacturerName [19] IA5String(SIZE(0..64)) OPTIONAL, -- 3rd Party + subdomainName [20] IA5String(SIZE(0..20)) OPTIONAL, -- 3rd Party + softwareVersion [21] IA5String(SIZE(0..32)) OPTIONAL, -- 3rd Party + ctiVersion [22] IA5String(SIZE(0..32)) OPTIONAL, -- 3rd Party + regionCode [23] IA5String(SIZE(0..32)) OPTIONAL, -- 3rd Party + systemTime [24] GeneralizedTime OPTIONAL, -- 3rd Party + numberOfMsgPort [25] NumberOfMsgPort OPTIONAL, -- 3rd Party + psGroup [26] KmePsGroupList OPTIONAL, -- 3rd Party + youAre [27] DeviceID OPTIONAL, -- V1.1 + svm [28] KmeSvmList OPTIONAL, -- TDA30 V2.2 + pdn [29] KmePdnGMembers OPTIONAL, -- TDA600 V3.1 +-- Each device data + cos [34] INTEGER OPTIONAL, -- 3rd Party + phoneProperty [35] KmePhoneProperty OPTIONAL, -- 3rd Party + assocIncomGroup [36] KmeGroupMembers OPTIONAL, -- 3rd Party + messageWaiting [37] SEQUENCE OF DeviceID OPTIONAL, -- 3rd Party + deviceList [38] KmeDeviceStateList OPTIONAL, -- 3rd Party + assocExtGroup [39] INTEGER OPTIONAL, -- 01/12/17 + vmGMembers [40] KmeIcmGrpMembers OPTIONAL, -- 02/05/20 + extName [41] KmeExtName OPTIONAL, -- V1.1 + broadcastGroup [42] KmeBroadcastGroupList OPTIONAL, -- V1.1 + broadcastGMembers [43] KmeBroadcastGrpMembers OPTIONAL, -- V1.1 + fcoKeyList [44] KmeFcoKeyList OPTIONAL, -- V2.0 + sxdpMaster [45] DeviceID OPTIONAL, -- V2.0 + pbxType [46] INTEGER OPTIONAL, -- V2.0 + externalSensor [47] KmeExternalSensorList OPTIONAL, -- V2.0 + deviceDataList [48] KmeDeviceDataList OPTIONAL, -- TDA600 + guestCheckStatus [49] KmeCheckStatusList OPTIONAL -- TDA600 V4.0 +} + +KmeGetSystemData ::= CHOICE { + request KmeGetSystemDataReq, + result KmeGetSystemDataRsp +} + +-- KmeDnMode changed to KmeDayNightMode 2001.03.09 +KmeSetSystemData ::= CHOICE { -- Request Only. Response = noData in EscapeResult. + systemData [0] CHOICE { -- Whole system data + speedDial [0] KmeSpeedDial, -- PCC + dayNightMode [1] KmeDayNightMode, -- PCC + time [2] GeneralizedTime, -- PCC + extNo [3] KmeChangeExtNo, -- 2002/01/24 + name [4] KmeChangeName, -- 2002/01/24 + subdomainName [5] IA5String(SIZE(0..20)), -- V2.0(Lock) + tenantSpeedDial [6] KmeTenantSpeedDial, -- V2.0(Lock) + distributionMethod [7] KmeDistributionMethod -- V2.0(Lock) + }, + deviceData [1] SEQUENCE { -- Each device data for extension + device [1] DeviceID, + sysData [2] CHOICE { + wakeUp [0] KmeWakeUpInfo, -- PCC + remoteLock [1] KmeDeviceLock, -- PCC + forwardDnd [2] KmeSetForwardInfo, -- PCC + absentMessage [3] KmeAbsentMessage, -- PCC + passwordClear [4] NULL, -- PCC + extNumber [5] IA5String(SIZE(1..5)), + extName [6] KmeExtName, + cos [7] INTEGER, + joinGroup [8] DeviceID, + leaveGroup [9] DeviceID, + inService [10] BOOLEAN, -- 2002/01/24 + fcoKey [11] KmeFcoKeyList -- V2.0(No lock) + } + }, + acdQueue [3] SEQUENCE { -- No lock(V2.0 modified) + device DeviceID, + attribute CHOICE { + groupType [1] KmeGroupType, -- Not used(V2.0) + acdMode BOOLEAN, + ctiWaitTime INTEGER + } + } +} + +KmeSystemDataChanged ::= CHOICE { + systemData [0] ENUMERATED { + featureList (1), + speedDial (2), + trunkGroup (3), + extGroup (4), + pickGroup (5), + pagingGroup (6), + incomingGroup (7), + dayNightMode (8), + doorPhone (9), + vmGroup (10), + systemTime (11), + psGroup (12), + trunkGMembers (13), -- 02/01/24 + incomingGMembers (14), -- 02/01/24 + psGMembers (15), -- 02/01/24 + vmGMembers (16), -- 02/05/20 + broadcastGroup (17), -- V1.1 + broadcastGMembers (18), -- V1.1 + subdomainName (19), -- V2.0 + externalSensor (20), -- V2.0 + svm (21) -- TDA30 V2.2 + }, + deviceData [1] SEQUENCE { + device [0] DeviceID, + sysData [1] ENUMERATED { + wakeUp (0), + remoteStatationLock (1), + callLogLock (2), + absentMessage (3), + forwardDnd (4), + cos (5), + extName (6), -- 01/12/17 + assocExtGroup (7), -- 01/12/17 + fcoKey (8), -- V2.0 + sxdpMaster (9) -- V2.0 + } + }, + deviceBasicInfo [2] DeviceID, + reconfiguration [3] NULL -- 02/04/03 +} + +KmeSystemDataLinkedReply ::= SEQUENCE { + crossRefID [0] ServiceCrossRefID, -- 01/12/17 + segmentID [1] INTEGER, + lastSegment [2] BOOLEAN, + sysData [3] KmeGetSystemDataRsp OPTIONAL -- 02/04/22 +} + +KmeGetSystemDataPosAck ::= ServiceCrossRefID -- Cross Reference Identifier01/12/17 + +-- 2002/07/02 Moditifed +KmeSystemCrossRefID ::= OCTET STRING(SIZE(4)) + +KmeLockSystemData ::= CHOICE { + request SEQUENCE { + systemDataLock BOOLEAN, -- true:lock, false:unlock + id CHOICE { + lock DeviceID, + unlock KmeSystemCrossRefID + } + }, + lockResult KmeSystemCrossRefID +} + +KmeSystemDataStatus ::= SEQUENCE { + systemDataLock BOOLEAN, + lockingDevice DeviceID OPTIONAL +} + +-- 2002/12/19 added +KmeSystemDataRevision ::= OCTET STRING(SIZE(0..128)) + +KmeGetSystemDataRevision ::= CHOICE { -- V2.0 + request KmeRevisionType, + result KmeSystemDataRevision +} + +KmeRevisionType ::= ENUMERATED { -- V2.0 + systemDataRevision (0), + speedDialRevision (1) +} + +---true:Event is enable +ProgrammingEventOn ::= BOOLEAN -- V2.0 + +KmeSetProgrammingEventOn ::= CHOICE { -- V2.0 + request ProgrammingEventOn +} + +-- End of KmeSystemData + +------------------------------------------------------------------------------ +-- KmeLocalAlermMessage +------------------------------------------------------------------------------ + +KmeLocalAlerm ::= CHOICE { + singleMessage [0] OCTET STRING(SIZE(0..24)), + wideMessage [1] OCTET STRING(SIZE(0..48)) +} + +-- End of KmeLocalAlermMessage + +------------------------------------------------------------------------------ +-- KmeAdditionalData (PrivateData in a CSTA standard service/event) +------------------------------------------------------------------------------ + +-- MakeCall-Request +KmeTrunkId ::= DeviceID + +-- GetSwitchingFunctionDevices-Request +KmeOtherDevice ::= ENUMERATED { + vm (0), + doorPhone (1), -- including Door openor + disa (2), + pagingGroup (3), -- 2001/12/17 + psGruop (4), -- 2001/12/17 + externalRinger (5), -- 2002/04/26 + externalSensor (6), -- 2002/04/26 + externalPager (7), -- 2002/04/26 + modem (8), -- 2002/04/26 + hdlc (9), -- 2002/04/26 + pbxSystem (10), -- 2002/04/26 + svm (11) -- 2004/10/04 for TDA30 V2.2 +} + +-- Call Detail Record Report +KmeCdrConditionCode ::= ENUMERATED { + cl (0), -- Reverse Charging + tr (1), -- Call Transfer + fw (2), -- Call Forwarding + d0 (3), -- DISA/TIE + rm (4), -- Remote Maintenance + na (5) -- No Answer +} + +KmeFeatureNumber ::= INTEGER +-- 1: Call Waiting(Delivered-Event) +-- Not used +-- 2: Answered by TAM(AnswerCall-Request) +-- PCC PC Console/PC Phone only +-- 3: Visual Caller ID(CallInformation-Event) 2002/05/27 +-- 4: New Call with temporary COS(ServiceInitiated-Event) 2004/11/08 + +-- Set Display mod. 2002/08/08 +KmeProprietaryChars ::= OCTET STRING(SIZE(0..144)) + +-- Held Event +KmeHoldType ::= ENUMERATED { + consultation (0), + normal (1), + exclusive (2) +} + +-- Deflect Call 2002/07/17 +KmeForcedAlerting ::= BIT STRING { + fwdDnd (0), + timer (1) +} + +--------------------------------------------------------------------------- +-- Kme Private Events +--------------------------------------------------------------------------- + +KmeDigitsReport ::= SEQUENCE { + connection ConnectionID, + digits IA5String(SIZE(0..64)) +} + +KmeOgmStatus ::= SEQUENCE { + connection ConnectionID, + state KmeOgmPlayState, + ogmId INTEGER, + ogmPortNumber DeviceID +} + +KmeWakeupResult ::= SEQUENCE { + device DeviceID, + state KmeWakeupState, + wakeupTime KmeWakeUpTime, + invokeTime GeneralizedTime, + restOfRetry INTEGER OPTIONAL +} + +KmeUnconferenced ::= SEQUENCE { + unconferencingDevice DeviceID, + primaryCall ConnectionID, + secodaryCall ConnectionID OPTIONAL, + primaryNID [1] DeviceID OPTIONAL, + secondaryNID [2] DeviceID OPTIONAL, + primaryConnectionInfo LocalConnectionState, + secondaryConnectionInfo LocalConnectionState OPTIONAL +} + +-- 2002/04/26 05/17 mod. +KmeTamEnded ::= ConnectionID + +-- 2002/05/17 Added. +KmePcRecEnded ::= ConnectionID + +-- 2002/07/22 Added +KmeSwitchChannel ::= ConnectionID + +-- 2002/07/26 Added +KmeFreeOgmPort ::= INTEGER + +KmeCallControlSrvEvt ::= CHOICE { + dndOverride [0] KmeDndOverride, + interuptCall [1] KmeInteruptCall, + eFA [2] KmeExternalFeatureAccess, + tempTollChange [3] KmeTempTollChange, + doorOpen [4] KmeDoorOpen, + twoWayRec [5] KmeTwoWayRec, + callBackInvoke [6] KmeCallBackInvoke, + pcRec [7] KmePcRec, + switchChannel [8] KmeSwitchChannel +} + +KmeDeviceStatus ::= CHOICE { + agentStatus [0] KmeDeviceAgentStatus, + callStatus [1] KmeDeviceCallStatus, + serviceStatus [2] KmeDeviceServiceStatus, + lineStatus [3] KmeLineStatus -- TDA600 +} + +KmeDeviceMonitor ::= CHOICE { + startDeviceMonitor [0] KmeStartDeviceMonitor, + stopDeviceMonitor [1] KmeStopDeviceMonitor +} + +KmeSystemData ::= CHOICE { + getSystemData [0] KmeGetSystemData, + setSystemData [1] KmeSetSystemData, + systemDataChanged [2] KmeSystemDataChanged, + systemDataLinkedReply [3] KmeSystemDataLinkedReply, + getSystemDataPosAck [4] KmeGetSystemDataPosAck, + lockSystemData [5] KmeLockSystemData, -- 2002/05/17 + systemDataStatus [6] KmeSystemDataStatus, -- 2002/05/17 + dataRevisionRecord [7] KmeSystemDataRevision, -- 2002/12/19 + getDataRevisionRecord [8] KmeGetSystemDataRevision, -- V2.0 + setprogrammingEventOn [9] KmeSetProgrammingEventOn -- V2.0 +} + +-- Private Data added in Standard Services +KmeAdditionalData ::= CHOICE { + fowardType [1] KmeForwardType, -- SetForwarding + trunkId [2] KmeTrunkId, -- Not Used. + otherDevice [3] KmeOtherDevice, -- GetSwitchingFunctionDevices + vmRecExtNo [4] IA5String(SIZE(1..5)), -- ConsultationCall + deviceCategory [5] KmeChangedDeviceCategory, -- SwitchingFunctionDevice Changed + device [6] DeviceID, -- GetAutoWorkMode-Request, SetAutoWorkMode-Request + featureNumber [7] KmeFeatureNumber, -- AnswerCall-Request, Delivered-Event + proprietaryContents [8] KmeProprietaryChars, -- Set Display + holdType [9] KmeHoldType, -- Held Event + conditionCode [10] KmeCdrConditionCode, -- Call Detail Records Report + lockDisplay [11] BOOLEAN, -- SetDisplay + forcedAlerting [12] KmeForcedAlerting, -- DeflectCall + callID [13] CallID, -- RingStatus + ogmContinuation [14] BOOLEAN, -- DeflectCall + broadcastGroupNo [15] INTEGER, -- SInit,Orig,Delivered,Established + ringPattern [16] INTEGER, -- DeflectCall V2.0 + didNo [17] DeviceID -- Delivered V2.0 +} + +KmePrivateEvent ::= CHOICE { + digitsReport [1] KmeDigitsReport, + ogmStatus [2] KmeOgmStatus, + wakeupResult [3] KmeWakeupResult, + unconferenced [4] KmeUnconferenced, + tamEnded [5] KmeTamEnded, -- 2002/04/26 05/17 mod. + pcRecEnded [6] KmePcRecEnded, -- 2002/05/17 Added. + callbackNotification [7] CallBackNotification, -- 2002/05/28 Added + freeOgmPort [8] KmeFreeOgmPort, -- 2002/08/26 Added + pDFStatus [9] KmePDFStatus -- Ver2.0 +} + +------------------------------------------------------------------------------ +-- Resource Control +------------------------------------------------------------------------------ + +KmeResourceControl ::= CHOICE { + ogmStart [0] KmeOgmStart, + ogmStop [1] KmeOgmStop +} + +KmeOgmStart ::= SEQUENCE { + connection ConnectionID, + ogmId INTEGER +} + +KmeOgmStop ::= ConnectionID + +------------------------------------------------------------------------------ +-- Generic Services/Events +------------------------------------------------------------------------------ + +KmeGenericSrvEvt ::= CHOICE { + serviceRequest [0] KmeGenericServiceReq, + serviceResult [1] KmeGenericServiceRsp, + event [2] KmeGenericEvent +} + +KmeGenericServiceReq ::= SEQUENCE { + serviceNo INTEGER, + device DeviceID OPTIONAL, + connection ConnectionID OPTIONAL, + number INTEGER OPTIONAL, + string IA5String(SIZE(0..128)) OPTIONAL +} + +KmeGenericServiceRsp ::= SEQUENCE { + number INTEGER OPTIONAL, + string IA5String(SIZE(0..128)) OPTIONAL +} + +KmeGenericEvent ::= SEQUENCE { + eventNo INTEGER, + device DeviceID OPTIONAL, + connection ConnectionID OPTIONAL, + state LocalConnectionState OPTIONAL, + cause INTEGER OPTIONAL, + message IA5String(SIZE(1..128)) OPTIONAL +} + +------------------------------------------------------------------------------ +-- Root data structure of KME Specific Data +------------------------------------------------------------------------------ + +KMESpecificPrivateData ::= CHOICE { + kmeCallControl [1] KmeCallControlSrvEvt, + kmeDeviceStatus [2] KmeDeviceStatus, + kmeDeviceMonitor [3] KmeDeviceMonitor, + kmeSystemData [4] KmeSystemData, + kmeLocalAlerm [5] KmeLocalAlerm, + kmeAdditionalData [6] KmeAdditionalData, + kmePrivateEvent [7] KmePrivateEvent, + kmeResourceControl [8] KmeResourceControl, + kmeGeneric [9] KmeGenericSrvEvt, + kmeExtendedDataAccess [10] OCTET STRING(SIZE(0..200)), + kmePDFControl [11] KmePDFSrvEvt, -- Ver2.0 + kmeAlterIf [12] KmeAlterIfSrvEvt, -- TDA600 + kmeHotelControl [13] KmeHotelSrvEvt -- TDA600 v4.0 +} + +END -- of KME-specific-types diff --git a/rose/Remote-Operations-Information-Objects.asn1 b/rose/Remote-Operations-Information-Objects.asn1 new file mode 100644 index 0000000..98276a1 --- /dev/null +++ b/rose/Remote-Operations-Information-Objects.asn1 @@ -0,0 +1,376 @@ +Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)} +DEFINITIONS ::= +BEGIN +-- exports everything +IMPORTS emptyBind, emptyUnbind FROM Remote-Operations-Useful-Definitions{joint-iso-itu-t remote-operations(4) useful-definitions(7) version1(0)}; +OPERATION ::= CLASS +{ + &ArgumentType OPTIONAL, + &argumentTypeOptional BOOLEAN OPTIONAL, + &returnResult BOOLEAN DEFAULT TRUE, + &ResultType OPTIONAL, + &resultTypeOptional BOOLEAN OPTIONAL, + &Errors ERROR OPTIONAL, + &Linked OPERATION OPTIONAL, + &synchronous BOOLEAN DEFAULT FALSE, + &alwaysReturns BOOLEAN DEFAULT TRUE, + &InvokePriority Priority OPTIONAL, + &ResultPriority Priority OPTIONAL, + &operationCode Code UNIQUE OPTIONAL +} +WITH SYNTAX +{ + [ARGUMENT &ArgumentType [OPTIONAL &argumentTypeOptional]] + [RESULT &ResultType [OPTIONAL &resultTypeOptional]] + [RETURN RESULT &returnResult] + [ERRORS &Errors] + [LINKED &Linked] + [SYNCHRONOUS &synchronous] + [ALWAYS RESPONDS &alwaysReturns] + [INVOKE PRIORITY &InvokePriority] + [RESULT-PRIORITY &ResultPriority] + [CODE &operationCode] +} +ERROR ::= CLASS +{ + &ParameterType OPTIONAL, + ¶meterTypeOptional BOOLEAN OPTIONAL, + &ErrorPriority Priority OPTIONAL, + &errorCode Code UNIQUE OPTIONAL +} +WITH SYNTAX +{ + [PARAMETER &ParameterType [OPTIONAL ¶meterTypeOptional]] + [PRIORITY &ErrorPriority] + [CODE &errorCode] +} + +OPERATION-PACKAGE ::= CLASS +{ + &Both OPERATION OPTIONAL, + &Consumer OPERATION OPTIONAL, + &Supplier OPERATION OPTIONAL, + &id OBJECT IDENTIFIER UNIQUE OPTIONAL +} +WITH SYNTAX +{ + [OPERATIONS &Both] + [CONSUMER INVOKES &Supplier] + [SUPPLIER INVOKES &Consumer] + [ID &id] +} +CONNECTION-PACKAGE ::= CLASS +{ + &bind OPERATION DEFAULT emptyBind, + &unbind OPERATION DEFAULT emptyUnbind, + &responderCanUnbind BOOLEAN DEFAULT FALSE, + &unbindCanFail BOOLEAN DEFAULT FALSE, + &id OBJECT IDENTIFIER UNIQUE OPTIONAL +} +WITH SYNTAX +{ + [BIND &bind] + [UNBIND &unbind] + [RESPONDER UNBIND &responderCanUnbind] + [FAILURE TO UNBIND &unbindCanFail] + [ID &id] +} +CONTRACT ::= CLASS +{ + &connection CONNECTION-PACKAGE OPTIONAL, + &OperationsOf OPERATION-PACKAGE OPTIONAL, + &InitiatorConsumerOf OPERATION-PACKAGE OPTIONAL, + &InitiatorSupplierOf OPERATION-PACKAGE OPTIONAL, + &id OBJECT IDENTIFIER UNIQUE OPTIONAL +} +WITH SYNTAX +{ + [CONNECTION &connection] + [OPERATIONS OF &OperationsOf] + [INITIATOR CONSUMER OF &InitiatorConsumerOf] + [RESPONDER CONSUMER OF &InitiatorSupplierOf] + [ID &id] +} + +ROS-OBJECT-CLASS ::= CLASS +{ + &Is ROS-OBJECT-CLASS OPTIONAL, + &Initiates CONTRACT OPTIONAL, + &Responds CONTRACT OPTIONAL, + &InitiatesAndResponds CONTRACT OPTIONAL, + &id OBJECT IDENTIFIER UNIQUE +} +WITH SYNTAX +{ + [IS &Is] + [BOTH &InitiatesAndResponds] + [INITIATES &Initiates] + [RESPONDS &Responds] + ID &id +} +Code ::= CHOICE +{ + local INTEGER, + global OBJECT IDENTIFIER +} +Priority ::= INTEGER (0..MAX) +END -- end of Information Object specifications + + +Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t remote-operations(4) generic-ROS-PDUs(6) version1(0)} +DEFINITIONS IMPLICIT TAGS ::= +BEGIN +-- exports everything +IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects{joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}; +ROS {InvokeId:InvokeIdSet, OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE +{ + invoke [1] Invoke {{InvokeIdSet}, {Invokable}}, + returnResult [2] ReturnResult {{Returnable}}, + returnError [3] ReturnError {{Errors{{Returnable}}}}, + reject [4] Reject +} +(CONSTRAINED BY { -- must conform to the above definition -- } +! RejectProblem : general-unrecognisedPDU) +Invoke {InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE +{ + invokeId InvokeId (InvokeIdSet) + (CONSTRAINED BY {-- must be unambiguous --} + ! RejectProblem : invoke-duplicateInvocation), + linkedId CHOICE { + present [0] IMPLICIT present < InvokeId, + absent [1] IMPLICIT NULL + } + (CONSTRAINED BY {-- must identify an outstanding operation --} + ! RejectProblem : invoke-unrecognisedLinkedId) + (CONSTRAINED BY {-- which has one or more linked operations--} + ! RejectProblem : invoke-linkedResponseUnexpected) + OPTIONAL, + opcode OPERATION.&operationCode + ({Operations} + ! RejectProblem : invoke-unrecognisedOperation), + argument OPERATION.&ArgumentType + ({Operations} {@opcode} + ! RejectProblem : invoke-mistypedArgument) + OPTIONAL +} +(CONSTRAINED BY { -- must conform to the above definition -- } +! RejectProblem : general-mistypedPDU) +( + WITH COMPONENTS + {..., + linkedId ABSENT + } +| WITH COMPONENTS + {..., + linkedId PRESENT, + opcode + (CONSTRAINED BY {-- must be in the &Linked field of the associated operation --} + ! RejectProblem : invoke-unexpectedLinkedOperation) + } +) + +ReturnResult {OPERATION:Operations}::= SEQUENCE +{ + invokeId InvokeId + (CONSTRAINED BY {-- must be that for an outstanding operation --} + ! RejectProblem : returnResult-unrecognisedInvocation) + (CONSTRAINED BY {-- which returns a result --} + ! RejectProblem : returnResult-resultResponseUnexpected), + result SEQUENCE + { + opcode OPERATION.&operationCode + ({Operations})(CONSTRAINED BY {-- identified by invokeId --} + ! RejectProblem : returnResult-unrecognisedInvocation), + result OPERATION.&ResultType + ({Operations} {@.opcode} + ! RejectProblem : returnResult-mistypedResult) + } + OPTIONAL +} +(CONSTRAINED BY { -- must conform to the above definition -- } +! RejectProblem : general-mistypedPDU) +ReturnError {ERROR:Errors} ::= SEQUENCE +{ + invokeId InvokeId + (CONSTRAINED BY {-- must be that for an outstanding operation --} + ! RejectProblem : returnError-unrecognisedInvocation) + (CONSTRAINED BY {-- which returns an error --} + ! RejectProblem : returnError-errorResponseUnexpected), + errcode ERROR.&errorCode + ({Errors} + ! RejectProblem : returnError-unrecognisedError) + (CONSTRAINED BY {-- must be in the &Errors field of the associated -- + -- operation --} + ! RejectProblem : returnError-unexpectedError), + parameter ERROR.&ParameterType + ({Errors}{@errcode} + ! RejectProblem : returnError-mistypedParameter) OPTIONAL +} +(CONSTRAINED BY { -- must conform to the above definition -- } +! RejectProblem : general-mistypedPDU) +Reject ::= SEQUENCE +{ + invokeId InvokeId, + problem CHOICE + { + general [0] GeneralProblem, + invoke [1] InvokeProblem, + returnResult [2] ReturnResultProblem, + returnError [3] ReturnErrorProblem + } +} +(CONSTRAINED BY { -- must conform to the above definition -- } +! RejectProblem : general-mistypedPDU) +GeneralProblem ::= INTEGER +{ + unrecognisedPDU (0), + mistypedPDU (1), + badlyStructuredPDU (2) +} +InvokeProblem ::= INTEGER +{ + duplicateInvocation (0), + unrecognisedOperation (1), + mistypedArgument (2), + resourceLimitation (3), + releaseInProgress (4), + unrecognisedLinkedId (5), + linkedResponseUnexpected (6), + unexpectedLinkedOperation (7) +} +ReturnResultProblem ::= INTEGER +{ + unrecognisedInvocation (0), + resultResponseUnexpected (1), + mistypedResult (2) +} +ReturnErrorProblem ::= INTEGER +{ + unrecognisedInvocation (0), + errorResponseUnexpected (1), + unrecognisedError (2), + unexpectedError (3), + mistypedParameter (4) +} +RejectProblem ::= INTEGER +{ + general-unrecognisedPDU (0), + general-mistypedPDU (1), + general-badlyStructuredPDU (2), + invoke-duplicateInvocation (10), + invoke-unrecognisedOperation (11), + invoke-mistypedArgument (12), + invoke-resourceLimitation (13), + invoke-releaseInProgress (14), + invoke-unrecognisedLinkedId (15), + invoke-linkedResponseUnexpected (16), + invoke-unexpectedLinkedOperation (17), + returnResult-unrecognisedInvocation (20), + returnResult-resultResponseUnexpected (21), + returnResult-mistypedResult (22), + returnError-unrecognisedInvocation (30), + returnError-errorResponseUnexpected (31), + returnError-unrecognisedError (32), + returnError-unexpectedError (33), + returnError-mistypedParameter (34) +} +InvokeId ::= CHOICE +{ + present INTEGER, + absent NULL +} +noInvokeId InvokeId ::= absent:NULL +NoInvokeId InvokeId ::= {noInvokeId} +Errors {OPERATION:Operations} ERROR ::= {Operations.&Errors} +Bind {OPERATION:operation} ::= CHOICE +{ + bind-invoke [16] OPERATION.&ArgumentType({operation}), + bind-result [17] OPERATION.&ResultType ({operation}), + bind-error [18] OPERATION.&Errors.&ParameterType ({operation}) +} +Unbind {OPERATION:operation} ::= CHOICE +{ + unbind-invoke [19] OPERATION.&ArgumentType({operation}), + unbind-result [20] OPERATION.&ResultType ({operation}), + unbind-error [21] OPERATION.&Errors.&ParameterType ({operation}) +} +END -- end of generic ROS PDU definitions + + +Remote-Operations-Useful-Definitions {joint-iso-itu-t remote-operations(4) useful-definitions(7) version1(0)} +DEFINITIONS IMPLICIT TAGS ::= +BEGIN +-- exports everything +IMPORTS OPERATION, ERROR, OPERATION-PACKAGE, Code FROM Remote-Operations-Information-Objects{joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)} +InvokeId, ROS{} FROM Remote-Operations-Generic-ROS-PDUs{joint-iso-itu-t remote-operations(4) generic-ROS-PDUs(6) version1(0)}; +emptyBind OPERATION ::= {ERRORS {refuse} SYNCHRONOUS TRUE} +emptyUnbind OPERATION ::= { SYNCHRONOUS TRUE } +refuse ERROR ::= {CODE local:-1} +no-op OPERATION ::= +{ + ALWAYS RESPONDS FALSE + CODE local:-1 +} +Forward {OPERATION:OperationSet} OPERATION ::= +{ + OperationSet | + OperationSet.&Linked.&Linked | + OperationSet.&Linked.&Linked.&Linked.&Linked +} +Reverse {OPERATION:OperationSet} OPERATION ::= + {Forward{ {OperationSet.&Linked} }} +ConsumerPerforms {OPERATION-PACKAGE:package} OPERATION ::= +{ + Forward{{package.&Consumer}} | + Forward{{package.&Both}} | + Reverse{{package.&Supplier}} | + Reverse{{package.&Both}} +} +SupplierPerforms {OPERATION-PACKAGE:package} OPERATION ::= +{ + Forward{{package.&Supplier}} | + Forward{{package.&Both}} | + Reverse{{package.&Consumer}} | + Reverse{{package.&Both}} +} +AllOperations {OPERATION-PACKAGE:package} OPERATION ::= +{ + ConsumerPerforms {package} | + SupplierPerforms {package} +} +recode {OPERATION:operation, Code:code} OPERATION ::= +{ + ARGUMENT operation.&ArgumentType + OPTIONAL operation.&argumentTypeOptional + RESULT operation.&ResultType + OPTIONAL operation.&resultTypeOptional + RETURN RESULT operation.&returnResult + ERRORS {operation.&Errors} + LINKED {operation.&Linked} + SYNCHRONOUS operation.&synchronous + ALWAYS RESPONDS operation.&alwaysReturns + INVOKE PRIORITY {operation.&InvokePriority} + RESULT-PRIORITY {operation.&ResultPriority} + CODE code +} +switch {OPERATION-PACKAGE:package, OBJECT IDENTIFIER:id} OPERATION-PACKAGE ::= +{ + OPERATIONS {package.&Both} + CONSUMER INVOKES {package.&Supplier} + SUPPLIER INVOKES {package.&Consumer} + ID id +} +combine {OPERATION-PACKAGE:ConsumerConsumes, OPERATION-PACKAGE:ConsumerSupplies, OPERATION-PACKAGE:base} OPERATION-PACKAGE ::= +{ + OPERATIONS {ConsumerConsumes.&Both | ConsumerSupplies.&Both} + CONSUMER INVOKES {ConsumerConsumes.&Supplier | ConsumerSupplies.&Consumer} + SUPPLIER INVOKES {ConsumerConsumes.&Consumer | ConsumerSupplies.&Supplier} + ID base.&id +} +ROS-SingleAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= + ROS {{InvokeIdSet}, {AllOperations{package}}, {AllOperations{package}}} +ROS-ConsumerAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= + ROS {{InvokeIdSet}, {ConsumerPerforms{package}}, {SupplierPerforms{package}}} +ROS-SupplierAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= + ROS {{InvokeIdSet}, {SupplierPerforms{package}}, {ConsumerPerforms{package}}} +END -- end of useful definitions. diff --git a/rose/Remote-Operations-Useful-Definitions.asn1 b/rose/Remote-Operations-Useful-Definitions.asn1 new file mode 100644 index 0000000..e4430ce --- /dev/null +++ b/rose/Remote-Operations-Useful-Definitions.asn1 @@ -0,0 +1,93 @@ +Remote-Operations-Useful-Definitions {joint-iso-itu-t remote-operations(4) + useful-definitions(7) version1(0)} DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +-- exports everything +IMPORTS + OPERATION, ERROR, OPERATION-PACKAGE, Code + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)} + InvokeId, ROS{} + FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t + remote-operations(4) generic-ROS-PDUs(6) version1(0)}; + +emptyBind OPERATION ::= {ERRORS {refuse} + SYNCHRONOUS TRUE +} + +emptyUnbind OPERATION ::= {SYNCHRONOUS TRUE +} + +refuse ERROR ::= {CODE local:-1 +} + +no-op OPERATION ::= {ALWAYS RESPONDS FALSE + CODE local:-1 +} + +Forward{OPERATION:OperationSet} OPERATION ::= + {OperationSet | OperationSet.&Linked.&Linked | + OperationSet.&Linked.&Linked.&Linked.&Linked} + +Reverse{OPERATION:OperationSet} OPERATION ::= + {Forward{{OperationSet.&Linked}}} + +ConsumerPerforms{OPERATION-PACKAGE:package} OPERATION ::= + {Forward{{package.&Consumer}} | Forward{{package.&Both}} | + Reverse{{package.&Supplier}} | Reverse{{package.&Both}}} + +SupplierPerforms{OPERATION-PACKAGE:package} OPERATION ::= + {Forward{{package.&Supplier}} | Forward{{package.&Both}} | + Reverse{{package.&Consumer}} | Reverse{{package.&Both}}} + +AllOperations{OPERATION-PACKAGE:package} OPERATION ::= + {ConsumerPerforms{package} | SupplierPerforms{package}} + +-- continued on the next page +recode{OPERATION:operation, Code:code} OPERATION ::= { + ARGUMENT operation.&ArgumentType + OPTIONAL operation.&argumentTypeOptional + RESULT operation.&ResultType + OPTIONAL operation.&resultTypeOptional + RETURN RESULT operation.&returnResult + ERRORS {operation.&Errors} + LINKED {operation.&Linked} + SYNCHRONOUS operation.&synchronous + ALWAYS RESPONDS operation.&alwaysReturns + INVOKE PRIORITY {operation.&InvokePriority} + RESULT-PRIORITY {operation.&ResultPriority} + CODE code +} + +switch{OPERATION-PACKAGE:package, OBJECT IDENTIFIER:id} OPERATION-PACKAGE ::= +{ + OPERATIONS {package.&Both} + CONSUMER INVOKES {package.&Consumer} + SUPPLIER INVOKES {package.&Supplier} + ID id +} + +combine{OPERATION-PACKAGE:ConsumerConsumes, OPERATION-PACKAGE:ConsumerSupplies, + OPERATION-PACKAGE:base} OPERATION-PACKAGE ::= { + OPERATIONS {ConsumerConsumes.&Both | ConsumerSupplies.&Both} + CONSUMER INVOKES + {ConsumerConsumes.&Consumer | ConsumerSupplies.&Supplier} + SUPPLIER INVOKES + {ConsumerConsumes.&Supplier | ConsumerSupplies.&Consumer} + ID base.&id +} + +ROS-SingleAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= + ROS{{InvokeIdSet}, {AllOperations {package}}, {AllOperations {package}}} + +ROS-ConsumerAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= + ROS + {{InvokeIdSet}, {ConsumerPerforms {package}}, + {SupplierPerforms {package}}} + +ROS-SupplierAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= + ROS + {{InvokeIdSet}, {SupplierPerforms {package}}, + {ConsumerPerforms {package}}} + +END -- end of useful definitions. diff --git a/tda.erl b/tda.erl new file mode 100644 index 0000000..978899d --- /dev/null +++ b/tda.erl @@ -0,0 +1,18 @@ +-module(tda). +-export([login/0]). +-include("ACSE-1.hrl"). +-include("CSTA-application-context-information-csta3.hrl"). + +login() -> + Pdu = #'AARQ-apdu'{'application-context-name' = {1, 3, 12, 0, 218}, + 'user-information' = #'EXTERNAL'{ + 'direct-reference' = {1, 3, 12, 0, 285, 200}, + encoding = #'NewACSEUserInformationForCSTA'{ + cSTAVersion = [versionFive] + } + } + }, + + {ok, Bits} = asn1rt:encode('ACSE-1', 'AARQ-apdu', Pdu), + + list_to_binary(Bits). -- cgit v1.2.3