| /////////////////////////////////////////////////////////////////////////////// |
| // 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()); |
| } |
| } |