Loading DiameterRfRo/ttcn/DiameterRfRo_PICS.ttcn +6 −0 Original line number Diff line number Diff line Loading @@ -470,6 +470,12 @@ module DiameterRfRo_PICS { */ modulepar boolean PICS_RO_CTF_DDFH_CONTINUE := false; /** * @desc Does CTF support independent credit-control of multiple services within a (sub-)session? * @see ETSI TS 103 374-1 V1.1.2 (2015-09) A.7/19 */ modulepar boolean PICS_RO_CTF_SUB_SESSION := false; } // End of group PICS_A7 } // End of module DiameterRfRo_PICS No newline at end of file DiameterRfRo/ttcn/DiameterRfRo_PIXITS.ttcn +5 −0 Original line number Diff line number Diff line Loading @@ -388,6 +388,11 @@ module DiameterRfRo_PIXITS { */ modulepar Time_Quota_Type PX_TIME_QUOTA_TYPE := DISCRETE_TIME_PERIOD_E; /** * @desc The secondary OCF address, PIXIT item A-10/13 */ modulepar UTF8String PX_SECONDARY_OCF_ADDRESS := "10.1.1.10"; } // End of group ocfContext /** Loading DiameterRfRo/ttcn/DiameterRfRo_Steps.ttcn +46 −0 Original line number Diff line number Diff line Loading @@ -147,6 +147,41 @@ vc_send_endid:=hex2int('01000000'H); } // End of function f_DiameterRo_init /* * @desc This is a test step that init global variables * @param */ function f_DiameterRo_init2() runs on DiameterComponent { //Defaults vc_default_diameter := activate (a_diameter_default()); //Base LibDiameter init function if there will be any base initialisation f_Diameter_Init_Component(); vc_ETS_address := PX_DIAMETER_RO_ETS_IPADDR2; vc_ETS_port := PX_DIAMETER_RO_ETS_PORT2; vc_SUT_address := PX_DIAMETER_RO_SUT_IPADDR; vc_SUT_port := PX_DIAMETER_RO_SUT_PORT; vc_sessionId := m_sessionId(PX_SessionID); vc_originHost := m_originHost(PX_OriginHost); vc_originRealm := m_originRealm(PX_OriginRealm); // realm of the originator (TS) vc_originHost_IUT := m_originHost(PX_DestinationHost); vc_originRealm_IUT := m_originRealm(PX_DestinationRealm); // realm of the originator (TS) vc_destinationHost := m_destinationHost(PX_DestinationHost); vc_destinationRealm := m_destinationRealm(PX_DestinationRealm); vc_hostIPAddress := valueof(f_IPV4or6_String2Address (PX_DIAMETER_RO_ETS_IPADDR)); vc_send_hopid:=hex2int('00000100'H); vc_send_endid:=hex2int('01000000'H); } // End of function f_DiameterRo_init //TODO check for 2nd Ro or Rf configuration!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! group RF{ Loading Loading @@ -358,6 +393,17 @@ f_preambleDiameterBaseClient(c_applIdRfRo); } function f_preamble_Ro_OCF2() runs on DiameterComponent { if(PX_DIAM_LLP_ENABLED) { f_preambleClient(); } f_DiameterRo_init2(); f_preambleDiameterBaseClient(c_applIdRfRo); } function f_preamble_Ro_CTF() runs on DiameterComponent { if(PX_DIAM_LLP_ENABLED) Loading DiameterRfRo/ttcn/DiameterRfRo_TCFunctions.ttcn +988 −13 File changed.Preview size limit exceeded, changes collapsed. Show changes DiameterRfRo/ttcn/DiameterRfRo_Templates.ttcn +73 −49 Original line number Diff line number Diff line Loading @@ -251,12 +251,12 @@ module DiameterRfRo_Templates { * @param p_accounting_Record_Number TODO * @param p_acct_application_id TODO */ template (present) ACR_Body_AVP mdw_acrBodyAvps( in template (present) Origin_Host_AVP p_originHost, in template (present) Origin_Realm_AVP p_originRealm, in template (present) Destination_Realm_AVP p_destinationRealm, in template (present) Accounting_Record_Type_AVP p_accounting_Record_Type, in template (present) Accounting_Record_Number_AVP p_accounting_Record_Number template ACR_Body_AVP mdw_acrBodyAvps( in template (present) Origin_Host_AVP p_originHost := ?, in template (present) Origin_Realm_AVP p_originRealm := ?, in template (present) Destination_Realm_AVP p_destinationRealm := ?, in template (present) Accounting_Record_Type_AVP p_accounting_Record_Type := ?, in template (present) Accounting_Record_Number_AVP p_accounting_Record_Number := ? ) modifies mw_ACR_Body_dummy := { origin_Host := p_originHost, origin_Realm := p_originRealm, Loading @@ -278,14 +278,14 @@ module DiameterRfRo_Templates { * @param p_service_Information Service Information * @param p_event_Timestamp Event Timestamp */ template (present) ACR_Body_AVP mdw_acrBody_ServiceInfo_EventTimestamp( in template (present) Origin_Host_AVP p_originHost, in template (present) Origin_Realm_AVP p_originRealm, in template (present) Destination_Realm_AVP p_destinationRealm, in template (present) Accounting_Record_Type_AVP p_accounting_Record_Type, in template (present) Accounting_Record_Number_AVP p_accounting_Record_Number, in template Service_Information_AVP p_service_Information, in template Event_Timestamp_AVP p_event_Timestamp template ACR_Body_AVP mdw_acrBody_ServiceInfo_EventTimestamp( in template (present) Origin_Host_AVP p_originHost := ?, in template (present) Origin_Realm_AVP p_originRealm := ?, in template (present) Destination_Realm_AVP p_destinationRealm := ?, in template (present) Accounting_Record_Type_AVP p_accounting_Record_Type := ?, in template (present) Accounting_Record_Number_AVP p_accounting_Record_Number := ?, in template Service_Information_AVP p_service_Information := *, in template Event_Timestamp_AVP p_event_Timestamp := * ) modifies mdw_acrBodyAvps := { service_Information := p_service_Information, event_Timestamp := p_event_Timestamp Loading Loading @@ -363,7 +363,7 @@ module DiameterRfRo_Templates { acct_Application_Id := m_acct_Application_Id(3) } // End of template md_acaBodyAvps template (value) ACA_Body_AVP md_acaBody_AcctInterimInterval( template (omit) ACA_Body_AVP md_acaBody_AcctInterimInterval( in template (value) Result_Code_AVP p_resultCode, in template (value) Origin_Host_AVP p_originHost, in template (value) Origin_Realm_AVP p_originRealm, Loading Loading @@ -567,8 +567,9 @@ module DiameterRfRo_Templates { * @see ETSI TS 132 299 V10.15.0 Clause 7.2.77 IMS-Information AVP * @see ETSI TS 132 299 V10.15.0 Table 7.1: Use Of IETF Diameter AVPs */ template (value) IMS_Information_AVP m_ims_Information_AVP_dummy( in template (value) Node_Functionality_AVP p_node_Functionality template (omit) IMS_Information_AVP m_ims_Information_AVP( in template (value) Node_Functionality_AVP p_node_Functionality, in template (omit) Alternate_Charged_Party_Address_AVP p_alternate_Charged_Party_Address := omit ) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_ims_Information_AVP_Code, 0, c_vendId3gpp), event_Type := omit, Loading Loading @@ -607,7 +608,7 @@ module DiameterRfRo_Templates { account_Expiration := omit, initial_IMS_Charging_Identifier := omit, ims_Emergency_Indicator := omit } // End of template m_ims_Information_AVP_dummy } // End of template m_ims_Information_AVP /** * @desc The Early-Media-Description AVP, Basic send template Loading Loading @@ -782,8 +783,9 @@ module DiameterRfRo_Templates { * @see ETSI TS 132 299 V10.15.0 Clause 7.2.77 IMS-Information AVP * @see ETSI TS 132 299 V10.15.0 Table 7.1: Use Of IETF Diameter AVPs */ template (present) IMS_Information_AVP mw_ims_Information_AVP_dummy( template (present) Node_Functionality_AVP p_node_Functionality := ? template IMS_Information_AVP mw_ims_Information_AVP( template (present) Node_Functionality_AVP p_node_Functionality := ?, template Alternate_Charged_Party_Address_AVP p_alternate_Charged_Party_Address_AVP := * ) := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_ims_Information_AVP_Code, ?, c_vendId3gpp), event_Type := *, Loading @@ -797,7 +799,7 @@ module DiameterRfRo_Templates { called_Asserted_Identity := *, number_Portability_Routing_Information := *, carrier_Select_Routing_Information := *, alternate_Charged_Party_Address := *, alternate_Charged_Party_Address := p_alternate_Charged_Party_Address_AVP, requested_Party_Address := *, associated_URI := *, time_Stamps := *, Loading @@ -822,7 +824,7 @@ module DiameterRfRo_Templates { account_Expiration := *, initial_IMS_Charging_Identifier := *, ims_Emergency_Indicator := * } // End of template mw_ims_Information_AVP_dummy } // End of template mw_ims_Information_AVP /** * @desc The Early-Media-Description AVP, Basic receive template Loading Loading @@ -909,7 +911,7 @@ module DiameterRfRo_Templates { m_subscription_Id_Type(END_USER_SIP_URI_E), m_subscription_Id_Data("ETSI RFRO") ), m_ims_Information_AVP_dummy( m_ims_Information_AVP( m_node_Functionality_AVP(MRFC_E) ), m_service_Generic_Information_AVP( Loading Loading @@ -5078,10 +5080,10 @@ module DiameterRfRo_Templates { * @see ETSI TS 132 299 V10.15.0 Clause 7.2.192 Service-Information AVP * @see ETSI TS 132 299 V10.15.0 Table 7.2: 3GPP specific AVPs */ template (present) Service_Information_AVP mw_service_Information( in template (present) Service_Information_AVP.subscription_Id p_subscription_Id, in template IMS_Information_AVP p_ims_Information, in template Service_Generic_Information_AVP p_service_Generic_Information template Service_Information_AVP mw_service_Information( template (present) Service_Information_AVP.subscription_Id p_subscription_Id := ?, template IMS_Information_AVP p_ims_Information := *, template Service_Generic_Information_AVP p_service_Generic_Information := * ) modifies mw_service_Information_AVP_dummy := { subscription_Id := p_subscription_Id, ims_Information := p_ims_Information, Loading Loading @@ -5297,10 +5299,16 @@ module DiameterRfRo_Templates { 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 in template (omit) CCA_Body_AVP.multiple_Services_Credit_Control p_multiple_Services_Credit_Control := omit, in template (omit) Service_Information_AVP p_service_Information := omit, in template (omit) Credit_Control_Failure_Handling_AVP p_credit_Control_Failure_Handling := omit, in template (omit) Direct_Debiting_Failure_Handling_AVP p_direct_Debiting_Failure_Handling := omit ) modifies md_ccaBodyAvps := { cC_Request_Number := p_cCRequestNumber, multiple_Services_Credit_Control := p_multiple_Services_Credit_Control multiple_Services_Credit_Control := p_multiple_Services_Credit_Control, service_Information := p_service_Information, credit_Control_Failure_Handling := p_credit_Control_Failure_Handling, direct_Debiting_Failure_Handling := p_direct_Debiting_Failure_Handling } // End of template md_ccaBodyAvps } // End of group Ro_answer_message_templates_send Loading Loading @@ -5345,9 +5353,10 @@ module DiameterRfRo_Templates { 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, template Termination_Cause_AVP p_termination_Cause := * template Requested_Action_AVP p_requested_Action := *, template CCR_Body_AVP.multiple_Services_Credit_Control p_multiple_Services_Credit_Control := *, template Termination_Cause_AVP p_termination_Cause := *, template Service_Information_AVP p_service_Information := * ) modifies mw_CCR_Body_dummy := { origin_Host := p_originHost, origin_Realm := p_originRealm, Loading @@ -5358,8 +5367,9 @@ module DiameterRfRo_Templates { cC_Request_Number := p_cC_Request_Number, requested_Action := p_requested_Action, multiple_Services_Credit_Control := p_multiple_Services_Credit_Control, termination_Cause := p_termination_Cause } // End of template mdw_ccrBodyAvps_TypeOfCharging termination_Cause := p_termination_Cause, service_Information := p_service_Information } // End of template mdw_ccrBodyAvps /** * @desc Receive template for RAR Loading Loading @@ -5968,11 +5978,25 @@ module DiameterRfRo_Templates { aVP_Data := p_avpData } // End of template m_cC_Request_Number_AVP template (value) Credit_Control_Failure_Handling_AVP m_credit_Control_Failure_Handling_AVP( in template (value) Credit_Cont_Fail_Hand_Type p_aVP_Data ) := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_credit_Control_Failure_Handling_AVP_Code, 4, c_vendId3gpp), aVP_Data := p_aVP_Data } // End of template m_credit_Control_Failure_Handling_AVP template (value) Direct_Debiting_Failure_Handling_AVP m_direct_Debiting_Failure_Handling_AVP( in template (value) Direct_Debi_Fail_Hand_Type p_aVP_Data ) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_direct_Debiting_Failure_Handling_AVP_Code, 4, c_vendId3gpp), aVP_Data := p_aVP_Data } // End of template m_direct_Debiting_Failure_Handling_AVP } // End of group Ro_avps_templates_send group Ro_dummy_avps_templates_receive { template (present) Multiple_Services_Credit_Control_AVP mw_multiple_Services_Credit_Control_dummy := { template Multiple_Services_Credit_Control_AVP mw_multiple_Services_Credit_Control_dummy := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_multiple_Services_Credit_Control_AVP_Code, ?, c_vendId3gpp), granted_Service_Unit := *, requested_Service_Unit := *, Loading Loading @@ -6008,7 +6032,7 @@ module DiameterRfRo_Templates { g_S_U_Pool_Reference := { p_g_S_U_Pool_Reference } } // End of template mw_multiple_Services_Credit_Control_Pool_Reference template (present) Granted_Service_Unit_AVP mw_granted_Service_Unit_dummy := { template Granted_Service_Unit_AVP mw_granted_Service_Unit_dummy := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_granted_Service_Unit_AVP_Code, ?, c_vendId3gpp), tariff_Time_Change := *, cC_Time := *, Loading Loading
DiameterRfRo/ttcn/DiameterRfRo_PICS.ttcn +6 −0 Original line number Diff line number Diff line Loading @@ -470,6 +470,12 @@ module DiameterRfRo_PICS { */ modulepar boolean PICS_RO_CTF_DDFH_CONTINUE := false; /** * @desc Does CTF support independent credit-control of multiple services within a (sub-)session? * @see ETSI TS 103 374-1 V1.1.2 (2015-09) A.7/19 */ modulepar boolean PICS_RO_CTF_SUB_SESSION := false; } // End of group PICS_A7 } // End of module DiameterRfRo_PICS No newline at end of file
DiameterRfRo/ttcn/DiameterRfRo_PIXITS.ttcn +5 −0 Original line number Diff line number Diff line Loading @@ -388,6 +388,11 @@ module DiameterRfRo_PIXITS { */ modulepar Time_Quota_Type PX_TIME_QUOTA_TYPE := DISCRETE_TIME_PERIOD_E; /** * @desc The secondary OCF address, PIXIT item A-10/13 */ modulepar UTF8String PX_SECONDARY_OCF_ADDRESS := "10.1.1.10"; } // End of group ocfContext /** Loading
DiameterRfRo/ttcn/DiameterRfRo_Steps.ttcn +46 −0 Original line number Diff line number Diff line Loading @@ -147,6 +147,41 @@ vc_send_endid:=hex2int('01000000'H); } // End of function f_DiameterRo_init /* * @desc This is a test step that init global variables * @param */ function f_DiameterRo_init2() runs on DiameterComponent { //Defaults vc_default_diameter := activate (a_diameter_default()); //Base LibDiameter init function if there will be any base initialisation f_Diameter_Init_Component(); vc_ETS_address := PX_DIAMETER_RO_ETS_IPADDR2; vc_ETS_port := PX_DIAMETER_RO_ETS_PORT2; vc_SUT_address := PX_DIAMETER_RO_SUT_IPADDR; vc_SUT_port := PX_DIAMETER_RO_SUT_PORT; vc_sessionId := m_sessionId(PX_SessionID); vc_originHost := m_originHost(PX_OriginHost); vc_originRealm := m_originRealm(PX_OriginRealm); // realm of the originator (TS) vc_originHost_IUT := m_originHost(PX_DestinationHost); vc_originRealm_IUT := m_originRealm(PX_DestinationRealm); // realm of the originator (TS) vc_destinationHost := m_destinationHost(PX_DestinationHost); vc_destinationRealm := m_destinationRealm(PX_DestinationRealm); vc_hostIPAddress := valueof(f_IPV4or6_String2Address (PX_DIAMETER_RO_ETS_IPADDR)); vc_send_hopid:=hex2int('00000100'H); vc_send_endid:=hex2int('01000000'H); } // End of function f_DiameterRo_init //TODO check for 2nd Ro or Rf configuration!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! group RF{ Loading Loading @@ -358,6 +393,17 @@ f_preambleDiameterBaseClient(c_applIdRfRo); } function f_preamble_Ro_OCF2() runs on DiameterComponent { if(PX_DIAM_LLP_ENABLED) { f_preambleClient(); } f_DiameterRo_init2(); f_preambleDiameterBaseClient(c_applIdRfRo); } function f_preamble_Ro_CTF() runs on DiameterComponent { if(PX_DIAM_LLP_ENABLED) Loading
DiameterRfRo/ttcn/DiameterRfRo_TCFunctions.ttcn +988 −13 File changed.Preview size limit exceeded, changes collapsed. Show changes
DiameterRfRo/ttcn/DiameterRfRo_Templates.ttcn +73 −49 Original line number Diff line number Diff line Loading @@ -251,12 +251,12 @@ module DiameterRfRo_Templates { * @param p_accounting_Record_Number TODO * @param p_acct_application_id TODO */ template (present) ACR_Body_AVP mdw_acrBodyAvps( in template (present) Origin_Host_AVP p_originHost, in template (present) Origin_Realm_AVP p_originRealm, in template (present) Destination_Realm_AVP p_destinationRealm, in template (present) Accounting_Record_Type_AVP p_accounting_Record_Type, in template (present) Accounting_Record_Number_AVP p_accounting_Record_Number template ACR_Body_AVP mdw_acrBodyAvps( in template (present) Origin_Host_AVP p_originHost := ?, in template (present) Origin_Realm_AVP p_originRealm := ?, in template (present) Destination_Realm_AVP p_destinationRealm := ?, in template (present) Accounting_Record_Type_AVP p_accounting_Record_Type := ?, in template (present) Accounting_Record_Number_AVP p_accounting_Record_Number := ? ) modifies mw_ACR_Body_dummy := { origin_Host := p_originHost, origin_Realm := p_originRealm, Loading @@ -278,14 +278,14 @@ module DiameterRfRo_Templates { * @param p_service_Information Service Information * @param p_event_Timestamp Event Timestamp */ template (present) ACR_Body_AVP mdw_acrBody_ServiceInfo_EventTimestamp( in template (present) Origin_Host_AVP p_originHost, in template (present) Origin_Realm_AVP p_originRealm, in template (present) Destination_Realm_AVP p_destinationRealm, in template (present) Accounting_Record_Type_AVP p_accounting_Record_Type, in template (present) Accounting_Record_Number_AVP p_accounting_Record_Number, in template Service_Information_AVP p_service_Information, in template Event_Timestamp_AVP p_event_Timestamp template ACR_Body_AVP mdw_acrBody_ServiceInfo_EventTimestamp( in template (present) Origin_Host_AVP p_originHost := ?, in template (present) Origin_Realm_AVP p_originRealm := ?, in template (present) Destination_Realm_AVP p_destinationRealm := ?, in template (present) Accounting_Record_Type_AVP p_accounting_Record_Type := ?, in template (present) Accounting_Record_Number_AVP p_accounting_Record_Number := ?, in template Service_Information_AVP p_service_Information := *, in template Event_Timestamp_AVP p_event_Timestamp := * ) modifies mdw_acrBodyAvps := { service_Information := p_service_Information, event_Timestamp := p_event_Timestamp Loading Loading @@ -363,7 +363,7 @@ module DiameterRfRo_Templates { acct_Application_Id := m_acct_Application_Id(3) } // End of template md_acaBodyAvps template (value) ACA_Body_AVP md_acaBody_AcctInterimInterval( template (omit) ACA_Body_AVP md_acaBody_AcctInterimInterval( in template (value) Result_Code_AVP p_resultCode, in template (value) Origin_Host_AVP p_originHost, in template (value) Origin_Realm_AVP p_originRealm, Loading Loading @@ -567,8 +567,9 @@ module DiameterRfRo_Templates { * @see ETSI TS 132 299 V10.15.0 Clause 7.2.77 IMS-Information AVP * @see ETSI TS 132 299 V10.15.0 Table 7.1: Use Of IETF Diameter AVPs */ template (value) IMS_Information_AVP m_ims_Information_AVP_dummy( in template (value) Node_Functionality_AVP p_node_Functionality template (omit) IMS_Information_AVP m_ims_Information_AVP( in template (value) Node_Functionality_AVP p_node_Functionality, in template (omit) Alternate_Charged_Party_Address_AVP p_alternate_Charged_Party_Address := omit ) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_ims_Information_AVP_Code, 0, c_vendId3gpp), event_Type := omit, Loading Loading @@ -607,7 +608,7 @@ module DiameterRfRo_Templates { account_Expiration := omit, initial_IMS_Charging_Identifier := omit, ims_Emergency_Indicator := omit } // End of template m_ims_Information_AVP_dummy } // End of template m_ims_Information_AVP /** * @desc The Early-Media-Description AVP, Basic send template Loading Loading @@ -782,8 +783,9 @@ module DiameterRfRo_Templates { * @see ETSI TS 132 299 V10.15.0 Clause 7.2.77 IMS-Information AVP * @see ETSI TS 132 299 V10.15.0 Table 7.1: Use Of IETF Diameter AVPs */ template (present) IMS_Information_AVP mw_ims_Information_AVP_dummy( template (present) Node_Functionality_AVP p_node_Functionality := ? template IMS_Information_AVP mw_ims_Information_AVP( template (present) Node_Functionality_AVP p_node_Functionality := ?, template Alternate_Charged_Party_Address_AVP p_alternate_Charged_Party_Address_AVP := * ) := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_ims_Information_AVP_Code, ?, c_vendId3gpp), event_Type := *, Loading @@ -797,7 +799,7 @@ module DiameterRfRo_Templates { called_Asserted_Identity := *, number_Portability_Routing_Information := *, carrier_Select_Routing_Information := *, alternate_Charged_Party_Address := *, alternate_Charged_Party_Address := p_alternate_Charged_Party_Address_AVP, requested_Party_Address := *, associated_URI := *, time_Stamps := *, Loading @@ -822,7 +824,7 @@ module DiameterRfRo_Templates { account_Expiration := *, initial_IMS_Charging_Identifier := *, ims_Emergency_Indicator := * } // End of template mw_ims_Information_AVP_dummy } // End of template mw_ims_Information_AVP /** * @desc The Early-Media-Description AVP, Basic receive template Loading Loading @@ -909,7 +911,7 @@ module DiameterRfRo_Templates { m_subscription_Id_Type(END_USER_SIP_URI_E), m_subscription_Id_Data("ETSI RFRO") ), m_ims_Information_AVP_dummy( m_ims_Information_AVP( m_node_Functionality_AVP(MRFC_E) ), m_service_Generic_Information_AVP( Loading Loading @@ -5078,10 +5080,10 @@ module DiameterRfRo_Templates { * @see ETSI TS 132 299 V10.15.0 Clause 7.2.192 Service-Information AVP * @see ETSI TS 132 299 V10.15.0 Table 7.2: 3GPP specific AVPs */ template (present) Service_Information_AVP mw_service_Information( in template (present) Service_Information_AVP.subscription_Id p_subscription_Id, in template IMS_Information_AVP p_ims_Information, in template Service_Generic_Information_AVP p_service_Generic_Information template Service_Information_AVP mw_service_Information( template (present) Service_Information_AVP.subscription_Id p_subscription_Id := ?, template IMS_Information_AVP p_ims_Information := *, template Service_Generic_Information_AVP p_service_Generic_Information := * ) modifies mw_service_Information_AVP_dummy := { subscription_Id := p_subscription_Id, ims_Information := p_ims_Information, Loading Loading @@ -5297,10 +5299,16 @@ module DiameterRfRo_Templates { 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 in template (omit) CCA_Body_AVP.multiple_Services_Credit_Control p_multiple_Services_Credit_Control := omit, in template (omit) Service_Information_AVP p_service_Information := omit, in template (omit) Credit_Control_Failure_Handling_AVP p_credit_Control_Failure_Handling := omit, in template (omit) Direct_Debiting_Failure_Handling_AVP p_direct_Debiting_Failure_Handling := omit ) modifies md_ccaBodyAvps := { cC_Request_Number := p_cCRequestNumber, multiple_Services_Credit_Control := p_multiple_Services_Credit_Control multiple_Services_Credit_Control := p_multiple_Services_Credit_Control, service_Information := p_service_Information, credit_Control_Failure_Handling := p_credit_Control_Failure_Handling, direct_Debiting_Failure_Handling := p_direct_Debiting_Failure_Handling } // End of template md_ccaBodyAvps } // End of group Ro_answer_message_templates_send Loading Loading @@ -5345,9 +5353,10 @@ module DiameterRfRo_Templates { 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, template Termination_Cause_AVP p_termination_Cause := * template Requested_Action_AVP p_requested_Action := *, template CCR_Body_AVP.multiple_Services_Credit_Control p_multiple_Services_Credit_Control := *, template Termination_Cause_AVP p_termination_Cause := *, template Service_Information_AVP p_service_Information := * ) modifies mw_CCR_Body_dummy := { origin_Host := p_originHost, origin_Realm := p_originRealm, Loading @@ -5358,8 +5367,9 @@ module DiameterRfRo_Templates { cC_Request_Number := p_cC_Request_Number, requested_Action := p_requested_Action, multiple_Services_Credit_Control := p_multiple_Services_Credit_Control, termination_Cause := p_termination_Cause } // End of template mdw_ccrBodyAvps_TypeOfCharging termination_Cause := p_termination_Cause, service_Information := p_service_Information } // End of template mdw_ccrBodyAvps /** * @desc Receive template for RAR Loading Loading @@ -5968,11 +5978,25 @@ module DiameterRfRo_Templates { aVP_Data := p_avpData } // End of template m_cC_Request_Number_AVP template (value) Credit_Control_Failure_Handling_AVP m_credit_Control_Failure_Handling_AVP( in template (value) Credit_Cont_Fail_Hand_Type p_aVP_Data ) := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_credit_Control_Failure_Handling_AVP_Code, 4, c_vendId3gpp), aVP_Data := p_aVP_Data } // End of template m_credit_Control_Failure_Handling_AVP template (value) Direct_Debiting_Failure_Handling_AVP m_direct_Debiting_Failure_Handling_AVP( in template (value) Direct_Debi_Fail_Hand_Type p_aVP_Data ) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_direct_Debiting_Failure_Handling_AVP_Code, 4, c_vendId3gpp), aVP_Data := p_aVP_Data } // End of template m_direct_Debiting_Failure_Handling_AVP } // End of group Ro_avps_templates_send group Ro_dummy_avps_templates_receive { template (present) Multiple_Services_Credit_Control_AVP mw_multiple_Services_Credit_Control_dummy := { template Multiple_Services_Credit_Control_AVP mw_multiple_Services_Credit_Control_dummy := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_multiple_Services_Credit_Control_AVP_Code, ?, c_vendId3gpp), granted_Service_Unit := *, requested_Service_Unit := *, Loading Loading @@ -6008,7 +6032,7 @@ module DiameterRfRo_Templates { g_S_U_Pool_Reference := { p_g_S_U_Pool_Reference } } // End of template mw_multiple_Services_Credit_Control_Pool_Reference template (present) Granted_Service_Unit_AVP mw_granted_Service_Unit_dummy := { template Granted_Service_Unit_AVP mw_granted_Service_Unit_dummy := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_granted_Service_Unit_AVP_Code, ?, c_vendId3gpp), tariff_Time_Change := *, cC_Time := *, Loading