Loading DiameterRfRo/ttcn/DiameterRfRo_PICS.ttcn +3 −4 Original line number Diff line number Diff line Loading @@ -176,14 +176,13 @@ module DiameterRfRo_PICS { modulepar boolean PICS_RO_OCF_CREDIT_POOLING := false; /** * @desc Does OCF support re-authorization and specification of an idle * timeout in the Quota Holding-Time AVP of the CCA message? * @desc Does OCF support specification of an idle timeout in the Quota Holding-Time AVP of the CCA message? * @see ETSI TS 103 374-1 V1.1.2 (2015-09) A.6/9.1 */ modulepar boolean PICS_RO_OCF_RE_AUTHORIZATION_QUOTA_HOLDING_TIME := false; /** * @desc Does OCF support re-authorization and instructions to trigger re-authorization * in the Trigger AVP in the Multiple-Services-Credit-Control AVP of the CCA messag? * @desc Does OCF support instructions to trigger re-authorization in the Trigger AVP in the * Multiple-Services-Credit-Control AVP of the CCA message? * @see ETSI TS 103 374-1 V1.1.2 (2015-09) A.6/9.2 */ modulepar boolean PICS_RO_OCF_RE_AUTHORIZATION_TRIGGER := false; Loading DiameterRfRo/ttcn/DiameterRfRo_PIXITS.ttcn +3 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ module DiameterRfRo_PIXITS { // LibDiameter import from LibDiameter_Types_Base_AVPs all; import from LibDiameter_Types_RfRo_AVPs all; import from LibDiameter_Types_Gx_AVPs all; import from LibDiameter_Types_S9_AVPs all; Loading Loading @@ -289,6 +290,8 @@ module DiameterRfRo_PIXITS { */ modulepar UTF8String PX_SERVICE_CONTEXT_ID := "ContextId"; modulepar Trigger_Type PX_TRIGGER_TYPE := CHANGEINQOS_TRAFFIC_CLASS_E; } // End of group ocfContext /** Loading DiameterRfRo/ttcn/DiameterRfRo_TCFunctions.ttcn +168 −14 Original line number Diff line number Diff line Loading @@ -2760,23 +2760,104 @@ module DiameterRfRo_TCFunctions { INITIAL_REQUEST_E // indicating INITIAL_REQUEST ), mw_cC_Request_Number_AVP, mdw_multiple_Services_Credit_Control_granted_Service_Unit( mdw_multiple_Services_Credit_Control_quota_holdling( // containing a Multiple-Services-Credit-Control AVP mdw_granted_Service_Unit_Time( // containing a Granted-Service-Unit AVP mw_cC_Time // indicating reserved units mw_quota_Holding_Time_AVP( // containing a Quota-Holding-Time AVP complement(0) // indicating a non 0 value ) ) ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_sendCCR_awaitCCA_( TERMINATION_REQUEST_E, 3 ); f_postamble_Ro_CTF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_OCF_OP_01 /** * @desc Verify that the IUT can successfully process a CC-Answer [Update] including various Trigger-Type AVPs and generate a credit re-authorization * @verdict pass on success, fail on error or inconc on timeout only */ function f_TC_RO_OCF_OP_02() runs on DiameterRfRo { // Local variables // Preamble f_preamble_Ro_CTF(); // Preamble action: CCR,CCA [Event] direct debeting action are exchanged f_sendCCR_awaitCCA_( INITIAL_REQUEST_E, 3, m_service_Context_Id(PX_SERVICE_CONTEXT_ID) ); f_sendCCR_awaitCCA_( INITIAL_REQUEST_E, 3, m_service_Context_Id(PX_SERVICE_CONTEXT_ID) ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); f_send_CCR( md_cCR( vc_sessionId, md_ccrBodyAvps_TypeOfCharging( vc_originHost, vc_originRealm, vc_destinationRealm, md_cC_Request_Type_AVP( // containing a CC-Request-Type AVP UPDATE_REQUEST_E // indicating UPDATE_REQUEST ), mw_cost_Information_AVP( // optionally containing a Cost-Information AVP mw_unit_Value_AVP( // containing a Unit-Value AVP mw_value_Digits_AVP // containing a Value-Digits AVP md_cC_Request_Number_AVP(3), m_service_Context_Id(PX_SERVICE_CONTEXT_ID) ) ) ); f_awaiting_CCA( mdw_cCA( vc_sessionId, mdw_ccaBodyAvps_multiple_Services_Credit_Control( mw_resultCode( // containing a Result-Code AVP DIAMETER_SUCCESS_E // indicating DIAMETER_SUCCESS ), mw_currency_Code_AVP // containing a Currency-Code AVP vc_originHost, vc_originRealm, mw_cC_Request_Type_AVP( // containing a CC-Request-Type AVP UPDATE_REQUEST_E // indicating UPDATE_REQUEST ), mw_remaining_Balance_AVP( // optionally containing a Remaining-Balance AVP mw_unit_Value_AVP( // containing a Unit-Value AVP mw_value_Digits_AVP // containing a Value-Digits AVP mw_cC_Request_Number_AVP, mdw_multiple_Services_Credit_Control_Trigger_AVP( // containing a Multiple-Services-Credit-Control AVP mw_trigger_AVP( // containing a Trigger AVP mw_trigger_Type_AVP( // containing a Trigger-Type AVP PX_TRIGGER_TYPE // indicating one of the possible values (7.2.235/236) ) ) ) ) ) ); f_awaiting_RAR( mdw_rAR( ?, mdw_rarBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP vc_destinationHost, // containing a CC-Request-Type AVP mw_auth_Application_Id_AVP( // containing an Auth-Application-Id AVP 4 // indicating the value 4 ), mw_currency_Code_AVP // containing a Currency-Code AVP mw_re_Auth_Request( // containing a Re-Auth-Request-Type AVP AUTHORIZE_ONLY_E // indicating AUTHORIZE_ONLY ) ) ) Loading @@ -2791,7 +2872,80 @@ module DiameterRfRo_TCFunctions { f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_OCF_OP_01 } // End of function f_TC_RO_OCF_OP_02 /** * @desc Verify that the IUT can successfully reset triggers which were already set * @verdict pass on success, fail on error or inconc on timeout only */ function f_TC_RO_OCF_OP_03() runs on DiameterRfRo { // Local variables // Preamble f_preamble_Ro_CTF(); // Preamble action: CCR,CCA [Event] direct debeting action are exchanged f_sendCCR_awaitCCA_( INITIAL_REQUEST_E, 3, m_service_Context_Id(PX_SERVICE_CONTEXT_ID) ); f_sendCCR_awaitCCA_( INITIAL_REQUEST_E, 3, m_service_Context_Id(PX_SERVICE_CONTEXT_ID) ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); f_send_CCR( md_cCR( vc_sessionId, md_ccrBodyAvps_TypeOfCharging( vc_originHost, vc_originRealm, vc_destinationRealm, md_cC_Request_Type_AVP( // containing a CC-Request-Type AVP UPDATE_REQUEST_E // indicating UPDATE_REQUEST ), md_cC_Request_Number_AVP(3), m_service_Context_Id(PX_SERVICE_CONTEXT_ID) ) ) ); f_awaiting_CCA( mdw_cCA( vc_sessionId, mdw_ccaBodyAvps_multiple_Services_Credit_Control( mw_resultCode( // containing a Result-Code AVP DIAMETER_SUCCESS_E // indicating DIAMETER_SUCCESS ), vc_originHost, vc_originRealm, mw_cC_Request_Type_AVP( // containing a CC-Request-Type AVP UPDATE_REQUEST_E // indicating UPDATE_REQUEST ), mw_cC_Request_Number_AVP, mdw_multiple_Services_Credit_Control_Trigger_AVP( // containing a Multiple-Services-Credit-Control AVP mw_reseted_trigger_AVP // containing a Trigger AVP // not containing a Trigger-Type AVP ) ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_sendCCR_awaitCCA_( TERMINATION_REQUEST_E, 3 ); f_postamble_Ro_CTF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_OCF_OP_03 } // End of group TP_RO_OCF_OP Loading DiameterRfRo/ttcn/DiameterRfRo_Templates.ttcn +84 −13 Original line number Diff line number Diff line Loading @@ -3799,7 +3799,7 @@ module DiameterRfRo_Templates { } // End of template mw_pdp_Context_Type_AVP /** * @desc The Trigger send template * @desc The Trigger receieve template * @param p_trigger_Type Holds the trigger types * * @see ETSI TS 132 299 V10.15.0 Clause 7.2.235 Trigger AVP Loading @@ -3812,6 +3812,17 @@ module DiameterRfRo_Templates { trigger_Type := { p_trigger_Type } } // End of template mw_trigger_AVP /** * @desc The Trigger receieve template without trigger type * * @see ETSI TS 132 299 V10.15.0 Clause 7.2.235 Trigger AVP * @see ETSI TS 132 299 V10.15.0 Table 7.2: 3GPP specific AVPs */ template (present) Trigger_AVP mw_reseted_trigger_AVP := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_trigger_AVP_Code, 4, c_vendId3gpp), trigger_Type := { } } // End of template mw_reseted_trigger_AVP /** * @desc Base-Time-Interval AVP receive template * @param p_reason contains the length of the base aVP_Data interval, for controlling the consumption of aVP_Data quota, in seconds Loading Loading @@ -5153,14 +5164,14 @@ module DiameterRfRo_Templates { * @desc Await template for CCR message body */ template (present) CCR_Body_AVP mdw_ccrBodyAvps( in template (present) Origin_Host_AVP p_originHost, in template (present) Origin_Realm_AVP p_originRealm, in template (present) Destination_Realm_AVP p_destination_Realm, in template (present) CC_Request_Type_AVP p_cC_Request_Type, in template (present) CC_Request_Number_AVP p_cC_Request_Number, in template (present) Service_Context_Id_AVP p_service_Context_Id, in template Requested_Action_AVP p_requested_Action, in template CCR_Body_AVP.multiple_Services_Credit_Control p_multiple_Services_Credit_Control template (present) Origin_Host_AVP p_originHost, template (present) Origin_Realm_AVP p_originRealm, template (present) Destination_Realm_AVP p_destination_Realm, template (present) CC_Request_Type_AVP p_cC_Request_Type, template (present) CC_Request_Number_AVP p_cC_Request_Number, template (present) Service_Context_Id_AVP p_service_Context_Id, template Requested_Action_AVP p_requested_Action, template CCR_Body_AVP.multiple_Services_Credit_Control p_multiple_Services_Credit_Control ) modifies mw_CCR_Body_dummy := { origin_Host := p_originHost, origin_Realm := p_originRealm, Loading @@ -5173,6 +5184,39 @@ module DiameterRfRo_Templates { multiple_Services_Credit_Control := p_multiple_Services_Credit_Control } // End of template mdw_ccrBodyAvps_TypeOfCharging /** * @desc Receive template for RAR * @param p_sessionId Session identifier * @param p_rarBody RAR message body */ template (present) RAR_MSG mdw_rAR( template (present) Session_Id_AVP p_sessionId, template (present) RAR_Body_AVP p_rarBody ) modifies mw_RAR_dummy := { header := mw_diameterHeaderReq_dummy(RAR_E, c_applIdRfRo), session_Id := p_sessionId, rAR_Body := p_rarBody } // End of template mdw_rAR /** * @desc Receive template for RAR message body */ template (present) RAR_Body_AVP mdw_rarBodyAvps( template (present) Origin_Host_AVP p_originHost, template (present) Origin_Realm_AVP p_originRealm, template (present) Destination_Realm_AVP p_destination_Realm, template (present) Destination_Host_AVP p_destination_Host, template (present) Auth_Application_Id_AVP p_auth_Application_Id, template (present) Re_Auth_Request_Type_AVP p_re_Auth_Request_Type ) modifies mw_RAR_Body_dummy := { origin_Host := p_originHost, origin_Realm := p_originRealm, destination_Realm := p_destination_Realm, destination_Host := p_destination_Host, auth_Application_Id := p_auth_Application_Id, re_Auth_Request_Type := p_re_Auth_Request_Type } // End of template mdw_rarBodyAvps /** * @desc Receive template for RAA * @param p_sessionId Session identifier Loading Loading @@ -5489,6 +5533,13 @@ module DiameterRfRo_Templates { refund_Information := p_refund_Information } // End of template m_multiple_Services_Credit_Control_RefundInfo template (omit) Multiple_Services_Credit_Control_AVP m_multiple_Services_Credit_Control_Trigger_AVP( in template (value) Trigger_AVP p_trigger ) modifies m_multiple_Services_Credit_Control_AVP_dummy := { // TODO set headers length trigger_ := p_trigger } // End of template m_multiple_Services_Credit_Control_Trigger_AVP template (value) Requested_Service_Unit_AVP m_requested_Service_Unit_cC_Time_AVP( in template (value) CC_Time_AVP p_cC_Time ) modifies m_requested_Service_Unit_AVP_dummy := { Loading Loading @@ -5724,7 +5775,20 @@ module DiameterRfRo_Templates { template (present) G_S_U_Pool_Reference_AVP p_g_S_U_Pool_Reference := ? ) modifies mw_multiple_Services_Credit_Control_dummy := { g_S_U_Pool_Reference := { p_g_S_U_Pool_Reference } } // End of template m_multiple_Services_Credit_Control_Pool_Reference } // End of template mdw_multiple_Services_Credit_Control_Pool_Reference template (present) Multiple_Services_Credit_Control_AVP mdw_multiple_Services_Credit_Control_quota_holdling( template (present) Quota_Holding_Time_AVP p_quota_Holding_Time := ? ) modifies mw_multiple_Services_Credit_Control_dummy := { quota_Holding_Time := p_quota_Holding_Time } // End of template mdw_multiple_Services_Credit_Control_quota_holdling template (present) Multiple_Services_Credit_Control_AVP mdw_multiple_Services_Credit_Control_Trigger_AVP( template (present) Trigger_AVP p_trigger := ? ) modifies mw_multiple_Services_Credit_Control_dummy := { // TODO set headers length trigger_ := p_trigger } // End of template mdw_multiple_Services_Credit_Control_Trigger_AVP template (present) Granted_Service_Unit_AVP mdw_granted_Service_Unit_Time( template (present) CC_Time_AVP p_cC_Time := ? Loading Loading @@ -5862,12 +5926,19 @@ module DiameterRfRo_Templates { } // End of template mw_cC_Unit_Type_AVP template (present) Multiple_Services_Indicator_AVP mw_multiple_Services_Indicator_AVP( template (present) Multiple_Serv_Indi_Type p_aVP_Data template (present) Multiple_Serv_Indi_Type p_aVP_Data := ? ) := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_multiple_Services_Indicator_AVP_Code, 4, ?), aVP_Header := mw_aVP_HeaderVid_Mbit1(c_multiple_Services_Indicator_AVP_Code, 4, c_vendId3gpp), aVP_Data := p_aVP_Data } // End of template mw_multiple_Services_Indicator_AVP template (present) Re_Auth_Request_Type_AVP mw_re_Auth_Request( template (present) Re_Auth_Req_Type p_aVP_Data := ? ) := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_re_Auth_Request_Type_AVP_Code, 4, ?), aVP_Data := p_aVP_Data } // End of template mw_re_Auth_Request } // End of group Ro_avps_templates_receive } // End of group Ro_avps_templates Loading DiameterRfRo/ttcn/DiameterRfRo_TestCases.ttcn +124 −12 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
DiameterRfRo/ttcn/DiameterRfRo_PICS.ttcn +3 −4 Original line number Diff line number Diff line Loading @@ -176,14 +176,13 @@ module DiameterRfRo_PICS { modulepar boolean PICS_RO_OCF_CREDIT_POOLING := false; /** * @desc Does OCF support re-authorization and specification of an idle * timeout in the Quota Holding-Time AVP of the CCA message? * @desc Does OCF support specification of an idle timeout in the Quota Holding-Time AVP of the CCA message? * @see ETSI TS 103 374-1 V1.1.2 (2015-09) A.6/9.1 */ modulepar boolean PICS_RO_OCF_RE_AUTHORIZATION_QUOTA_HOLDING_TIME := false; /** * @desc Does OCF support re-authorization and instructions to trigger re-authorization * in the Trigger AVP in the Multiple-Services-Credit-Control AVP of the CCA messag? * @desc Does OCF support instructions to trigger re-authorization in the Trigger AVP in the * Multiple-Services-Credit-Control AVP of the CCA message? * @see ETSI TS 103 374-1 V1.1.2 (2015-09) A.6/9.2 */ modulepar boolean PICS_RO_OCF_RE_AUTHORIZATION_TRIGGER := false; Loading
DiameterRfRo/ttcn/DiameterRfRo_PIXITS.ttcn +3 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ module DiameterRfRo_PIXITS { // LibDiameter import from LibDiameter_Types_Base_AVPs all; import from LibDiameter_Types_RfRo_AVPs all; import from LibDiameter_Types_Gx_AVPs all; import from LibDiameter_Types_S9_AVPs all; Loading Loading @@ -289,6 +290,8 @@ module DiameterRfRo_PIXITS { */ modulepar UTF8String PX_SERVICE_CONTEXT_ID := "ContextId"; modulepar Trigger_Type PX_TRIGGER_TYPE := CHANGEINQOS_TRAFFIC_CLASS_E; } // End of group ocfContext /** Loading
DiameterRfRo/ttcn/DiameterRfRo_TCFunctions.ttcn +168 −14 Original line number Diff line number Diff line Loading @@ -2760,23 +2760,104 @@ module DiameterRfRo_TCFunctions { INITIAL_REQUEST_E // indicating INITIAL_REQUEST ), mw_cC_Request_Number_AVP, mdw_multiple_Services_Credit_Control_granted_Service_Unit( mdw_multiple_Services_Credit_Control_quota_holdling( // containing a Multiple-Services-Credit-Control AVP mdw_granted_Service_Unit_Time( // containing a Granted-Service-Unit AVP mw_cC_Time // indicating reserved units mw_quota_Holding_Time_AVP( // containing a Quota-Holding-Time AVP complement(0) // indicating a non 0 value ) ) ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_sendCCR_awaitCCA_( TERMINATION_REQUEST_E, 3 ); f_postamble_Ro_CTF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_OCF_OP_01 /** * @desc Verify that the IUT can successfully process a CC-Answer [Update] including various Trigger-Type AVPs and generate a credit re-authorization * @verdict pass on success, fail on error or inconc on timeout only */ function f_TC_RO_OCF_OP_02() runs on DiameterRfRo { // Local variables // Preamble f_preamble_Ro_CTF(); // Preamble action: CCR,CCA [Event] direct debeting action are exchanged f_sendCCR_awaitCCA_( INITIAL_REQUEST_E, 3, m_service_Context_Id(PX_SERVICE_CONTEXT_ID) ); f_sendCCR_awaitCCA_( INITIAL_REQUEST_E, 3, m_service_Context_Id(PX_SERVICE_CONTEXT_ID) ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); f_send_CCR( md_cCR( vc_sessionId, md_ccrBodyAvps_TypeOfCharging( vc_originHost, vc_originRealm, vc_destinationRealm, md_cC_Request_Type_AVP( // containing a CC-Request-Type AVP UPDATE_REQUEST_E // indicating UPDATE_REQUEST ), mw_cost_Information_AVP( // optionally containing a Cost-Information AVP mw_unit_Value_AVP( // containing a Unit-Value AVP mw_value_Digits_AVP // containing a Value-Digits AVP md_cC_Request_Number_AVP(3), m_service_Context_Id(PX_SERVICE_CONTEXT_ID) ) ) ); f_awaiting_CCA( mdw_cCA( vc_sessionId, mdw_ccaBodyAvps_multiple_Services_Credit_Control( mw_resultCode( // containing a Result-Code AVP DIAMETER_SUCCESS_E // indicating DIAMETER_SUCCESS ), mw_currency_Code_AVP // containing a Currency-Code AVP vc_originHost, vc_originRealm, mw_cC_Request_Type_AVP( // containing a CC-Request-Type AVP UPDATE_REQUEST_E // indicating UPDATE_REQUEST ), mw_remaining_Balance_AVP( // optionally containing a Remaining-Balance AVP mw_unit_Value_AVP( // containing a Unit-Value AVP mw_value_Digits_AVP // containing a Value-Digits AVP mw_cC_Request_Number_AVP, mdw_multiple_Services_Credit_Control_Trigger_AVP( // containing a Multiple-Services-Credit-Control AVP mw_trigger_AVP( // containing a Trigger AVP mw_trigger_Type_AVP( // containing a Trigger-Type AVP PX_TRIGGER_TYPE // indicating one of the possible values (7.2.235/236) ) ) ) ) ) ); f_awaiting_RAR( mdw_rAR( ?, mdw_rarBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP vc_destinationHost, // containing a CC-Request-Type AVP mw_auth_Application_Id_AVP( // containing an Auth-Application-Id AVP 4 // indicating the value 4 ), mw_currency_Code_AVP // containing a Currency-Code AVP mw_re_Auth_Request( // containing a Re-Auth-Request-Type AVP AUTHORIZE_ONLY_E // indicating AUTHORIZE_ONLY ) ) ) Loading @@ -2791,7 +2872,80 @@ module DiameterRfRo_TCFunctions { f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_OCF_OP_01 } // End of function f_TC_RO_OCF_OP_02 /** * @desc Verify that the IUT can successfully reset triggers which were already set * @verdict pass on success, fail on error or inconc on timeout only */ function f_TC_RO_OCF_OP_03() runs on DiameterRfRo { // Local variables // Preamble f_preamble_Ro_CTF(); // Preamble action: CCR,CCA [Event] direct debeting action are exchanged f_sendCCR_awaitCCA_( INITIAL_REQUEST_E, 3, m_service_Context_Id(PX_SERVICE_CONTEXT_ID) ); f_sendCCR_awaitCCA_( INITIAL_REQUEST_E, 3, m_service_Context_Id(PX_SERVICE_CONTEXT_ID) ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); f_send_CCR( md_cCR( vc_sessionId, md_ccrBodyAvps_TypeOfCharging( vc_originHost, vc_originRealm, vc_destinationRealm, md_cC_Request_Type_AVP( // containing a CC-Request-Type AVP UPDATE_REQUEST_E // indicating UPDATE_REQUEST ), md_cC_Request_Number_AVP(3), m_service_Context_Id(PX_SERVICE_CONTEXT_ID) ) ) ); f_awaiting_CCA( mdw_cCA( vc_sessionId, mdw_ccaBodyAvps_multiple_Services_Credit_Control( mw_resultCode( // containing a Result-Code AVP DIAMETER_SUCCESS_E // indicating DIAMETER_SUCCESS ), vc_originHost, vc_originRealm, mw_cC_Request_Type_AVP( // containing a CC-Request-Type AVP UPDATE_REQUEST_E // indicating UPDATE_REQUEST ), mw_cC_Request_Number_AVP, mdw_multiple_Services_Credit_Control_Trigger_AVP( // containing a Multiple-Services-Credit-Control AVP mw_reseted_trigger_AVP // containing a Trigger AVP // not containing a Trigger-Type AVP ) ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_sendCCR_awaitCCA_( TERMINATION_REQUEST_E, 3 ); f_postamble_Ro_CTF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_OCF_OP_03 } // End of group TP_RO_OCF_OP Loading
DiameterRfRo/ttcn/DiameterRfRo_Templates.ttcn +84 −13 Original line number Diff line number Diff line Loading @@ -3799,7 +3799,7 @@ module DiameterRfRo_Templates { } // End of template mw_pdp_Context_Type_AVP /** * @desc The Trigger send template * @desc The Trigger receieve template * @param p_trigger_Type Holds the trigger types * * @see ETSI TS 132 299 V10.15.0 Clause 7.2.235 Trigger AVP Loading @@ -3812,6 +3812,17 @@ module DiameterRfRo_Templates { trigger_Type := { p_trigger_Type } } // End of template mw_trigger_AVP /** * @desc The Trigger receieve template without trigger type * * @see ETSI TS 132 299 V10.15.0 Clause 7.2.235 Trigger AVP * @see ETSI TS 132 299 V10.15.0 Table 7.2: 3GPP specific AVPs */ template (present) Trigger_AVP mw_reseted_trigger_AVP := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_trigger_AVP_Code, 4, c_vendId3gpp), trigger_Type := { } } // End of template mw_reseted_trigger_AVP /** * @desc Base-Time-Interval AVP receive template * @param p_reason contains the length of the base aVP_Data interval, for controlling the consumption of aVP_Data quota, in seconds Loading Loading @@ -5153,14 +5164,14 @@ module DiameterRfRo_Templates { * @desc Await template for CCR message body */ template (present) CCR_Body_AVP mdw_ccrBodyAvps( in template (present) Origin_Host_AVP p_originHost, in template (present) Origin_Realm_AVP p_originRealm, in template (present) Destination_Realm_AVP p_destination_Realm, in template (present) CC_Request_Type_AVP p_cC_Request_Type, in template (present) CC_Request_Number_AVP p_cC_Request_Number, in template (present) Service_Context_Id_AVP p_service_Context_Id, in template Requested_Action_AVP p_requested_Action, in template CCR_Body_AVP.multiple_Services_Credit_Control p_multiple_Services_Credit_Control template (present) Origin_Host_AVP p_originHost, template (present) Origin_Realm_AVP p_originRealm, template (present) Destination_Realm_AVP p_destination_Realm, template (present) CC_Request_Type_AVP p_cC_Request_Type, template (present) CC_Request_Number_AVP p_cC_Request_Number, template (present) Service_Context_Id_AVP p_service_Context_Id, template Requested_Action_AVP p_requested_Action, template CCR_Body_AVP.multiple_Services_Credit_Control p_multiple_Services_Credit_Control ) modifies mw_CCR_Body_dummy := { origin_Host := p_originHost, origin_Realm := p_originRealm, Loading @@ -5173,6 +5184,39 @@ module DiameterRfRo_Templates { multiple_Services_Credit_Control := p_multiple_Services_Credit_Control } // End of template mdw_ccrBodyAvps_TypeOfCharging /** * @desc Receive template for RAR * @param p_sessionId Session identifier * @param p_rarBody RAR message body */ template (present) RAR_MSG mdw_rAR( template (present) Session_Id_AVP p_sessionId, template (present) RAR_Body_AVP p_rarBody ) modifies mw_RAR_dummy := { header := mw_diameterHeaderReq_dummy(RAR_E, c_applIdRfRo), session_Id := p_sessionId, rAR_Body := p_rarBody } // End of template mdw_rAR /** * @desc Receive template for RAR message body */ template (present) RAR_Body_AVP mdw_rarBodyAvps( template (present) Origin_Host_AVP p_originHost, template (present) Origin_Realm_AVP p_originRealm, template (present) Destination_Realm_AVP p_destination_Realm, template (present) Destination_Host_AVP p_destination_Host, template (present) Auth_Application_Id_AVP p_auth_Application_Id, template (present) Re_Auth_Request_Type_AVP p_re_Auth_Request_Type ) modifies mw_RAR_Body_dummy := { origin_Host := p_originHost, origin_Realm := p_originRealm, destination_Realm := p_destination_Realm, destination_Host := p_destination_Host, auth_Application_Id := p_auth_Application_Id, re_Auth_Request_Type := p_re_Auth_Request_Type } // End of template mdw_rarBodyAvps /** * @desc Receive template for RAA * @param p_sessionId Session identifier Loading Loading @@ -5489,6 +5533,13 @@ module DiameterRfRo_Templates { refund_Information := p_refund_Information } // End of template m_multiple_Services_Credit_Control_RefundInfo template (omit) Multiple_Services_Credit_Control_AVP m_multiple_Services_Credit_Control_Trigger_AVP( in template (value) Trigger_AVP p_trigger ) modifies m_multiple_Services_Credit_Control_AVP_dummy := { // TODO set headers length trigger_ := p_trigger } // End of template m_multiple_Services_Credit_Control_Trigger_AVP template (value) Requested_Service_Unit_AVP m_requested_Service_Unit_cC_Time_AVP( in template (value) CC_Time_AVP p_cC_Time ) modifies m_requested_Service_Unit_AVP_dummy := { Loading Loading @@ -5724,7 +5775,20 @@ module DiameterRfRo_Templates { template (present) G_S_U_Pool_Reference_AVP p_g_S_U_Pool_Reference := ? ) modifies mw_multiple_Services_Credit_Control_dummy := { g_S_U_Pool_Reference := { p_g_S_U_Pool_Reference } } // End of template m_multiple_Services_Credit_Control_Pool_Reference } // End of template mdw_multiple_Services_Credit_Control_Pool_Reference template (present) Multiple_Services_Credit_Control_AVP mdw_multiple_Services_Credit_Control_quota_holdling( template (present) Quota_Holding_Time_AVP p_quota_Holding_Time := ? ) modifies mw_multiple_Services_Credit_Control_dummy := { quota_Holding_Time := p_quota_Holding_Time } // End of template mdw_multiple_Services_Credit_Control_quota_holdling template (present) Multiple_Services_Credit_Control_AVP mdw_multiple_Services_Credit_Control_Trigger_AVP( template (present) Trigger_AVP p_trigger := ? ) modifies mw_multiple_Services_Credit_Control_dummy := { // TODO set headers length trigger_ := p_trigger } // End of template mdw_multiple_Services_Credit_Control_Trigger_AVP template (present) Granted_Service_Unit_AVP mdw_granted_Service_Unit_Time( template (present) CC_Time_AVP p_cC_Time := ? Loading Loading @@ -5862,12 +5926,19 @@ module DiameterRfRo_Templates { } // End of template mw_cC_Unit_Type_AVP template (present) Multiple_Services_Indicator_AVP mw_multiple_Services_Indicator_AVP( template (present) Multiple_Serv_Indi_Type p_aVP_Data template (present) Multiple_Serv_Indi_Type p_aVP_Data := ? ) := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_multiple_Services_Indicator_AVP_Code, 4, ?), aVP_Header := mw_aVP_HeaderVid_Mbit1(c_multiple_Services_Indicator_AVP_Code, 4, c_vendId3gpp), aVP_Data := p_aVP_Data } // End of template mw_multiple_Services_Indicator_AVP template (present) Re_Auth_Request_Type_AVP mw_re_Auth_Request( template (present) Re_Auth_Req_Type p_aVP_Data := ? ) := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_re_Auth_Request_Type_AVP_Code, 4, ?), aVP_Data := p_aVP_Data } // End of template mw_re_Auth_Request } // End of group Ro_avps_templates_receive } // End of group Ro_avps_templates Loading
DiameterRfRo/ttcn/DiameterRfRo_TestCases.ttcn +124 −12 File changed.Preview size limit exceeded, changes collapsed. Show changes