Commit 200dac92 authored by garciay's avatar garciay
Browse files

Minor fix in mdw_aSR

New templates added
parent 814a49f3
Loading
Loading
Loading
Loading
+216 −30
Original line number Diff line number Diff line
@@ -201,7 +201,7 @@ module DiameterRfRo_Templates {
             */
            template (present) ASR_MSG mdw_aSR(
                                            in template (present) Session_Id_AVP  p_sessionId,
                                            in template (present) ACR_Body_AVP    p_asrBody
                                            in template (present) ASR_Body_AVP    p_asrBody
            ) modifies mw_ASR_dummy := {
                session_Id  := p_sessionId,
                aSR_Body    := p_asrBody
@@ -760,7 +760,7 @@ module DiameterRfRo_Templates {
            /**
             * @desc 
             */
            template Accounting_Record_Type_AVP m_accounting_Record_Type(
            template (value) Accounting_Record_Type_AVP m_accounting_Record_Type(
                                                                                 in template (value) Acc_Record_Type p_aVP_Data
            ) modifies m_accounting_Record_Type_dummy := {
                aVP_Data := p_aVP_Data
@@ -769,7 +769,7 @@ module DiameterRfRo_Templates {
            /**
             * @desc 
             */
            template Accounting_Record_Number_AVP m_accounting_Record_Number(
            template (value) Accounting_Record_Number_AVP m_accounting_Record_Number(
                                                                                     in template (value) UInt32 p_aVP_Data
            ) modifies m_accounting_Record_Number_dummy := {
                aVP_Data := p_aVP_Data
@@ -783,7 +783,7 @@ module DiameterRfRo_Templates {
                                                                                       in template (value) UInt64 p_aVP_Data
            ) := {
                aVP_Header := m_aVP_HeaderVid_Mbit1(c_accounting_Input_Octets_AVP_Code, 8, c_vendId3gpp),
                octetsTransmitted   := p_aVP_Data
                aVP_Data   := p_aVP_Data
            } // End of template m_accounting_Input_Octets_AVP 
            
            /**
@@ -794,7 +794,7 @@ module DiameterRfRo_Templates {
                                                                                         in template (value) UInt64 p_aVP_Data
            ) := {
                aVP_Header := m_aVP_HeaderVid_Mbit1(c_accounting_Output_Octets_AVP_Code, 8, c_vendId3gpp),
                octetsTransmitted   := p_aVP_Data
                aVP_Data   := p_aVP_Data
            } // End of template m_accounting_Output_Octets_AVP 
            
            /**
@@ -964,7 +964,7 @@ module DiameterRfRo_Templates {
            template (value) SIP_Request_Timestamp_AVP m_sip_Request_Timestamp_AVP(
                                                                                   in template (value) Time p_aVP_Data
            ) := {
                aVP_Header  := mw_aVP_HeaderVid_Mbit1(c_sip_Request_Timestamp_AVP_Code, 4, c_vendId3gpp),
                aVP_Header  := m_aVP_HeaderVid_Mbit1(c_sip_Request_Timestamp_AVP_Code, 4, c_vendId3gpp),
                aVP_Data := p_aVP_Data
            } // End of template m_sip_Request_Timestamp_AVP
            
@@ -1177,7 +1177,6 @@ module DiameterRfRo_Templates {
            
            /**
             * @desc The Service-ID send template 
             * @param p_aVP_Header   Header AVP
             * @param p_aVP_Data     Identifies the service the MRFC is hosting or AoC service
             * 
             * @see ETSI TS 132 299 V10.15.0 Clause 7.2.190 Service-ID AVP
@@ -1248,7 +1247,8 @@ module DiameterRfRo_Templates {
            
            /**
             * @desc The Application-Server-Information send template 
             * @param p_aVP_Data     Holds the used bearer service for the PSTN leg
             * @param p_application_Server                          TODO
             * @param p_application_Provided_Called_Party_Address   TODO
             * 
             * @see ETSI TS 132 299 V10.15.0 Clause 7.2.24  Application-Server-Information AVP
             * @see ETSI TS 132 299 V10.15.0 Table 7.1: Use Of IETF Diameter AVPs
@@ -1567,6 +1567,30 @@ module DiameterRfRo_Templates {
                aVP_Data    := p_aVP_Data
            } // End of template m_requested_Party_Address_AVP
            
            /**
             * @desc Service-Generic-Information send template 
             * @param p_application_Server_ID    TODO
             * @param p_application_Service_Type TODO
             * @param p_application_Session_ID   TODO
             * @param p_delivery_Status          TODO
             * 
             * @see ETSI TS 132 299 V10.15.0 Clause 7.2.191 Service-Generic-Information AVP
             * @see ETSI TS 132 299 V10.15.0 Table 7.1: Use Of IETF Diameter AVPs
             * @see OMA-DDS-Charging_Data-V1_0-20110201-A
             */
            template (omit) Service_Generic_Information_AVP m_service_Generic_Information_AVP(
                                                                                              in template (omit) Application_Server_ID_AVP      p_application_Server_ID := omit,
                                                                                              in template (omit) Application_Service_Type_AVP   p_application_Service_Type := omit,
                                                                                              in template (omit) Application_Session_ID_AVP     p_application_Session_ID := omit,
                                                                                              in template (omit) Delivery_Status_AVP            p_delivery_Status := omit
            ) := {
                aVP_Header  := m_aVP_HeaderVid_Mbit1(c_service_Generic_Information_AVP_Code, f_getServiceGenericInformationAVPLength(valueof(p_application_Server_ID), valueof(p_application_Service_Type), valueof(p_application_Session_ID), valueof(p_delivery_Status)), c_vendId3gpp),
                application_Server_ID       := p_application_Server_ID,
                application_Service_Type    := p_application_Service_Type,
                application_Session_ID      := p_application_Session_ID,
                delivery_Status             := p_delivery_Status
            } // End of template m_service_Generic_Information_AVP
            
            /**
             * @desc Service-Specific-Type send template 
             * @param p_aVP_Data       Holds the type of the Service-Specific-Data
@@ -2039,6 +2063,58 @@ module DiameterRfRo_Templates {
                aVP_Data := p_aVP_Data
            } // End of template m_dynamic_Address_Flag_AVP
            
            /**
             * @desc The Application-Server-ID send template 
             * @param p_aVP_Data     The Application Server identifier
             * 
             * @see ETSI TS 132 299 V10.15.0 Table 7.2: 3GPP specific AVPs
             */
            template (value) Application_Server_ID_AVP m_application_Server_ID_AVP(
                                                                                   in template (value) UTF8String p_aVP_Data
            ) := {
                aVP_Header  := m_aVP_HeaderVid_Mbit1(c_serving_Node_Type_AVP_Code, f_getUTF8StringLength(valueof(p_aVP_Data)), omit),
                aVP_Data := p_aVP_Data
            } // End of template m_application_Server_ID_AVP 
            
            /**
             * @desc The Application-Service-Type send template 
             * @param p_aVP_Data     TODO
             * 
             * @see ETSI TS 132 299 V10.15.0 Table 7.2: 3GPP specific AVPs
             */
            template (value) Application_Service_Type_AVP m_application_Service_Type_AVP(
                                                                                         in template (value) Application_Service_Type p_aVP_Data
            ) := {
                aVP_Header  := m_aVP_HeaderVid_Mbit1(c_serving_Node_Type_AVP_Code, 4, omit),
                aVP_Data := p_aVP_Data
            } // End of template m_application_Service_Type_AVP 
            
            /**
             * @desc The Application-Session-ID send template 
             * @param p_aVP_Data     TODO
             * 
             * @see ETSI TS 132 299 V10.15.0 Table 7.2: 3GPP specific AVPs
             */
            template (value) Application_Session_ID_AVP m_application_Session_ID_AVP(
                                                                                     in template (value) UTF8String p_aVP_Data
            ) := {
                aVP_Header  := m_aVP_HeaderVid_Mbit1(c_serving_Node_Type_AVP_Code, f_getUTF8StringLength(valueof(p_aVP_Data)), omit),
                aVP_Data := p_aVP_Data
            } // End of template m_application_Session_ID_AVP 
            
            /**
             * @desc The Delivery_Status send template 
             * @param p_aVP_Data     TODO
             * 
             * @see ETSI TS 132 299 V10.15.0 Table 7.2: 3GPP specific AVPs
             */
            template (value) Delivery_Status_AVP m_delivery_Status_AVP(
                                                                       in template (value) UTF8String p_aVP_Data
            ) := {
                aVP_Header  := m_aVP_HeaderVid_Mbit1(c_serving_Node_Type_AVP_Code, f_getUTF8StringLength(valueof(p_aVP_Data)), omit),
                aVP_Data := p_aVP_Data
            } // End of template m_delivery_Status_AVP 
            
            /**
             * @desc The Accumulated-Cost send template 
             * @param p_value_Digits TODO
@@ -2601,17 +2677,17 @@ module DiameterRfRo_Templates {
        
        group Rf_avps_templates_receive { 
            
            template Accounting_Record_Type_AVP mw_accounting_Record_Type(
            template (present) Accounting_Record_Type_AVP mw_accounting_Record_Type(
                                                                                    template (present) Acc_Record_Type p_aVP_Data := ?
            ) := {
                aVP_Header          := m_aVP_HeaderVid_Mbit1(c_accounting_Record_Type_AVP_Code, 4, omit),
                aVP_Header          := mw_aVP_HeaderVid_Mbit1(c_accounting_Record_Type_AVP_Code, 4, c_vendId3gpp),
                aVP_Data := p_aVP_Data
            } // End of template mw_accounting_Record_Type 
            
            template Accounting_Record_Number_AVP mw_accounting_Record_Number(
            template (present) Accounting_Record_Number_AVP mw_accounting_Record_Number(
                                                                                        template (present) UInt32 p_aVP_Data := 3
            ) := {
                aVP_Header          := m_aVP_HeaderVid_Mbit1(c_accounting_Record_Number_AVP_Code, 4, omit),
                aVP_Header          := mw_aVP_HeaderVid_Mbit1(c_accounting_Record_Number_AVP_Code, 4, c_vendId3gpp),
                aVP_Data            := p_aVP_Data
            } // End of template mw_accounting_Record__Number
            
@@ -2622,8 +2698,8 @@ module DiameterRfRo_Templates {
            template (present) Accounting_Input_Octets_AVP mw_accounting_Input_Octets_AVP(
                                                                                          template (present) UInt64 p_aVP_Data := ?
            ) := {
                aVP_Header          := m_aVP_HeaderVid_Mbit1(c_accounting_Input_Octets_AVP_Code, 8, omit),
                octetsTransmitted   := p_aVP_Data
                aVP_Header := mw_aVP_HeaderVid_Mbit1(c_accounting_Input_Octets_AVP_Code, 8, c_vendId3gpp),
                aVP_Data   := p_aVP_Data
            } // End of template mw_accounting_Input_Octets_AVP 
            
            /**
@@ -2633,8 +2709,8 @@ module DiameterRfRo_Templates {
            template (present) Accounting_Output_Octets_AVP mw_accounting_Output_Octets_AVP(
                                                                                        template (present) UInt64 p_aVP_Data := ?
            ) := {
                aVP_Header          := m_aVP_HeaderVid_Mbit1(c_accounting_Output_Octets_AVP_Code, 8, omit),
                octetsTransmitted   := p_aVP_Data
                aVP_Header := mw_aVP_HeaderVid_Mbit1(c_accounting_Output_Octets_AVP_Code, 8, c_vendId3gpp),
                aVP_Data   := p_aVP_Data
            } // End of template mw_accounting_Output_Octets_AVP 
            
            /**
@@ -3359,6 +3435,30 @@ module DiameterRfRo_Templates {
                aVP_Data    := p_aVP_Data
            } // End of template mw_requested_Party_Address_AVP
            
            /**
             * @desc Service-Generic-Information send template 
             * @param p_application_Server_ID    TODO
             * @param p_application_Service_Type TODO
             * @param p_application_Session_ID   TODO
             * @param p_delivery_Status          TODO
             * 
             * @see ETSI TS 132 299 V10.15.0 Clause 7.2.191 Service-Generic-Information AVP
             * @see ETSI TS 132 299 V10.15.0 Table 7.1: Use Of IETF Diameter AVPs
             * @see OMA-DDS-Charging_Data-V1_0-20110201-A
             */
            template Service_Generic_Information_AVP mw_service_Generic_Information_AVP(
                                                                                        template Application_Server_ID_AVP      p_application_Server_ID := *,
                                                                                        template Application_Service_Type_AVP   p_application_Service_Type := *,
                                                                                        template Application_Session_ID_AVP     p_application_Session_ID := *,
                                                                                        template Delivery_Status_AVP            p_delivery_Status := *
            ) := {
                aVP_Header  := mw_aVP_HeaderVid_Mbit1(c_service_Generic_Information_AVP_Code, ?, c_vendId3gpp),
                application_Server_ID       := p_application_Server_ID,
                application_Service_Type    := p_application_Service_Type,
                application_Session_ID      := p_application_Session_ID,
                delivery_Status             := p_delivery_Status
            } // End of template mw_service_Generic_Information_AVP
            
            /**
             * @desc Service-Specific-Type receive template 
             * @param p_aVP_Data       Holds the type of the Service-Specific-Data
@@ -3848,7 +3948,59 @@ module DiameterRfRo_Templates {
            } // End of template mw_pdn_Connection_Charging_ID_AVP
            
            /**
             * @desc The Accumulated-Cost send template 
             * @desc The Application-Server-ID send template 
             * @param p_aVP_Data     The Application Server identifier
             * 
             * @see ETSI TS 132 299 V10.15.0 Table 7.2: 3GPP specific AVPs
             */
            template (present) Application_Server_ID_AVP mw_application_Server_ID_AVP(
                                                                                      template (present) UTF8String p_aVP_Data := ?
            ) := {
                aVP_Header  := mw_aVP_HeaderVid_Mbit1(c_serving_Node_Type_AVP_Code, ?, ?),
                aVP_Data := p_aVP_Data
            } // End of template mw_application_Server_ID_AVP 
            
            /**
             * @desc The Application-Service-Type receive template 
             * @param p_aVP_Data     TODO
             * 
             * @see ETSI TS 132 299 V10.15.0 Table 7.2: 3GPP specific AVPs
             */
            template (present) Application_Service_Type_AVP mw_application_Service_Type_AVP(
                                                                                            template (present) Application_Service_Type p_aVP_Data := ?
            ) := {
                aVP_Header  := mw_aVP_HeaderVid_Mbit1(c_serving_Node_Type_AVP_Code, 4, ?),
                aVP_Data := p_aVP_Data
            } // End of template mw_application_Service_Type_AVP 
            
            /**
             * @desc The Application-Session-ID receive template 
             * @param p_aVP_Data     TODO
             * 
             * @see ETSI TS 132 299 V10.15.0 Table 7.2: 3GPP specific AVPs
             */
            template (present) Application_Session_ID_AVP mw_application_Session_ID_AVP(
                                                                                        template (present) UTF8String p_aVP_Data := ?
            ) := {
                aVP_Header  := mw_aVP_HeaderVid_Mbit1(c_serving_Node_Type_AVP_Code, ?, ?),
                aVP_Data := p_aVP_Data
            } // End of template mw_application_Session_ID_AVP 
            
            /**
             * @desc The Delivery_Status receive template 
             * @param p_aVP_Data     TODO
             * 
             * @see ETSI TS 132 299 V10.15.0 Table 7.2: 3GPP specific AVPs
             */
            template (present) Delivery_Status_AVP mw_delivery_Status_AVP(
                                                                          template (present) UTF8String p_aVP_Data := ?
            ) := {
                aVP_Header  := mw_aVP_HeaderVid_Mbit1(c_serving_Node_Type_AVP_Code, ?, ?),
                aVP_Data := p_aVP_Data
            } // End of template mw_delivery_Status_AVP 
            
            /**
             * @desc The Accumulated-Cost receive template 
             * @param p_value_Digits TODO
             * @param p_exponent     TODO
             * 
@@ -5300,6 +5452,40 @@ module DiameterRfRo_Templates {
            return v_length;
        } // End of function f_getSDPTimeStampsAVPLength
        
        /**
         * @desc Calculate the length of the Service_Generic_Information_AVP to set up the Diameter header
         * @param p_application_Server_ID    TODO
         * @param p_application_Service_Type TODO
         * @param p_application_Session_ID   TODO
         * @param p_delivery_Status          TODO
         * 
         * @see ETSI TS 132 299 V10.15.0 Clause 7.2.191 Service-Generic-Information AVP
         * @see ETSI TS 132 299 V10.15.0 Table 7.1: Use Of IETF Diameter AVPs
         * @see OMA-DDS-Charging_Data-V1_0-20110201-A
         */
        function f_getServiceGenericInformationAVPLength(
                                                         in template (omit) Application_Server_ID_AVP      p_application_Server_ID,
                                                         in template (omit) Application_Service_Type_AVP   p_application_Service_Type,
                                                         in template (omit) Application_Session_ID_AVP     p_application_Session_ID,
                                                         in template (omit) Delivery_Status_AVP            p_delivery_Status
        ) return AVP_Length {
            var AVP_Length v_length := 0;
            if (ispresent(p_application_Server_ID)) {
                v_length := v_length + f_getEncvalueLength(encvalue(p_application_Server_ID));
            }
            if (ispresent(p_application_Service_Type)) {
                v_length := v_length + f_getEncvalueLength(encvalue(p_application_Service_Type));
            }
            if (ispresent(p_application_Session_ID)) {
                v_length := v_length + f_getEncvalueLength(encvalue(p_application_Session_ID));
            }
            if (ispresent(p_delivery_Status)) {
                v_length := v_length + f_getEncvalueLength(encvalue(p_delivery_Status));
            }
            
            return v_length;
        } // End of function f_getServiceGenericInformationAVPLength
        
    } // End of group functionsForTemplates
    
} // End of module DiameterRfRo_Templates
 No newline at end of file