Commit dadc6aba authored by Axel Rennoch's avatar Axel Rennoch
Browse files

add SH_HSS_SN_12

parent 8b04d032
Loading
Loading
Loading
Loading
+63 −4
Original line number Diff line number Diff line
@@ -1890,7 +1890,6 @@ module DiameterShDh_TCFunctions {
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

                    // TestBody                   
                   
					f_send_SNR(
							   md_sNR(
									  vc_sessionId,
@@ -1912,7 +1911,6 @@ module DiameterShDh_TCFunctions {
										  vc_sessionId,                            // containing a Session-ID AVP
										  mdw_pnrBodyUserdataAvps(?,?,?,mw_user_Data(?))
					));

					decvalue_o(vc_recvDiamMsg.pNR_MSG.pNR_Body.user_Data.aVP_Data, v_TSh_Data);
                    if(not match(v_TSh_Data.repositoryData_list[0], mw_repositoryData)) {setverdict(fail)};

@@ -1932,7 +1930,6 @@ module DiameterShDh_TCFunctions {
										  vc_sessionId,                            // containing a Session-ID AVP
										  mdw_pnrBodyUserdataAvps(?,?,?,mw_user_Data(?))
					));

					decvalue_o(vc_recvDiamMsg.pNR_MSG.pNR_Body.user_Data.aVP_Data, v_TSh_Data);
                    if(not match(v_TSh_Data.publicIdentifiers, ?)) {setverdict(fail)};                                        

@@ -1967,6 +1964,7 @@ module DiameterShDh_TCFunctions {
                
                function f_TC_SH_HSS_SN_12() runs on DiameterShDh { 
                    // Local variables
                    var TSh_Data v_TSh_Data;

                    // Preamble
                    f_preamble_Sh_AS();
@@ -1974,6 +1972,67 @@ module DiameterShDh_TCFunctions {
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

                    //TODO TestBody
					f_send_SNR(
							   md_sNR(
									  vc_sessionId,
											   md_snrBodyAvps_DataRefList(
													 vc_originHost,                 // containing an Origin-Host AVP
													 vc_originRealm,                // containing an Origin-Realm AVP
													 vc_destinationRealm,           // containing a Destination-Realm AVP
													 m_msisdn_user_Identity (
																			 m_MSISDN_user_identity(char2oct(PX_NotRelatedPrivateIdentity))
													 ),
													 m_subs_Req_Type(SUBSCRIBE_E),
													 {m_data_Reference(REPOSITORY_DATA_E),m_data_Reference(IMS_PUBLIC_IDENTITY_E)}
													)
									 )
					);
                   
					f_awaiting_PNR(
								mdw_pNR(
										  vc_sessionId,                            // containing a Session-ID AVP
										  mdw_pnrBodyUserdataAvps(?,?,?,mw_user_Data(?))
					));
					decvalue_o(vc_recvDiamMsg.pNR_MSG.pNR_Body.user_Data.aVP_Data, v_TSh_Data);
					if(not match(v_TSh_Data.repositoryData_list[0], mw_repositoryData)) {setverdict(fail)};

					f_send_PNA(
							   md_pNA(
									  vc_sessionId,
									  md_pnaBodyAvps(
													 m_resultCode(DIAMETER_SUCCESS_E),
													 vc_originHost,         // containing an Origin-Host AVP
													 vc_originRealm         // containing an Origin-Realm AVP
													)
									 )
					);

					f_awaiting_PNR(
								mdw_pNR(
										  vc_sessionId,                            // containing a Session-ID AVP
										  mdw_pnrBodyUserdataAvps(?,?,?,mw_user_Data(?))
					));
					decvalue_o(vc_recvDiamMsg.pNR_MSG.pNR_Body.user_Data.aVP_Data, v_TSh_Data);
					if(not match(v_TSh_Data.publicIdentifiers, ?)) {setverdict(fail)};                                        

					f_send_PNA(
							   md_pNA(
									  vc_sessionId,
					                       md_pnaBodyAvps_ExpRes(
					                                 m_experimentalResult(m_experimentalResultCode(DIAMETER_USER_DATA_NOT_AVAILABLE_E)),
													 vc_originHost,         // containing an Origin-Host AVP
													 vc_originRealm         // containing an Origin-Realm AVP
													)
									 )
					);
                                        
					f_awaiting_SNA(
								   mdw_sNA( 
										   vc_sessionId,                       // containing a Session-ID AVP
					                               mdw_snaBodyAvps_experimental_result(
					                                       mw_experimentalResult(?)
						))
					);
					
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 

+24 −0
Original line number Diff line number Diff line
@@ -884,6 +884,30 @@ module DiameterShDh_Templates {
                    origin_Realm                := p_originRealm
                } // End of template md_pnaBodyAvps 

				template (omit) PNA_Body_AVP md_pnaBodyAvps_ExpRes(
															in template (value) Experimental_Result_AVP      p_experimental_Result,
															in template (value) Origin_Host_AVP              p_originHost,
															in template (value) Origin_Realm_AVP             p_originRealm
				) modifies m_PNA_Body_dummy := {
					experimental_Result         := p_experimental_Result,
					origin_Host                 := p_originHost,
					origin_Realm                := p_originRealm
				} // End of template md_pnaBodyAvps 
				
				template (omit) Experimental_Result_AVP m_experimentalResult(
																				 template (present) Experimental_Result_Code_AVP p_expResultCode
				) := {
					aVP_Header := m_aVP_HeaderVid_Mbit1(c_experimental_Result_AVP_Code, 24, omit),
					vendor_Id  := m_vendorId(c_vendId3gpp),
					experimental_Result_Code := p_expResultCode
				}

				template Experimental_Result_Code_AVP m_experimentalResultCode (Experimental_Result_Type p_aVP_Data) := {
					aVP_Header := m_aVP_HeaderVid_Mbit1(c_experimental_Result_Code_AVP_Code, 24, omit),
					aVP_Data := p_aVP_Data
				}

                
            } // End of group pna_msg 

            group pua_msg {