Loading DiameterS9/ttcn/DiameterS9_Steps.ttcn3 0 → 100644 +74 −0 Original line number Diff line number Diff line /** * @author STF 466 * @version $Id: DiameterS9_Steps.ttcn3 661 2013-08-30 12:55:35Z schmitting $ * @desc This module provides ATS specific steps used by the test cases * for IMS-DIAMETER S9 tests. */ module DiameterS9_Steps { //LibCommon import from LibCommon_DataStrings {type Bit1, Bit4, Bit5, Bit8;}//all; import from LibCommon_BasicTypesAndValues {type UInt8;};//LibCommon import from LibCommon_Sync all ; import from LibCommon_VerdictControl all ; //LibDiameter import from LibDiameter_TypesAndValues all; import from LibDiameter_Templates all; import from LibDiameter_Steps all; import from LibDiameter_PIXITS all; import from LibDiameter_Interface all; //DiameterGx import from DiameterGx_Templates all; import from DiameterGx_PIXITS all; import from DiameterGx_Gx_TCFunctions all; import from DiameterGx_TestConfiguration all; import from DiameterGx_Steps all; // GPRS tunneling protocol // import from LibGtp_TypesAndValues all; // import from LibGtp_Interface all; group GlobalSteps { } // end group GlobalSteps group Preambles{ /* * @desc This is a test step that initiate communication with H-PCRF * @param */ function f_initiate_session_HPCRF() runs on DiameterComponent { f_send_CCR(m_CCR_InitialRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(PX_UE1_framedIpAddress), f_framedIpAddress6_send(PX_UE1_framedIp6Address))); f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess))); } }// end group Preambles group Postambles { }// end group Postambles group AVPOperations { }//end group AVPOperations group CheckFunctions { } //end group CheckFunctions } // end module DiameterGx_Steps No newline at end of file DiameterS9/ttcn/DiameterS9_TCFunctions.ttcn3 0 → 100644 +115 −0 Original line number Diff line number Diff line /** * @author STF 466 * @version $Id: DiameterS9_TCFunctions.ttcn 661 2013-08-30 12:55:35Z schmitting $ * @desc This module provides S9 test functions used by the test cases * for IMS-DIAMETER tests. */ module DiameterS9_TCFunctions { // LibCommon import from LibCommon_Sync {function f_selfOrClientSyncAndVerdict; const c_prDone, c_tbDone, c_poDone;} import from LibCommon_VerdictControl all ; // LibDiameter import from LibDiameter_TypesAndValues all; import from LibDiameter_Templates all; import from LibDiameter_Interface all; import from LibDiameter_Steps all; //DiameterGx import from DiameterGx_PIXITS all; import from DiameterGx_Steps all; import from DiameterGx_Templates all; //DiameterS9 import from DiameterS9_Templates all; import from DiameterS9_Steps all; group TP_HPCRFRole{ // §5.2.1 group TP_HPCRFRole_HA {//S9 Messages /* * @desc This is the test case function TC_PCRF_HA_01 * @param */ function TC_PCRF_HA_01() runs on DiameterComponent { f_preamble_PCEF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_S9_InitialRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(PX_UE1_framedIpAddress), f_framedIpAddress6_send(PX_UE1_framedIp6Address))); f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync //session termination f_terminate_session_PCEF(); f_postamble_PCEF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_PCRF_HA_01 } // group TP_HPCRFRole_HA group TP_HPCRFRole_HSE {//S9 Session Establishment /* * @desc This is the test case function TC_PCRF_HA_01 * @param */ function TC_PCRF_HSE_01() runs on DiameterComponent { f_preamble_PCEF(); //f_initiate_session_HPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_S9_InitialRequest_SubID_AnGw_BBERFatt(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(PX_UE1_framedIpAddress), f_framedIpAddress6_send(PX_UE1_framedIp6Address), {m_subscription_Id(valueof(m_subscription_Id_Type(PX_SUBSCRIPTION_ID_TYPE)), valueof(m_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA)))}, // TODO AN-GW-Address m_qoS_Information_dummy // BBERF attributes TODO: to check more required AVPs ) ); // TODO: p_qosRuleInstall:=? f_awaiting_CCA(mw_CCA_S9_ResultCode_BearerControlMode(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync //session termination f_terminate_session_PCEF(); f_postamble_PCEF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_PCRF_HSE_01 } // group TP_HPCRFRole_HSE } // group TP_HPCRFRole group TP_VPCRFRole{ // §5.2.2 } // group TP_VPCRFRole } No newline at end of file DiameterS9/ttcn/DiameterS9_Templates.ttcn 0 → 100644 +149 −0 Original line number Diff line number Diff line /** * @author STF 466 * @version $Id: DiameterS9_Templates.ttcn 661 2013-08-30 12:55:35Z schmitting $ * @desc This module defines S9 Diameter Templates for message, header, and * structured types. <br> * Note that any changes made to the definitions in this module * may be overwritten by future releases of this library * End users are encouraged to contact the distributers of this * module regarding their modifications or additions * @remark Any additions to the templates shall follow the design rules * and always modify base templates only; */ module DiameterS9_Templates { //LibCommon import from LibCommon_DataStrings {type Bit1, Bit4, Bit5, Bit8;}//all; import from LibCommon_BasicTypesAndValues {type UInt8, UInt32;}; //LibDiameter import from LibDiameter_TypesAndValues all; import from LibDiameter_Templates all; import from LibDiameter_Steps all; //DiameterGx import from DiameterGx_PIXITS all; import from DiameterGx_Templates all; group SubFields{ } //end group SubFields group HeaderFieldTemplates { group DummyAVPHeaders{ } //end group DummyAVPHeaders group SpecificAVPHeaders { group sendingTemplatesForAVPs{ }//end group sendingTemplatesForAVPs group awaitingTemplatesForAVPs{ }//end group awaitingTemplatesForAVPs } //end group SpecificAVPHeaders } //end group HeaderFieldTemplates /** Message templates for RAR, RAA, CCR, CCA.... methods */ group S9MessageTemplates { group S9base_templates { group S9basic_request_templates_send { template CCR_MSG m_CCR_S9_basic(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Destination_Realm_AVP p_destinationRealm) modifies m_CCR_dummy := { header := m_diameterHeaderReq_dummy(CCR_E, c_applIdGx), // session_Id := p_sessionId, // origin_Host := p_originHost, // origin_Realm := p_originRealm, // destination_Realm := p_destinationRealm, // auth_Application_Id := m_authApplicationId(c_applIdGx), cC_Request_Type := m_cC_Request_Type(INITIAL_REQUEST_E) //, // cC_Request_Number := m_cC_Request_Number(0) } } // end group S9basic_request_templates_send group S9basic_request_templates_receive { }//end group S9basic_request_templates_receive group S9basic_answer_templates_send { } group S9basic_answer_templates_receive { } } //end group Gxbase_templates group S9modified_templates { group S9modified_request_templates_send { template CCR_MSG m_CCR_S9_InitialRequest(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Destination_Realm_AVP p_destinationRealm, template Framed_IP_Address_AVP p_framedIpAddress, template Framed_IPv6_Prefix_AVP p_framedIp6Address) modifies m_CCR_basic := { subscription_Id := {m_subscription_Id(valueof(m_subscription_Id_Type(PX_SUBSCRIPTION_ID_TYPE)),valueof(m_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA)))}, framed_IP_Address := p_framedIpAddress, // framed_IPv6_Prefix := p_framedIp6Address, iP_CAN_Type := m_iP_CAN_Type(PX_IP_CAN_TYPE), rAT_Type := m_rAT_Type(PX_RAT_TYPE) } template CCR_MSG m_CCR_S9_InitialRequest_SubID_AnGw_BBERFatt(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Destination_Realm_AVP p_destinationRealm, template Framed_IP_Address_AVP p_framedIpAddress, template Framed_IPv6_Prefix_AVP p_framedIp6Address, template CCR_MSG.subscription_Id p_subscriptionId, // TODO AN-GW-Address template QoS_Information_AVP p_qosInformation // BBERF attributes TODO: to check more required AVPs ) modifies m_CCR_S9_InitialRequest := { subscription_Id := p_subscriptionId } } // end group S9modified_request_templates_send group S9modified_request_templates_receive { } // end group S9modified_request_templates_receive group S9modified_answer_templates_send { } // end group S9modified_answer_templates_send group S9modified_answer_templates_receive { template CCA_MSG mw_CCA_S9_ResultCode_BearerControlMode( template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Result_Code_AVP p_resultCode //, // TODO template QoS_Rule_Install_AVP p_qosRuleInstall ) modifies mw_CCA_basic := { result_Code := p_resultCode //, // TODO qoS_Rule_Install := p_qosRuleInstall } } // end group S9modified_answer_templates_receive } //end group S9modified_templates } //end group S9MessageTemplates }//end module LibDiameter_Templates No newline at end of file Loading
DiameterS9/ttcn/DiameterS9_Steps.ttcn3 0 → 100644 +74 −0 Original line number Diff line number Diff line /** * @author STF 466 * @version $Id: DiameterS9_Steps.ttcn3 661 2013-08-30 12:55:35Z schmitting $ * @desc This module provides ATS specific steps used by the test cases * for IMS-DIAMETER S9 tests. */ module DiameterS9_Steps { //LibCommon import from LibCommon_DataStrings {type Bit1, Bit4, Bit5, Bit8;}//all; import from LibCommon_BasicTypesAndValues {type UInt8;};//LibCommon import from LibCommon_Sync all ; import from LibCommon_VerdictControl all ; //LibDiameter import from LibDiameter_TypesAndValues all; import from LibDiameter_Templates all; import from LibDiameter_Steps all; import from LibDiameter_PIXITS all; import from LibDiameter_Interface all; //DiameterGx import from DiameterGx_Templates all; import from DiameterGx_PIXITS all; import from DiameterGx_Gx_TCFunctions all; import from DiameterGx_TestConfiguration all; import from DiameterGx_Steps all; // GPRS tunneling protocol // import from LibGtp_TypesAndValues all; // import from LibGtp_Interface all; group GlobalSteps { } // end group GlobalSteps group Preambles{ /* * @desc This is a test step that initiate communication with H-PCRF * @param */ function f_initiate_session_HPCRF() runs on DiameterComponent { f_send_CCR(m_CCR_InitialRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(PX_UE1_framedIpAddress), f_framedIpAddress6_send(PX_UE1_framedIp6Address))); f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess))); } }// end group Preambles group Postambles { }// end group Postambles group AVPOperations { }//end group AVPOperations group CheckFunctions { } //end group CheckFunctions } // end module DiameterGx_Steps No newline at end of file
DiameterS9/ttcn/DiameterS9_TCFunctions.ttcn3 0 → 100644 +115 −0 Original line number Diff line number Diff line /** * @author STF 466 * @version $Id: DiameterS9_TCFunctions.ttcn 661 2013-08-30 12:55:35Z schmitting $ * @desc This module provides S9 test functions used by the test cases * for IMS-DIAMETER tests. */ module DiameterS9_TCFunctions { // LibCommon import from LibCommon_Sync {function f_selfOrClientSyncAndVerdict; const c_prDone, c_tbDone, c_poDone;} import from LibCommon_VerdictControl all ; // LibDiameter import from LibDiameter_TypesAndValues all; import from LibDiameter_Templates all; import from LibDiameter_Interface all; import from LibDiameter_Steps all; //DiameterGx import from DiameterGx_PIXITS all; import from DiameterGx_Steps all; import from DiameterGx_Templates all; //DiameterS9 import from DiameterS9_Templates all; import from DiameterS9_Steps all; group TP_HPCRFRole{ // §5.2.1 group TP_HPCRFRole_HA {//S9 Messages /* * @desc This is the test case function TC_PCRF_HA_01 * @param */ function TC_PCRF_HA_01() runs on DiameterComponent { f_preamble_PCEF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_S9_InitialRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(PX_UE1_framedIpAddress), f_framedIpAddress6_send(PX_UE1_framedIp6Address))); f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync //session termination f_terminate_session_PCEF(); f_postamble_PCEF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_PCRF_HA_01 } // group TP_HPCRFRole_HA group TP_HPCRFRole_HSE {//S9 Session Establishment /* * @desc This is the test case function TC_PCRF_HA_01 * @param */ function TC_PCRF_HSE_01() runs on DiameterComponent { f_preamble_PCEF(); //f_initiate_session_HPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_S9_InitialRequest_SubID_AnGw_BBERFatt(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(PX_UE1_framedIpAddress), f_framedIpAddress6_send(PX_UE1_framedIp6Address), {m_subscription_Id(valueof(m_subscription_Id_Type(PX_SUBSCRIPTION_ID_TYPE)), valueof(m_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA)))}, // TODO AN-GW-Address m_qoS_Information_dummy // BBERF attributes TODO: to check more required AVPs ) ); // TODO: p_qosRuleInstall:=? f_awaiting_CCA(mw_CCA_S9_ResultCode_BearerControlMode(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync //session termination f_terminate_session_PCEF(); f_postamble_PCEF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_PCRF_HSE_01 } // group TP_HPCRFRole_HSE } // group TP_HPCRFRole group TP_VPCRFRole{ // §5.2.2 } // group TP_VPCRFRole } No newline at end of file
DiameterS9/ttcn/DiameterS9_Templates.ttcn 0 → 100644 +149 −0 Original line number Diff line number Diff line /** * @author STF 466 * @version $Id: DiameterS9_Templates.ttcn 661 2013-08-30 12:55:35Z schmitting $ * @desc This module defines S9 Diameter Templates for message, header, and * structured types. <br> * Note that any changes made to the definitions in this module * may be overwritten by future releases of this library * End users are encouraged to contact the distributers of this * module regarding their modifications or additions * @remark Any additions to the templates shall follow the design rules * and always modify base templates only; */ module DiameterS9_Templates { //LibCommon import from LibCommon_DataStrings {type Bit1, Bit4, Bit5, Bit8;}//all; import from LibCommon_BasicTypesAndValues {type UInt8, UInt32;}; //LibDiameter import from LibDiameter_TypesAndValues all; import from LibDiameter_Templates all; import from LibDiameter_Steps all; //DiameterGx import from DiameterGx_PIXITS all; import from DiameterGx_Templates all; group SubFields{ } //end group SubFields group HeaderFieldTemplates { group DummyAVPHeaders{ } //end group DummyAVPHeaders group SpecificAVPHeaders { group sendingTemplatesForAVPs{ }//end group sendingTemplatesForAVPs group awaitingTemplatesForAVPs{ }//end group awaitingTemplatesForAVPs } //end group SpecificAVPHeaders } //end group HeaderFieldTemplates /** Message templates for RAR, RAA, CCR, CCA.... methods */ group S9MessageTemplates { group S9base_templates { group S9basic_request_templates_send { template CCR_MSG m_CCR_S9_basic(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Destination_Realm_AVP p_destinationRealm) modifies m_CCR_dummy := { header := m_diameterHeaderReq_dummy(CCR_E, c_applIdGx), // session_Id := p_sessionId, // origin_Host := p_originHost, // origin_Realm := p_originRealm, // destination_Realm := p_destinationRealm, // auth_Application_Id := m_authApplicationId(c_applIdGx), cC_Request_Type := m_cC_Request_Type(INITIAL_REQUEST_E) //, // cC_Request_Number := m_cC_Request_Number(0) } } // end group S9basic_request_templates_send group S9basic_request_templates_receive { }//end group S9basic_request_templates_receive group S9basic_answer_templates_send { } group S9basic_answer_templates_receive { } } //end group Gxbase_templates group S9modified_templates { group S9modified_request_templates_send { template CCR_MSG m_CCR_S9_InitialRequest(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Destination_Realm_AVP p_destinationRealm, template Framed_IP_Address_AVP p_framedIpAddress, template Framed_IPv6_Prefix_AVP p_framedIp6Address) modifies m_CCR_basic := { subscription_Id := {m_subscription_Id(valueof(m_subscription_Id_Type(PX_SUBSCRIPTION_ID_TYPE)),valueof(m_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA)))}, framed_IP_Address := p_framedIpAddress, // framed_IPv6_Prefix := p_framedIp6Address, iP_CAN_Type := m_iP_CAN_Type(PX_IP_CAN_TYPE), rAT_Type := m_rAT_Type(PX_RAT_TYPE) } template CCR_MSG m_CCR_S9_InitialRequest_SubID_AnGw_BBERFatt(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Destination_Realm_AVP p_destinationRealm, template Framed_IP_Address_AVP p_framedIpAddress, template Framed_IPv6_Prefix_AVP p_framedIp6Address, template CCR_MSG.subscription_Id p_subscriptionId, // TODO AN-GW-Address template QoS_Information_AVP p_qosInformation // BBERF attributes TODO: to check more required AVPs ) modifies m_CCR_S9_InitialRequest := { subscription_Id := p_subscriptionId } } // end group S9modified_request_templates_send group S9modified_request_templates_receive { } // end group S9modified_request_templates_receive group S9modified_answer_templates_send { } // end group S9modified_answer_templates_send group S9modified_answer_templates_receive { template CCA_MSG mw_CCA_S9_ResultCode_BearerControlMode( template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Result_Code_AVP p_resultCode //, // TODO template QoS_Rule_Install_AVP p_qosRuleInstall ) modifies mw_CCA_basic := { result_Code := p_resultCode //, // TODO qoS_Rule_Install := p_qosRuleInstall } } // end group S9modified_answer_templates_receive } //end group S9modified_templates } //end group S9MessageTemplates }//end module LibDiameter_Templates No newline at end of file