📄 megacomessage.idl
字号:
struct EventParameter { Name eventParameterName; Value eventParameterValue; // name clash OptExtraInfoUnion extraInfo; // OPTIONAL - IGv6 chap 6.56 }; struct SecondRequestedEvent { PkgdName name; // name clash OptStreamID streamID; // OPTIONAL OptSecondRequestedActions eventAction; // OPTIONAL sequence<EventParameter> evParList; }; typedef unsigned long RequestID; // 0..4294967295 const RequestID allRequestID = 4294967295; // 0xFFFFFFFF union OptRequestID switch(boolean) { case TRUE: RequestID val; }; struct SecondEventsDescriptor { RequestID id; // OPTIONAL name clash sequence<SecondRequestedEvent> eventList; }; union OptSecondEventsDescriptor switch(boolean) { case TRUE: SecondEventsDescriptor val; }; struct RequestedActions { OptBoolean keepActive; // OPTIONAL - IGv6 chap 6.15 OptEventDMUnion eventDM; // OPTIONAL OptSecondEventsDescriptor secondEvent; // OPTIONAL OptSignalsDescriptor signalsDescriptor; // OPTIONAL }; union OptRequestedActions switch(boolean) { case TRUE: RequestedActions val; }; struct RequestedEvent { PkgdName name; // name clash OptStreamID streamID; // OPTIONAL OptRequestedActions eventAction; // OPTIONAL sequence<EventParameter> evParList; }; struct EventsDescriptor { OptRequestID requestID; // OPTIONAL - IGv6 chap 6.82 sequence<RequestedEvent> eventList; }; struct EventSpec { EventName name; // name clash OptStreamID streamID; // OPTIONAL sequence<EventParameter> eventParList; }; typedef sequence<EventSpec> EventBufferDescriptor; enum AuditTokenBits { AuditTokenBits_muxToken, AuditTokenBits_modemToken, AuditTokenBits_mediaToken, AuditTokenBits_eventsToken, AuditTokenBits_signalsToken, AuditTokenBits_digitMapToken, AuditTokenBits_statsToken, AuditTokenBits_observedEventsToken, AuditTokenBits_packagesToken, AuditTokenBits_eventBufferToken }; union OptAuditTokenBitsList switch(boolean) { case TRUE: sequence<AuditTokenBits> val; }; struct AuditDescriptor { OptAuditTokenBitsList auditToken; // BIT STRING (OPTIONAL) }; enum AmmDescriptorChoice { AmmDescriptorChoice_mediaDescriptor, AmmDescriptorChoice_modemDescriptor, AmmDescriptorChoice_muxDescriptor, AmmDescriptorChoice_eventsDescriptor, AmmDescriptorChoice_eventBufferDescriptor, AmmDescriptorChoice_signalsDescriptor, AmmDescriptorChoice_digitMapDescriptor, AmmDescriptorChoice_auditDescriptor }; union AmmDescriptorUnion switch(AmmDescriptorChoice) { case AmmDescriptorChoice_mediaDescriptor: MediaDescriptor media; case AmmDescriptorChoice_modemDescriptor: ModemDescriptor modem; case AmmDescriptorChoice_muxDescriptor: MuxDescriptor mux; case AmmDescriptorChoice_eventsDescriptor: EventsDescriptor events; case AmmDescriptorChoice_eventBufferDescriptor: EventBufferDescriptor buffer; case AmmDescriptorChoice_signalsDescriptor: SignalsDescriptor signals; case AmmDescriptorChoice_digitMapDescriptor: DigitMapDescriptor map; case AmmDescriptorChoice_auditDescriptor: AuditDescriptor audit; }; struct AmmRequest { TerminationIdList termIdList; sequence<AmmDescriptorUnion> descriptors; }; union OptAuditDescriptor switch(boolean) { case TRUE: AuditDescriptor val; }; struct SubtractRequest { TerminationIdList termIdList; OptAuditDescriptor auditDescriptor; // OPTIONAL }; struct AuditRequest { TerminationIdUnion termId; AuditDescriptor audit; }; struct TimeNotation { string date; // 8..8 -- yyyymmdd format string time; // 8..8 -- hhmmssss format }; union OptTimeNotation switch(boolean) { case TRUE: TimeNotation val; }; struct ObservedEvent { EventName name; OptStreamID id; // OPTIONAL sequence<EventParameter> eventParList; OptTimeNotation timeNotation; // OPTIONAL }; struct ObservedEventsDescriptor { RequestID id; sequence<ObservedEvent> observedEventLst; }; struct NotifyRequest { TerminationIdList termIdList; ObservedEventsDescriptor observed; OptErrorDescriptor errorDescriptor; // OPTIONAL }; enum ServiceChangeMethod { ServiceChangeMethod_failover, ServiceChangeMethod_forced, ServiceChangeMethod_graceful, ServiceChangeMethod_restart, ServiceChangeMethod_disconnected, ServiceChangeMethod_handOff }; enum ServiceChangeAddressChoice { ServiceChangeAddressChoice_portNumber, ServiceChangeAddressChoice_ip4Address, ServiceChangeAddressChoice_ip6Address, ServiceChangeAddressChoice_domainName, ServiceChangeAddressChoice_deviceName, ServiceChangeAddressChoice_mtpAddress }; union ServiceChangeAddressUnion switch(ServiceChangeAddressChoice) { case ServiceChangeAddressChoice_portNumber: unsigned short port; // 0..65535 case ServiceChangeAddressChoice_ip4Address: IP4Address ip4; case ServiceChangeAddressChoice_ip6Address: IP6Address ip6; case ServiceChangeAddressChoice_domainName: DomainName valdomain; case ServiceChangeAddressChoice_deviceName: PathName device; case ServiceChangeAddressChoice_mtpAddress: MtpAddress mtp; // 2..4 - IGv6 chap 6.68 }; union OptServiceChangeAddressUnion switch(boolean) { case TRUE: ServiceChangeAddressUnion val; }; struct ServiceChangeProfile { Name profileName; unsigned short version; // 0..99 }; union OptServiceChangeProfile switch(boolean) { case TRUE: ServiceChangeProfile val; }; struct ServiceChangeParm { ServiceChangeMethod method; OptServiceChangeAddressUnion address; // OPTIONAL OptUnsignedShort version; // 0..99 OPTIONAL OptServiceChangeProfile profile; // OPTIONAL Value reason; OptUnsignedLong delay; // 0..4294967295 OPTIONAL OptMIdUnion mgcId; // OPTIONAL OptTimeNotation timeStamp; // OPTIONAL // NonStandardData OPTIONAL, }; struct ServiceChangeRequest { TerminationIdList termIdList; ServiceChangeParm serviceChangeParms; }; enum CommandChoice { CommandChoice_addReq, CommandChoice_moveReq, CommandChoice_modReq, CommandChoice_subtractReq, CommandChoice_auditCapRequest, CommandChoice_auditValueRequest, CommandChoice_notifyReq, CommandChoice_serviceChangeReq }; union CommandUnion switch(CommandChoice) { case CommandChoice_addReq: AmmRequest add; case CommandChoice_moveReq: AmmRequest move; case CommandChoice_modReq: AmmRequest mod; case CommandChoice_subtractReq: SubtractRequest subtract; case CommandChoice_auditCapRequest: AuditRequest auditCap; case CommandChoice_auditValueRequest: AuditRequest auditValue; case CommandChoice_notifyReq: NotifyRequest notfiy; case CommandChoice_serviceChangeReq: ServiceChangeRequest serviceChange; }; struct CommandRequest { CommandUnion command; boolean optional; // NULL OPTIONAL boolean wildcardReturn; // NULL OPTIONAL }; union OptContextRequest switch(boolean) { case TRUE: ContextRequest val; }; union OptContextAttrAuditRequest switch(boolean) { case TRUE: ContextAttrAuditRequest val; }; struct ActionRequest { ContextID id; // name clash OptContextRequest contextRequest; // OPTIONAL OptContextAttrAuditRequest contextAttrAuditReq; // OPTIONAL sequence<CommandRequest> commandRequests; }; struct TransactionRequest { TransactionId id; // name clash sequence<ActionRequest> actions; }; struct TransactionPending { TransactionId id; }; enum TransactionResultChoice { TransactionResultChoice_transactionError, TransactionResultChoice_actionReplies }; struct StatisticsParameter { PkgdName statName; OptValue statValue; // OPTIONAL - IGv6 chap 6.22 }; typedef sequence<StatisticsParameter> StatisticsDescriptor; struct PackagesItem { Name packageName; unsigned short packageVersion; // 0..99 }; typedef sequence<PackagesItem> PackagesDescriptor; enum AuditReturnParameterChoice { AuditReturnParameterChoice_errorDescriptor, AuditReturnParameterChoice_mediaDescriptor, AuditReturnParameterChoice_modemDescriptor, AuditReturnParameterChoice_muxDescriptor, AuditReturnParameterChoice_eventsDescriptor, AuditReturnParameterChoice_eventBufferDescriptor, AuditReturnParameterChoice_signalsDescriptor, AuditReturnParameterChoice_digitMapDescriptor, AuditReturnParameterChoice_observedEventsDescriptor, AuditReturnParameterChoice_statisticsDescriptor, AuditReturnParameterChoice_packagesDescriptor, AuditReturnParameterChoice_emptyDescriptors }; union AuditReturnParameterUnion switch(AuditReturnParameterChoice) { case AuditReturnParameterChoice_errorDescriptor: ErrorDescriptor error; case AuditReturnParameterChoice_mediaDescriptor: MediaDescriptor media; case AuditReturnParameterChoice_modemDescriptor: ModemDescriptor modem; case AuditReturnParameterChoice_muxDescriptor: MuxDescriptor mux; case AuditReturnParameterChoice_eventsDescriptor: EventsDescriptor events; case AuditReturnParameterChoice_eventBufferDescriptor: EventBufferDescriptor buffer; case AuditReturnParameterChoice_signalsDescriptor: SignalsDescriptor signals; case AuditReturnParameterChoice_digitMapDescriptor: DigitMapDescriptor map; case AuditReturnParameterChoice_observedEventsDescriptor: ObservedEventsDescriptor observed; case AuditReturnParameterChoice_statisticsDescriptor: StatisticsDescriptor statististics; case AuditReturnParameterChoice_packagesDescriptor: PackagesDescriptor packages; case AuditReturnParameterChoice_emptyDescriptors: AuditDescriptor audit; }; typedef sequence<AuditReturnParameterUnion> TerminationAudit; union OptTerminationAudit switch(boolean) { case TRUE: TerminationAudit val; }; struct AmmsReply { TerminationIdList termIdList; OptTerminationAudit terminationAudit; // OPTIONAL }; // IGv6 chap 6.38 struct AuditResult { TerminationIdUnion termId; TerminationAudit terminationAuditResult; }; // IGv6 chap 6.38 enum AuditReplyChoice { AuditReplyChoice_ctxAuditResult, AuditReplyChoice_error, AuditReplyChoice_auditResult }; // IGv6 chap 6.38 union AuditReply switch(AuditReplyChoice) { case AuditReplyChoice_ctxAuditResult: TerminationIdList contextAuditResult; case AuditReplyChoice_error: ErrorDescriptor error; case AuditReplyChoice_auditResult: AuditResult audit; }; struct NotifyReply { TerminationIdList termIdList; // IGv6 chap 6.62 OptErrorDescriptor error; // OPTIONAL }; struct ServiceChangeResParm { OptMIdUnion mgcId; // OPTIONAL OptServiceChangeAddressUnion address; // OPTIONAL OptUnsignedShort version; // 0..99 OPTIONAL OptServiceChangeProfile profile; // OPTIONAL OptTimeNotation timeStamp; // OPTIONAL - IGv6 chap 6.58 }; enum ServiceChangeResultChoice { ServiceChangeResultChoice_errorDescriptor, ServiceChangeResultChoice_serviceChangeResParms }; union ServiceChangeResultUnion switch(ServiceChangeResultChoice) { case ServiceChangeResultChoice_errorDescriptor: ErrorDescriptor error; case ServiceChangeResultChoice_serviceChangeResParms: ServiceChangeResParm serviceChange; }; struct ServiceChangeReply { TerminationIdList termIdList; ServiceChangeResultUnion serviceChangeResult; }; enum CommandReplyChoice { CommandReplyChoice_addReply, CommandReplyChoice_moveReply, CommandReplyChoice_modReply, CommandReplyChoice_subtractReply, CommandReplyChoice_auditCapReply, CommandReplyChoice_auditValueReply, CommandReplyChoice_notifyReply, CommandReplyChoice_serviceChangeReply }; union CommandReplyUnion switch(CommandReplyChoice) { case CommandReplyChoice_addReply: AmmsReply add; case CommandReplyChoice_moveReply: AmmsReply move; case CommandReplyChoice_modReply: AmmsReply mod; case CommandReplyChoice_subtractReply: AmmsReply subtract; case CommandReplyChoice_auditCapReply: AuditReply auditCap; case CommandReplyChoice_auditValueReply: AuditReply auditValue; case CommandReplyChoice_notifyReply: NotifyReply notify; case CommandReplyChoice_serviceChangeReply: ServiceChangeReply serviceChange; }; struct ActionReply { ContextID id; // name clash OptErrorDescriptor errorDescriptor; // OPTIONAL OptContextRequest contextReply; // OPTIONAL sequence<CommandReplyUnion> commandReply; }; union TransactionResultUnion switch(TransactionResultChoice) { case TransactionResultChoice_transactionError: ErrorDescriptor error; case TransactionResultChoice_actionReplies: sequence<ActionReply> replies; }; struct TransactionReply { TransactionId id; boolean immAckRequired; // NULL OPTIONAL TransactionResultUnion transactionResult; }; struct TransactionAck // IGv6 chap 6.70 { TransactionId firstAck; OptTransactionId lastAck; // OPTIONAL }; typedef sequence<TransactionAck> TransactionResponseAck; // IGv6 chap 6.70 enum TransactionChoice { TransactionChoice_transactionRequest, TransactionChoice_transactionPending, TransactionChoice_transactionReply, TransactionChoice_transactionResponseAck }; union TransactionUnion switch(TransactionChoice) { case TransactionChoice_transactionRequest: TransactionRequest request; case TransactionChoice_transactionPending: TransactionPending pending; case TransactionChoice_transactionReply: TransactionReply reply; case TransactionChoice_transactionResponseAck: TransactionResponseAck ack; }; enum MessageBodyChoice { MessageBodyChoice_messageError, MessageBodyChoice_transactions }; union MessageBodyUnion switch(MessageBodyChoice) { case MessageBodyChoice_messageError: ErrorDescriptor error; case MessageBodyChoice_transactions: sequence<TransactionUnion> transactions; }; struct Message { unsigned short version; // 0..99 MIdUnion mId; MessageBodyUnion messageBody; }; typedef OctetString SecurityParmIndex; // ASN1: 4..4; ABNF 8..8 typedef OctetString SequenceNum; // ASN1: 4..4; ABNF 8..8 typedef OctetString AuthData; // ASN1: 12..32; ABNF 24..64 struct AuthenticationHeader { SecurityParmIndex secParmIndex; SequenceNum seqNum; AuthData ad; }; union OptAuthenticationHeader switch(boolean) { case TRUE: AuthenticationHeader val; }; struct MegacoMessage { OptAuthenticationHeader authHeader; // OPTIONAL Message mess; };};#endif /* ifndef _MEGACOMESSAGE_IDL_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -