Loading LibDiameter @ e8770d4a Original line number Diff line number Diff line Subproject commit 8cb2461bb12b4159638f778267a7194a9bdd0ca8 Subproject commit e8770d4a2ee6247a92e3744f7b7034cb0ac0dec4 ttcn/DiameterShDh_TCFunctions.ttcn3 +34 −2 Original line number Diff line number Diff line Loading @@ -52,7 +52,7 @@ module DiameterShDh_TCFunctions { vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm // containing a Destination-Realm AVP // not containing a User-Identity AVP // Containing s Data-Reference AVP // Containing a Data-Reference AVP ) ) ); Loading Loading @@ -1265,7 +1265,39 @@ module DiameterShDh_TCFunctions { f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); //TODO TestBody f_send_PNR( md_pNR( vc_sessionId, md_pnrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationHost, // containing an Destination-Host AVP vc_destinationRealm // containing a Destination-Realm AVP // not containing a User-Identity AVP // Containing a User-Data AVP ) ) ); f_awaiting_PNA( mdw_pNA( vc_sessionId, // containing a Session-ID AVP mw_PNA_ResulFaile( mw_resultCode( DIAMETER_MISSING_AVP_E // containing a Result-Code AVP // indicating DIAMETER_MISSING_AVP ), vc_originHost_IUT, // containing an Origin-Host AVP vc_originRealm_IUT, { mw_failed( // containing a Failed AVP { mw_avpType( // indicating missing Visited-Network-Identifier AVP mw_aVP_Header_any_Code( c_user_Identity_AVP_Code ))}) } ))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); Loading ttcn/DiameterShDh_Templates.ttcn3 +322 −142 Original line number Diff line number Diff line Loading @@ -100,14 +100,16 @@ module DiameterShDh_Templates { } } } } // End of group SpecificAVPHeaders } } // End of group HeaderFieldTemplates group Sh_modified_message_templates { group Sh_request_message_templates_send { group udr_msg { /** * @desc Send template for UDR * @param p_sessionId Session identifier Loading @@ -134,7 +136,7 @@ module DiameterShDh_Templates { header := m_diameterHeaderReqDuplicated_dummy(UDR_E, c_applIdRf), session_Id := p_sessionId, uDR_Body := p_udrBody } // End of template md_uDR } // End of template md_uDR_TflagSet /** * @desc Send template for UDR message body Loading @@ -154,10 +156,64 @@ module DiameterShDh_Templates { data_Reference := {p_data_Reference} } // End of template md_udrBodyAvps } // End of group udr_msg group pnr_msg { /** * @desc Send template for PNR * @param p_sessionId Session identifier * @param p_pnrBody PNR message body */ template (value) PNR_MSG md_pNR( in template (value) Session_Id_AVP p_sessionId, in template (value) PNR_Body_AVP p_pnrBody ) modifies m_PNR_dummy := { header := m_diameterHeaderReq_dummy(PNR_E, c_applId3GPPShDh), session_Id := p_sessionId, pNR_Body := p_pnrBody } // End of template md_pNR /** * @desc Send template for PNR * @param p_sessionId Session identifier * @param p_pnrBody PNR message body */ template (value) PNR_MSG md_pNR_TflagSet( in template (value) Session_Id_AVP p_sessionId, in template (value) PNR_Body_AVP p_pnrBody ) modifies m_PNR_dummy := { header := m_diameterHeaderReqDuplicated_dummy(PNR_E, c_applIdRf), session_Id := p_sessionId, pNR_Body := p_pnrBody } // End of template md_pNR /** * @desc Send template for PNR message body */ template (value) PNR_Body_AVP md_pnrBodyAvps( template (value) Origin_Host_AVP p_origin_Host, template (value) Origin_Realm_AVP p_origin_Realm, template (value) Destination_Host_AVP p_destination_Host, template (value) Destination_Realm_AVP p_destination_Realm, template (value) User_Identity_AVP p_user_Identity := m_user_Identity_dummy ) modifies m_PNR_Body_dummy := { vendor_Specific_Application_Id := m_vendor_Specific_Appl_Id_Sh, origin_Host := p_origin_Host, origin_Realm := p_origin_Realm, destination_Host := p_destination_Host, destination_Realm := p_destination_Realm, user_Identity := p_user_Identity } // End of template md_pnrBodyAvps } // End of group pnr_msg } // End of group Sh_request_message_templates_send group Sh_request_message_templates_receive { group udr_msg { /** * @desc Main receive message for HSS_Sh port * @param p_uDR_MSG UD-Request message Loading Loading @@ -202,10 +258,62 @@ module DiameterShDh_Templates { destination_Realm := p_destinationRealm } // End of template mdw_udrBodyAvps } // End of group udr_msg group pnr_msg { /** * @desc Main receive message for HSS_Sh port * @param p_pNR_MSG UD-Request message */ template (present) PNR_MSG mdw_pNR( template (present) Session_Id_AVP p_sessionId, template (present) PNR_Body_AVP p_pnrBody ) modifies mw_PNR_dummy := { header := mw_diameterHeaderReq_dummy(PNR_E, c_applId3GPPShDh), session_Id := p_sessionId, pNR_Body := p_pnrBody } // End of template mdw_pNR /** * @desc Main receive message for HSS_Sh port * @param p_pNR_MSG UD-Request message */ template (present) PNR_MSG mdw_pNR_Header_PNRBody( template (present) DiameterHeader p_header, template (present) Session_Id_AVP p_sessionId, template (present) PNR_Body_AVP p_pnrBody ) modifies mw_PNR_dummy := { header := p_header, session_Id := p_sessionId, pNR_Body := p_pnrBody } // End of template mdw_pNR_Header_PNRBody /** * @desc Receive template for PNR message body * @param p_resultCode Indicates whether a particular request was completed successfully or an error occurred * @param p_originHost Identifies the endpoint that originated the Diameter message * @param p_originRealm Realm of the originator * @param p_destinationRealm Destination realm */ template PNR_Body_AVP mdw_pnrBodyAvps( template (present) Origin_Host_AVP p_originHost := ?, template (present) Origin_Realm_AVP p_originRealm := ?, template (present) Destination_Realm_AVP p_destinationRealm := ? ) modifies mw_PNR_Body_dummy := { origin_Host := p_originHost, origin_Realm := p_originRealm, destination_Realm := p_destinationRealm } // End of template mdw_pnrBodyAvps } // End of group pnr_msg } // End of group Sh_request_message_templates_receive group Sh_answer_message_templates_send { group uda_msg { /** * @desc Send template for UDA * @param p_sessionId Session identifier Loading @@ -230,10 +338,42 @@ module DiameterShDh_Templates { origin_Realm := p_originRealm } // End of template md_udaBodyAvps } // End of group uda_msg group pna_msg { /** * @desc Send template for PNA * @param p_sessionId Session identifier * @param p_pnaBody PNA message body */ template (value) PNA_MSG md_pNA( in template (value) Session_Id_AVP p_sessionId, in template (value) PNA_Body_AVP p_pnaBody ) modifies m_PNA_dummy := { header := m_diameterHeaderAns_dummy(PNA_E, c_applIdRf), session_Id := p_sessionId, pNA_Body := p_pnaBody } // End of template md_pNA template (omit) PNA_Body_AVP md_pnaBodyAvps( in template (value) Result_Code_AVP p_resultCode, in template (value) Origin_Host_AVP p_originHost, in template (value) Origin_Realm_AVP p_originRealm ) modifies m_PNA_Body_dummy := { result_Code := p_resultCode, origin_Host := p_originHost, origin_Realm := p_originRealm } // End of template md_pnaBodyAvps } // End of group pna_msg } // End of group Sh_answer_message_templates_send group Sh_answer_message_templates_receive { group uda_msg { template UDA_Body_AVP mw_UDA_ResulFaile( template Result_Code_AVP p_resultCode, template (present) Origin_Host_AVP p_originHost, Loading Loading @@ -268,6 +408,46 @@ module DiameterShDh_Templates { origin_Realm := p_originRealm } // End of template mdw_udaBodyAvps } // End of group uda_msg group pna_msg { template PNA_Body_AVP mw_PNA_ResulFaile( template Result_Code_AVP p_resultCode, template (present) Origin_Host_AVP p_originHost, template (present) Origin_Realm_AVP p_originRealm, template PNA_Body_AVP.failed p_failed ) modifies mdw_pnaBodyAvps := { result_Code := p_resultCode, // optional in TS 129 229 failed := p_failed // optional in TS 129 229 } // End of template mw_PNA_ResulFaile /** * @desc Send template for PNA * @param p_sessionId Session identifier * @param p_pnaBody PNA message body */ template (present) PNA_MSG mdw_pNA( template (present) Session_Id_AVP p_sessionId, template (present) PNA_Body_AVP p_pnaBody ) modifies mw_PNA_dummy := { header := mw_diameterHeaderAns_dummy(PNA_E, c_applIdRf), session_Id := p_sessionId, pNA_Body := p_pnaBody } // End of template md_pNA template (present) PNA_Body_AVP mdw_pnaBodyAvps( template (present) Result_Code_AVP p_resultCode, template (present) Origin_Host_AVP p_originHost, template (present) Origin_Realm_AVP p_originRealm ) modifies mw_PNA_Body_dummy := { result_Code := p_resultCode, origin_Host := p_originHost, origin_Realm := p_originRealm } // End of template mdw_pnaBodyAvps } // End of group pna_msg } // End of group Sh_answer_message_templates_receive } // End of group Sh_modified_message_templates Loading ttcn/DiameterShDh_TestCases.ttcn3 +4 −3 Original line number Diff line number Diff line Loading @@ -2574,18 +2574,19 @@ module DiameterShDh_TestCases { * Expected behaviour: * ensure that { * when { * the IUT receives a UD-Request * the IUT receives a PN-Request * containing a Session-ID AVP * containing a Vendor-Specific-Application-Id AVP * containing an Auth-Session-State AVP * containing an Origin-Host AVP * containing an Origin-Realm AVP * containing a Destination-Host AVP * containing a Destination-Realm AVP * not containing a User-Identity AVP * containing a Data-Reference AVP * containing a User-Data AVP * } * then { * the IUT sends a UD-Answer * the IUT sends a PN-Answer * containing a Session-ID AVP * containing a Result-Code AVP * indicating DIAMETER_MISSING_AVP Loading Loading
LibDiameter @ e8770d4a Original line number Diff line number Diff line Subproject commit 8cb2461bb12b4159638f778267a7194a9bdd0ca8 Subproject commit e8770d4a2ee6247a92e3744f7b7034cb0ac0dec4
ttcn/DiameterShDh_TCFunctions.ttcn3 +34 −2 Original line number Diff line number Diff line Loading @@ -52,7 +52,7 @@ module DiameterShDh_TCFunctions { vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm // containing a Destination-Realm AVP // not containing a User-Identity AVP // Containing s Data-Reference AVP // Containing a Data-Reference AVP ) ) ); Loading Loading @@ -1265,7 +1265,39 @@ module DiameterShDh_TCFunctions { f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); //TODO TestBody f_send_PNR( md_pNR( vc_sessionId, md_pnrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationHost, // containing an Destination-Host AVP vc_destinationRealm // containing a Destination-Realm AVP // not containing a User-Identity AVP // Containing a User-Data AVP ) ) ); f_awaiting_PNA( mdw_pNA( vc_sessionId, // containing a Session-ID AVP mw_PNA_ResulFaile( mw_resultCode( DIAMETER_MISSING_AVP_E // containing a Result-Code AVP // indicating DIAMETER_MISSING_AVP ), vc_originHost_IUT, // containing an Origin-Host AVP vc_originRealm_IUT, { mw_failed( // containing a Failed AVP { mw_avpType( // indicating missing Visited-Network-Identifier AVP mw_aVP_Header_any_Code( c_user_Identity_AVP_Code ))}) } ))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); Loading
ttcn/DiameterShDh_Templates.ttcn3 +322 −142 Original line number Diff line number Diff line Loading @@ -100,14 +100,16 @@ module DiameterShDh_Templates { } } } } // End of group SpecificAVPHeaders } } // End of group HeaderFieldTemplates group Sh_modified_message_templates { group Sh_request_message_templates_send { group udr_msg { /** * @desc Send template for UDR * @param p_sessionId Session identifier Loading @@ -134,7 +136,7 @@ module DiameterShDh_Templates { header := m_diameterHeaderReqDuplicated_dummy(UDR_E, c_applIdRf), session_Id := p_sessionId, uDR_Body := p_udrBody } // End of template md_uDR } // End of template md_uDR_TflagSet /** * @desc Send template for UDR message body Loading @@ -154,10 +156,64 @@ module DiameterShDh_Templates { data_Reference := {p_data_Reference} } // End of template md_udrBodyAvps } // End of group udr_msg group pnr_msg { /** * @desc Send template for PNR * @param p_sessionId Session identifier * @param p_pnrBody PNR message body */ template (value) PNR_MSG md_pNR( in template (value) Session_Id_AVP p_sessionId, in template (value) PNR_Body_AVP p_pnrBody ) modifies m_PNR_dummy := { header := m_diameterHeaderReq_dummy(PNR_E, c_applId3GPPShDh), session_Id := p_sessionId, pNR_Body := p_pnrBody } // End of template md_pNR /** * @desc Send template for PNR * @param p_sessionId Session identifier * @param p_pnrBody PNR message body */ template (value) PNR_MSG md_pNR_TflagSet( in template (value) Session_Id_AVP p_sessionId, in template (value) PNR_Body_AVP p_pnrBody ) modifies m_PNR_dummy := { header := m_diameterHeaderReqDuplicated_dummy(PNR_E, c_applIdRf), session_Id := p_sessionId, pNR_Body := p_pnrBody } // End of template md_pNR /** * @desc Send template for PNR message body */ template (value) PNR_Body_AVP md_pnrBodyAvps( template (value) Origin_Host_AVP p_origin_Host, template (value) Origin_Realm_AVP p_origin_Realm, template (value) Destination_Host_AVP p_destination_Host, template (value) Destination_Realm_AVP p_destination_Realm, template (value) User_Identity_AVP p_user_Identity := m_user_Identity_dummy ) modifies m_PNR_Body_dummy := { vendor_Specific_Application_Id := m_vendor_Specific_Appl_Id_Sh, origin_Host := p_origin_Host, origin_Realm := p_origin_Realm, destination_Host := p_destination_Host, destination_Realm := p_destination_Realm, user_Identity := p_user_Identity } // End of template md_pnrBodyAvps } // End of group pnr_msg } // End of group Sh_request_message_templates_send group Sh_request_message_templates_receive { group udr_msg { /** * @desc Main receive message for HSS_Sh port * @param p_uDR_MSG UD-Request message Loading Loading @@ -202,10 +258,62 @@ module DiameterShDh_Templates { destination_Realm := p_destinationRealm } // End of template mdw_udrBodyAvps } // End of group udr_msg group pnr_msg { /** * @desc Main receive message for HSS_Sh port * @param p_pNR_MSG UD-Request message */ template (present) PNR_MSG mdw_pNR( template (present) Session_Id_AVP p_sessionId, template (present) PNR_Body_AVP p_pnrBody ) modifies mw_PNR_dummy := { header := mw_diameterHeaderReq_dummy(PNR_E, c_applId3GPPShDh), session_Id := p_sessionId, pNR_Body := p_pnrBody } // End of template mdw_pNR /** * @desc Main receive message for HSS_Sh port * @param p_pNR_MSG UD-Request message */ template (present) PNR_MSG mdw_pNR_Header_PNRBody( template (present) DiameterHeader p_header, template (present) Session_Id_AVP p_sessionId, template (present) PNR_Body_AVP p_pnrBody ) modifies mw_PNR_dummy := { header := p_header, session_Id := p_sessionId, pNR_Body := p_pnrBody } // End of template mdw_pNR_Header_PNRBody /** * @desc Receive template for PNR message body * @param p_resultCode Indicates whether a particular request was completed successfully or an error occurred * @param p_originHost Identifies the endpoint that originated the Diameter message * @param p_originRealm Realm of the originator * @param p_destinationRealm Destination realm */ template PNR_Body_AVP mdw_pnrBodyAvps( template (present) Origin_Host_AVP p_originHost := ?, template (present) Origin_Realm_AVP p_originRealm := ?, template (present) Destination_Realm_AVP p_destinationRealm := ? ) modifies mw_PNR_Body_dummy := { origin_Host := p_originHost, origin_Realm := p_originRealm, destination_Realm := p_destinationRealm } // End of template mdw_pnrBodyAvps } // End of group pnr_msg } // End of group Sh_request_message_templates_receive group Sh_answer_message_templates_send { group uda_msg { /** * @desc Send template for UDA * @param p_sessionId Session identifier Loading @@ -230,10 +338,42 @@ module DiameterShDh_Templates { origin_Realm := p_originRealm } // End of template md_udaBodyAvps } // End of group uda_msg group pna_msg { /** * @desc Send template for PNA * @param p_sessionId Session identifier * @param p_pnaBody PNA message body */ template (value) PNA_MSG md_pNA( in template (value) Session_Id_AVP p_sessionId, in template (value) PNA_Body_AVP p_pnaBody ) modifies m_PNA_dummy := { header := m_diameterHeaderAns_dummy(PNA_E, c_applIdRf), session_Id := p_sessionId, pNA_Body := p_pnaBody } // End of template md_pNA template (omit) PNA_Body_AVP md_pnaBodyAvps( in template (value) Result_Code_AVP p_resultCode, in template (value) Origin_Host_AVP p_originHost, in template (value) Origin_Realm_AVP p_originRealm ) modifies m_PNA_Body_dummy := { result_Code := p_resultCode, origin_Host := p_originHost, origin_Realm := p_originRealm } // End of template md_pnaBodyAvps } // End of group pna_msg } // End of group Sh_answer_message_templates_send group Sh_answer_message_templates_receive { group uda_msg { template UDA_Body_AVP mw_UDA_ResulFaile( template Result_Code_AVP p_resultCode, template (present) Origin_Host_AVP p_originHost, Loading Loading @@ -268,6 +408,46 @@ module DiameterShDh_Templates { origin_Realm := p_originRealm } // End of template mdw_udaBodyAvps } // End of group uda_msg group pna_msg { template PNA_Body_AVP mw_PNA_ResulFaile( template Result_Code_AVP p_resultCode, template (present) Origin_Host_AVP p_originHost, template (present) Origin_Realm_AVP p_originRealm, template PNA_Body_AVP.failed p_failed ) modifies mdw_pnaBodyAvps := { result_Code := p_resultCode, // optional in TS 129 229 failed := p_failed // optional in TS 129 229 } // End of template mw_PNA_ResulFaile /** * @desc Send template for PNA * @param p_sessionId Session identifier * @param p_pnaBody PNA message body */ template (present) PNA_MSG mdw_pNA( template (present) Session_Id_AVP p_sessionId, template (present) PNA_Body_AVP p_pnaBody ) modifies mw_PNA_dummy := { header := mw_diameterHeaderAns_dummy(PNA_E, c_applIdRf), session_Id := p_sessionId, pNA_Body := p_pnaBody } // End of template md_pNA template (present) PNA_Body_AVP mdw_pnaBodyAvps( template (present) Result_Code_AVP p_resultCode, template (present) Origin_Host_AVP p_originHost, template (present) Origin_Realm_AVP p_originRealm ) modifies mw_PNA_Body_dummy := { result_Code := p_resultCode, origin_Host := p_originHost, origin_Realm := p_originRealm } // End of template mdw_pnaBodyAvps } // End of group pna_msg } // End of group Sh_answer_message_templates_receive } // End of group Sh_modified_message_templates Loading
ttcn/DiameterShDh_TestCases.ttcn3 +4 −3 Original line number Diff line number Diff line Loading @@ -2574,18 +2574,19 @@ module DiameterShDh_TestCases { * Expected behaviour: * ensure that { * when { * the IUT receives a UD-Request * the IUT receives a PN-Request * containing a Session-ID AVP * containing a Vendor-Specific-Application-Id AVP * containing an Auth-Session-State AVP * containing an Origin-Host AVP * containing an Origin-Realm AVP * containing a Destination-Host AVP * containing a Destination-Realm AVP * not containing a User-Identity AVP * containing a Data-Reference AVP * containing a User-Data AVP * } * then { * the IUT sends a UD-Answer * the IUT sends a PN-Answer * containing a Session-ID AVP * containing a Result-Code AVP * indicating DIAMETER_MISSING_AVP Loading