⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 megacomessage.idl

📁 一个Megaco实现源代码
💻 IDL
📖 第 1 页 / 共 2 页
字号:
  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 + -