Commit 4868c986 authored by Yann Garcia's avatar Yann Garcia
Browse files

Finalyse TC_SH_AS_UD_02-03

parent 8e3e62c1
Loading
Loading
Loading
Loading

LibDiameter @ 8ba9bda6

Original line number Diff line number Diff line
Subproject commit c9f25b2f33d34138b9092ce747047abfb3e5fc17
Subproject commit 8ba9bda64e79cc4afb8006fb713483682ea68a2c
+3 −0
Original line number Diff line number Diff line
@@ -159,6 +159,9 @@ module DiameterShDh_PIXITS {
         *  TODO
        */
        modulepar charstring PX_IMSPublicUserIdentity := "foo";
        
        modulepar UTF8String PX_IUT_SIP_URL := "sip:stf549@etsi.org";
        
    } // End of group DiameterCommonShDhData
    
    group SipParameters {
+59 −10
Original line number Diff line number Diff line
@@ -1444,11 +1444,12 @@ module DiameterShDh_TCFunctions {
                                                          ?,
                                                          ?,                                  // containing a Session-ID AVP
                                                          mdw_udrBodyAvps(
                                                              vc_originHost_IUT,              // containing a Origin-Host AVP
                                                              vc_originRealm_IUT,             // containing a Destination-Realm AVP
                                                              vc_destinationRealm_IUT
                                                              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
                                                                                              // containing a Data-Reference AVP
                                                              m_data_Reference_dummy          // containing a Data-Reference AVP
                                                                                              //     indicating RepositoryData (0)
                    )));

                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 
@@ -1475,10 +1476,33 @@ module DiameterShDh_TCFunctions {
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                    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_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_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
@@ -1493,10 +1517,37 @@ module DiameterShDh_TCFunctions {
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                    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_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_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
@@ -1513,8 +1564,6 @@ module DiameterShDh_TCFunctions {

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

                    f_postamble_Sh_HSS();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
+38 −4
Original line number Diff line number Diff line
@@ -70,7 +70,7 @@ module DiameterShDh_Templates {
        
    } // End of group HeaderFieldTemplates
    
    group HeaderFieldTemplates {
    group AvpsTemplates {
        
        group SpecificAVPHeaders {
            
@@ -103,12 +103,23 @@ module DiameterShDh_Templates {
                    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 HeaderFieldTemplates
    } // End of group AvpsTemplates
    
    group Sh_modified_message_templates { 
        
@@ -299,14 +310,37 @@ module DiameterShDh_Templates {
                template UDR_Body_AVP mdw_udrBodyAvps(
                                                      template (present) Origin_Host_AVP              p_originHost := ?,
                                                      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 := {
                    vendor_Specific_Application_Id := ?,
                    origin_Host                    := p_originHost,
                    origin_Realm                   := p_originRealm,
                    destination_Realm              := p_destinationRealm
                    destination_Realm              := p_destinationRealm,
                    data_Reference                 := {p_data_Reference}
                } // 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
            
            group pnr_msg {