Commit 0880621e authored by Iztok Juvancic's avatar Iztok Juvancic
Browse files

Merge branch 'develop' of https://forge.etsi.org/gitlab/DIAMETER/DiameterShDh into develop

parents 4da3a801 4868c986
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -155,6 +155,13 @@ module DiameterShDh_PIXITS {
         *  TODO
         *  TODO
        */
        */
        modulepar charstring PX_PublicUser_MSISDN := "foo";
        modulepar charstring PX_PublicUser_MSISDN := "foo";
        /** @desc    UTF8String
         *  TODO
        */
        modulepar charstring PX_IMSPublicUserIdentity := "foo";
        
        modulepar UTF8String PX_IUT_SIP_URL := "sip:stf549@etsi.org";
        
    } // End of group DiameterCommonShDhData
    } // End of group DiameterCommonShDhData
    
    
    group SipParameters {
    group SipParameters {
+143 −26
Original line number Original line Diff line number Diff line
@@ -137,7 +137,30 @@ module DiameterShDh_TCFunctions {
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");


                    //TODO TestBody
                    f_send_UDR(
                                  md_uDR(
                                         vc_sessionId,
                                         md_udrBodyAvps(
                                                       vc_originHost,                 // containing an Origin-Host AVP
                                                       vc_originRealm,                // containing an Origin-Realm AVP
                                                       vc_destinationRealm,           // containing a Destination-Realm AVP
                                                       m_specific_user_Identity (
                                                                   m_public_user_identity(PX_NotExistingUserIdentity)
                                                                   )
                                                       )
                                        )
                       );

                    
                       f_awaiting_UDA(
                                      mdw_uDA( 
                                              vc_sessionId,                       // containing a Session-ID AVP
                                                   mdw_udaBodyExperimentalAvps(
                                                               mw_experimentalResult(DIAMETER_ERROR_USER_DATA_CANNOT_BE_READ),
                                                               vc_originHost_IUT,              // containing an Origin-Host AVP
                                                               vc_originRealm_IUT
                           ))
                       );


                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 


@@ -170,11 +193,12 @@ module DiameterShDh_TCFunctions {
                                     )
                                     )
                    );
                    );


                    
                    f_awaiting_UDA(
                    f_awaiting_UDA(
                                   mdw_uDA( 
                                   mdw_uDA( 
                                           vc_sessionId,                       // containing a Session-ID AVP
                                           vc_sessionId,                       // containing a Session-ID AVP
                                           mdw_udaBodyAvps(
                                                mdw_udaBodyExperimentalAvps(
                                                           mw_resultCode(DIAMETER_ERROR_USER_UNKNOWN_E),
                                                            mw_experimentalResult(DIAMETER_ERROR_USER_UNKNOWN_E),
                                                            vc_originHost_IUT,              // containing an Origin-Host AVP
                                                            vc_originHost_IUT,              // containing an Origin-Host AVP
                                                            vc_originRealm_IUT
                                                            vc_originRealm_IUT
                        ))
                        ))
@@ -214,8 +238,8 @@ module DiameterShDh_TCFunctions {
                    f_awaiting_UDA(
                    f_awaiting_UDA(
                                   mdw_uDA( 
                                   mdw_uDA( 
                                           vc_sessionId,                       // containing a Session-ID AVP
                                           vc_sessionId,                       // containing a Session-ID AVP
                                           mdw_udaBodyAvps(
                                                    mdw_udaBodyExperimentalAvps(
                                                           mw_resultCode(DIAMETER_ERROR_IDENTITIES_DONT_MATCH_E),
                                                            mw_experimentalResult(DIAMETER_ERROR_IDENTITIES_DONT_MATCH_E),
                                                            vc_originHost_IUT,              // containing an Origin-Host AVP
                                                            vc_originHost_IUT,              // containing an Origin-Host AVP
                                                            vc_originRealm_IUT
                                                            vc_originRealm_IUT
                        ))
                        ))
@@ -254,8 +278,8 @@ module DiameterShDh_TCFunctions {
                    f_awaiting_UDA(
                    f_awaiting_UDA(
                                   mdw_uDA( 
                                   mdw_uDA( 
                                           vc_sessionId,                       // containing a Session-ID AVP
                                           vc_sessionId,                       // containing a Session-ID AVP
                                           mdw_udaBodyAvps(
                                                    mdw_udaBodyExperimentalAvps(
                                                           mw_resultCode(DIAMETER_ERROR_OPERATION_NOT_ALLOWED),
                                                            mw_experimentalResult(DIAMETER_ERROR_OPERATION_NOT_ALLOWED),
                                                            vc_originHost_IUT,              // containing an Origin-Host AVP
                                                            vc_originHost_IUT,              // containing an Origin-Host AVP
                                                            vc_originRealm_IUT
                                                            vc_originRealm_IUT
                        ))
                        ))
@@ -278,7 +302,29 @@ module DiameterShDh_TCFunctions {
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");


                    //TODO TestBody
                    f_send_UDR(
                               md_uDR(
                                      vc_sessionId,
                                      md_udrBodyAvps(
                                                     vc_originHost,                 // containing an Origin-Host AVP
                                                     vc_originRealm,                // containing an Origin-Realm AVP
                                                     vc_destinationRealm,           // containing a Destination-Realm AVP
                                                     m_specific_user_Identity (
                                                                m_public_user_identity(PX_PublicUser_MSISDN)
                                                                )
                                                    )
                                     )
                    );

                    f_awaiting_UDA(
                                   mdw_uDA( 
                                           vc_sessionId,                       // containing a Session-ID AVP
                                                    mdw_udaBodyExperimentalAvps(
                                                            mw_experimentalResult(DIAMETER_ERROR_OPERATION_NOT_ALLOWED),
                                                            vc_originHost_IUT,              // containing an Origin-Host AVP
                                                            vc_originRealm_IUT
                        ))
                    );


                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 


@@ -1416,10 +1462,33 @@ module DiameterShDh_TCFunctions {
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");


                    //TODO TestBody
                    // TestBody
                    // to indicate a user data handling procedure
                    action("The IUT is requested to indicate a user data handling procedure");
                    // Clause 'then': the IUT sends an UD-Request and receives an UD-Answer
                    f_awaiting_UDR(
                                   mdw_uDR_Header_UDRBody(
                                                          ?,
                                                          ?,                                  // containing a Session-ID AVP
                                                          mdw_udrBodyAvps(
                                                              vc_originHost_IUT,              // containing an Origin-Host AVP
                                                              vc_originRealm_IUT,             // containing an Origin-Realm AVP
                                                              vc_destinationRealm_IUT,        // containing a Destination-Realm AVP
                                                                                              // containing a User-Identity AVP
                                                              m_data_Reference_dummy          // containing a Data-Reference AVP
                                                                                              //     indicating RepositoryData (0)
                    )));


                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 


                    f_send_UDA(
                               md_uDA(
                                      vc_sessionId,                                           // Set in f_awaiting_UDR
                                      md_udaBodyAvps(
                                                     m_resultCode(DIAMETER_SUCCESS_E),
                                                     vc_originHost,
                                                     vc_originRealm
                              )));
                    f_postamble_Sh_HSS();
                    f_postamble_Sh_HSS();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
@@ -1434,10 +1503,33 @@ module DiameterShDh_TCFunctions {
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");


                    //TODO TestBody
                    // TestBody
                    // to indicate a user data handling procedure
                    action("The IUT is requested to indicate a repository data within user data handling procedure");
                    // Clause 'then': the IUT sends an UD-Request and receives an UD-Answer
                    f_awaiting_UDR(
                                   mdw_uDR_Header_UDRBody(
                                                          ?,
                                                          ?,                                  // containing a Session-ID AVP
                                                          mdw_udrBodyAvps_handling_procedure(
                                                              vc_originHost_IUT,              // containing an Origin-Host AVP
                                                              vc_originRealm_IUT,             // containing an Origin-Realm AVP
                                                              vc_destinationRealm_IUT,        // containing a Destination-Realm AVP
                                                                                              // containing a User-Identity AVP
                                                              m_data_Reference_dummy          // containing a Data-Reference AVP
                                                                                              // containing a Service-Indication AVP
                    )));


                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 


                    f_send_UDA(
                               md_uDA(
                                      vc_sessionId,                                           // Set in f_awaiting_UDR
                                      md_udaBodyAvps(
                                                     m_resultCode(DIAMETER_SUCCESS_E),
                                                     vc_originHost,
                                                     vc_originRealm
                              )));
                    f_postamble_Sh_HSS();
                    f_postamble_Sh_HSS();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
@@ -1452,10 +1544,37 @@ module DiameterShDh_TCFunctions {
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");


                    //TODO TestBody
                    // TestBody
                    // to indicate a user data handling procedure
                    action("The IUT is requested to indicate an initial filter criteria within user data handling procedure");
                    // Clause 'then': the IUT sends an UD-Request and receives an UD-Answer
                    f_awaiting_UDR(
                                   mdw_uDR_Header_UDRBody(
                                                          ?,
                                                          ?,                                  // containing a Session-ID AVP
                                                          mdw_udrBodyAvps_initial_filter_criteria(
                                                              vc_originHost_IUT,              // containing an Origin-Host AVP
                                                              vc_originRealm_IUT,             // containing an Origin-Realm AVP
                                                              vc_destinationRealm_IUT,        // containing a Destination-Realm AVP
                                                                                              // containing a User-Identity AVP
                                                              m_data_Reference_dummy,          // containing a Data-Reference AVP
                                                                                              //     indicating RepositoryData (0)
                                                              m_server_name(                  // Server-Name AVP
                                                                            PX_IUT_SIP_URL    //     indicating SIP URL of the IUT
                                                                           )

                    )));


                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 


                    f_send_UDA(
                               md_uDA(
                                      vc_sessionId,                                           // Set in f_awaiting_UDR
                                      md_udaBodyAvps(
                                                     m_resultCode(DIAMETER_SUCCESS_E),
                                                     vc_originHost,
                                                     vc_originRealm
                              )));
                    f_postamble_Sh_HSS();
                    f_postamble_Sh_HSS();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
@@ -1472,8 +1591,6 @@ module DiameterShDh_TCFunctions {


                    // TODO TestBody
                    // TODO TestBody
                    
                    
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 

                    f_postamble_Sh_HSS();
                    f_postamble_Sh_HSS();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
+72 −9
Original line number Original line Diff line number Diff line
@@ -70,7 +70,7 @@ module DiameterShDh_Templates {
        
        
    } // End of group HeaderFieldTemplates
    } // End of group HeaderFieldTemplates
    
    
    group HeaderFieldTemplates {
    group AvpsTemplates {
        
        
        group SpecificAVPHeaders {
        group SpecificAVPHeaders {
            
            
@@ -102,11 +102,24 @@ module DiameterShDh_Templates {
                ) modifies m_user_Identity_dummy := {
                ) modifies m_user_Identity_dummy := {
                    public_Identity_AVP := p_public_identity
                    public_Identity_AVP := p_public_identity
                }
                }
                
                template (value) Data_Reference_AVP m_data_Reference(
                                                                     in template (value) Data_Reference_Type p_aVP_Data
                ) modifies m_data_Reference_dummy := {
                    aVP_Data := p_aVP_Data
                }
                
                template (value) Server_Name_AVP m_server_name(
                                                               in template (value) UTF8String p_aVP_Data
                ) := {
                    aVP_Header := m_aVP_HeaderVid_Mbit1(c_server_Name_AVP_Code, 4, c_vendId3gpp),
                    aVP_Data   := p_aVP_Data
                }
            }
            }
            
            
        } // End of group SpecificAVPHeaders
        } // End of group SpecificAVPHeaders
        
        
    } // End of group HeaderFieldTemplates
    } // End of group AvpsTemplates
    
    
    group Sh_modified_message_templates { 
    group Sh_modified_message_templates { 
        
        
@@ -297,13 +310,37 @@ module DiameterShDh_Templates {
                template UDR_Body_AVP mdw_udrBodyAvps(
                template UDR_Body_AVP mdw_udrBodyAvps(
                                                      template (present) Origin_Host_AVP              p_originHost := ?,
                                                      template (present) Origin_Host_AVP              p_originHost := ?,
                                                      template (present) Origin_Realm_AVP             p_originRealm := ?,
                                                      template (present) Origin_Realm_AVP             p_originRealm := ?,
                                                      template (present) Destination_Realm_AVP        p_destinationRealm := ?
                                                      template (present) Destination_Realm_AVP        p_destinationRealm := ?,
                                                      template (present) Data_Reference_AVP           p_data_Reference := ?
                ) modifies mw_UDR_Body_dummy := {
                ) modifies mw_UDR_Body_dummy := {
                    vendor_Specific_Application_Id := ?,
                    origin_Host                    := p_originHost,
                    origin_Host                    := p_originHost,
                    origin_Realm                   := p_originRealm,
                    origin_Realm                   := p_originRealm,
                        destination_Realm           := p_destinationRealm
                    destination_Realm              := p_destinationRealm,
                    data_Reference                 := {p_data_Reference}
                } // End of template mdw_udrBodyAvps
                } // End of template mdw_udrBodyAvps
                
                
                template UDR_Body_AVP mdw_udrBodyAvps_handling_procedure(
                                                                         template (present) Origin_Host_AVP              p_originHost := ?,
                                                                         template (present) Origin_Realm_AVP             p_originRealm := ?,
                                                                         template (present) Destination_Realm_AVP        p_destinationRealm := ?,
                                                                         template (present) Data_Reference_AVP           p_data_Reference
                ) modifies mdw_udrBodyAvps := {
                    data_Reference      := superset(p_data_Reference),
                    service_Indication  := ?
                } // End of template mdw_udrBodyAvps_handling_procedure
                
                template UDR_Body_AVP mdw_udrBodyAvps_initial_filter_criteria(
                                                                              template (present) Origin_Host_AVP              p_originHost := ?,
                                                                              template (present) Origin_Realm_AVP             p_originRealm := ?,
                                                                              template (present) Destination_Realm_AVP        p_destinationRealm := ?,
                                                                              template (present) Data_Reference_AVP           p_data_Reference := ?,
                                                                              template (present) Server_Name_AVP              p_server_Name := ?
                ) modifies mdw_udrBodyAvps := {
                    data_Reference  := superset(p_data_Reference),
                    server_Name     := p_server_Name
                } // End of template mdw_udrBodyAvps_initial_filter_criteria
                
            } // End of group udr_msg
            } // End of group udr_msg
            
            
            group pnr_msg {
            group pnr_msg {
@@ -497,7 +534,7 @@ module DiameterShDh_Templates {
            group uda_msg {
            group uda_msg {
                
                
                template UDA_Body_AVP mw_UDA_ResulFaile(
                template UDA_Body_AVP mw_UDA_ResulFaile(
                                                        template Result_Code_AVP p_resultCode, 
                                                        template (present) Result_Code_AVP p_resultCode, 
                                                        template (present) Origin_Host_AVP p_originHost,
                                                        template (present) Origin_Host_AVP p_originHost,
                                                        template (present) Origin_Realm_AVP p_originRealm,
                                                        template (present) Origin_Realm_AVP p_originRealm,
                                                        template UDA_Body_AVP.failed p_failed
                                                        template UDA_Body_AVP.failed p_failed
@@ -530,12 +567,38 @@ module DiameterShDh_Templates {
                    origin_Realm                := p_originRealm
                    origin_Realm                := p_originRealm
                } // End of template mdw_udaBodyAvps
                } // End of template mdw_udaBodyAvps


                template Experimental_Result_Code_AVP m_experimentalResultCode(
                        template (present) Experimental_Result_Type p_avpData
                ) := {
                    aVP_Header := m_aVP_HeaderVid_Mbit1(c_experimental_Result_Code_AVP_Code, 4, omit),
                    aVP_Data := p_avpData
                }

                template Experimental_Result_AVP mw_experimentalResult(
                    template (present) Experimental_Result_Type p_expResultCode
                ) := {
                    aVP_Header := m_aVP_HeaderVid_Mbit1(c_experimental_Result_AVP_Code, 24, omit),
                    vendor_Id  := m_vendorId(c_vendId3gpp),
                    experimental_Result_Code := m_experimentalResultCode(p_expResultCode)
                }

                               
                template (present) UDA_Body_AVP mdw_udaBodyExperimentalAvps(
                                                                template (present) Experimental_Result_AVP p_experimental_resultCode,
                                                                template (present) Origin_Host_AVP              p_originHost,
                                                                template (present) Origin_Realm_AVP             p_originRealm
                ) modifies mw_UDA_Body_dummy := {
                    experimental_Result         := p_experimental_resultCode,
                    origin_Host                 := p_originHost,
                    origin_Realm                := p_originRealm
                } // End of template mdw_udaBodyAvps
                
            } // End of group uda_msg
            } // End of group uda_msg
            
            
            group pna_msg {
            group pna_msg {
                
                
                template PNA_Body_AVP mw_PNA_ResulFaile(
                template PNA_Body_AVP mw_PNA_ResulFaile(
                                                        template Result_Code_AVP p_resultCode, 
                                                        template (present) Result_Code_AVP p_resultCode, 
                                                        template (present) Origin_Host_AVP p_originHost,
                                                        template (present) Origin_Host_AVP p_originHost,
                                                        template (present) Origin_Realm_AVP p_originRealm,
                                                        template (present) Origin_Realm_AVP p_originRealm,
                                                        template PNA_Body_AVP.failed p_failed
                                                        template PNA_Body_AVP.failed p_failed
+992 −772

File changed.

Preview size limit exceeded, changes collapsed.