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

📄 diameter_mip4_parser.hxx

📁 Diameter协议栈
💻 HXX
📖 第 1 页 / 共 3 页
字号:
    MipMnAaaAuth.Clear();     AcctMultiSessionId.Clear();    DestinationHost.Clear();    OriginStateId.Clear();        MipMobileNodeAddress.Clear();    MipHomeAgentAddress.Clear();    MipFeatureVector.Clear();    MipOriginatingForeignAaa.Clear();    AuthorizationLifetime.Clear();    AuthSessionState.Clear();    MipFaChallenge.Clear();    MipCandidateHomeAgentHost.Clear();    MipHomeAgentHost.Clear();    MipHaToFaSpi.Clear();    ProxyInfo.Clear();    RouteRecord.Clear();    Avp.Clear();  }  /// AMR AVPs  AAA_ScholarAttribute<diameter_utf8string_t> SessionId;  AAA_ScholarAttribute<diameter_unsigned32_t> AuthApplicationId;  AAA_ScholarAttribute<diameter_utf8string_t> UserName;  AAA_ScholarAttribute<diameter_identity_t>  DestinationRealm;  AAA_ScholarAttribute<diameter_identity_t>  OriginHost;  AAA_ScholarAttribute<diameter_identity_t>  OriginRealm;  AAA_ScholarAttribute<diameter_octetstring_t> MipRegRequest;  AAA_GroupedScholarAttribute<mip_mn_aaa_auth_info_t> MipMnAaaAuth;  // optional AVPs  AAA_ScholarAttribute<diameter_utf8string_t> AcctMultiSessionId;     AAA_ScholarAttribute<diameter_identity_t>  DestinationHost;  AAA_ScholarAttribute<diameter_unsigned32_t> OriginStateId;    AAA_ScholarAttribute<diameter_address_t> MipMobileNodeAddress;  AAA_ScholarAttribute<diameter_address_t> MipHomeAgentAddress;  AAA_ScholarAttribute<diameter_unsigned32_t> MipFeatureVector;  AAA_GroupedScholarAttribute<mip_originating_foreign_aaa_info_t> MipOriginatingForeignAaa;  AAA_GroupedScholarAttribute<mip_home_agent_host_info_t> MipHomeAgentHost;  AAA_ScholarAttribute<diameter_unsigned32_t> AuthorizationLifetime;    /* In Section 8 of RFC3588:  "An access device that does not expect to send a re-authorization or  a session termination request to the server MAY include the Auth-  Session-State AVP with the value set to NO_STATE_MAINTAINED as a  hint to the server.  If the server accepts the hint, it agrees that  since no session termination message will be received once service  to the user is terminated, it cannot maintain state for the session.  If the answer message from the server contains a different value in  the Auth-Session-State AVP (or the default value if the AVP is  absent), the access device MUST follow the server's directives.  Note that the value NO_STATE_MAINTAINED MUST NOT be set in  subsequent re- authorization requests and answers."  In Section 8.1 of RFC3588:  "There are four different authorization session state machines  supported in the Diameter base protocol.  The first two describe a  session in which the server is maintaining session state, indicated  by the value of the Auth-Session-State AVP (or its absence).  One  describes the session from a client perspective, the other from a  server perspective.  The second two state machines are used when the  server does not maintain session state.  Here again, one describes  the session from a client perspective, the other from a server  perspective."  In Section 8.11 of RFC3588:  "8.11.  Auth-Session-State AVP                                                                                  The Auth-Session-State AVP (AVP Code 277) is of type Enumerated and  specifies whether state is maintained for a particular session.  The  client MAY include this AVP in requests as a hint to the server, but  the value in the server's answer message is binding.  The following  values are supported:                                                                                  STATE_MAINTAINED              0      This value is used to specify that session state is being      maintained, and the access device MUST issue a session termination      message when service to the user is terminated.  This is the      default value.                                                                                  NO_STATE_MAINTAINED           1      This value is used to specify that no session termination messages      will be sent by the access device upon expiration of the      Authorization-Lifetime."    */  AAA_ScholarAttribute<diameter_enumerated_t> AuthSessionState;  AAA_ScholarAttribute<diameter_octetstring_t> MipFaChallenge;  AAA_ScholarAttribute<diameter_identity_t> MipCandidateHomeAgentHost;  AAA_ScholarAttribute<diameter_unsigned32_t> MipHaToFaSpi;  AAA_GroupedVectorAttribute<proxyinfo_t> ProxyInfo;  AAA_VectorAttribute<diameter_identity_t> RouteRecord;  AAA_VectorAttribute<avp_t> Avp;};/// Definition for AMA message contents internal structure.class AMA_Data{ public:      AMA_Data()     {  }  void Clear()  {    SessionId.Clear();    AuthApplicationId.Clear();    ResultCode.Clear();    OriginHost.Clear();    OriginRealm.Clear();  // optional AVPs    AcctMultiSessionId.Clear();    UserName.Clear();    AuthorizationLifetime.Clear();    AuthSessionState.Clear();        ErrorReportingHost.Clear();    ErrorMessage.Clear();     ReAuthRequestType.Clear();     MipFeatureVector.Clear();    MipRegReply.Clear();    MipMnToFaMsa.Clear();    MipMnToHaMsa.Clear();    MipFaToMnMsa.Clear();    MipFaToHaMsa.Clear();    MipHaToMnMsa.Clear();    MipMsaLifetime.Clear();    MipAlgorithmType.Clear();    MipHomeAgentAddress.Clear();    MipMobileNodeAddress.Clear();    MipFilterRule.Clear();    OriginStateId.Clear();    OriginStateId.Clear();    ProxyInfo.Clear();    Avp.Clear();  }  /// AMA AVPs  AAA_ScholarAttribute<diameter_utf8string_t> SessionId;  AAA_ScholarAttribute<diameter_unsigned32_t> AuthApplicationId;  AAA_ScholarAttribute<diameter_unsigned32_t> ResultCode;  AAA_ScholarAttribute<diameter_identity_t>  OriginHost;  AAA_ScholarAttribute<diameter_identity_t>  OriginRealm;  // optional AVPs  AAA_ScholarAttribute<diameter_utf8string_t> AcctMultiSessionId;   AAA_ScholarAttribute<diameter_utf8string_t> UserName;  AAA_ScholarAttribute<diameter_unsigned32_t> AuthorizationLifetime;  AAA_ScholarAttribute<diameter_enumerated_t> AuthSessionState;      AAA_ScholarAttribute<diameter_identity_t>  ErrorReportingHost;  AAA_ScholarAttribute<diameter_utf8string_t> ErrorMessage;   AAA_ScholarAttribute<diameter_enumerated_t> ReAuthRequestType;   AAA_ScholarAttribute<diameter_unsigned32_t> MipFeatureVector;  AAA_ScholarAttribute<diameter_octetstring_t> MipRegReply;  AAA_GroupedScholarAttribute<mip_mn_to_fa_msa_info_t> MipMnToFaMsa;  AAA_GroupedScholarAttribute<mip_mn_to_ha_msa_info_t> MipMnToHaMsa;  AAA_GroupedScholarAttribute<mip_fa_to_mn_msa_info_t> MipFaToMnMsa;  AAA_GroupedScholarAttribute<mip_fa_to_ha_msa_info_t> MipFaToHaMsa;  AAA_GroupedScholarAttribute<mip_ha_to_mn_msa_info_t> MipHaToMnMsa;  AAA_ScholarAttribute<diameter_unsigned32_t> MipMsaLifetime;  AAA_ScholarAttribute<diameter_enumerated_t> MipAlgorithmType;  AAA_ScholarAttribute<diameter_address_t> MipHomeAgentAddress;  AAA_ScholarAttribute<diameter_address_t> MipMobileNodeAddress;  AAA_VectorAttribute<diameter_ipfilter_rule_t> MipFilterRule;  AAA_ScholarAttribute<diameter_unsigned32_t> OriginStateId;  AAA_GroupedVectorAttribute<proxyinfo_t> ProxyInfo;  AAA_VectorAttribute<avp_t> Avp;};class HAR_Data{ public:  HAR_Data()  {  }  void Clear()  {    SessionId.Clear();    AuthApplicationId.Clear();    AuthorizationLifetime.Clear();    AuthSessionState.Clear();    MipRegRequest.Clear();    OriginHost.Clear();    OriginRealm.Clear();    UserName.Clear();    DestinationRealm.Clear();       MipFeatureVector.Clear();      DestinationHost.Clear();    MipMnToHaMsa.Clear();    MipMnToFaMsa.Clear();    MipHaToMnMsa.Clear();    MipHaToFaMsa.Clear();    MipMsaLifetime.Clear();    MipOriginatingForeignAaa.Clear();        MipMobileNodeAddress.Clear();    MipHomeAgentAddress.Clear();    MipAlgorithmType.Clear();    MipFilterRule.Clear();    OriginStateId.Clear();    ProxyInfo.Clear();    RouteRecord.Clear();    Avp.Clear();  }  /// HAR AVPs  AAA_ScholarAttribute<diameter_utf8string_t> SessionId;  AAA_ScholarAttribute<diameter_unsigned32_t> AuthApplicationId;  AAA_ScholarAttribute<diameter_unsigned32_t> AuthorizationLifetime;   /*  "8.11.  Auth-Session-State AVP                                                                                  The Auth-Session-State AVP (AVP Code 277) is of type Enumerated and  specifies whether state is maintained for a particular session.  The  client MAY include this AVP in requests as a hint to the server, but  the value in the server's answer message is binding.  The following  values are supported:                                                                                  STATE_MAINTAINED              0      This value is used to specify that session state is being      maintained, and the access device MUST issue a session termination      message when service to the user is terminated.  This is the      default value.                                                                                  NO_STATE_MAINTAINED           1      This value is used to specify that no session termination messages      will be sent by the access device upon expiration of the      Authorization-Lifetime."    */  AAA_ScholarAttribute<diameter_enumerated_t> AuthSessionState;  AAA_ScholarAttribute<diameter_octetstring_t> MipRegRequest;   AAA_ScholarAttribute<diameter_identity_t>  OriginHost;  AAA_ScholarAttribute<diameter_identity_t>  OriginRealm;    AAA_ScholarAttribute<diameter_utf8string_t> UserName;  AAA_ScholarAttribute<diameter_identity_t>  DestinationRealm;  AAA_ScholarAttribute<diameter_unsigned32_t> MipFeatureVector;  // optional AVPs     AAA_ScholarAttribute<diameter_identity_t>  DestinationHost;  AAA_GroupedScholarAttribute<mip_mn_to_ha_msa_info_t> MipMnToHaMsa;    AAA_GroupedScholarAttribute<mip_mn_to_fa_msa_info_t> MipMnToFaMsa;  AAA_GroupedScholarAttribute<mip_ha_to_mn_msa_info_t> MipHaToMnMsa;  AAA_GroupedScholarAttribute<mip_ha_to_fa_msa_info_t> MipHaToFaMsa;  AAA_ScholarAttribute<diameter_unsigned32_t> MipMsaLifetime;  AAA_GroupedScholarAttribute<mip_originating_foreign_aaa_info_t> MipOriginatingForeignAaa;  AAA_ScholarAttribute<diameter_address_t> MipMobileNodeAddress;  AAA_ScholarAttribute<diameter_address_t> MipHomeAgentAddress;  AAA_ScholarAttribute<diameter_enumerated_t> MipAlgorithmType;  AAA_VectorAttribute<diameter_ipfilter_rule_t> MipFilterRule;  AAA_ScholarAttribute<diameter_unsigned32_t> OriginStateId;  AAA_GroupedVectorAttribute<proxyinfo_t> ProxyInfo;  AAA_VectorAttribute<diameter_identity_t> RouteRecord;  AAA_VectorAttribute<avp_t> Avp;};/// Definition for HAA message contents internal structure.class HAA_Data{ public:	     HAA_Data()     {  }  void Clear()  {    SessionId.Clear();    AuthApplicationId.Clear();    ResultCode.Clear();    OriginHost.Clear();    OriginRealm.Clear();    UserName.Clear();    AcctMultiSessionId.Clear();     ErrorReportingHost.Clear();     ErrorMessage.Clear();     MipRegReply.Clear();     MipHomeAgentAddress.Clear();     MipMobileNodeAddress.Clear();     MipFaToHaSpi.Clear();     MipFaToMnSpi.Clear();     OriginStateId.Clear();    ProxyInfo.Clear();    Avp.Clear();  }  /// HAA AVPs  AAA_ScholarAttribute<diameter_utf8string_t> SessionId;  AAA_ScholarAttribute<diameter_unsigned32_t> AuthApplicationId;  AAA_ScholarAttribute<diameter_unsigned32_t> ResultCode;  AAA_ScholarAttribute<diameter_identity_t>  OriginHost;  AAA_ScholarAttribute<diameter_identity_t>  OriginRealm;  // optional AVPs  AAA_ScholarAttribute<diameter_utf8string_t> AcctMultiSessionId;   AAA_ScholarAttribute<diameter_utf8string_t> UserName;    AAA_ScholarAttribute<diameter_identity_t>  ErrorReportingHost;  AAA_ScholarAttribute<diameter_utf8string_t> ErrorMessage;   AAA_ScholarAttribute<diameter_octetstring_t> MipRegReply;  AAA_ScholarAttribute<diameter_address_t> MipHomeAgentAddress;  AAA_ScholarAttribute<diameter_address_t> MipMobileNodeAddress;  AAA_ScholarAttribute<diameter_unsigned32_t> MipFaToHaSpi;  AAA_ScholarAttribute<diameter_unsigned32_t> MipFaToMnSpi;  AAA_ScholarAttribute<diameter_unsigned32_t> OriginStateId;  AAA_GroupedVectorAttribute<proxyinfo_t> ProxyInfo;  AAA_VectorAttribute<avp_t> Avp;};typedef AAAParser<AAAMessage*, AMR_Data*> AMR_Parser;typedef AAAParser<AAAMessage*, AMA_Data*> AMA_Parser;typedef AAAParser<AAAMessage*, HAR_Data*> HAR_Parser;typedef AAAParser<AAAMessage*, HAA_Data*> HAA_Parser;template<> void AMR_Parser::parseRawToApp();template<> void AMR_Parser::parseAppToRaw();template<> void AMA_Parser::parseRawToApp();template<> void AMA_Parser::parseAppToRaw();template<> void HAR_Parser::parseRawToApp();template<> void HAR_Parser::parseAppToRaw();template<> void HAA_Parser::parseRawToApp();template<> void HAA_Parser::parseAppToRaw();#endif //__DIAMETER_MIP4_PARSER_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -