ASN1 compiler internal error
Samuel Tardieu
sam@REDACTED
Tue Dec 5 18:08:35 CET 2000
I do not know where I can send bug reports. The following attached file (it
is only 27KB) triggers an internal error in OTP R7B-1 when compiled with
asn1ct:compile/1.
Sam
-------------- next part --------------
GCC-PROTOCOL DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
-- Export all symbols
-- ==========================================================================
-- Part 1: Elements of which messages are composed
-- ==========================================================================
ChannelID ::= INTEGER (1..65535)
StaticChannelID ::= INTEGER (1..1000) -- Those assigned by specifications
DynamicChannelID ::= INTEGER (1001..65535) -- Those created and deleted by MCS
UserID ::= DynamicChannelID
TokenID ::= INTEGER (1..65535)
StaticTokenID ::= INTEGER (1..16383) -- Those assigned by specifications
DynamicTokenID ::= INTEGER (16384..65535) -- Those assigned by the registry
Time ::= INTEGER (-2147483647..2147483647) -- Time in seconds
Handle ::= INTEGER (0..4294967295) -- 32-bit value
H221NonStandardIdentifier ::= OCTET STRING (SIZE (4..255))
-- First four octets shall be country code and
-- Manufacturer code, assigned as specified in
-- H.221 Annex A for NS-cap and NS-comm
Key ::= CHOICE -- Identifier of a standard or non-standard object
{
object OBJECT IDENTIFIER,
h221NonStandard H221NonStandardIdentifier
}
NonStandardParameter ::= SEQUENCE
{
key Key,
data OCTET STRING
}
TextString ::= BMPString (SIZE (0..255)) -- Basic Multilingual Plane of ISO/IEC 10646-1 (Unicode)
simpleTextFirstCharacter UniversalString ::= {0, 0, 0, 0}
simpleTextLastCharacter UniversalString ::= {0, 0, 0, 255}
SimpleTextString ::= BMPString (SIZE (0..255)) (FROM (simpleTextFirstCharacter..simpleTextLastCharacter))
SimpleNumericString ::= NumericString (SIZE (1..255)) (FROM ("0123456789"))
DialingString ::= NumericString (SIZE (1..16)) (FROM ("0123456789"))
SubAddressString ::= NumericString (SIZE (1..40)) (FROM ("0123456789"))
ExtraDialingString ::= TextString (SIZE (1..255)) (FROM ("0123456789#*,"))
UserData ::= SET OF SEQUENCE
{
key Key,
value OCTET STRING OPTIONAL
}
Password ::= SEQUENCE
{
numeric SimpleNumericString,
text SimpleTextString OPTIONAL,
...
}
PasswordSelector ::= CHOICE
{
numeric SimpleNumericString,
text SimpleTextString,
...
}
ChallengeResponseItem ::= CHOICE
{
passwordString PasswordSelector,
responseData UserData,
...
}
ChallengeResponseAlgorithm ::= CHOICE
{
passwordInTheClear NULL,
nonStandardAlgorithm NonStandardParameter,
...
}
ChallengeItem ::= SEQUENCE
{
responseAlgorithm ChallengeResponseAlgorithm,
challengeData UserData,
...
}
ChallengeRequest ::= SEQUENCE
{
challengeTag INTEGER,
challengeSet SET OF ChallengeItem, -- Set of algorithms offered for response
...
}
ChallengeResponse ::= SEQUENCE
{
challengeTag INTEGER,
responseAlgorithm ChallengeResponseAlgorithm,
-- Specific algorithm selected from the set of
-- items presented in the ChallengeRequest
responseItem ChallengeResponseItem,
...
}
PasswordChallengeRequestResponse ::= CHOICE
{
passwordInTheClear PasswordSelector,
challengeRequestResponse SEQUENCE
{
challengeRequest ChallengeRequest OPTIONAL,
challengeResponse ChallengeResponse OPTIONAL,
...
},
...
}
ConferenceName ::= SEQUENCE
{
numeric SimpleNumericString,
text SimpleTextString OPTIONAL,
...
}
ConferenceNameSelector ::= CHOICE
{
numeric SimpleNumericString,
text SimpleTextString,
...
}
ConferenceNameModifier ::= SimpleNumericString
Privilege ::= ENUMERATED
{
terminate (0),
ejectUser (1),
add (2),
lockUnlock (3),
transfer (4),
...
}
TerminationMethod ::= ENUMERATED
{
automatic (0),
manual (1),
...
}
ConferencePriorityScheme ::= CHOICE
{
nonStandardScheme NonStandardParameter,
...
}
ConferencePriority ::= SEQUENCE
{
priority INTEGER (0..65535),
scheme ConferencePriorityScheme,
...
}
NetworkAddress ::= SEQUENCE (SIZE (1..64)) OF CHOICE -- Listed in order of use
{
aggregatedChannel SEQUENCE
{
transferModes SEQUENCE -- One or more
{
speech BOOLEAN,
voice-band BOOLEAN,
digital-56k BOOLEAN,
digital-64k BOOLEAN,
digital-128k BOOLEAN,
digital-192k BOOLEAN,
digital-256k BOOLEAN,
digital-320k BOOLEAN,
digital-384k BOOLEAN,
digital-512k BOOLEAN,
digital-768k BOOLEAN,
digital-1152k BOOLEAN,
digital-1472k BOOLEAN,
digital-1536k BOOLEAN,
digital-1920k BOOLEAN,
packet-mode BOOLEAN,
frame-mode BOOLEAN,
atm BOOLEAN,
...
},
internationalNumber DialingString,
subAddress SubAddressString OPTIONAL,
extraDialing ExtraDialingString OPTIONAL,
highLayerCompatibility SEQUENCE
{
telephony3kHz BOOLEAN,
telephony7kHz BOOLEAN,
videotelephony BOOLEAN,
videoconference BOOLEAN,
audiographic BOOLEAN,
audiovisual BOOLEAN,
multimedia BOOLEAN,
...
} OPTIONAL,
...
},
transportConnection SEQUENCE
{
nsapAddress OCTET STRING (SIZE (1..20)),
transportSelector OCTET STRING OPTIONAL
},
nonStandard NonStandardParameter,
...
}
NodeType ::= ENUMERATED
{
terminal (0),
multiportTerminal (1),
mcu (2),
...
}
NodeProperties ::= SEQUENCE
{
managementDevice BOOLEAN, -- Is the node a device such as a reservation system
peripheralDevice BOOLEAN, -- Is the node a peripheral to a primary node
...
}
AsymmetryIndicator ::= CHOICE
{
callingNode NULL,
calledNode NULL,
unknown INTEGER (0..4294967295) -- Uniformly distributed 32-bit random number
}
AlternativeNodeID ::= CHOICE
{
h243NodeID OCTET STRING (SIZE (2)),
...
}
ConferenceDescriptor ::= SEQUENCE
{
conferenceName ConferenceName,
conferenceNameModifier ConferenceNameModifier OPTIONAL,
conferenceDescription TextString OPTIONAL,
lockedConference BOOLEAN,
passwordInTheClearRequired BOOLEAN,
networkAddress NetworkAddress OPTIONAL,
...,
defaultConferenceFlag BOOLEAN
}
NodeRecord ::= SEQUENCE
{
superiorNode UserID OPTIONAL, -- Not present only for the Top GCC Provider
nodeType NodeType,
nodeProperties NodeProperties,
nodeName TextString OPTIONAL,
participantsList SEQUENCE OF TextString OPTIONAL,
siteInformation TextString OPTIONAL,
networkAddress NetworkAddress OPTIONAL,
alternativeNodeID AlternativeNodeID OPTIONAL,
userData UserData OPTIONAL,
...
}
SessionKey ::= SEQUENCE
{
applicationProtocolKey Key,
sessionID ChannelID OPTIONAL
}
ChannelType ::= ENUMERATED
{
static (0),
dynamicMulticast (1),
dynamicPrivate (2),
dynamicUserId (3)
}
ApplicationRecord ::= SEQUENCE
{
applicationActive BOOLEAN, -- Active/Inactive flag
conductingOperationCapable BOOLEAN, -- Maximum one per node per session
startupChannel ChannelType OPTIONAL,
applicationUserID UserID OPTIONAL, -- User ID assigned to the Application Protocol Entity
nonCollapsingCapabilities SET OF SEQUENCE
{
capabilityID CapabilityID,
applicationData OCTET STRING OPTIONAL
} OPTIONAL,
...
}
CapabilityID ::= CHOICE
{
standard INTEGER (0..65535), -- Assigned by Application Protocol specifications
nonStandard Key
}
CapabilityClass ::= CHOICE
{
logical NULL,
unsignedMin INTEGER (0..MAX), -- Capability value
unsignedMax INTEGER (0..MAX), -- Capability value
...
}
EntityID ::= INTEGER (0..65535)
ApplicationInvokeSpecifier ::= SEQUENCE
{
sessionKey SessionKey,
expectedCapabilitySet SET OF SEQUENCE
{
capabilityID CapabilityID,
capabilityClass CapabilityClass,
...
} OPTIONAL,
startupChannel ChannelType OPTIONAL,
mandatoryFlag BOOLEAN, -- TRUE indicates required Application Protocol Entity
...
}
RegistryKey ::= SEQUENCE
{
sessionKey SessionKey,
resourceID OCTET STRING (SIZE (0..64))
}
RegistryItem ::= CHOICE
{
channelID DynamicChannelID,
tokenID DynamicTokenID,
parameter OCTET STRING (SIZE (0..64)),
vacant NULL,
...
}
RegistryEntryOwner ::= CHOICE
{
owned SEQUENCE
{
nodeID UserID, -- Node ID of the owning node
entityID EntityID -- Entity ID of the owning
}, -- Appliction Protocol Entity
notOwned NULL -- There is no current owner
}
RegistryModificationRights ::= ENUMERATED
{
owner (0),
session (1),
public (2)
}
-- ==========================================================================
-- Part 2: PDU Messages
-- ==========================================================================
UserIDIndication ::= SEQUENCE
{
tag INTEGER,
...
}
ConferenceCreateRequest ::= SEQUENCE
{ -- MCS-Connect-Provider request user data
conferenceName ConferenceName,
convenerPassword Password OPTIONAL,
password Password OPTIONAL,
lockedConference BOOLEAN,
listedConference BOOLEAN,
conductibleConference BOOLEAN,
terminationMethod TerminationMethod,
conductorPrivileges SET OF Privilege OPTIONAL,
conductedPrivileges SET OF Privilege OPTIONAL,
nonConductedPrivileges SET OF Privilege OPTIONAL,
conferenceDescription TextString OPTIONAL,
callerIdentifier TextString OPTIONAL,
userData UserData OPTIONAL,
...,
conferencePriority ConferencePriority OPTIONAL
}
ConferenceCreateResponse ::= SEQUENCE
{ -- MCS-Connect-Provider response user data
nodeID UserID, -- Node ID of the sending node
tag INTEGER,
result ENUMERATED
{
success (0),
userRejected (1),
resourcesNotAvailable (2),
rejectedForSymmetryBreaking (3),
lockedConferenceNotSupported (4),
...
},
userData UserData OPTIONAL,
...
}
ConferenceQueryRequest ::= SEQUENCE
{ -- MCS-Connect-Provider request user data
nodeType NodeType,
asymmetryIndicator AsymmetryIndicator OPTIONAL,
userData UserData OPTIONAL,
...
}
ConferenceQueryResponse ::= SEQUENCE
{ -- MCS-Connect-Provider response user data
nodeType NodeType,
asymmetryIndicator AsymmetryIndicator OPTIONAL,
conferenceList SET OF ConferenceDescriptor,
result ENUMERATED
{
success (0),
userRejected (1),
...
},
userData UserData OPTIONAL,
...,
waitForInvitationFlag BOOLEAN OPTIONAL,
noUnlistedConferenceFlag BOOLEAN OPTIONAL
}
ConferenceJoinRequest ::= SEQUENCE
{ -- MCS-Connect-Provider request user data as well as
-- MCS-Send-Data on Node ID Channel of Top GCC sent
-- by the receiver of the MCS-Connect-Provider
conferenceName ConferenceNameSelector OPTIONAL,
-- Required when part of MCS-Connect-Provider
conferenceNameModifier ConferenceNameModifier OPTIONAL,
tag INTEGER OPTIONAL, -- Filled in when sent on Node ID Channel of Top GCC
password PasswordChallengeRequestResponse OPTIONAL,
convenerPassword PasswordSelector OPTIONAL,
callerIdentifier TextString OPTIONAL,
userData UserData OPTIONAL,
...
}
ConferenceJoinResponse ::= SEQUENCE
{ -- MCS-Connect-Provider response user data as well as
-- MCS-Send-Data on Node ID Channel of
-- the receiver of the MCS-Connect-Provider
nodeID UserID OPTIONAL, -- Node ID of directly connected node only
topNodeID UserID, -- Node ID of Top GCC Provider
tag INTEGER,
conferenceNameAlias ConferenceNameSelector OPTIONAL,
passwordInTheClearRequired BOOLEAN,
lockedConference BOOLEAN,
listedConference BOOLEAN,
conductibleConference BOOLEAN,
terminationMethod TerminationMethod,
conductorPrivileges SET OF Privilege OPTIONAL, -- No privilege shall be listed more than once
conductedPrivileges SET OF Privilege OPTIONAL, -- No privilege shall be listed more than once
nonConductedPrivileges SET OF Privilege OPTIONAL, -- No privilege shall be listed more than once
conferenceDescription TextString OPTIONAL,
password PasswordChallengeRequestResponse OPTIONAL,
result ENUMERATED
{
success (0),
userRejected (1),
invalidConference (2),
invalidPassword (3),
invalidConvenerPassword (4),
challengeResponseRequired (5),
invalidChallengeResponse (6),
...
},
userData UserData OPTIONAL,
...
}
ConferenceInviteRequest ::= SEQUENCE
{ -- MCS-Connect-Provider request user data
conferenceName ConferenceName,
nodeID UserID, -- Node ID of the sending node
topNodeID UserID, -- Node ID of Top GCC Provider
tag INTEGER,
passwordInTheClearRequired BOOLEAN,
lockedConference BOOLEAN,
listedConference BOOLEAN,
conductibleConference BOOLEAN,
terminationMethod TerminationMethod,
conductorPrivileges SET OF Privilege OPTIONAL, -- No privilege shall be listed more than once
conductedPrivileges SET OF Privilege OPTIONAL, -- No privilege shall be listed more than once
nonConductedPrivileges SET OF Privilege OPTIONAL, -- No privilege shall be listed more than once
conferenceDescription TextString OPTIONAL,
callerIdentifier TextString OPTIONAL,
userData UserData OPTIONAL,
...,
conferencePriority ConferencePriority OPTIONAL
}
ConferenceInviteResponse ::= SEQUENCE
{ -- MCS-Connect-Provider response user data
result ENUMERATED
{
success (0),
userRejected (1),
...
},
userData UserData OPTIONAL,
...
}
ConferenceAddRequest ::= SEQUENCE
{ -- MCS-Send-Data on Node ID Channel of Top GCC or
-- Node ID Channel of Adding MCU if specified
networkAddress NetworkAddress,
requestingNode UserID,
tag INTEGER,
addingMCU UserID OPTIONAL,
userData UserData OPTIONAL,
...
}
ConferenceAddResponse ::= SEQUENCE
{ -- MCS-Send-Data on Node ID Channel of requester
tag INTEGER,
result ENUMERATED
{
success (0),
invalidRequester (1),
invalidNetworkType (2),
invalidNetworkAddress (3),
addedNodeBusy (4),
networkBusy (5),
noPortsAvailable (6),
connectionUnsuccessful (7),
...
},
userData UserData OPTIONAL,
...
}
ConferenceLockRequest ::= SEQUENCE
{ -- MCS-Send-Data on Node ID Channel of Top GCC
-- No parameters
...
}
ConferenceLockResponse ::= SEQUENCE
{ -- MCS-Send-Data on Node ID Channel of requester
result ENUMERATED
{
success (0),
invalidRequester (1),
alreadyLocked (2),
...
},
...
}
ConferenceLockIndication ::= SEQUENCE
{ -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
-- or MCS-Send-Data on Node ID Channel
-- No parameters
...
}
ConferenceUnlockRequest ::= SEQUENCE
{ -- MCS-Send-Data on Node ID Channel of Top GCC
-- No parameters
...
}
ConferenceUnlockResponse ::= SEQUENCE
{ -- MCS-Send-Data on Node ID Channel of requester
result ENUMERATED
{
success (0),
invalidRequester (1),
alreadyUnlocked (2),
...
},
...
}
ConferenceUnlockIndication ::= SEQUENCE
{ -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
-- or MCS-Send-Data on Node ID Channel
-- No parameters
...
}
ConferenceTerminateRequest ::= SEQUENCE
{ -- MCS-Send-Data on Node ID Channel of Top GCC
reason ENUMERATED
{
userInitiated (0),
timedConferenceTermination (1),
...
},
...
}
ConferenceTerminateResponse ::= SEQUENCE
{ -- MCS-Send-Data on Node ID Channel of requester
result ENUMERATED
{
success (0),
invalidRequester (1),
...
},
...
}
ConferenceTerminateIndication ::= SEQUENCE
{ -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
reason ENUMERATED
{
userInitiated (0),
timedConferenceTermination (1),
...
},
...
}
ConferenceEjectUserRequest ::= SEQUENCE
{ -- MCS-Send-Data on Node ID Channel of Top GCC
nodeToEject UserID, -- Node ID of the node to eject
reason ENUMERATED
{
userInitiated (0),
...
},
...
}
ConferenceEjectUserResponse ::= SEQUENCE
{ -- MCS-Send-Data on Node ID Channel of requester
nodeToEject UserID, -- Node ID of the node to eject
result ENUMERATED
{
success (0),
invalidRequester (1),
invalidNode (2),
...
},
...
}
ConferenceEjectUserIndication ::= SEQUENCE
{ -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
nodeToEject UserID, -- Node ID of the node to eject
reason ENUMERATED
{
userInitiated (0),
higherNodeDisconnected (1),
higherNodeEjected (2),
...
},
...
}
ConferenceTransferRequest ::= SEQUENCE
{ -- MCS-Send-Data on Node ID Channel of Top GCC
conferenceName ConferenceNameSelector, -- Name of conference to transfer to
conferenceNameModifier ConferenceNameModifier OPTIONAL,
networkAddress NetworkAddress OPTIONAL,
transferringNodes SET (SIZE (1..65536)) OF UserID OPTIONAL,
password PasswordSelector OPTIONAL,
...
}
ConferenceTransferResponse ::= SEQUENCE
{ -- MCS-Send-Data on Node ID Channel of requester
conferenceName ConferenceNameSelector, -- Name of conference to transfer to
conferenceNameModifier ConferenceNameModifier OPTIONAL,
transferringNodes SET (SIZE (1..65536)) OF UserID OPTIONAL,
result ENUMERATED
{
success (0),
invalidRequester (1),
...
},
...
}
ConferenceTransferIndication ::= SEQUENCE
{ -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
conferenceName ConferenceNameSelector, -- Name of conference to transfer to
conferenceNameModifier ConferenceNameModifier OPTIONAL,
networkAddress NetworkAddress OPTIONAL,
transferringNodes SET (SIZE (1..65536)) OF UserID OPTIONAL,
-- List of Node IDs,
-- not present if destined for all nodes
password PasswordSelector OPTIONAL,
...
}
RosterUpdateIndication ::= SEQUENCE
{ -- MCS-Send-Data on Node ID Channel or
-- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
fullRefresh BOOLEAN, -- Conference Roster and all
-- ApplicationProtocol Sessions refreshed
nodeInformation SEQUENCE
{
nodeRecordList CHOICE
{
noChange NULL,
refresh SET (SIZE (1..65536)) OF SEQUENCE
-- One for each node in the conference;
-- no node shall be listed more than once
{
nodeID UserID, -- Node ID of the node
nodeRecord NodeRecord
},
update SET (SIZE (1..65536)) OF SEQUENCE
-- One for each node changing its node record;
-- no node shall be listed more than once
{
nodeID UserID, -- Node ID of the node
nodeUpdate CHOICE
{
addRecord NodeRecord,
replaceRecord NodeRecord,
removeRecord NULL,
...
}
},
...
},
rosterInstanceNumber INTEGER (0..65535),
nodesAdded BOOLEAN, -- Nodes have been added since last instance
nodesRemoved BOOLEAN, -- Nodes have been removed since last instance
...
} ,
applicationInformation SET (SIZE (0..65535)) OF SEQUENCE
-- One for each Application Protocol Session;
-- all Application Protocol Sessions if full refresh;
-- no Application Protocol Session shall be
-- listed more than once
{
sessionKey SessionKey,
applicationRecordList CHOICE
{
noChange NULL,
refresh SET (SIZE (0..65535)) OF SEQUENCE
-- One for each node with the
-- Application Protocol Session enrolled;
-- no node shall be listed more than once
{
nodeID UserID, -- Node ID of node
entityID EntityID, -- ID for this Application Protocol Entity at this node
applicationRecord ApplicationRecord
},
update SET (SIZE (1..65536)) OF SEQUENCE
-- One for each node modifying its Application Record;
-- no node shall be listed more than once
{
nodeID UserID, -- Node ID of node
entityID EntityID, -- ID for this Application Protocol Entity at this node
applicationUpdate CHOICE
{
addRecord ApplicationRecord,
replaceRecord ApplicationRecord,
removeRecord NULL,
...
}
},
...
},
applicationCapabilitiesList CHOICE
{
noChange NULL,
refresh SET OF SEQUENCE
{
capabilityID CapabilityID,
capabilityClass CapabilityClass,
numberOfEntities INTEGER (1..65536),
-- Number of Application Protocol Entities
-- which issued the capability
...
},
...
},
rosterInstanceNumber INTEGER (0..65535),
peerEntitiesAdded BOOLEAN, -- Peer Entities have been added since last instance
peerEntitiesRemoved BOOLEAN, -- Peer Entities have been removed since last instance
...
},
...
}
ApplicationInvokeIndication ::= SEQUENCE
{ -- MCS-Send-Data or MCS-Uniform-Send-Data
-- on GCC-Broadcast-Channel or Node ID Channel
applicationProtocolEntiyList SET (SIZE (1..65536)) OF ApplicationInvokeSpecifier,
destinationNodes SET (SIZE (1..65536)) OF UserID OPTIONAL,
-- List of Node IDs,
-- not presesnt if destined for all nodes
...
}
RegistryRegisterChannelRequest ::= SEQUENCE
{ -- MCS-Send-Data on Node ID Channel of Top GCC
entityID EntityID,
key RegistryKey,
channelID DynamicChannelID,
...
}
RegistryAssignTokenRequest ::= SEQUENCE
{ -- MCS-Send-Data on Node ID Channel of Top GCC
entityID EntityID,
key RegistryKey,
...
}
RegistrySetParameterRequest ::= SEQUENCE
{ -- MCS-Send-Data on Node ID Channel of Top GCC
entityID EntityID,
key RegistryKey,
parameter OCTET STRING (SIZE (0..64)),
modificationRights RegistryModificationRights OPTIONAL,
...
}
RegistryRetrieveEntryRequest ::= SEQUENCE
{ -- MCS-Send-Data on Node ID Channel of Top GCC
entityID EntityID,
key RegistryKey,
...
}
RegistryDeleteEntryRequest ::= SEQUENCE
{ -- MCS-Send-Data on Node ID Channel of Top GCC
entityID EntityID,
key RegistryKey,
...
}
RegistryMonitorEntryRequest ::= SEQUENCE
{ -- MCS-Send-Data on Node ID Channel of Top GCC
entityID EntityID,
key RegistryKey,
...
}
RegistryMonitorEntryIndication ::= SEQUENCE
{ -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
key RegistryKey,
item RegistryItem, -- Contents: channel, token, parameter, or empty
owner RegistryEntryOwner,
modificationRights RegistryModificationRights OPTIONAL,
...
}
RegistryAllocateHandleRequest ::= SEQUENCE
{ -- MCS-Send-Data on Node ID Channel of Top GCC
entityID EntityID,
numberOfHandles INTEGER (1..1024),
...
}
RegistryAllocateHandleResponse ::= SEQUENCE
{ -- MCS-Send-Data on Node ID Channel of requester
entityID EntityID,
numberOfHandles INTEGER (1..1024),
firstHandle Handle,
result ENUMERATED
{
successful (0),
noHandlesAvailable (1),
...
},
...
}
RegistryResponse ::= SEQUENCE
{ -- MCS-Send-Data on Node ID Channel of requester
entityID EntityID, -- Entity ID of the requesting Application Protocol Entity
primitiveType ENUMERATED
{
registerChannel (0),
assignToken (1),
setParameter (2),
retrieveEntry (3),
deleteEntry (4),
monitorEntry (5),
...
},
key RegistryKey, -- Database index
item RegistryItem, -- Contents: channel, token, parameter, or vacant
owner RegistryEntryOwner,
modificationRights RegistryModificationRights OPTIONAL,
result ENUMERATED
{
successful (0),
belongsToOther (1),
tooManyEntries (2),
inconsistentType (3),
entryNotFound (4),
entryAlreadyExists (5),
invalidRequester (6),
...
},
...
}
ConductorAssignIndication ::= SEQUENCE
{ -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
conductingNode UserID,
...
}
ConductorReleaseIndication ::= SEQUENCE
{ -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
-- No parameters
...
}
ConductorPermissionAskIndication ::= SEQUENCE
{ -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
grantFlag BOOLEAN, -- TRUE to request permission grant, FALSE to release
...
}
ConductorPermissionGrantIndication ::= SEQUENCE
{ -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
permissionList SEQUENCE (SIZE (0..65535)) OF UserID,
-- Node ID of nodes granted permission
waitingList SEQUENCE (SIZE (1..65536)) OF UserID OPTIONAL,
-- Node ID of nodes waiting form permission
...
}
ConferenceTimeRemainingIndication ::= SEQUENCE
{ -- MCS-Send-Data on GCC-Broadcast-Channel
timeRemaining Time,
nodeID UserID OPTIONAL,
...
}
ConferenceTimeInquireIndication ::= SEQUENCE
{ -- MCS-Send-Data on GCC-Convener-Channel
nodeSpecificTimeFlag BOOLEAN, -- FALSE for conference-wide, TRUE for node-specific
...
}
ConferenceTimeExtendIndication ::= SEQUENCE
{ -- MCS-Send-Data on GCC-Convener-Channel
timeToExtend Time,
nodeSpecificTimeFlag BOOLEAN, -- FALSE for conference-wide, TRUE for node-specific
...
}
ConferenceAssistanceIndication ::= SEQUENCE
{ -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
userData UserData OPTIONAL,
...
}
TextMessageIndication ::= SEQUENCE
{ -- MCS-Send-Data or MCS-Uniform-Send-Data
message TextString, -- on GCC-Broadcast-Channel or Node ID Channel
...
}
FunctionNotSupportedResponse ::= SEQUENCE
{
request RequestPDU
}
NonStandardPDU ::= SEQUENCE
{
data NonStandardParameter,
...
}
-- ==========================================================================
-- Part 3: Messages sent as MCS-Connect-Provider user data
-- ==========================================================================
ConnectData ::= SEQUENCE
{
t124Identifier Key, -- This shall be set to the value {itu recommendation t 124 version(0) 1}
connectPDU OCTET STRING
}
ConnectGCCPDU ::= CHOICE
{
conferenceCreateRequest ConferenceCreateRequest,
conferenceCreateResponse ConferenceCreateResponse,
conferenceQueryRequest ConferenceQueryRequest,
conferenceQueryResponse ConferenceQueryResponse,
conferenceJoinRequest ConferenceJoinRequest,
conferenceJoinResponse ConferenceJoinResponse,
conferenceInviteRequest ConferenceInviteRequest,
conferenceInviteResponse ConferenceInviteResponse,
...
}
-- ==========================================================================
-- Part 4: Messages sent using MCS-Send-Data or MCS-Uniform-Send-Data
-- ==========================================================================
GCCPDU ::= CHOICE
{
request RequestPDU,
response ResponsePDU,
indication IndicationPDU
}
RequestPDU ::= CHOICE
{
conferenceJoinRequest ConferenceJoinRequest,
conferenceAddRequest ConferenceAddRequest,
conferenceLockRequest ConferenceLockRequest,
conferenceUnlockRequest ConferenceUnlockRequest,
conferenceTerminateRequest ConferenceTerminateRequest,
conferenceEjectUserRequest ConferenceEjectUserRequest,
conferenceTransferRequest ConferenceTransferRequest,
registryRegisterChannelRequest RegistryRegisterChannelRequest,
registryAssignTokenRequest RegistryAssignTokenRequest,
registrySetParameterRequest RegistrySetParameterRequest,
registryRetrieveEntryRequest RegistryRetrieveEntryRequest,
registryDeleteEntryRequest RegistryDeleteEntryRequest,
registryMonitorEntryRequest RegistryMonitorEntryRequest,
registryAllocateHandleRequest RegistryAllocateHandleRequest,
nonStandardRequest NonStandardPDU,
...
}
ResponsePDU ::= CHOICE
{
conferenceJoinResponse ConferenceJoinResponse,
conferenceAddResponse ConferenceAddResponse,
conferenceLockResponse ConferenceLockResponse,
conferenceUnlockResponse ConferenceUnlockResponse,
conferenceTerminateResponse ConferenceTerminateResponse,
conferenceEjectUserResponse ConferenceEjectUserResponse,
conferenceTransferResponse ConferenceTransferResponse,
registryResponse RegistryResponse,
registryAllocateHandleResponse RegistryAllocateHandleResponse,
functionNotSupportedResponse FunctionNotSupportedResponse,
nonStandardResponse NonStandardPDU,
...
}
IndicationPDU ::= CHOICE
{
userIDIndication UserIDIndication,
conferenceLockIndication ConferenceLockIndication,
conferenceUnlockIndication ConferenceUnlockIndication,
conferenceTerminateIndication ConferenceTerminateIndication,
conferenceEjectUserIndication ConferenceEjectUserIndication,
conferenceTransferIndication ConferenceTransferIndication,
rosterUpdateIndication RosterUpdateIndication,
applicationInvokeIndication ApplicationInvokeIndication,
registryMonitorEntryIndication RegistryMonitorEntryIndication,
conductorAssignIndication ConductorAssignIndication,
conductorReleaseIndication ConductorReleaseIndication,
conductorPermissionAskIndication ConductorPermissionAskIndication,
conductorPermissionGrantIndication ConductorPermissionGrantIndication,
conferenceTimeRemainingIndication ConferenceTimeRemainingIndication,
conferenceTimeInquireIndication ConferenceTimeInquireIndication,
conferenceTimeExtendIndication ConferenceTimeExtendIndication,
conferenceAssistanceIndication ConferenceAssistanceIndication,
textMessageIndication TextMessageIndication,
nonStandardIndication NonStandardPDU,
...
}
END
More information about the erlang-questions
mailing list