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

add SH_HSS_SN_13

parent dadc6aba
Loading
Loading
Loading
Loading

LibDiameter @ 8b6b124f

Original line number Diff line number Diff line
Subproject commit f7f587ec9ed56c1d225ffbf84bb9ee98cb4da6e0
Subproject commit 8b6b124f1189f5761a55f5ae8c18667ed268c659
+66 −2
Original line number Diff line number Diff line
@@ -1971,7 +1971,7 @@ module DiameterShDh_TCFunctions {
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

                    //TODO TestBody
                    // TestBody
					f_send_SNR(
							   md_sNR(
									  vc_sessionId,
@@ -2044,13 +2044,77 @@ module DiameterShDh_TCFunctions {
                
                function f_TC_SH_HSS_SN_13() 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)}; // TODO: service data of first service

					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.repositoryData_list[0], mw_repositoryData(?))) {setverdict(fail)}; // TODO: service data of second service

					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()); 

+2 −2
Original line number Diff line number Diff line
@@ -266,10 +266,10 @@ module DiameterShDh_Templates {
		  elem_list := {}
		}

        template TTransparentData mw_repositoryData:= {
        template TTransparentData mw_repositoryData (template TServiceData p_serviceData:=*):= {
		  serviceIndication := ?,
		  sequenceNumber := ?,
		  serviceData  := *,
		  serviceData  := p_serviceData,
		  extension_ := *,
		  elem_list := ?
		}