-- Invoked by C-ES to SNS, seeking the status of one or more M-ES's statusQuery OPERATION ARGUMENT StatusQueryArgument RESULT StatusQueryResult ERRORS { accessControlViolated, securityError, insufficientResources, unwillingToPerform, genericError } ::= 1; StatusQueryArgument ::= SEQUENCE { -- Security features security [0] IMPLICIT SecurityElement OPTIONAL, -- List of M-ES's whose status is being sought by the C-ES subjectNameOrAddress [1] SEQUENCE SIZE (0..ub-subjects) OF NameOrAddress }; StatusQueryResult ::= SEQUENCE { -- Status information of one or more M-ES's subjectStatusInfo SEQUENCE SIZE (0..ub-subjects) OF SubjectStatusInfo }; NameOrAddress ::= CHOICE { -- IP address of an End System ipAddress [0] IMPLICIT OCTET STRING (SIZE (4)), -- Domain name of an End System domainName [1] IMPLICIT PrintableString, -- NSAP address of an End System nsapAddress [2] IMPLICIT NsapAddress, -- Distinguished name of an End System distinguishedName [3] IMPLICIT PrintableString, -- List of different IP addresses [e.g., machines on a network] ipRange [4] IMPLICIT IpRange }; IpAddress ::= OCTET STRING (SIZE (4)); NsapAddress ::= OCTET STRING (SIZE (20)); IpRange ::= SEQUENCE { begin [0] IMPLICIT IpAddress, end [1] IMPLICIT IpAddress }; SubjectStatusInfo ::= SEQUENCE { -- M-ES name or address subjectNameOrAddress NameOrAddress, -- M-ES Status information reported date and time reportGenerated DateTime, -- Current status of M-ES currentStatus Status, -- Last date and time for which the M-ES status was known lastSeen DateTime OPTIONAL, -- Last M-ES status at last date and time lastStatus Status OPTIONAL }; -- M-ES status: either active, inactive or invalid Status ::= ENUMERATED { active (0), inactive (1), invalid (2), -- Circuit Switched specific Status cs-active (3), cs-inactive (4), cs-unknown (5) };