| /////////////////////////////////////////////////////////////////////////////// |
| // // |
| // Copyright Test Competence Center (TCC) ETH 2006 // |
| // // |
| // The copyright to the computer program(s) herein is the property of TCC. // |
| // The program(s) may be used and/or copied only with the written permission // |
| // of TCC or in accordance with the terms and conditions stipulated in the // |
| // agreement/contract under which the program(s) have been supplied // |
| // // |
| /////////////////////////////////////////////////////////////////////////////// |
| // |
| // File: MTP3asp_Types.ttcn |
| // Description: CCSS7 Message Transfer Part primitive (ASP) definitions |
| // according to specification ITU-T SS7 MTP3, |
| // Reference: ITU-T Recommendation Q.704, RFC3332, ANSI T.1.111.1-2001, TCC |
| // Rev: R11A01 |
| // Prodnr: CNL 113 337 |
| // Updated: 2007-09-17 |
| // Contact: http://ttcn.ericsson.se |
| // |
| module MTP3asp_Types.objid |
| { |
| itu_t(0) identified_organization (4) etsi(0) reserved(127) |
| etsi_identified_organization(0) ericsson(5) testing (0) |
| generic(0) mtp3(0) v96(3) aspDefinitions(3) patchNo(0) |
| } |
| |
| {//start of the module |
| |
| // ************************************************************************* |
| // External encoding/decoding functions |
| // ************************************************************************* |
| |
| external function enc_MTP3_to_M3UAserver_msg (in MTP3_to_M3UAserver_msg pdu) |
| return octetstring |
| with { extension "prototype(convert)" |
| extension "encode(RAW)" |
| }; |
| |
| external function dec_MTP3_to_M3UAserver_msg(in octetstring stream) |
| return MTP3_to_M3UAserver_msg |
| with { extension "prototype(convert)" |
| extension "decode(RAW)" |
| }; |
| |
| |
| // ************************************************************************* |
| // * Type Definitions Part * |
| // ************************************************************************* |
| group Types |
| { |
| group MessageTypes |
| { |
| group ASPs |
| { |
| //*********************************************************************** |
| //* ASP type definitions * |
| //* Note, that ASP types shall be TTCN-3 definitions to allow * |
| //* the use of anytype in the data field * |
| //*********************************************************************** |
| |
| type record MTP3_Field_sio |
| { |
| bitstring ni length(2), |
| bitstring prio length(2), |
| bitstring si length(4) |
| } with { variant "FIELDORDER(msb)"; |
| }; |
| |
| type record ASP_MTP3_TRANSFERind |
| { |
| MTP3_Field_sio sio, |
| integer opc, |
| integer dpc, |
| integer sls, |
| octetstring data |
| } with { variant (opc) "BYTEORDER(last), FIELDLENGTH(32)"; |
| variant (dpc) "BYTEORDER(last), FIELDLENGTH(32)"; |
| variant (sls) "FIELDLENGTH(8)" |
| }; |
| |
| type record ASP_MTP3_PAUSE {}; |
| |
| type record ASP_MTP3_RESUME {}; |
| |
| type record ASP_MTP3_STATUS {}; |
| |
| type record ASP_MTP3_TRANSFERreq |
| { |
| MTP3_Field_sio sio, |
| integer opc, |
| integer dpc, |
| integer sls, |
| octetstring data |
| } with { variant (opc) "BYTEORDER(last), FIELDLENGTH(32)"; |
| variant (dpc) "BYTEORDER(last), FIELDLENGTH(32)"; |
| variant (sls) "FIELDLENGTH(8)" |
| }; |
| }//end group ASPs |
| |
| //*********************************************************************** |
| //* Type definition of the message which is sent between MTP3 test port * |
| //* and SCTP server over TCP. * |
| //*********************************************************************** |
| group MTP3_SCTPserver |
| { |
| type record ASP_REGISTER_M3UA |
| { |
| integer ni (0..3), |
| integer sut_pc, |
| integer tester_pc, |
| integer m3ua_version, |
| charstring entity |
| } with { variant (ni) "FIELDLENGTH(8)"; |
| variant (sut_pc) "BYTEORDER(last), FIELDLENGTH(32)"; |
| variant (tester_pc) "BYTEORDER(last), FIELDLENGTH(32)"; |
| variant (m3ua_version) "FIELDLENGTH(8)" |
| }; |
| |
| |
| // Possible values: |
| // MTP3_to_SCTPserver_data/status: |
| const integer reg_ok_status := 0; |
| const integer reg_error_status := 1; |
| const integer unreg_ok_status := 2; |
| const integer unreg_error_status := 3; |
| |
| const integer send_error_status := 5; |
| const integer kill_status := 255; |
| |
| // MTP3_to_SCTPserver_data/pause: |
| const integer SCTP_COMLOST_pause := 0; |
| const integer M3UA_ASPDN_pause := 1; |
| const integer M3UA_ASPIA_pause := 2; |
| |
| // MTP3_to_SCTPserver_data/resume: |
| const integer ok_resume := 0; |
| |
| type union MTP3_to_SCTPserver_data |
| { |
| ASP_MTP3_TRANSFERind transfer_ind, |
| ASP_MTP3_TRANSFERreq transfer_req, |
| ASP_REGISTER_M3UA register, |
| integer unregister (0..255), |
| integer status (0..255), |
| integer pause (0..255), |
| integer resume (0..255) |
| } |
| |
| // MTP3_to_M3UAserver_msg/msgType: |
| const integer transfer_ind_msgType := 0; |
| const integer transfer_req_msgType := 1; |
| const integer register_msgType := 2; |
| const integer unregister_msgType := 3; |
| const integer status_msgType := 4; |
| const integer pause_msgType := 5; |
| const integer resume_msgType := 6; |
| |
| type record MTP3_to_M3UAserver_msg |
| { |
| integer msgType (0..255), |
| integer msgLength, |
| MTP3_to_SCTPserver_data data |
| } with { variant (data) "CROSSTAG( |
| transfer_ind, msgType = transfer_ind_msgType; |
| transfer_req, msgType = transfer_req_msgType; |
| register, msgType = register_msgType; |
| unregister, msgType = unregister_msgType; |
| status, msgType = status_msgType; |
| pause, msgType = pause_msgType; |
| resume, msgType = resume_msgType )"; |
| variant (msgLength) "FIELDLENGTH(32)"; |
| variant (msgLength) "LENGTHTO(msgType,msgLength,data)"; |
| variant (msgLength) "BYTEORDER(last)" |
| }; |
| }//end group MTP3_SCTPserver |
| }//end group Messagetypes |
| } with {encode "RAW"}//Types |
| |
| group Templates |
| { |
| group MessageTemplates |
| { |
| group ASPtemplates |
| { |
| // ******************************************************************* |
| // * ASP template definitions * |
| // ******************************************************************* |
| |
| // Base templates |
| // These general templates can be used as an example or as a base |
| // template for other templates. |
| template ASP_MTP3_TRANSFERind t_ASP_MTP3_TRANSFERind |
| ( |
| template MTP3_Field_sio pl_SIO, |
| template integer pl_OPC, |
| template integer pl_DPC, |
| template integer pl_SLS, |
| template octetstring pl_data |
| ):= |
| { |
| sio := pl_SIO, |
| opc := pl_OPC, |
| dpc := pl_DPC, |
| sls := pl_SLS, |
| data := pl_data |
| } |
| |
| template ASP_MTP3_TRANSFERind tr_ASP_MTP3_TRANSFERind_sio |
| ( |
| template bitstring pl_NI, |
| template bitstring pl_PRIO, |
| template bitstring pl_SI, |
| template integer pl_OPC, |
| template integer pl_DPC, |
| template integer pl_SLS, |
| template octetstring pl_data |
| ):= |
| { |
| sio := |
| { |
| ni := pl_NI, |
| prio := pl_PRIO, |
| si := pl_SI |
| }, |
| opc := pl_OPC, |
| dpc := pl_DPC, |
| sls := pl_SLS, |
| data := pl_data |
| } |
| |
| template ASP_MTP3_TRANSFERind tr_ASP_MTP3_TRANSFERind := |
| { |
| sio := ?, |
| opc := ?, |
| dpc := ?, |
| sls := ?, |
| data := ? |
| } |
| |
| template ASP_MTP3_TRANSFERreq t_ASP_MTP3_TRANSFERreq |
| ( |
| MTP3_Field_sio pl_SIO, |
| integer pl_OPC, |
| integer pl_DPC, |
| integer pl_SLS, |
| octetstring pl_data |
| ):= |
| { |
| sio := pl_SIO, |
| opc := pl_OPC, |
| dpc := pl_DPC, |
| sls := pl_SLS, |
| data := pl_data |
| } |
| |
| template ASP_MTP3_TRANSFERreq tr_ASP_MTP3_TRANSFERreq_sio |
| ( |
| template bitstring pl_NI, |
| template bitstring pl_PRIO, |
| template bitstring pl_SI, |
| template integer pl_OPC, |
| template integer pl_DPC, |
| template integer pl_SLS, |
| template octetstring pl_data |
| ):= |
| { |
| sio := |
| { |
| ni := pl_NI, |
| prio := pl_PRIO, |
| si := pl_SI |
| }, |
| opc := pl_OPC, |
| dpc := pl_DPC, |
| sls := pl_SLS, |
| data := pl_data |
| } |
| |
| template ASP_MTP3_TRANSFERreq tr_ASP_MTP3_TRANSFERreq := |
| { |
| sio := ?, |
| opc := ?, |
| dpc := ?, |
| sls := ?, |
| data := ? |
| } |
| |
| template ASP_MTP3_TRANSFERind tr_ASP_MTP3_TRANSFERind_stc := |
| { |
| sio := |
| { |
| ni := '00'B, |
| prio := '00'B, |
| si := '0000'B |
| }, |
| opc := 0, |
| dpc := 0, |
| sls := 0, |
| data := ? |
| } |
| |
| template ASP_MTP3_TRANSFERreq t_ASP_MTP3_TRANSFERreq_stc |
| ( template octetstring pl_data ):= |
| { |
| sio := |
| { |
| ni := '00'B, |
| prio := '00'B, |
| si := '0000'B |
| }, |
| opc := 0, |
| dpc := 0, |
| sls := 0, |
| data := pl_data |
| } |
| |
| }//end group ASPtemplates |
| }//end group Messagetemplates |
| }//end group Templates |
| |
| }//end module |
| |
| |