blob: 68c885eb2c2e03421f39f2658647fdc7851fd682 [file] [log] [blame]
///////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2000-2019 Ericsson Telecom AB
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v2.0
// which accompanies this distribution, and is available at
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
///////////////////////////////////////////////////////////////////////////////
//
// File: V5_Test.ttcn
// Description:
// Rev: <RnXnn>
// Prodnr: CNL 113 813
// Updated: 2015-01-28
// Contact: http://ttcn.ericsson.se
//
//
module V5_Test {
import from V5_Types all;
type component MAIN_CT {}
testcase tc_PSTN_ESTABLISH() runs on MAIN_CT {
var PSTN_Message vl_pstn_establish := {
protDiscr := '01001000'B,
pstnL3Addr := {
'0001111'B,
'1'B,
'00001111'B
},
msgTypeId := PSTN_ESTABLISH,
msgBody := {
pstnEstablish := {
lineInfo := {
identifier := lineInfo,
lineInfoParam := '0000'B
},
autoSignSeq := {
identifier := autoSignSeq,
seqType := '0001'B
},
cadencedRinging := {
identifier := cadencedRinging,
length_ := 1,
ext_0 := '1'B,
cadencedRingingType := '0111000'B
},
pulsedSign := {
identifier := pulsedSignal,
length_ := 3,
ext_0 := '1'B,
pulseType := 107,
ext_1 := '0'B,
supprIndicator := '11'B,
pulseDurationType := 16,
ext_2 := '1'B,
ackReqIndicator := '10'B,
nofPulses := 31
},
steadySign := {
identifier := steadySignal,
length_ := 1,
ext_0 := '1'B,
steadySignType := 29
}
}
}
}
var octetstring vl_stream;
ef_PSTN_enc(vl_pstn_establish, vl_stream);
var PSTN_Message vl_decoded;
ef_PSTN_dec(vl_stream, vl_decoded);
if(match(vl_pstn_establish, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_pstn_establish, vl_decoded));
setverdict(fail);
}
}
testcase tc_PSTN_ESTABLISH_ACK() runs on MAIN_CT {
var PSTN_Message vl_pstn_establish_ack := {
protDiscr := '01001000'B,
pstnL3Addr := {
'0001111'B,
'1'B,
'00001111'B
},
msgTypeId := PSTN_ESTABLISH_ACK,
msgBody := {
pstnEstablishAck := {
autoSignSeq := {
identifier := autoSignSeq,
seqType := '0011'B
},
pulsedSign := {
identifier := pulsedSignal,
length_ := 3,
ext_0 := '1'B,
pulseType := 107,
ext_1 := '0'B,
supprIndicator := '11'B,
pulseDurationType := 16,
ext_2 := '1'B,
ackReqIndicator := '10'B,
nofPulses := 31
},
steadySign := {
identifier := steadySignal,
length_ := 1,
ext_0 := '1'B,
steadySignType := 29
}
}
}
}
var octetstring vl_stream;
ef_PSTN_enc(vl_pstn_establish_ack, vl_stream);
var PSTN_Message vl_decoded;
ef_PSTN_dec(vl_stream, vl_decoded);
if(match(vl_pstn_establish_ack, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_pstn_establish_ack, vl_decoded));
setverdict(fail);
}
}
testcase tc_PSTN_SIGNAL() runs on MAIN_CT {
var PSTN_Message vl_pstnSignal := {
protDiscr := '01001000'B,
pstnL3Addr := {
'0001111'B,
'1'B,
'00001111'B
},
msgTypeId := PSTN_SIGNAL,
msgBody := {
pstnSignal := {
seqNum := {
identifier := seqNum,
length_ := 1,
ext_0 := '1'B,
seqNum := 12
},
pulseNotif := {
identifier := pulseNotif
},
autoSignSeq := {
identifier := autoSignSeq,
seqType := '0011'B
},
seqResp := {
identifier := seqResp,
seqRespType := '0100'B
},
cadancedRinging := {
identifier := cadencedRinging,
length_ := 1,
ext_0 := '1'B,
cadencedRingingType := '0000111'B
},
pulsedSign := {
identifier := pulsedSignal,
length_ := 3,
ext_0 := '1'B,
pulseType := 107,
ext_1 := '0'B,
supprIndicator := '11'B,
pulseDurationType := 12,
ext_2 := '1'B,
ackReqIndicator := '01'B,
nofPulses := 1
},
steadySign := {
identifier := steadySignal,
length_ := 1,
ext_0 := '1'B,
steadySignType := 23
},
digitSign := {
identifier := digitSignal,
length_ := 1,
ext_0 := '1'B,
digitAckReqInd := '1'B,
spare := '00'B,
digitInformation := 15
},
resourceUnavail := {
identifier := resourceUnavail,
length_ := 3,
infoElement := {
digitSignal := {
identifier := digitSignal,
length_ := 1,
ext_0 := '1'B,
digitAckReqInd := '1'B,
spare := '00'B,
digitInformation := 15
}
}
},
enableMetering := {
identifier := enableMetering,
length_ := 5,
ext_0 := '0'B,
pulseType := 127,
ext_1 := '0'B,
rateType := 44,
ext_2 := '0'B,
reportPulseCount := 33,
ext_3 := '1'B,
repIndicator := '01'B,
reportPulseCount_low := 3,
ext_4 := '1'B,
supprIndicator := '00'B,
pulseDurationType := 9
},
meteringReport := {
identifier := meteringReport,
length_ := 3,
ext_0 := '0'B,
pulseCount_0 := 3,
ext_1 := '0'B,
reportType := '1'B,
pulseCount_1 := 5,
ext_2 := '1'B,
failureReason := 0
},
attenuation := {
identifier := attenuation,
length_ := 1,
ext_0 := '1'B,
attenValue := 33
}
}
}
}
var octetstring vl_stream;
ef_PSTN_enc(vl_pstnSignal, vl_stream);
var PSTN_Message vl_decoded;
ef_PSTN_dec(vl_stream, vl_decoded);
if(match(vl_pstnSignal, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_pstnSignal, vl_decoded));
setverdict(fail);
}
}
testcase tc_PSTN_SIGNAL_ACK() runs on MAIN_CT {
var PSTN_Message vl_pstnSignalAck := {
protDiscr := '01001000'B,
pstnL3Addr := {
'0001111'B,
'1'B,
'00001111'B
},
msgTypeId := PSTN_SIGNAL_ACK,
msgBody := {
pstnSignalAck := {
seqNum := {
identifier := seqNum,
length_ := 1,
ext_0 := '1'B,
seqNum := 12
}
}
}
}
var octetstring vl_stream;
ef_PSTN_enc(vl_pstnSignalAck, vl_stream);
var PSTN_Message vl_decoded;
ef_PSTN_dec(vl_stream, vl_decoded);
if(match(vl_pstnSignalAck, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_pstnSignalAck, vl_decoded));
setverdict(fail);
}
}
testcase tc_PSTN_STATUS() runs on MAIN_CT {
var PSTN_Message vl_pstnStatus := {
protDiscr := '01001000'B,
pstnL3Addr := {
'0001111'B,
'1'B,
'00001111'B
},
msgTypeId := PSTN_STATUS,
msgBody := {
pstnStatus := {
state := {
identifier := state,
pstnFsmState := '0011'B
},
cause := {
identifier := cause,
length_ := 3,
ext_0 := '1'B,
causeType := 13,
diagnostic := {
zero := '0'B,
msgTypeId := PSTN_SIGNAL_ACK,
infoElementId := state
}
}
}
}
}
var octetstring vl_stream;
ef_PSTN_enc(vl_pstnStatus, vl_stream);
var PSTN_Message vl_decoded;
ef_PSTN_dec(vl_stream, vl_decoded);
if(match(vl_pstnStatus, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_pstnStatus, vl_decoded));
setverdict(fail);
}
}
testcase tc_PSTN_STATUS_ENQUIRY() runs on MAIN_CT {
var PSTN_Message vl_pstnStatusEnquiry := {
protDiscr := '01001000'B,
pstnL3Addr := {
'0001111'B,
'1'B,
'00001111'B
},
msgTypeId := PSTN_STATUS_ENQUIRY,
msgBody := {
pstnStatusEnquiry := {}
}
}
var octetstring vl_stream;
ef_PSTN_enc(vl_pstnStatusEnquiry, vl_stream);
var PSTN_Message vl_decoded;
ef_PSTN_dec(vl_stream, vl_decoded);
if(match(vl_pstnStatusEnquiry, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_pstnStatusEnquiry, vl_decoded));
setverdict(fail);
}
}
testcase tc_PSTN_DISCONNECT() runs on MAIN_CT {
var PSTN_Message vl_pstnDisconnect := {
protDiscr := '01001000'B,
pstnL3Addr := {
'0001111'B,
'1'B,
'00001111'B
},
msgTypeId := PSTN_DISCONNECT,
msgBody := {
pstnDisconnect := {
steadySign := {
identifier := steadySignal,
length_ := 1,
ext_0 := '1'B,
steadySignType := 30
}
}
}
}
var octetstring vl_stream;
ef_PSTN_enc(vl_pstnDisconnect, vl_stream);
var PSTN_Message vl_decoded;
ef_PSTN_dec(vl_stream, vl_decoded);
if(match(vl_pstnDisconnect, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_pstnDisconnect, vl_decoded));
setverdict(fail);
}
}
testcase tc_PSTN_DISCONNECT_COMPLETE() runs on MAIN_CT {
var PSTN_Message vl_pstnDisconnectComplete := {
protDiscr := '01001000'B,
pstnL3Addr := {
'0001111'B,
'1'B,
'00001111'B
},
msgTypeId := PSTN_DISCONNECT_COMPLETE,
msgBody := {
pstnDisconnectComplete := {
steadySign := {
identifier := steadySignal,
length_ := 1,
ext_0 := '1'B,
steadySignType := 30
}
}
}
}
var octetstring vl_stream;
ef_PSTN_enc(vl_pstnDisconnectComplete, vl_stream);
var PSTN_Message vl_decoded;
ef_PSTN_dec(vl_stream, vl_decoded);
if(match(vl_pstnDisconnectComplete, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_pstnDisconnectComplete, vl_decoded));
setverdict(fail);
}
}
testcase tc_PSTN_PROTOCOL_PARAMETER() runs on MAIN_CT {
var PSTN_Message vl_pstnProtocolParameter := {
protDiscr := '01001000'B,
pstnL3Addr := {
'0001111'B,
'1'B,
'00001111'B
},
msgTypeId := PSTN_PROTOCOL_PARAMETER,
msgBody := {
pstnProtocolParameter := {
seqNum := {
identifier := seqNum,
length_ := 1,
ext_0 := '1'B,
seqNum := 12
},
recognTime := {
identifier := recognTime,
length_ := 2,
ext_0 := '1'B,
signal := 127,
ext_1 := '1'B,
spare := '0'B,
durationType := 3
},
enableAutoAck := {
identifier := enableAutoAck,
length_ := 4,
ext_0 := '1'B,
signal := 127,
ext_1 := '1'B,
response := 17,
pulsedExt := {
ext_0 := '0'B,
supprIndicator := '11'B,
pulseDurationType := '01101'B,
ext_1 := '1'B,
ackReqIndicator := '11'B,
nofPulses := 31
}
},
disableAutoAck := {
identifier := disableAutoAck,
length_ := 1,
ext_0 := '1'B,
signal := 29
}
}
}
}
var octetstring vl_stream;
ef_PSTN_enc(vl_pstnProtocolParameter, vl_stream);
log(oct2bit(vl_stream));
var PSTN_Message vl_decoded;
ef_PSTN_dec(vl_stream, vl_decoded);
if(match(vl_pstnProtocolParameter, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_pstnProtocolParameter, vl_decoded));
setverdict(fail);
}
}
testcase tc_CNTRL_PORT_CONTROL() runs on MAIN_CT {
var CNTRL_Message vl_cntrlPortControl := {
protDiscr := '01001000'B,
cntrlL3Addr := {
l3Addr_0 := '001110'B,
secondBitOf1stOctet := {
zerovalue := 0
},
pstnOrIsdn := '0'B,
l3Addr_1 := '00001110'B
},
msgTypeId := CNTRL_PORT_CONTROL,
msgBody := {
cntrlPortControl := {
cntrlFncElement := {
identifier := cntrlFncElement,
length_ := 1,
ext_0 := '1'B,
cntrlFncElement := 19
},
perfGrad := {
identifier := perfGrad,
perfGrad := 1
}
}
}
}
var octetstring vl_stream;
ef_CNTRL_enc(vl_cntrlPortControl, vl_stream);
var CNTRL_Message vl_decoded;
ef_CNTRL_dec(vl_stream, vl_decoded);
if(match(vl_cntrlPortControl, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_cntrlPortControl, vl_decoded));
setverdict(fail);
}
}
testcase tc_CNTRL_PORT_CONTROL_ACK() runs on MAIN_CT {
var CNTRL_Message vl_cntrlPortControlAck := {
protDiscr := '01001000'B,
cntrlL3Addr := {
l3Addr_0 := '001110'B,
secondBitOf1stOctet := {
zerovalue := 0
},
pstnOrIsdn := '0'B,
l3Addr_1 := '00001110'B
},
msgTypeId := CNTRL_PORT_CONTROL_ACK,
msgBody := {
cntrlPortControlAck := {
cntrlFncElement := {
identifier := cntrlFncElement,
length_ := 1,
ext_0 := '1'B,
cntrlFncElement := 19
}
}
}
}
var octetstring vl_stream;
ef_CNTRL_enc(vl_cntrlPortControlAck, vl_stream);
var CNTRL_Message vl_decoded;
ef_CNTRL_dec(vl_stream, vl_decoded);
if(match(vl_cntrlPortControlAck, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_cntrlPortControlAck, vl_decoded));
setverdict(fail);
}
}
testcase tc_CNTRL_COMMON_CONTROL() runs on MAIN_CT {
var CNTRL_Message vl_cntrlCommonControl := {
protDiscr := '01001000'B,
cntrlL3Addr := {
l3Addr_0 := '001110'B,
secondBitOf1stOctet := {
zerovalue := 0
},
pstnOrIsdn := '0'B,
l3Addr_1 := '00001110'B
},
msgTypeId := CNTRL_COMMON_CONTROL,
msgBody := {
cntrlCommonControl := {
cntrlFncId := {
identifier := cntrlFncId,
length_ := 1,
ext_0 := '1'B,
cntrlFncId := 17
},
variant_ := {
identifier := variant_,
length_ := 1,
ext_0 := '1'B,
variant_ := 120
},
rejCause := {
identifier := rejCause,
rejCause := 2
},
interfaceId := {
identifier := interfaceId,
length_ := 3,
interfaceId := 16777215
}
}
}
}
var octetstring vl_stream;
ef_CNTRL_enc(vl_cntrlCommonControl, vl_stream);
var CNTRL_Message vl_decoded;
ef_CNTRL_dec(vl_stream, vl_decoded);
if(match(vl_cntrlCommonControl, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_cntrlCommonControl, vl_decoded));
setverdict(fail);
}
}
testcase tc_CNTRL_COMMON_CONTROL_ACK() runs on MAIN_CT {
var CNTRL_Message vl_cntrlCommonControlAck := {
protDiscr := '01001000'B,
cntrlL3Addr := {
l3Addr_0 := '001110'B,
secondBitOf1stOctet := {
zerovalue := 0
},
pstnOrIsdn := '0'B,
l3Addr_1 := '00001110'B
},
msgTypeId := CNTRL_COMMON_CONTROL_ACK,
msgBody := {
cntrlCommonControlAck := {
cntrlFncId := {
identifier := cntrlFncId,
length_ := 1,
ext_0 := '1'B,
cntrlFncId := 17
}
}
}
}
var octetstring vl_stream;
ef_CNTRL_enc(vl_cntrlCommonControlAck, vl_stream);
var CNTRL_Message vl_decoded;
ef_CNTRL_dec(vl_stream, vl_decoded);
if(match(vl_cntrlCommonControlAck, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_cntrlCommonControlAck, vl_decoded));
setverdict(fail);
}
}
testcase tc_LINK_CONTROL() runs on MAIN_CT {
var LINKCNTRL_Message vl_linkControl := {
protDiscr := '01001000'B,
linkCntrlL3Addr := {
zero := '00000000'B,
l3AddrField := '00101011'B
},
msgTypeId := LINK_CONTROL,
msgBody := {
linkControl := {
cntrlFncId := {
identifier := linkCntrlFnc,
length_ := 1,
ext_0 := '1'B,
linkCntrlFnc := 5
}
}
}
}
var octetstring vl_stream;
ef_LINKCNTRL_enc(vl_linkControl, vl_stream);
var LINKCNTRL_Message vl_decoded;
ef_LINKCNTRL_dec(vl_stream, vl_decoded);
if(match(vl_linkControl, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_linkControl, vl_decoded));
setverdict(fail);
}
}
testcase tc_LINK_CONTROL_ACK() runs on MAIN_CT {
var LINKCNTRL_Message vl_linkControlAck := {
protDiscr := '01001000'B,
linkCntrlL3Addr := {
zero := '00000000'B,
l3AddrField := '00101011'B
},
msgTypeId := LINK_CONTROL_ACK,
msgBody := {
linkControlAck := {
cntrlFncId := {
identifier := linkCntrlFnc,
length_ := 1,
ext_0 := '1'B,
linkCntrlFnc := 5
}
}
}
}
var octetstring vl_stream;
ef_LINKCNTRL_enc(vl_linkControlAck, vl_stream);
var LINKCNTRL_Message vl_decoded;
ef_LINKCNTRL_dec(vl_stream, vl_decoded);
if(match(vl_linkControlAck, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_linkControlAck, vl_decoded));
setverdict(fail);
}
}
testcase tc_BCC_ALLOCATION() runs on MAIN_CT {
var BCC_Message vl_bccAlloc := {
protDiscr := '01001000'B,
bccRefNum := {
srcId := '0'B,
bccRefNumval_0 := '1001011'B,
zero := '00'B,
bccRefNumval_1 := '101010'B
},
msgTypeId := BCC_ALLOCATION,
msgBody := {
bccAlloc:= {
usrPortId := {
identifier := usrPortId,
length_ := 2,
usrPortIdVal := {
isdnUsrPortIdVal := {
usrPortIdVal_0 := '000011'B,
ext_0 := '00'B,
usrPortIdVal_1 := '0000101'B,
ext_1 := '1'B
}
}
},
isdnPortChannelId := {
identifier := isdnPortChannelId,
length_ := 1,
ext_0 := '100'B,
isdnPortChannelId := 31
},
v5TimeSlotId := {
identifier := v5TimeSlotId,
length_ := 2,
linkId := '01100110'B,
override_ := '111'B,
v5TimeSlotNumber := '01001'B
},
multiSlotMap := {
identifier := multiSlotMap,
length_ := 9,
linkId := '00110101'B,
v5ts1_31 := 2147483647,
ext_0 := '0'B,
upts1_31 := 2147483647,
ext_1 := '0'B
}
}
}
}
var octetstring vl_stream;
ef_BCC_enc(vl_bccAlloc, vl_stream);
var BCC_Message vl_decoded;
ef_BCC_dec(vl_stream, vl_decoded);
if(match(vl_bccAlloc, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_bccAlloc, vl_decoded));
setverdict(fail);
}
}
testcase tc_BCC_ALLOCATION_COMPLETE() runs on MAIN_CT {
var BCC_Message vl_bccAllocCompl := {
protDiscr := '01001000'B,
bccRefNum := {
srcId := '0'B,
bccRefNumval_0 := '1001011'B,
zero := '00'B,
bccRefNumval_1 := '101010'B
},
msgTypeId := BCC_ALLOCATION_COMPLETE,
msgBody := {
bccAllocCompl:= {
}
}
}
var octetstring vl_stream;
ef_BCC_enc(vl_bccAllocCompl, vl_stream);
var BCC_Message vl_decoded;
ef_BCC_dec(vl_stream, vl_decoded);
if(match(vl_bccAllocCompl, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_bccAllocCompl, vl_decoded));
setverdict(fail);
}
}
testcase tc_BCC_ALLOCATION_REJECT() runs on MAIN_CT {
var BCC_Message vl_bccAllocRej := {
protDiscr := '01001000'B,
bccRefNum := {
srcId := '0'B,
bccRefNumval_0 := '1001011'B,
zero := '00'B,
bccRefNumval_1 := '101010'B
},
msgTypeId := BCC_ALLOCATION_REJECT,
msgBody := {
bccAllocRej:= {
rejCause := {
identifier := rejCause,
length_ := 5,
ext_0 := '1'B,
rejCauseType := 16,
diagnostic := {
usrPortId := {
identifier := usrPortId,
length_ := 2,
usrPortIdVal := {
isdnUsrPortIdVal := {
usrPortIdVal_0 := '000011'B,
ext_0 := '00'B,
usrPortIdVal_1 := '0000111'B,
ext_1 := '1'B
}
}
}
}
}
}
}
}
var octetstring vl_stream;
ef_BCC_enc(vl_bccAllocRej, vl_stream);
var BCC_Message vl_decoded;
ef_BCC_dec(vl_stream, vl_decoded);
if(match(vl_bccAllocRej, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_bccAllocRej, vl_decoded));
setverdict(fail);
}
}
testcase tc_BCC_DEALLOCATION() runs on MAIN_CT {
var BCC_Message vl_bccDealloc := {
protDiscr := '01001000'B,
bccRefNum := {
srcId := '0'B,
bccRefNumval_0 := '1001011'B,
zero := '00'B,
bccRefNumval_1 := '101010'B
},
msgTypeId := BCC_DEALLOCATION,
msgBody := {
bccDealloc:= {
usrPortId := {
identifier := usrPortId,
length_ := 2,
usrPortIdVal := {
isdnUsrPortIdVal := {
usrPortIdVal_0 := '000011'B,
ext_0 := '00'B,
usrPortIdVal_1 := '0000111'B,
ext_1 := '1'B
}
}
},
isdnPortChannelId := {
identifier := isdnPortChannelId,
length_ := 1,
ext_0 := '100'B,
isdnPortChannelId := 31
},
v5TimeSlotId := {
identifier := v5TimeSlotId,
length_ := 2,
linkId := '01100110'B,
override_ := '111'B,
v5TimeSlotNumber := '01001'B
},
multiSlotMap := {
identifier := multiSlotMap,
length_ := 9,
linkId := '00110101'B,
v5ts1_31 := 2147483647,
ext_0 := '0'B,
upts1_31 := 2147483647,
ext_1 := '0'B
}
}
}
}
var octetstring vl_stream;
ef_BCC_enc(vl_bccDealloc, vl_stream);
var BCC_Message vl_decoded;
ef_BCC_dec(vl_stream, vl_decoded);
if(match(vl_bccDealloc, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_bccDealloc, vl_decoded));
setverdict(fail);
}
}
testcase tc_BCC_DEALLOCATION_COMPLETE() runs on MAIN_CT {
var BCC_Message vl_bccDeallocCompl := {
protDiscr := '01001000'B,
bccRefNum := {
srcId := '0'B,
bccRefNumval_0 := '1001011'B,
zero := '00'B,
bccRefNumval_1 := '101010'B
},
msgTypeId := BCC_DEALLOCATION_COMPLETE,
msgBody := {
bccDeallocCompl:= {
}
}
}
var octetstring vl_stream;
ef_BCC_enc(vl_bccDeallocCompl, vl_stream);
var BCC_Message vl_decoded;
ef_BCC_dec(vl_stream, vl_decoded);
if(match(vl_bccDeallocCompl, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_bccDeallocCompl, vl_decoded));
setverdict(fail);
}
}
testcase tc_BCC_DEALLOCATION_REJECT() runs on MAIN_CT {
var BCC_Message vl_bccDeallocRej := {
protDiscr := '01001000'B,
bccRefNum := {
srcId := '0'B,
bccRefNumval_0 := '1001011'B,
zero := '00'B,
bccRefNumval_1 := '101010'B
},
msgTypeId := BCC_DEALLOCATION_REJECT,
msgBody := {
bccDeallocRej:= {
rejCause := {
identifier := rejCause,
length_ := 5,
ext_0 := '1'B,
rejCauseType := 16,
diagnostic := {
usrPortId := {
identifier := usrPortId,
length_ := 2,
usrPortIdVal := {
isdnUsrPortIdVal := {
usrPortIdVal_0 := '000011'B,
ext_0 := '00'B,
usrPortIdVal_1 := '0000111'B,
ext_1 := '1'B
}
}
}
}
}
}
}
}
var octetstring vl_stream;
ef_BCC_enc(vl_bccDeallocRej, vl_stream);
var BCC_Message vl_decoded;
ef_BCC_dec(vl_stream, vl_decoded);
if(match(vl_bccDeallocRej, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_bccDeallocRej, vl_decoded));
setverdict(fail);
}
}
testcase tc_BCC_AUDIT() runs on MAIN_CT {
var BCC_Message vl_bccAudit := {
protDiscr := '01001000'B,
bccRefNum := {
srcId := '0'B,
bccRefNumval_0 := '1001011'B,
zero := '00'B,
bccRefNumval_1 := '101010'B
},
msgTypeId := BCC_AUDIT,
msgBody := {
bccAudit:= {
usrPortId := {
identifier := usrPortId,
length_ := 2,
usrPortIdVal := {
isdnUsrPortIdVal := {
usrPortIdVal_0 := '000011'B,
ext_0 := '00'B,
usrPortIdVal_1 := '0000111'B,
ext_1 := '1'B
}
}
},
isdnPortChannelId := {
identifier := isdnPortChannelId,
length_ := 1,
ext_0 := '100'B,
isdnPortChannelId := 31
},
v5TimeSlotId := {
identifier := v5TimeSlotId,
length_ := 2,
linkId := '01100110'B,
override_ := '111'B,
v5TimeSlotNumber := '01001'B
}
}
}
}
var octetstring vl_stream;
ef_BCC_enc(vl_bccAudit, vl_stream);
var BCC_Message vl_decoded;
ef_BCC_dec(vl_stream, vl_decoded);
if(match(vl_bccAudit, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_bccAudit, vl_decoded));
setverdict(fail);
}
}
testcase tc_BCC_AUDIT_COMPLETE() runs on MAIN_CT {
var BCC_Message vl_bccAuditCompl := {
protDiscr := '01001000'B,
bccRefNum := {
srcId := '0'B,
bccRefNumval_0 := '1001011'B,
zero := '00'B,
bccRefNumval_1 := '101010'B
},
msgTypeId := BCC_AUDIT_COMPLETE,
msgBody := {
bccAuditCompl:= {
usrPortId := {
identifier := usrPortId,
length_ := 2,
usrPortIdVal := {
isdnUsrPortIdVal := {
usrPortIdVal_0 := '000011'B,
ext_0 := '00'B,
usrPortIdVal_1 := '0000111'B,
ext_1 := '1'B
}
}
},
isdnPortChannelId := {
identifier := isdnPortChannelId,
length_ := 1,
ext_0 := '100'B,
isdnPortChannelId := 31
},
v5TimeSlotId := {
identifier := v5TimeSlotId,
length_ := 2,
linkId := '01100110'B,
override_ := '111'B,
v5TimeSlotNumber := '01001'B
},
connIncompl := {
identifier := connIncompl,
length_ := 1,
ext_0 := '1'B,
reason := 5
}
}
}
}
var octetstring vl_stream;
ef_BCC_enc(vl_bccAuditCompl, vl_stream);
var BCC_Message vl_decoded;
ef_BCC_dec(vl_stream, vl_decoded);
if(match(vl_bccAuditCompl, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_bccAuditCompl, vl_decoded));
setverdict(fail);
}
}
testcase tc_BCC_AN_FAULT() runs on MAIN_CT {
var BCC_Message vl_bccAnFault := {
protDiscr := '01001000'B,
bccRefNum := {
srcId := '0'B,
bccRefNumval_0 := '1001011'B,
zero := '00'B,
bccRefNumval_1 := '101010'B
},
msgTypeId := BCC_AN_FAULT,
msgBody := {
bccAnFault:= {
usrPortId := {
identifier := usrPortId,
length_ := 2,
usrPortIdVal := {
isdnUsrPortIdVal := {
usrPortIdVal_0 := '000011'B,
ext_0 := '00'B,
usrPortIdVal_1 := '0000111'B,
ext_1 := '1'B
}
}
},
isdnPortChannelId := {
identifier := isdnPortChannelId,
length_ := 1,
ext_0 := '100'B,
isdnPortChannelId := 31
},
v5TimeSlotId := {
identifier := v5TimeSlotId,
length_ := 2,
linkId := '01100110'B,
override_ := '111'B,
v5TimeSlotNumber := '01001'B
}
}
}
}
var octetstring vl_stream;
ef_BCC_enc(vl_bccAnFault, vl_stream);
var BCC_Message vl_decoded;
ef_BCC_dec(vl_stream, vl_decoded);
if(match(vl_bccAnFault, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_bccAnFault, vl_decoded));
setverdict(fail);
}
}
testcase tc_BCC_AN_FAULT_ACK() runs on MAIN_CT {
var BCC_Message vl_bccAnFaultAck := {
protDiscr := '01001000'B,
bccRefNum := {
srcId := '0'B,
bccRefNumval_0 := '1001011'B,
zero := '00'B,
bccRefNumval_1 := '101010'B
},
msgTypeId := BCC_AN_FAULT_ACK,
msgBody := {
bccAnFaultAck:= {
}
}
}
var octetstring vl_stream;
ef_BCC_enc(vl_bccAnFaultAck, vl_stream);
var BCC_Message vl_decoded;
ef_BCC_dec(vl_stream, vl_decoded);
if(match(vl_bccAnFaultAck, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_bccAnFaultAck, vl_decoded));
setverdict(fail);
}
}
testcase tc_BCC_PROTOCOL_ERROR() runs on MAIN_CT {
var BCC_Message vl_bccProtErr := {
protDiscr := '01001000'B,
bccRefNum := {
srcId := '0'B,
bccRefNumval_0 := '1001011'B,
zero := '00'B,
bccRefNumval_1 := '101010'B
},
msgTypeId := BCC_PROTOCOL_ERROR,
msgBody := {
bccProtErr:= {
protErrCause := {
identifier := protErrCause,
length_ := 3,
ext_0 := '1'B,
protErrCauseType := 14,
ext_1 := '0'B,
diagnMsgTypeId := BCC_PROTOCOL_ERROR,
diagnInfoElemenetId := protErrCause
}
}
}
}
var octetstring vl_stream;
ef_BCC_enc(vl_bccProtErr, vl_stream);
var BCC_Message vl_decoded;
ef_BCC_dec(vl_stream, vl_decoded);
if(match(vl_bccProtErr, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_bccProtErr, vl_decoded));
setverdict(fail);
}
}
testcase tc_PROT_SWITCH_OVER_REQ() runs on MAIN_CT {
var PROT_Message vl_protSwitchOverReq := {
protDiscr := '01001000'B,
logc_channelId := {
logc_channelId_0 := '00000001'B,
logc_channelId_1 := '00000010'B
},
msgTypeId := PROT_SWITCH_OVER_REQ,
msgBody := {
protSwitchOverReq:= {
seqNum := {
identifier := seqNum,
length_ := 1,
ext_0 := '1'B,
seqNum := 127
},
phyc_channelId := {
identifier := phyc_channelId,
length_ := 2,
v5LinkId := '00010100'B,
v5TimeSlot := 31
}
}
}
}
var octetstring vl_stream;
ef_PROT_enc(vl_protSwitchOverReq, vl_stream);
var PROT_Message vl_decoded;
ef_PROT_dec(vl_stream, vl_decoded);
if(match(vl_protSwitchOverReq, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_protSwitchOverReq, vl_decoded));
setverdict(fail);
}
}
testcase tc_PROT_SWITCH_OVER_COM() runs on MAIN_CT {
var PROT_Message vl_protSwitchOverCom := {
protDiscr := '01001000'B,
logc_channelId := {
logc_channelId_0 := '00000001'B,
logc_channelId_1 := '00000010'B
},
msgTypeId := PROT_SWITCH_OVER_COM,
msgBody := {
protSwitchOverCom := {
seqNum := {
identifier := seqNum,
length_ := 1,
ext_0 := '1'B,
seqNum := 127
},
phyc_channelId := {
identifier := phyc_channelId,
length_ := 2,
v5LinkId := '00010100'B,
v5TimeSlot := 31
}
}
}
}
var octetstring vl_stream;
ef_PROT_enc(vl_protSwitchOverCom, vl_stream);
var PROT_Message vl_decoded;
ef_PROT_dec(vl_stream, vl_decoded);
if(match(vl_protSwitchOverCom, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_protSwitchOverCom, vl_decoded));
setverdict(fail);
}
}
testcase tc_PROT_OS_SWITCH_OVER_COM() runs on MAIN_CT {
var PROT_Message vl_protOsSwitchOverCom := {
protDiscr := '01001000'B,
logc_channelId := {
logc_channelId_0 := '00000001'B,
logc_channelId_1 := '00000010'B
},
msgTypeId := PROT_OS_SWITCH_OVER_COM,
msgBody := {
protOsSwitchOverCom := {
seqNum := {
identifier := seqNum,
length_ := 1,
ext_0 := '1'B,
seqNum := 127
},
phyc_channelId := {
identifier := phyc_channelId,
length_ := 2,
v5LinkId := '00010100'B,
v5TimeSlot := 31
}
}
}
}
var octetstring vl_stream;
ef_PROT_enc(vl_protOsSwitchOverCom, vl_stream);
var PROT_Message vl_decoded;
ef_PROT_dec(vl_stream, vl_decoded);
if(match(vl_protOsSwitchOverCom, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_protOsSwitchOverCom, vl_decoded));
setverdict(fail);
}
}
testcase tc_PROT_SWITCH_OVER_ACK() runs on MAIN_CT {
var PROT_Message vl_protSwitchOverAck := {
protDiscr := '01001000'B,
logc_channelId := {
logc_channelId_0 := '00000001'B,
logc_channelId_1 := '00000010'B
},
msgTypeId := PROT_SWITCH_OVER_ACK,
msgBody := {
protSwitchOverAck := {
seqNum := {
identifier := seqNum,
length_ := 1,
ext_0 := '1'B,
seqNum := 127
},
phyc_channelId := {
identifier := phyc_channelId,
length_ := 2,
v5LinkId := '00010100'B,
v5TimeSlot := 31
}
}
}
}
var octetstring vl_stream;
ef_PROT_enc(vl_protSwitchOverAck, vl_stream);
var PROT_Message vl_decoded;
ef_PROT_dec(vl_stream, vl_decoded);
if(match(vl_protSwitchOverAck, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_protSwitchOverAck, vl_decoded));
setverdict(fail);
}
}
testcase tc_PROT_SWITCH_OVER_REJECT() runs on MAIN_CT {
var PROT_Message vl_protSwitchOverRej := {
protDiscr := '01001000'B,
logc_channelId := {
logc_channelId_0 := '00000001'B,
logc_channelId_1 := '00000010'B
},
msgTypeId := PROT_SWITCH_OVER_REJECT,
msgBody := {
protSwitchOverRej := {
seqNum := {
identifier := seqNum,
length_ := 1,
ext_0 := '1'B,
seqNum := 127
},
phyc_channelId := {
identifier := phyc_channelId,
length_ := 2,
v5LinkId := '00010100'B,
v5TimeSlot := 31
},
rejCause := {
identifier := rejCause,
length_ := 1,
ext_0 := '1'B,
rejCauseType := 6
}
}
}
}
var octetstring vl_stream;
ef_PROT_enc(vl_protSwitchOverRej, vl_stream);
var PROT_Message vl_decoded;
ef_PROT_dec(vl_stream, vl_decoded);
if(match(vl_protSwitchOverRej, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_protSwitchOverRej, vl_decoded));
setverdict(fail);
}
}
testcase tc_PROT_PROTOCOL_ERROR() runs on MAIN_CT {
var PROT_Message vl_protProtErr := {
protDiscr := '01001000'B,
logc_channelId := {
logc_channelId_0 := '00000001'B,
logc_channelId_1 := '00000010'B
},
msgTypeId := PROT_PROTOCOL_ERROR,
msgBody := {
protProtErr := {
seqNum := {
identifier := seqNum,
length_ := 1,
ext_0 := '1'B,
seqNum := 127
},
phyc_channelId := {
identifier := phyc_channelId,
length_ := 2,
v5LinkId := '00010100'B,
v5TimeSlot := 31
},
protErrCause := {
identifier := protErrCause,
length_ := 3,
ext_0 := '1'B,
protErrCauseType := 13,
ext_1 := '0'B,
diagnMsgTypeId := PROT_PROTOCOL_ERROR,
diagnInfoElementId := phyc_channelId
}
}
}
}
var octetstring vl_stream;
ef_PROT_enc(vl_protProtErr, vl_stream);
var PROT_Message vl_decoded;
ef_PROT_dec(vl_stream, vl_decoded);
if(match(vl_protProtErr, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_protProtErr, vl_decoded));
setverdict(fail);
}
}
testcase tc_PROT_RESET_SN_COM() runs on MAIN_CT {
var PROT_Message vl_protResetSnCom := {
protDiscr := '01001000'B,
logc_channelId := {
logc_channelId_0 := '00000001'B,
logc_channelId_1 := '00000010'B
},
msgTypeId := PROT_RESET_SN_COM,
msgBody := {
protResetSnCom := {
}
}
}
var octetstring vl_stream;
ef_PROT_enc(vl_protResetSnCom, vl_stream);
var PROT_Message vl_decoded;
ef_PROT_dec(vl_stream, vl_decoded);
if(match(vl_protResetSnCom, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_protResetSnCom, vl_decoded));
setverdict(fail);
}
}
testcase tc_PROT_RESET_SN_ACK() runs on MAIN_CT {
var PROT_Message vl_protResetSnAck := {
protDiscr := '01001000'B,
logc_channelId := {
logc_channelId_0 := '00000001'B,
logc_channelId_1 := '00000010'B
},
msgTypeId := PROT_RESET_SN_ACK,
msgBody := {
protResetSnAck := {
}
}
}
var octetstring vl_stream;
ef_PROT_enc(vl_protResetSnAck, vl_stream);
var PROT_Message vl_decoded;
ef_PROT_dec(vl_stream, vl_decoded);
if(match(vl_protResetSnAck, vl_decoded)) {
log("Encoded in oct: ", vl_stream);
log("Encoded in bit: ", oct2bit(vl_stream));
setverdict(pass);
} else {
log("pdu: ", match(vl_protResetSnAck, vl_decoded));
setverdict(fail);
}
}
control {
execute(tc_PSTN_ESTABLISH());
execute(tc_PSTN_ESTABLISH_ACK());
execute(tc_PSTN_SIGNAL());
execute(tc_PSTN_SIGNAL_ACK());
execute(tc_PSTN_STATUS());
execute(tc_PSTN_STATUS_ENQUIRY());
execute(tc_PSTN_DISCONNECT());
execute(tc_PSTN_DISCONNECT_COMPLETE());
execute(tc_PSTN_PROTOCOL_PARAMETER());
execute(tc_CNTRL_PORT_CONTROL());
execute(tc_CNTRL_PORT_CONTROL_ACK());
execute(tc_CNTRL_COMMON_CONTROL());
execute(tc_CNTRL_COMMON_CONTROL_ACK());
execute(tc_LINK_CONTROL());
execute(tc_LINK_CONTROL_ACK());
execute(tc_BCC_ALLOCATION());
execute(tc_BCC_ALLOCATION_COMPLETE());
execute(tc_BCC_ALLOCATION_REJECT());
execute(tc_BCC_DEALLOCATION());
execute(tc_BCC_DEALLOCATION_COMPLETE());
execute(tc_BCC_DEALLOCATION_REJECT());
execute(tc_BCC_AUDIT());
execute(tc_BCC_AUDIT_COMPLETE());
execute(tc_BCC_AN_FAULT());
execute(tc_BCC_AN_FAULT_ACK());
execute(tc_BCC_PROTOCOL_ERROR());
execute(tc_PROT_SWITCH_OVER_REQ());
execute(tc_PROT_SWITCH_OVER_COM());
execute(tc_PROT_OS_SWITCH_OVER_COM());
execute(tc_PROT_SWITCH_OVER_ACK());
execute(tc_PROT_SWITCH_OVER_REJECT());
execute(tc_PROT_PROTOCOL_ERROR());
execute(tc_PROT_RESET_SN_COM());
execute(tc_PROT_RESET_SN_ACK());
}
}