Loading ttcn/AtsImsIot/AtsImsIot_Templates.ttcn +17 −5 Original line number Original line Diff line number Diff line Loading @@ -118,17 +118,29 @@ module AtsImsIot_Templates { template NAPTRmessage mw_EnumQuery_Base := { template NAPTRmessage mw_EnumQuery_Base := { enumMessage := { enumMessage := { query := { query := { e164TelNumber := ? enumQuestion_list := ? length (1 .. infinity) } } } } } } template NAPTRmessage mw_EnumResponse_Base := { template NAPTRmessage mw_EnumResponse_Base := { enumMessage := { enumMessage := { response := { response := { ttl := ?, header:=?, enumQuestion_list := ?, enumAnswer_list := { { e164TelNumber := ?, naptrType := 35, naptrType := 35, sipUri := ?, class_ := ?, naptrRegexp := ? ttl := ?, rd_length := ?, naptrRR := ? },//TODO:this might not be the first item * }, authority_list := ?, additional_list := ? } } } } } } Loading ttcn/AtsImsIot/AtsImsIot_TypesAndValues.ttcn +197 −99 Original line number Original line Diff line number Diff line Loading @@ -13,6 +13,7 @@ module AtsImsIot_TypesAndValues { SEND_request, SEND_request, RECEIVE_response RECEIVE_response }; }; import from LibCommon_DataStrings {type Bit1, Bit3}; group SIPmessageTypes { group SIPmessageTypes { /** /** Loading @@ -22,6 +23,7 @@ module AtsImsIot_TypesAndValues { * @member msrpRequest MSRP SEND/AUTH request messages * @member msrpRequest MSRP SEND/AUTH request messages * @member msrpResponse MSRP response message * @member msrpResponse MSRP response message */ */ type union SipMessage { type union SipMessage { Request request, Request request, Response response, Response response, Loading Loading @@ -57,44 +59,140 @@ module AtsImsIot_TypesAndValues { DnsResponse response DnsResponse response } } /** /** * @desc ENUM Message Type * @member request ENUM query * @member response ENUM response */ type union EnumMessage { EnumQuery query, EnumResponse response } /** * @desc DnsQuery Message Type * @desc DnsQuery Message Type */ */ type record DnsQuery { type record DnsQuery { DnsHeader header, DnsQuestionList question_list optional, DnsAnswerList answer_list optional, DnsAuthorityList authority_list optional, DnsAdditionalList additional_list optional } with { encode "NAPTRCodec"} } with { encode "NAPTRCodec"} /** /** * @desc DnsResponse Message Type * @desc DnsResponse Message Type */ */ type record DnsResponse { type record DnsResponse { RessourceRecord ressourceRecord DnsHeader header, DnsQuestionList question_list optional, DnsAnswerList answer_list optional, DnsAuthorityList authority_list optional, DnsAdditionalList additional_list optional } with { encode "NAPTRCodec"} } with { encode "NAPTRCodec"} type record DnsHeader { UInt16 id, Bit1 qR_flag, UInt4 opcode, Bit1 aA_flag, Bit1 tC_flag, Bit1 rD_flag, Bit1 rA_flag, Bit3 z_field, UInt4 rCODE, UInt16 qDCOUNT, UInt16 aNCOUNT, UInt16 nSCOUNT, UInt16 aRCOUNT } with { encode "NAPTRCodec"} type charstring DnsDomainName;//NB! DNS pointers are handled codec type record DnsQuestion { DnsDomainName qNAME, UInt16 qTYPE, UInt16 qCLASS } with { encode "NAPTRCodec"} type record of DnsQuestion DnsQuestionList; type record of DnsResourceRecord DnsAnswerList; type record of DnsResourceRecord DnsAuthorityList; type record of DnsResourceRecord DnsAdditionalList; type record DnsResourceRecord { DnsDomainName domainName, Int16 type_, Int16 class_, UInt32 ttl, UInt16 rd_length, DnsRDATA r_data } with { encode "NAPTRCodec"} type octetstring DnsRDATA; /** * @desc ENUM Message Type * @member request ENUM query * @member response ENUM response */ type union EnumMessage { EnumQuery query, EnumResponse response } /** /** * @desc EnumQuery Message Type * @desc EnumQuery Message Type */ */ type record EnumQuery { type record EnumQuery { TN e164TelNumber DnsHeader header, EnumQuestionList enumQuestion_list optional, EnumAnswerList enumResponse_list optional, DnsAuthorityList authority_list optional, DnsAdditionalList additional_list optional } with { encode "NAPTRCodec"} } with { encode "NAPTRCodec"} type record EnumResponse { DnsHeader header, EnumQuestionList enumQuestion_list optional, EnumAnswerList enumAnswer_list optional, DnsAuthorityList authority_list optional, DnsAdditionalList additional_list optional } with { encode "NAPTRCodec"} type record EnumQuestion { E164TN e164TelNumber, UInt16 qTYPE, //35 UInt16 qCLASS // }with { encode "NAPTRCodec"} type record of EnumQuestion EnumQuestionList; type record of EnumAnswer EnumAnswerList; /** /** * @desc EnumResponsee Message Type * @desc EnumAnswer Message Type */ */ type record EnumResponse { //FIXME To be checked with RFC type record EnumAnswer TTL ttl, { ServiceType naptrType, E164TN e164TelNumber, SipUrl sipUri, Int16 naptrType, Regexp naptrRegexp Int16 class_, UInt32 ttl, UInt16 rd_length, DnsNaptrRRData naptrRR } with { encode "NAPTRCodec"} } with { encode "NAPTRCodec"} type charstring TN; type DnsDomainName E164TN;//NB! DNS pointers not recommended, but possible type Int32 TTL; type UInt16 ServiceType; type charstring Regexp; type record DnsNaptrRRData type charstring RessourceRecord; { UInt16 naptrOrder, UInt16 naptrPreference, UInt8 flags_length, NaptrCharString naptrFlags, UInt8 service_length, NaptrCharString naptrService, UInt8 regex_length, NaptrCharString naptrRegex, UInt8 replacementLength, DnsDomainName naptrReplacement } with { encode "NAPTRCodec"} type charstring NaptrCharString; } } }//end module }//end module Loading
ttcn/AtsImsIot/AtsImsIot_Templates.ttcn +17 −5 Original line number Original line Diff line number Diff line Loading @@ -118,17 +118,29 @@ module AtsImsIot_Templates { template NAPTRmessage mw_EnumQuery_Base := { template NAPTRmessage mw_EnumQuery_Base := { enumMessage := { enumMessage := { query := { query := { e164TelNumber := ? enumQuestion_list := ? length (1 .. infinity) } } } } } } template NAPTRmessage mw_EnumResponse_Base := { template NAPTRmessage mw_EnumResponse_Base := { enumMessage := { enumMessage := { response := { response := { ttl := ?, header:=?, enumQuestion_list := ?, enumAnswer_list := { { e164TelNumber := ?, naptrType := 35, naptrType := 35, sipUri := ?, class_ := ?, naptrRegexp := ? ttl := ?, rd_length := ?, naptrRR := ? },//TODO:this might not be the first item * }, authority_list := ?, additional_list := ? } } } } } } Loading
ttcn/AtsImsIot/AtsImsIot_TypesAndValues.ttcn +197 −99 Original line number Original line Diff line number Diff line Loading @@ -13,6 +13,7 @@ module AtsImsIot_TypesAndValues { SEND_request, SEND_request, RECEIVE_response RECEIVE_response }; }; import from LibCommon_DataStrings {type Bit1, Bit3}; group SIPmessageTypes { group SIPmessageTypes { /** /** Loading @@ -22,6 +23,7 @@ module AtsImsIot_TypesAndValues { * @member msrpRequest MSRP SEND/AUTH request messages * @member msrpRequest MSRP SEND/AUTH request messages * @member msrpResponse MSRP response message * @member msrpResponse MSRP response message */ */ type union SipMessage { type union SipMessage { Request request, Request request, Response response, Response response, Loading Loading @@ -57,44 +59,140 @@ module AtsImsIot_TypesAndValues { DnsResponse response DnsResponse response } } /** /** * @desc ENUM Message Type * @member request ENUM query * @member response ENUM response */ type union EnumMessage { EnumQuery query, EnumResponse response } /** * @desc DnsQuery Message Type * @desc DnsQuery Message Type */ */ type record DnsQuery { type record DnsQuery { DnsHeader header, DnsQuestionList question_list optional, DnsAnswerList answer_list optional, DnsAuthorityList authority_list optional, DnsAdditionalList additional_list optional } with { encode "NAPTRCodec"} } with { encode "NAPTRCodec"} /** /** * @desc DnsResponse Message Type * @desc DnsResponse Message Type */ */ type record DnsResponse { type record DnsResponse { RessourceRecord ressourceRecord DnsHeader header, DnsQuestionList question_list optional, DnsAnswerList answer_list optional, DnsAuthorityList authority_list optional, DnsAdditionalList additional_list optional } with { encode "NAPTRCodec"} } with { encode "NAPTRCodec"} type record DnsHeader { UInt16 id, Bit1 qR_flag, UInt4 opcode, Bit1 aA_flag, Bit1 tC_flag, Bit1 rD_flag, Bit1 rA_flag, Bit3 z_field, UInt4 rCODE, UInt16 qDCOUNT, UInt16 aNCOUNT, UInt16 nSCOUNT, UInt16 aRCOUNT } with { encode "NAPTRCodec"} type charstring DnsDomainName;//NB! DNS pointers are handled codec type record DnsQuestion { DnsDomainName qNAME, UInt16 qTYPE, UInt16 qCLASS } with { encode "NAPTRCodec"} type record of DnsQuestion DnsQuestionList; type record of DnsResourceRecord DnsAnswerList; type record of DnsResourceRecord DnsAuthorityList; type record of DnsResourceRecord DnsAdditionalList; type record DnsResourceRecord { DnsDomainName domainName, Int16 type_, Int16 class_, UInt32 ttl, UInt16 rd_length, DnsRDATA r_data } with { encode "NAPTRCodec"} type octetstring DnsRDATA; /** * @desc ENUM Message Type * @member request ENUM query * @member response ENUM response */ type union EnumMessage { EnumQuery query, EnumResponse response } /** /** * @desc EnumQuery Message Type * @desc EnumQuery Message Type */ */ type record EnumQuery { type record EnumQuery { TN e164TelNumber DnsHeader header, EnumQuestionList enumQuestion_list optional, EnumAnswerList enumResponse_list optional, DnsAuthorityList authority_list optional, DnsAdditionalList additional_list optional } with { encode "NAPTRCodec"} } with { encode "NAPTRCodec"} type record EnumResponse { DnsHeader header, EnumQuestionList enumQuestion_list optional, EnumAnswerList enumAnswer_list optional, DnsAuthorityList authority_list optional, DnsAdditionalList additional_list optional } with { encode "NAPTRCodec"} type record EnumQuestion { E164TN e164TelNumber, UInt16 qTYPE, //35 UInt16 qCLASS // }with { encode "NAPTRCodec"} type record of EnumQuestion EnumQuestionList; type record of EnumAnswer EnumAnswerList; /** /** * @desc EnumResponsee Message Type * @desc EnumAnswer Message Type */ */ type record EnumResponse { //FIXME To be checked with RFC type record EnumAnswer TTL ttl, { ServiceType naptrType, E164TN e164TelNumber, SipUrl sipUri, Int16 naptrType, Regexp naptrRegexp Int16 class_, UInt32 ttl, UInt16 rd_length, DnsNaptrRRData naptrRR } with { encode "NAPTRCodec"} } with { encode "NAPTRCodec"} type charstring TN; type DnsDomainName E164TN;//NB! DNS pointers not recommended, but possible type Int32 TTL; type UInt16 ServiceType; type charstring Regexp; type record DnsNaptrRRData type charstring RessourceRecord; { UInt16 naptrOrder, UInt16 naptrPreference, UInt8 flags_length, NaptrCharString naptrFlags, UInt8 service_length, NaptrCharString naptrService, UInt8 regex_length, NaptrCharString naptrRegex, UInt8 replacementLength, DnsDomainName naptrReplacement } with { encode "NAPTRCodec"} type charstring NaptrCharString; } } }//end module }//end module