Commit 050ac9c8 authored by rennoch's avatar rennoch
Browse files

setting of mandatory AVP parameter (header flags/len tbd)

parent 23e3484f
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@ module LibDiameter_Steps
	import from LibDiameter_Templates all;
	import from LibDiameter_Interface all;
	import from LibDiameter_PIXITS all;
    import from AtsCommon_PIXITS all;

group CommonFunctions{

@@ -221,12 +222,24 @@ group SendMessage {
    function f_send_AAR(template AAR_MSG p_AAR) runs on DiameterComponent
    {
        //set specific parameter for AAR if needed
        vc_sessionId := m_sessionId(PX_SessionID);
        vc_originHost := m_originHost(PX_OriginHost);
        vc_originRealm := m_originRealm(PX_OriginRealm); // realm of the originator (TS)
        vc_destinationHost := m_destinationHost(PX_DestinationHost);
        vc_destinationRealm := m_destinationRealm(PX_DestinationRealm);
        vc_authApplicationId := m_authApplicationId(PX_AuthApplicationId); 
        //TODO: setting of optional AVPs        
        f_sendDiameterMsg({aAR_MSG:=p_AAR});
    }

    function f_send_AAA(template AAA_MSG p_AAA) runs on DiameterComponent
    {
        //set specific parameter for AAA if needed
        // sessionId used from AAR
        vc_originHost := m_originHost(PX_OriginHost);
        vc_originRealm := m_originRealm(PX_OriginRealm); // realm of the originator (TS)
        vc_authApplicationId := m_authApplicationId(PX_AuthApplicationId); 
        //TODO: setting of optional AVPs
        f_sendDiameterMsg({aAA_MSG:=p_AAA});
    }
    
+76 −138
Original line number Diff line number Diff line
@@ -247,10 +247,8 @@ module LibDiameter_Templates {
        
        group DummyAVPHeaders{

            
            template Origin_Host_AVP m_originHost_dummy := {
                aVP_Header := {
                    aVP_Code := {0},
			template AVP_Header m_aVP_Header(AVP_Code p_avpCode) := {
            aVP_Code := p_avpCode,
            aVP_flags := {
                v_bit := '0'B,
                m_bit := '0'B,
@@ -259,70 +257,56 @@ module LibDiameter_Templates {
            },
            aVP_len := 0,
            aVP_vid := omit
                },
        }            
            
            template Origin_Host_AVP m_originHost_dummy := {
                aVP_Header := m_aVP_Header(c_vendIdOrigin_Host_AVP),
                aVP_Data := ""
            }
            
            template Origin_Host_AVP m_originHost(charstring p_avpData)
				modifies m_originHost_dummy := {
				aVP_Data := p_avpData
			}


            
            template Destination_Host_AVP m_destinationHost_dummy := {
                aVP_Header := {
                    aVP_Code := {0},
                    aVP_flags := {
                        v_bit := '0'B,
                        m_bit := '0'B,
                        p_bit := '0'B,
                        reserved_bits := '00000'B
                    },
                    aVP_len := 0,
                    aVP_vid := omit
                },
                aVP_Header := m_aVP_Header(c_vendIdDestination_Host_AVP),
                aVP_Data := ""
            }
            
            template Destination_Host_AVP m_destinationHost(charstring
																p_avpData)
				modifies m_destinationHost_dummy := {
				aVP_Data := p_avpData
			}


            
            
            template Origin_Realm_AVP m_originRealm_dummy := {
                aVP_Header := {
                    aVP_Code := {0},
                    aVP_flags := {
                        v_bit := '0'B,
                        m_bit := '0'B,
                        p_bit := '0'B,
                        reserved_bits := '00000'B
                    },
                    aVP_len := 0,
                    aVP_vid := omit
                },
                aVP_Header := m_aVP_Header(c_vendIdOrigin_Realm_AVP),
                aVP_Data := ""
            }
 
            
            template Destination_Realm_AVP m_destinationRealm_dummy := {
                aVP_Header := {
                    aVP_Code := {0},
                    aVP_flags := {
                        v_bit := '0'B,
                        m_bit := '0'B,
                        p_bit := '0'B,
                        reserved_bits := '00000'B
                    },
                    aVP_len := 0,
                    aVP_vid := omit
                },
                aVP_Header := m_aVP_Header(c_vendIdDestination_Realm_AVP),
                aVP_Data := ""
            }
            
            template Destination_Realm_AVP m_destinationRealm(charstring
																  p_avpData)
				modifies m_destinationRealm_dummy := {
				aVP_Data := p_avpData
			}


            

            template Vendor_Id_AVP m_vendorId_dummy := {
                aVP_Header := {
                    aVP_Code := {0},
                    aVP_flags := {
                        v_bit := '0'B,
                        m_bit := '0'B,
                        p_bit := '0'B,
                        reserved_bits := '00000'B
                    },
                    aVP_len := 0,
                    aVP_vid := omit
                },
                aVP_Header := m_aVP_Header(c_vendIdVendor_Id_AVP),
                aVP_Data := 0
            }
            
@@ -332,92 +316,46 @@ module LibDiameter_Templates {
                        
            
            template Product_Name_AVP m_productName_dummy := {
                aVP_Header := {
                    aVP_Code := {0},
                    aVP_flags := {
                        v_bit := '0'B,
                        m_bit := '0'B,
                        p_bit := '0'B,
                        reserved_bits := '00000'B
                    },
                    aVP_len := 0,
                    aVP_vid := omit
                },
                aVP_Header := m_aVP_Header(c_vendIdProduct_Name_AVP),
                aVP_Data := ""
            }
            
            template Disconnect_Cause_AVP m_disconnectCause_dummy := {
                aVP_Header := {
                    aVP_Code := {0},
                    aVP_flags := {
                        v_bit := '0'B,
                        m_bit := '0'B,
                        p_bit := '0'B,
                        reserved_bits := '00000'B
                    },
                    aVP_len := 0,
                    aVP_vid := omit
                },
                aVP_Header := m_aVP_Header(c_vendIdDisconnect_Cause_AVP),
                aVP_Data := REBOOTING_E
            }
            
            template Termination_Cause_AVP m_terminationCause_dummy := {
                aVP_Header := {
                    aVP_Code := {0},
                    aVP_flags := {
                        v_bit := '0'B,
                        m_bit := '0'B,
                        p_bit := '0'B,
                        reserved_bits := '00000'B
                    },
                    aVP_len := 0,
                    aVP_vid := omit
                },
                aVP_Header := m_aVP_Header(c_vendIdTermination_Cause_AVP),
                aVP_Data := DIAMETER_LOGOUT_E
            }
            
            template Session_Id_AVP m_sessionId_dummy := {
                aVP_Header := {
                    aVP_Code := {0},
                    aVP_flags := {
                        v_bit := '0'B,
                        m_bit := '0'B,
                        p_bit := '0'B,
                        reserved_bits := '00000'B
                    },
                    aVP_len := 0,
                    aVP_vid := omit
                },
                aVP_Header := m_aVP_Header(c_vendIdSession_Id_AVP),
                aVP_Data := ""
            }
            
            template Session_Id_AVP m_sessionId(UTF8String p_avpData)
				modifies m_sessionId_dummy := {
				aVP_Data := p_avpData
			}

            
            template Auth_Application_Id_AVP m_authApplicationId_dummy := {
                aVP_Header := {
                    aVP_Code := {0},
                    aVP_flags := {
                        v_bit := '0'B,
                        m_bit := '0'B,
                        p_bit := '0'B,
                        reserved_bits := '00000'B
                    },
                    aVP_len := 0,
                    aVP_vid := omit
                },
                aVP_Header := m_aVP_Header(c_vendIdAuth_Application_Id_AVP),
                aVP_Data := 0
            }
            
            template Auth_Application_Id_AVP m_authApplicationId(LibCommon_BasicTypesAndValues.UInt32
																	 p_avpData)
				modifies m_authApplicationId_dummy := {
				aVP_Data := p_avpData
			}


            
            template Result_Code_AVP m_resultCode_dummy := {
                aVP_Header := {
                    aVP_Code := {0},
                    aVP_flags := {
                        v_bit := '0'B,
                        m_bit := '0'B,
                        p_bit := '0'B,
                        reserved_bits := '00000'B
                    },
                    aVP_len := 0,
                    aVP_vid := omit
                },
                aVP_Header := m_aVP_Header(c_vendIdResult_Code_AVP),
                aVP_Data := 0
            }
        } //end group DummyAVPHeaders
@@ -469,22 +407,22 @@ module LibDiameter_Templates {
                },
                aVP_Data := p_avpData
            }
//			const LibCommon_BasicTypesAndValues.UInt32 myUInt32 := 1;
//			template Origin_Realm_AVP m_originRealm(template(value) charstring
//														p_avpData) := {
//				aVP_Header := {
//					aVP_Code := myUInt32, //c_vendIdOrigin_Realm_AVP//296,
//					aVP_flags := {
//						v_bit := '0'B,
//						m_bit := '0'B,
//						p_bit := '0'B,
//						reserved_bits := '00000'B
//					},
//					aVP_len := 0,
//					aVP_vid := omit
//				},
//				aVP_Data := p_avpData
//			}
			const LibCommon_BasicTypesAndValues.UInt32 myUInt32 := 1;
			template Origin_Realm_AVP m_originRealm(template(value) charstring
														p_avpData) := {
				aVP_Header := {
					aVP_Code := myUInt32, //c_vendIdOrigin_Realm_AVP//296,
					aVP_flags := {
						v_bit := '0'B,
						m_bit := '0'B,
						p_bit := '0'B,
						reserved_bits := '00000'B
					},
					aVP_len := 0,
					aVP_vid := omit
				},
				aVP_Data := p_avpData
			}


            
+1 −1
Original line number Diff line number Diff line
@@ -395,7 +395,7 @@ group BasicTypesAndConstants{
					//TODO RFC3588   Define this type!!!    
    			}
    							
    			type UInt32 AVP_Code [1..c_uInt32Max];
    			type UInt32 AVP_Code (1..c_uInt32Max);
    			  
    			//type Bit8 AVP_Flags;
    			type record AVP_Flags{