Loading ttcn/LibDiameter_Interface.ttcn +1 −1 Original line number Diff line number Diff line Loading @@ -83,7 +83,7 @@ module LibDiameter_Interface //general timers timer tc_wait := PX_DIAMETER_TWAIT; timer tc_delay := 1.0; // delay next Request timer tc_delay := 0.3; // delay next Request // variables for storing default references var default vc_default_diameter; Loading ttcn/LibDiameter_Templates.ttcn +79 −35 Original line number Diff line number Diff line Loading @@ -499,14 +499,17 @@ module LibDiameter_Templates { template SIP_AOR_AVP m_sIP_AOR_dummy := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_AOR_AVP_Code, 18, omit), aVP_Data := { aVP_Data := f_DiameterURI_2_UTF8String(m_diameterURI_dummy) } template (value) DiameterURI m_diameterURI_dummy := { scheme := "aaa", diameterId_FQDN := "www.etsi.org", portField := omit, transport := omit, protocol := omit } } template SIP_Visited_Network_Id_AVP m_sIP_Visited_Network_Id_dummy := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Visited_Network_Id_AVP_Code, 6, omit), Loading Loading @@ -874,34 +877,44 @@ module LibDiameter_Templates { // TODO How to pass RAND + AUX } template Digest_Username_AVP m_digestUsername(template (value) UTF8String p_text) := { Type := c_digest_Username_AVP_Code, Length := f_getUTF8StringLength(valueof(p_text)), Text := p_text template Digest_Username_AVP m_digestUsername(template (value) UTF8String p_avpData) := { aVP_Header := m_aVP_Header_Mbit1(c_digest_Username_AVP_Code, f_getUTF8StringLength(valueof(p_avpData))), aVP_Data := p_avpData // Type := c_digest_Username_AVP_Code, // Length := f_getUTF8StringLength(valueof(p_text)), // Text := p_text } template Digest_Realm_AVP m_digestRealm(template (value) UTF8String p_text) := { Type := c_digest_Realm_AVP_Code, Length := f_getUTF8StringLength(valueof(p_text)), Text := p_text template Digest_Realm_AVP m_digestRealm(template (value) UTF8String p_avpData) := { aVP_Header := m_aVP_Header_Mbit1(c_digest_Realm_AVP_Code, f_getUTF8StringLength(valueof(p_avpData))), aVP_Data := p_avpData // Type := c_digest_Realm_AVP_Code, // Length := f_getUTF8StringLength(valueof(p_text)), // Text := p_text } template Digest_Nonce_AVP m_digestNonce(template (value) UTF8String p_text) := { Type := c_digest_Realm_AVP_Code, Length := f_getUTF8StringLength(valueof(p_text)), Text := p_text template Digest_Nonce_AVP m_digestNonce(template (value) UTF8String p_avpData) := { aVP_Header := m_aVP_Header_Mbit1(c_digest_Realm_AVP_Code, f_getUTF8StringLength(valueof(p_avpData))), aVP_Data := p_avpData // Type := c_digest_Realm_AVP_Code, // Length := f_getUTF8StringLength(valueof(p_text)), // Text := p_text } template Digest_URI_AVP m_digestUri(template (value) UTF8String p_text) := { Type := c_digest_URI_AVP_Code, Length := f_getUTF8StringLength(valueof(p_text)), Text := p_text template Digest_URI_AVP m_digestUri(template (value) UTF8String p_avpData) := { aVP_Header := m_aVP_Header_Mbit1(c_digest_URI_AVP_Code, f_getUTF8StringLength(valueof(p_avpData))), aVP_Data := p_avpData // Type := c_digest_URI_AVP_Code, // Length := f_getUTF8StringLength(valueof(p_text)), // Text := p_text } template Digest_Response_AVP m_digestResponse(template (value) UTF8String p_text) := { Type := c_digest_Response_AVP_Code, Length := f_getUTF8StringLength(valueof(p_text)), Text := p_text template Digest_Response_AVP m_digestResponse(template (value) UTF8String p_avpData) := { aVP_Header := m_aVP_Header_Mbit1(c_digest_Response_AVP_Code, f_getUTF8StringLength(valueof(p_avpData))), aVP_Data := p_avpData // Type := c_digest_Response_AVP_Code, // Length := f_getUTF8StringLength(valueof(p_text)), // Text := p_text } template User_Name_AVP mw_userName(template (present) UTF8String p_avpData) := { Loading Loading @@ -3128,12 +3141,12 @@ module LibDiameter_Templates { group modified_request_templates_receive { template User_Data_AVP mw_user_Data_dummy := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_user_Data_AVP_Code, ?, c_vendId3gpp), aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_user_Data_AVP_Code), aVP_Data := ? } template SIP_Auth_Data_Item_RFC_AVP mw_sIPAuthDataItem_dummy_RFC := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_sIP_Auth_Data_Item_AVP_Code_RFC, ?, c_vendId3gpp), aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_sIP_Auth_Data_Item_AVP_Code_RFC), sIP_Authentication_Scheme := mw_sIPAuthenticationScheme_digest_RFC, sIP_Item_Number := omit, sIP_Authenticate := omit, Loading @@ -3148,7 +3161,7 @@ module LibDiameter_Templates { template (present) SIP_Authenticate_AVP p_sIP_Authenticate := ?, template SIP_Authorization_AVP p_sIP_Authorization := omit ) modifies mw_sIPAuthDataItem_dummy_RFC := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_sIP_Auth_Data_Item_AVP_Code_RFC, ?, c_vendId3gpp), aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_sIP_Auth_Data_Item_AVP_Code_RFC), sIP_Authentication_Scheme := p_sIP_Authentication_Scheme, sIP_Item_Number := p_sIP_Item_Number, sIP_Authenticate := p_sIP_Authenticate, Loading @@ -3169,7 +3182,7 @@ module LibDiameter_Templates { } } template SIP_Number_Auth_Items_AVP mw_sIPNumberAuthItems (template (present) UInt32 p_avpData := ?) := { template SIP_Number_Auth_Items_AVP mw_sIPNumberAuthItems_RFC (template (present) UInt32 p_avpData := ?) := { aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_sIP_Number_Auth_Items_AVP_Code_RFC), aVP_Data := p_avpData } Loading Loading @@ -3226,13 +3239,13 @@ module LibDiameter_Templates { template SIP_User_Data_AVP mw_sIP_User_Data_dummy := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_sIP_User_Data_AVP_Code, ?, c_vendId3gpp), aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_sIP_User_Data_AVP_Code), sIP_User_Data_Type := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_sIP_User_Data_Type_AVP_Code, ?, c_vendId3gpp), aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_sIP_User_Data_Type_AVP_Code), aVP_Data := ? }, sIP_User_Data_Contents := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_sIP_User_Data_Contents_AVP_Code, ?, c_vendId3gpp), aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_sIP_User_Data_Contents_AVP_Code), aVP_Data := ? }, aVP_Type := * Loading @@ -3240,7 +3253,7 @@ module LibDiameter_Templates { template Framed_IP_Address_AVP mw_framed_IP_Address_dummy := { // Ref: RFC4005 6.11.1 Framed_IP_Address AVP aVP_Header := mw_aVP_HeaderVid_Mbit1(c_framed_IP_Address_AVP_Code, ?, c_vendId3gpp), aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_framed_IP_Address_AVP_Code), aVP_Data := ? } Loading Loading @@ -3338,6 +3351,37 @@ module LibDiameter_Templates { } // End of f_addPaddedBytes2Length /** @desc Converts DiameterURI to UTF8String */ function f_DiameterURI_2_UTF8String(in template DiameterURI p_diameterURI) return UTF8String { var UTF8String v_utf8String; var template charstring v_scheme, v_diameterId_FQDN, v_transport, v_protocol; var template integer v_portField; v_scheme := p_diameterURI.scheme; v_diameterId_FQDN := p_diameterURI.diameterId_FQDN; if (ispresent(p_diameterURI.portField)) { v_portField := p_diameterURI.portField; } if (ispresent(p_diameterURI.transport)) { v_transport := p_diameterURI.transport; } if (ispresent(p_diameterURI.protocol)) { v_protocol := p_diameterURI.protocol; } //FIXME add also cases if portField, transport and protocol are present v_utf8String := v_scheme & "://" & v_diameterId_FQDN; return v_utf8String; } // End of f_addPaddedBytes2Length }//end group FunctionsForTemplates }//end module LibDiameter_Templates No newline at end of file ttcn/LibDiameter_TypesAndValues.ttcn +1 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ group BasicTypesAndConstants{ } // End of group ApplicationIdConstants group SMINetworkManagementPrivateEnterpriseCodes_VendorIDAVP { const UInt32 c_vendId3gpp := 10415; //Vendor idFor 3GPP const UInt32 c_vendIdETSI := 13019; //Vendor idFor ETSI } // End of group SMINetworkManagementPrivateEnterpriseCodes_VendorIDAVP group AVPCodeConstants { group AVPCodeConstantsRFC3855{ Loading ttcn/LibDiameter_Types_Base_AVPs.ttcn +216 −200 File changed.Preview size limit exceeded, changes collapsed. Show changes ttcn/LibDiameter_Types_CxDx_AVPs.ttcn +11 −0 Original line number Diff line number Diff line Loading @@ -467,6 +467,17 @@ module LibDiameter_Types_CxDx_AVPs { set of AVP_Type aVP_Type optional } type record SIP_Authenticate_3GPP_AVP{ // Ref: 129 229 6.3.10. SIP-Authenticate AVP AVP_Header aVP_Header,//<AVP header: 609 ....> octetstring aVP_Data } type record SIP_Authorization_3GPP_AVP{ // Ref: 129 229 6.3.11. SIP-Authorization AVP AVP_Header aVP_Header,//SIP-Authorization ::= < AVP Header: 610 > octetstring aVP_Data } type record Identity_with_Emergency_Registration_AVP{ //Ref: ETSI TS 129 229 6.3.57 Identity_with_Emergency_Registration AVP AVP_Header aVP_Header,//SIP-Deregistration-Reason ::= < AVP Header: 651 > Loading Loading
ttcn/LibDiameter_Interface.ttcn +1 −1 Original line number Diff line number Diff line Loading @@ -83,7 +83,7 @@ module LibDiameter_Interface //general timers timer tc_wait := PX_DIAMETER_TWAIT; timer tc_delay := 1.0; // delay next Request timer tc_delay := 0.3; // delay next Request // variables for storing default references var default vc_default_diameter; Loading
ttcn/LibDiameter_Templates.ttcn +79 −35 Original line number Diff line number Diff line Loading @@ -499,14 +499,17 @@ module LibDiameter_Templates { template SIP_AOR_AVP m_sIP_AOR_dummy := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_AOR_AVP_Code, 18, omit), aVP_Data := { aVP_Data := f_DiameterURI_2_UTF8String(m_diameterURI_dummy) } template (value) DiameterURI m_diameterURI_dummy := { scheme := "aaa", diameterId_FQDN := "www.etsi.org", portField := omit, transport := omit, protocol := omit } } template SIP_Visited_Network_Id_AVP m_sIP_Visited_Network_Id_dummy := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Visited_Network_Id_AVP_Code, 6, omit), Loading Loading @@ -874,34 +877,44 @@ module LibDiameter_Templates { // TODO How to pass RAND + AUX } template Digest_Username_AVP m_digestUsername(template (value) UTF8String p_text) := { Type := c_digest_Username_AVP_Code, Length := f_getUTF8StringLength(valueof(p_text)), Text := p_text template Digest_Username_AVP m_digestUsername(template (value) UTF8String p_avpData) := { aVP_Header := m_aVP_Header_Mbit1(c_digest_Username_AVP_Code, f_getUTF8StringLength(valueof(p_avpData))), aVP_Data := p_avpData // Type := c_digest_Username_AVP_Code, // Length := f_getUTF8StringLength(valueof(p_text)), // Text := p_text } template Digest_Realm_AVP m_digestRealm(template (value) UTF8String p_text) := { Type := c_digest_Realm_AVP_Code, Length := f_getUTF8StringLength(valueof(p_text)), Text := p_text template Digest_Realm_AVP m_digestRealm(template (value) UTF8String p_avpData) := { aVP_Header := m_aVP_Header_Mbit1(c_digest_Realm_AVP_Code, f_getUTF8StringLength(valueof(p_avpData))), aVP_Data := p_avpData // Type := c_digest_Realm_AVP_Code, // Length := f_getUTF8StringLength(valueof(p_text)), // Text := p_text } template Digest_Nonce_AVP m_digestNonce(template (value) UTF8String p_text) := { Type := c_digest_Realm_AVP_Code, Length := f_getUTF8StringLength(valueof(p_text)), Text := p_text template Digest_Nonce_AVP m_digestNonce(template (value) UTF8String p_avpData) := { aVP_Header := m_aVP_Header_Mbit1(c_digest_Realm_AVP_Code, f_getUTF8StringLength(valueof(p_avpData))), aVP_Data := p_avpData // Type := c_digest_Realm_AVP_Code, // Length := f_getUTF8StringLength(valueof(p_text)), // Text := p_text } template Digest_URI_AVP m_digestUri(template (value) UTF8String p_text) := { Type := c_digest_URI_AVP_Code, Length := f_getUTF8StringLength(valueof(p_text)), Text := p_text template Digest_URI_AVP m_digestUri(template (value) UTF8String p_avpData) := { aVP_Header := m_aVP_Header_Mbit1(c_digest_URI_AVP_Code, f_getUTF8StringLength(valueof(p_avpData))), aVP_Data := p_avpData // Type := c_digest_URI_AVP_Code, // Length := f_getUTF8StringLength(valueof(p_text)), // Text := p_text } template Digest_Response_AVP m_digestResponse(template (value) UTF8String p_text) := { Type := c_digest_Response_AVP_Code, Length := f_getUTF8StringLength(valueof(p_text)), Text := p_text template Digest_Response_AVP m_digestResponse(template (value) UTF8String p_avpData) := { aVP_Header := m_aVP_Header_Mbit1(c_digest_Response_AVP_Code, f_getUTF8StringLength(valueof(p_avpData))), aVP_Data := p_avpData // Type := c_digest_Response_AVP_Code, // Length := f_getUTF8StringLength(valueof(p_text)), // Text := p_text } template User_Name_AVP mw_userName(template (present) UTF8String p_avpData) := { Loading Loading @@ -3128,12 +3141,12 @@ module LibDiameter_Templates { group modified_request_templates_receive { template User_Data_AVP mw_user_Data_dummy := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_user_Data_AVP_Code, ?, c_vendId3gpp), aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_user_Data_AVP_Code), aVP_Data := ? } template SIP_Auth_Data_Item_RFC_AVP mw_sIPAuthDataItem_dummy_RFC := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_sIP_Auth_Data_Item_AVP_Code_RFC, ?, c_vendId3gpp), aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_sIP_Auth_Data_Item_AVP_Code_RFC), sIP_Authentication_Scheme := mw_sIPAuthenticationScheme_digest_RFC, sIP_Item_Number := omit, sIP_Authenticate := omit, Loading @@ -3148,7 +3161,7 @@ module LibDiameter_Templates { template (present) SIP_Authenticate_AVP p_sIP_Authenticate := ?, template SIP_Authorization_AVP p_sIP_Authorization := omit ) modifies mw_sIPAuthDataItem_dummy_RFC := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_sIP_Auth_Data_Item_AVP_Code_RFC, ?, c_vendId3gpp), aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_sIP_Auth_Data_Item_AVP_Code_RFC), sIP_Authentication_Scheme := p_sIP_Authentication_Scheme, sIP_Item_Number := p_sIP_Item_Number, sIP_Authenticate := p_sIP_Authenticate, Loading @@ -3169,7 +3182,7 @@ module LibDiameter_Templates { } } template SIP_Number_Auth_Items_AVP mw_sIPNumberAuthItems (template (present) UInt32 p_avpData := ?) := { template SIP_Number_Auth_Items_AVP mw_sIPNumberAuthItems_RFC (template (present) UInt32 p_avpData := ?) := { aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_sIP_Number_Auth_Items_AVP_Code_RFC), aVP_Data := p_avpData } Loading Loading @@ -3226,13 +3239,13 @@ module LibDiameter_Templates { template SIP_User_Data_AVP mw_sIP_User_Data_dummy := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_sIP_User_Data_AVP_Code, ?, c_vendId3gpp), aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_sIP_User_Data_AVP_Code), sIP_User_Data_Type := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_sIP_User_Data_Type_AVP_Code, ?, c_vendId3gpp), aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_sIP_User_Data_Type_AVP_Code), aVP_Data := ? }, sIP_User_Data_Contents := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_sIP_User_Data_Contents_AVP_Code, ?, c_vendId3gpp), aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_sIP_User_Data_Contents_AVP_Code), aVP_Data := ? }, aVP_Type := * Loading @@ -3240,7 +3253,7 @@ module LibDiameter_Templates { template Framed_IP_Address_AVP mw_framed_IP_Address_dummy := { // Ref: RFC4005 6.11.1 Framed_IP_Address AVP aVP_Header := mw_aVP_HeaderVid_Mbit1(c_framed_IP_Address_AVP_Code, ?, c_vendId3gpp), aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_framed_IP_Address_AVP_Code), aVP_Data := ? } Loading Loading @@ -3338,6 +3351,37 @@ module LibDiameter_Templates { } // End of f_addPaddedBytes2Length /** @desc Converts DiameterURI to UTF8String */ function f_DiameterURI_2_UTF8String(in template DiameterURI p_diameterURI) return UTF8String { var UTF8String v_utf8String; var template charstring v_scheme, v_diameterId_FQDN, v_transport, v_protocol; var template integer v_portField; v_scheme := p_diameterURI.scheme; v_diameterId_FQDN := p_diameterURI.diameterId_FQDN; if (ispresent(p_diameterURI.portField)) { v_portField := p_diameterURI.portField; } if (ispresent(p_diameterURI.transport)) { v_transport := p_diameterURI.transport; } if (ispresent(p_diameterURI.protocol)) { v_protocol := p_diameterURI.protocol; } //FIXME add also cases if portField, transport and protocol are present v_utf8String := v_scheme & "://" & v_diameterId_FQDN; return v_utf8String; } // End of f_addPaddedBytes2Length }//end group FunctionsForTemplates }//end module LibDiameter_Templates No newline at end of file
ttcn/LibDiameter_TypesAndValues.ttcn +1 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ group BasicTypesAndConstants{ } // End of group ApplicationIdConstants group SMINetworkManagementPrivateEnterpriseCodes_VendorIDAVP { const UInt32 c_vendId3gpp := 10415; //Vendor idFor 3GPP const UInt32 c_vendIdETSI := 13019; //Vendor idFor ETSI } // End of group SMINetworkManagementPrivateEnterpriseCodes_VendorIDAVP group AVPCodeConstants { group AVPCodeConstantsRFC3855{ Loading
ttcn/LibDiameter_Types_Base_AVPs.ttcn +216 −200 File changed.Preview size limit exceeded, changes collapsed. Show changes
ttcn/LibDiameter_Types_CxDx_AVPs.ttcn +11 −0 Original line number Diff line number Diff line Loading @@ -467,6 +467,17 @@ module LibDiameter_Types_CxDx_AVPs { set of AVP_Type aVP_Type optional } type record SIP_Authenticate_3GPP_AVP{ // Ref: 129 229 6.3.10. SIP-Authenticate AVP AVP_Header aVP_Header,//<AVP header: 609 ....> octetstring aVP_Data } type record SIP_Authorization_3GPP_AVP{ // Ref: 129 229 6.3.11. SIP-Authorization AVP AVP_Header aVP_Header,//SIP-Authorization ::= < AVP Header: 610 > octetstring aVP_Data } type record Identity_with_Emergency_Registration_AVP{ //Ref: ETSI TS 129 229 6.3.57 Identity_with_Emergency_Registration AVP AVP_Header aVP_Header,//SIP-Deregistration-Reason ::= < AVP Header: 651 > Loading