Loading DiameterRfRo/ttcn/DiameterRfRo_TCFunctions.ttcn +229 −6 Original line number Diff line number Diff line Loading @@ -2181,6 +2181,8 @@ module DiameterRfRo_TCFunctions { ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP Loading @@ -2194,8 +2196,6 @@ module DiameterRfRo_TCFunctions { )) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); Loading @@ -2219,6 +2219,8 @@ module DiameterRfRo_TCFunctions { mw_CCR_CmdFlags_PET(mw_diameterHeaderReq_CmdFlags(CCR_E, ?, mw_cmdFlagsReq_PET('0'B,'0'B,'0'B))) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP Loading @@ -2233,8 +2235,6 @@ module DiameterRfRo_TCFunctions { )) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); Loading Loading @@ -2268,11 +2268,15 @@ module DiameterRfRo_TCFunctions { ?, // containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP mw_requested_Action(DIRECT_DEBITING_E), // containing a Requested Action AVP * //TODO//mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(?,{?}) // containing a Multiple-Services-Credit-Control AVP {(mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(?,?), mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(?,*), mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(*,?))} // containing a Multiple-Services-Credit-Control AVP ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP Loading @@ -2286,13 +2290,232 @@ module DiameterRfRo_TCFunctions { )) ); f_postamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_CTF_TC_01 /** * @desc Verify that the IUT sends a CC-Request [Event] * with price enquiry due to Immediate Event Charging. * @verdict pass on success, fail on error or inconc on timeout only */ function f_TC_RO_CTF_TC_02() runs on DiameterRfRo { // Local variables // Preamble f_preamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); f_awaiting_CCR( mdw_cCR( ?, mdw_ccrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_cC_Request_Type_AVP(EVENT_REQUEST_E), // containing a CC-Request-Type AVP ?, // containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP mw_requested_Action(PRICE_ENQUIRY_E), // containing a Requested Action AVP {mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(*,?)} // containing a Multiple-Services-Credit-Control AVP ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP md_ccaBodyAvps( m_resultCode( // containing a Result-Code AVP DIAMETER_SUCCESS_E // indicating DIAMETER_SUCCESS ), vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP m_cC_Request_Type(EVENT_REQUEST_E) )) ); f_postamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_CTF_TC_01 } // End of function f_TC_RO_CTF_TC_02 /** * @desc Verify that the IUT sends a CC-Request [Event] * with check balance due to Immediate Event Charging. * @verdict pass on success, fail on error or inconc on timeout only */ function f_TC_RO_CTF_TC_03() runs on DiameterRfRo { // Local variables // Preamble f_preamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); f_awaiting_CCR( mdw_cCR( ?, mdw_ccrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_cC_Request_Type_AVP(EVENT_REQUEST_E),// containing a CC-Request-Type AVP ?, // containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP mw_requested_Action(CHECK_BALANCE_E), // containing a Requested Action AVP * // containing a Multiple-Services-Credit-Control AVP ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP md_ccaBodyAvps( m_resultCode( // containing a Result-Code AVP DIAMETER_SUCCESS_E // indicating DIAMETER_SUCCESS ), vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP m_cC_Request_Type(EVENT_REQUEST_E) )) ); f_postamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_CTF_TC_03 /** * @desc Verify that the IUT sends a CC-Request [Event] * with check balance due to Immediate Event Charging. * @verdict pass on success, fail on error or inconc on timeout only */ function f_TC_RO_CTF_TC_04() runs on DiameterRfRo { // Local variables // Preamble f_preamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); f_awaiting_CCR( mdw_cCR( ?, mdw_ccrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_cC_Request_Type_AVP(EVENT_REQUEST_E),// containing a CC-Request-Type AVP ?, // containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP mw_requested_Action(REFUND_ACCOUNT_E), // containing a Requested Action AVP {(mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(?,?), mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(?,*), mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(*,?))} // containing a Multiple-Services-Credit-Control AVP ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP md_ccaBodyAvps( m_resultCode( // containing a Result-Code AVP DIAMETER_SUCCESS_E // indicating DIAMETER_SUCCESS ), vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP m_cC_Request_Type(EVENT_REQUEST_E) )) ); f_postamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_CTF_TC_04 /** * @desc Verify that the IUT sends a second CC-Request [Event] with refund * account due to Immediate Event Charging with Refund-Information AVP * if it was received in the previous CC-Answer. * @verdict pass on success, fail on error or inconc on timeout only */ function f_TC_RO_CTF_TC_05() runs on DiameterRfRo { // Local variables // Preamble f_preamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); f_awaiting_CCR( mdw_cCR( ?, mdw_ccrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_cC_Request_Type_AVP(EVENT_REQUEST_E), // containing a CC-Request-Type AVP ?, // containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP mw_requested_Action(DIRECT_DEBITING_E), // containing a Requested Action AVP * // containing a Multiple-Services-Credit-Control AVP ) ) ); f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP md_ccaBodyAvps_MultipleServiceCreditControl( m_resultCode( // containing a Result-Code AVP DIAMETER_SUCCESS_E // indicating DIAMETER_SUCCESS ), vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP m_cC_Request_Type(EVENT_REQUEST_E), m_cC_Request_Number ( 1 ), {m_multiple_Services_Credit_Control_RefundInfo(m_refund_Information_AVP('11'O))} )) ); f_awaiting_CCR( mdw_cCR( ?, mdw_ccrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_cC_Request_Type_AVP(EVENT_REQUEST_E),// containing a CC-Request-Type AVP ?, // containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP mw_requested_Action(REFUND_ACCOUNT_E), // containing a Requested Action AVP {mdw_multiple_Services_Credit_Control_RefundInfo(?)} // containing a Multiple-Services-Credit-Control AVP ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_CTF_TC_05 } // End of group TP_RO_CTF_TC // 5.2.3.2.4 Error Casses group TP_RO_CTF_EC { Loading DiameterRfRo/ttcn/DiameterRfRo_Templates.ttcn +26 −1 Original line number Diff line number Diff line Loading @@ -5073,6 +5073,18 @@ module DiameterRfRo_Templates { cC_Request_Number := p_cC_Request_Number } // End of template md_ccaBodyAvps_Update template (value) CCA_Body_AVP md_ccaBodyAvps_MultipleServiceCreditControl( in template (value) Result_Code_AVP p_resultCode, in template (value) Origin_Host_AVP p_originHost, in template (value) Origin_Realm_AVP p_originRealm, in template (value) CC_Request_Type_AVP p_cCRequestType, in template (value) CC_Request_Number_AVP p_cCRequestNumber, in template (omit) CCA_Body_AVP.multiple_Services_Credit_Control p_multiple_Services_Credit_Control := omit ) modifies md_ccaBodyAvps := { cC_Request_Number := p_cCRequestNumber, multiple_Services_Credit_Control := p_multiple_Services_Credit_Control } // End of template md_ccaBodyAvps } // End of group Ro_answer_message_templates_send group Ro_request_message_templates_receive { Loading Loading @@ -5354,10 +5366,18 @@ module DiameterRfRo_Templates { in template (omit) Used_Service_Unit_AVP p_used_Service_Unit := omit, in template (omit) Service_Identifier_AVP p_service_Identifier := omit ) modifies m_multiple_Services_Credit_Control_AVP_dummy := { // TODO set headers length requested_Service_Unit := p_requested_Service_Unit ifpresent, service_Identifier := { p_service_Identifier } ifpresent } // End of template m_multiple_Services_Credit_Control_AVP template (omit) Multiple_Services_Credit_Control_AVP m_multiple_Services_Credit_Control_RefundInfo( in template (value) Refund_Information_AVP p_refund_Information ) modifies m_multiple_Services_Credit_Control_AVP_dummy := { // TODO set headers length refund_Information := p_refund_Information } // End of template m_multiple_Services_Credit_Control_RefundInfo 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 @@ -5538,12 +5558,17 @@ module DiameterRfRo_Templates { template (present) Multiple_Services_Credit_Control_AVP mdw_multiple_Services_Credit_Control_ReqServUnit_ServId( template Requested_Service_Unit_AVP p_requested_Service_Unit, template Multiple_Services_Credit_Control_AVP.service_Identifier p_service_Identifier ) modifies mw_multiple_Services_Credit_Control_dummy := { requested_Service_Unit := p_requested_Service_Unit, service_Identifier := p_service_Identifier } // End of template mdw_multiple_Services_Credit_Control_ReqServUnit_ServId template (present) Multiple_Services_Credit_Control_AVP mdw_multiple_Services_Credit_Control_RefundInfo( template Refund_Information_AVP p_refund_Information ) modifies mw_multiple_Services_Credit_Control_dummy := { refund_Information := p_refund_Information } // End of template mdw_multiple_Services_Credit_Control_ReqServUnit_ServId template (present) Granted_Service_Unit_AVP mdw_granted_Service_Unit_Time( template (present) CC_Time_AVP p_cC_Time := ? ) modifies mw_granted_Service_Unit_dummy := { Loading Loading
DiameterRfRo/ttcn/DiameterRfRo_TCFunctions.ttcn +229 −6 Original line number Diff line number Diff line Loading @@ -2181,6 +2181,8 @@ module DiameterRfRo_TCFunctions { ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP Loading @@ -2194,8 +2196,6 @@ module DiameterRfRo_TCFunctions { )) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); Loading @@ -2219,6 +2219,8 @@ module DiameterRfRo_TCFunctions { mw_CCR_CmdFlags_PET(mw_diameterHeaderReq_CmdFlags(CCR_E, ?, mw_cmdFlagsReq_PET('0'B,'0'B,'0'B))) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP Loading @@ -2233,8 +2235,6 @@ module DiameterRfRo_TCFunctions { )) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); Loading Loading @@ -2268,11 +2268,15 @@ module DiameterRfRo_TCFunctions { ?, // containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP mw_requested_Action(DIRECT_DEBITING_E), // containing a Requested Action AVP * //TODO//mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(?,{?}) // containing a Multiple-Services-Credit-Control AVP {(mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(?,?), mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(?,*), mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(*,?))} // containing a Multiple-Services-Credit-Control AVP ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP Loading @@ -2286,13 +2290,232 @@ module DiameterRfRo_TCFunctions { )) ); f_postamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_CTF_TC_01 /** * @desc Verify that the IUT sends a CC-Request [Event] * with price enquiry due to Immediate Event Charging. * @verdict pass on success, fail on error or inconc on timeout only */ function f_TC_RO_CTF_TC_02() runs on DiameterRfRo { // Local variables // Preamble f_preamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); f_awaiting_CCR( mdw_cCR( ?, mdw_ccrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_cC_Request_Type_AVP(EVENT_REQUEST_E), // containing a CC-Request-Type AVP ?, // containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP mw_requested_Action(PRICE_ENQUIRY_E), // containing a Requested Action AVP {mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(*,?)} // containing a Multiple-Services-Credit-Control AVP ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP md_ccaBodyAvps( m_resultCode( // containing a Result-Code AVP DIAMETER_SUCCESS_E // indicating DIAMETER_SUCCESS ), vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP m_cC_Request_Type(EVENT_REQUEST_E) )) ); f_postamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_CTF_TC_01 } // End of function f_TC_RO_CTF_TC_02 /** * @desc Verify that the IUT sends a CC-Request [Event] * with check balance due to Immediate Event Charging. * @verdict pass on success, fail on error or inconc on timeout only */ function f_TC_RO_CTF_TC_03() runs on DiameterRfRo { // Local variables // Preamble f_preamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); f_awaiting_CCR( mdw_cCR( ?, mdw_ccrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_cC_Request_Type_AVP(EVENT_REQUEST_E),// containing a CC-Request-Type AVP ?, // containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP mw_requested_Action(CHECK_BALANCE_E), // containing a Requested Action AVP * // containing a Multiple-Services-Credit-Control AVP ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP md_ccaBodyAvps( m_resultCode( // containing a Result-Code AVP DIAMETER_SUCCESS_E // indicating DIAMETER_SUCCESS ), vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP m_cC_Request_Type(EVENT_REQUEST_E) )) ); f_postamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_CTF_TC_03 /** * @desc Verify that the IUT sends a CC-Request [Event] * with check balance due to Immediate Event Charging. * @verdict pass on success, fail on error or inconc on timeout only */ function f_TC_RO_CTF_TC_04() runs on DiameterRfRo { // Local variables // Preamble f_preamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); f_awaiting_CCR( mdw_cCR( ?, mdw_ccrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_cC_Request_Type_AVP(EVENT_REQUEST_E),// containing a CC-Request-Type AVP ?, // containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP mw_requested_Action(REFUND_ACCOUNT_E), // containing a Requested Action AVP {(mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(?,?), mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(?,*), mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(*,?))} // containing a Multiple-Services-Credit-Control AVP ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP md_ccaBodyAvps( m_resultCode( // containing a Result-Code AVP DIAMETER_SUCCESS_E // indicating DIAMETER_SUCCESS ), vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP m_cC_Request_Type(EVENT_REQUEST_E) )) ); f_postamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_CTF_TC_04 /** * @desc Verify that the IUT sends a second CC-Request [Event] with refund * account due to Immediate Event Charging with Refund-Information AVP * if it was received in the previous CC-Answer. * @verdict pass on success, fail on error or inconc on timeout only */ function f_TC_RO_CTF_TC_05() runs on DiameterRfRo { // Local variables // Preamble f_preamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); f_awaiting_CCR( mdw_cCR( ?, mdw_ccrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_cC_Request_Type_AVP(EVENT_REQUEST_E), // containing a CC-Request-Type AVP ?, // containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP mw_requested_Action(DIRECT_DEBITING_E), // containing a Requested Action AVP * // containing a Multiple-Services-Credit-Control AVP ) ) ); f_send_CCA( md_cCA( vc_sessionId, // containing a Session-ID AVP md_ccaBodyAvps_MultipleServiceCreditControl( m_resultCode( // containing a Result-Code AVP DIAMETER_SUCCESS_E // indicating DIAMETER_SUCCESS ), vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP m_cC_Request_Type(EVENT_REQUEST_E), m_cC_Request_Number ( 1 ), {m_multiple_Services_Credit_Control_RefundInfo(m_refund_Information_AVP('11'O))} )) ); f_awaiting_CCR( mdw_cCR( ?, mdw_ccrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP mw_cC_Request_Type_AVP(EVENT_REQUEST_E),// containing a CC-Request-Type AVP ?, // containing a CC-Request-Number AVP ?, // containing a Service-Context-Id AVP mw_requested_Action(REFUND_ACCOUNT_E), // containing a Requested Action AVP {mdw_multiple_Services_Credit_Control_RefundInfo(?)} // containing a Multiple-Services-Credit-Control AVP ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_postamble_Ro_OCF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_RO_CTF_TC_05 } // End of group TP_RO_CTF_TC // 5.2.3.2.4 Error Casses group TP_RO_CTF_EC { Loading
DiameterRfRo/ttcn/DiameterRfRo_Templates.ttcn +26 −1 Original line number Diff line number Diff line Loading @@ -5073,6 +5073,18 @@ module DiameterRfRo_Templates { cC_Request_Number := p_cC_Request_Number } // End of template md_ccaBodyAvps_Update template (value) CCA_Body_AVP md_ccaBodyAvps_MultipleServiceCreditControl( in template (value) Result_Code_AVP p_resultCode, in template (value) Origin_Host_AVP p_originHost, in template (value) Origin_Realm_AVP p_originRealm, in template (value) CC_Request_Type_AVP p_cCRequestType, in template (value) CC_Request_Number_AVP p_cCRequestNumber, in template (omit) CCA_Body_AVP.multiple_Services_Credit_Control p_multiple_Services_Credit_Control := omit ) modifies md_ccaBodyAvps := { cC_Request_Number := p_cCRequestNumber, multiple_Services_Credit_Control := p_multiple_Services_Credit_Control } // End of template md_ccaBodyAvps } // End of group Ro_answer_message_templates_send group Ro_request_message_templates_receive { Loading Loading @@ -5354,10 +5366,18 @@ module DiameterRfRo_Templates { in template (omit) Used_Service_Unit_AVP p_used_Service_Unit := omit, in template (omit) Service_Identifier_AVP p_service_Identifier := omit ) modifies m_multiple_Services_Credit_Control_AVP_dummy := { // TODO set headers length requested_Service_Unit := p_requested_Service_Unit ifpresent, service_Identifier := { p_service_Identifier } ifpresent } // End of template m_multiple_Services_Credit_Control_AVP template (omit) Multiple_Services_Credit_Control_AVP m_multiple_Services_Credit_Control_RefundInfo( in template (value) Refund_Information_AVP p_refund_Information ) modifies m_multiple_Services_Credit_Control_AVP_dummy := { // TODO set headers length refund_Information := p_refund_Information } // End of template m_multiple_Services_Credit_Control_RefundInfo 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 @@ -5538,12 +5558,17 @@ module DiameterRfRo_Templates { template (present) Multiple_Services_Credit_Control_AVP mdw_multiple_Services_Credit_Control_ReqServUnit_ServId( template Requested_Service_Unit_AVP p_requested_Service_Unit, template Multiple_Services_Credit_Control_AVP.service_Identifier p_service_Identifier ) modifies mw_multiple_Services_Credit_Control_dummy := { requested_Service_Unit := p_requested_Service_Unit, service_Identifier := p_service_Identifier } // End of template mdw_multiple_Services_Credit_Control_ReqServUnit_ServId template (present) Multiple_Services_Credit_Control_AVP mdw_multiple_Services_Credit_Control_RefundInfo( template Refund_Information_AVP p_refund_Information ) modifies mw_multiple_Services_Credit_Control_dummy := { refund_Information := p_refund_Information } // End of template mdw_multiple_Services_Credit_Control_ReqServUnit_ServId template (present) Granted_Service_Unit_AVP mdw_granted_Service_Unit_Time( template (present) CC_Time_AVP p_cC_Time := ? ) modifies mw_granted_Service_Unit_dummy := { Loading