Commit 8b04d032 authored by Axel Rennoch's avatar Axel Rennoch
Browse files

add SH_HSS_SN_11

parent db201e1d
Loading
Loading
Loading
Loading
+68 −1
Original line number Diff line number Diff line
@@ -1882,13 +1882,80 @@ module DiameterShDh_TCFunctions {
                
                function f_TC_SH_HSS_SN_11() runs on DiameterShDh { 
                    // Local variables
                    var TSh_Data v_TSh_Data;

                    // Preamble
                    f_preamble_Sh_AS();
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

                    //TODO TestBody
                    // 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(
													 m_resultCode(DIAMETER_SUCCESS_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(
														   mw_resultCode(DIAMETER_SUCCESS_E),
														   vc_originHost_IUT,              // containing an Origin-Host AVP
														   vc_originRealm_IUT
						))
					);                    

                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 

+21 −0
Original line number Diff line number Diff line
@@ -487,6 +487,27 @@ module DiameterShDh_Templates {
                    user_Name := p_user_Name
	            } // End of template md_snrBodyAvps

				template (value) SNR_Body_AVP md_snrBodyAvps_DataRefList(
															 template (value) Origin_Host_AVP p_origin_Host,
															 template (value) Origin_Realm_AVP p_origin_Realm,
															 template (value) Destination_Realm_AVP p_destination_Realm,
															 template (value) User_Identity_AVP p_user_Identity := m_user_Identity_dummy,
															 template (value) Subs_Req_Type_AVP p_subs_Req_Type := m_subs_Req_Type_dummy,
															 template (value) SNR_Body_AVP.data_Reference p_data_Referencelist := {m_data_Reference_dummy},
                                                             template (value) User_Name_AVP p_user_Name := m_user_Name_dummy
                                                             
				) modifies m_SNR_Body_dummy := {
					vendor_Specific_Application_Id := m_vendor_Specific_Appl_Id_Sh,//required only in TS129 229
					auth_Session_State := m_auth_Session_State,
					origin_Host := p_origin_Host,
					origin_Realm := p_origin_Realm,
					destination_Realm := p_destination_Realm,
					user_Identity := p_user_Identity,
					subs_Req_Type := p_subs_Req_Type,
					data_Reference := p_data_Referencelist,
					user_Name := p_user_Name
				} // End of template md_snrBodyAvps

	            template (value) SNR_Body_AVP md_snrBodyAvps_DSAI_Tag(
	                                                         template (value) Origin_Host_AVP p_origin_Host,
	                                                         template (value) Origin_Realm_AVP p_origin_Realm,