325 lines
10 KiB
Plaintext
325 lines
10 KiB
Plaintext
///////////////////////////////////////////////////////////////////////////////
|
|
// //
|
|
// 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
|
|
|
|
|