提交 74d1f182 编写于 作者: C calin

working on rrc

上级 c30faa90
file 13724 1344331863
version 2
run General-0-20120709-16:16:37-6492
attr configname General
attr datetime 20120709-16:16:37
attr experiment General
attr inifile omnetpp.ini
attr iterationvars ""
attr iterationvars2 $repetition=0
attr measurement ""
attr network Test
attr processid 6492
attr repetition 0
attr replication #0
attr resultdir results
attr runnumber 0
attr seedset 0
vector 4 Test.MME.eth[0].mac framesSent ETV
4 7520 541 27 678 1.000006719999 28.908845762154 22 1 22 253 3795
vector 6 Test.MME.eth[0].mac bytesSent ETV
6 8602 583 27 678 1.000006719999 28.908845762154 22 64 2116 24154 35499636
vector 20 Test.HSS.eth[0].mac framesSent ETV
20 10825 563 28 663 1.000006719999 28.908833442155 22 1 22 253 3795
vector 22 Test.HSS.eth[0].mac bytesSent ETV
22 11951 605 28 663 1.000006719999 28.908833442155 22 64 1956 22434 29915876
vector 21 Test.HSS.eth[0].mac framesReceivedOK ETV
21 11388 563 29 679 1.000006719999 28.908845762154 22 1 22 253 3795
vector 23 Test.HSS.eth[0].mac bytesReceivedOK ETV
23 12556 605 29 679 1.000006719999 28.908845762154 22 64 2116 24154 35499636
vector 27 Test.HSS.eth[0].mac framesPassedToHL ETV
27 13161 563 29 679 1.000006719999 28.908845762154 22 1 22 253 3795
vector 5 Test.MME.eth[0].mac framesReceivedOK ETV
5 8061 541 30 664 1.000006719999 28.908833442155 22 1 22 253 3795
vector 7 Test.MME.eth[0].mac bytesReceivedOK ETV
7 9185 583 30 664 1.000006719999 28.908833442155 22 64 1956 22434 29915876
vector 11 Test.MME.eth[0].mac framesPassedToHL ETV
11 9768 563 30 664 1.000006719999 28.908833442155 22 1 22 253 3795
vector 18 Test.HSS.eth[0].queue "queue length" ETV
18 10331 494 44 412 1.000006719999 1.000142239985 20 0 2 14 18
vector 2 Test.MME.eth[0].queue "queue length" ETV
2 7047 473 46 365 1.000006719999 1.000128639987 20 0 2 14 18
vector 70 Test.HSS.sctp "Slow Start Threshold 10:192.168.1.2" ETV
70 3655 54 141 471 1.000047199995 1.000155679983 2 0 65535 65535 4294836225
vector 71 Test.HSS.sctp "Congestion Window 10:192.168.1.2" ETV
71 3709 53 141 471 1.000047199995 1.000155679983 2 0 4380 4380 19184400
vector 74 Test.HSS.sctp "HB Sent 10:192.168.1.2" ETV
74 3927 25 141 141 1.000047199995 1.000047199995 1 1 1 1 1
vector 68 Test.HSS.sctp "RTO 10:192.168.1.2" ETV
68 3762 75 141 471 1.000047199995 1.000155679983 3 0 3 4 10
vector 59 Test.MME.sctp "Slow Start Threshold 9:192.168.1.1" ETV
59 4453 173 142 687 1.000047199995 34.000047199995 6 0 65535 327675 21474181125
vector 60 Test.MME.sctp "Congestion Window 9:192.168.1.1" ETV
60 4626 168 142 687 1.000047199995 34.000047199995 6 0 4380 21900 95922000
vector 63 Test.MME.sctp "HB Sent 9:192.168.1.1" ETV
63 5416 25 142 142 1.000047199995 1.000047199995 1 1 1 1 1
vector 57 Test.MME.sctp "RTO 9:192.168.1.1" ETV
57 4794 178 142 687 1.000047199995 34.000047199995 7 0 3 8 14
vector 42 Test.MME.sctp "HB ACK Sent 5:192.168.1.1" ETV
42 4378 25 183 183 1.000054079994 1.000054079994 1 1 1 1 1
vector 43 Test.MME.sctp "HB Received 5:192.168.1.1" ETV
43 4353 25 183 183 1.000054079994 1.000054079994 1 1 1 1 1
vector 53 Test.HSS.sctp "HB ACK Sent 8:192.168.1.2" ETV
53 6717 25 184 184 1.000054079994 1.000054079994 1 1 1 1 1
vector 54 Test.HSS.sctp "HB Received 8:192.168.1.2" ETV
54 6692 25 184 184 1.000054079994 1.000054079994 1 1 1 1 1
vector 37 Test.MME.sctp "Slow Start Threshold 5:192.168.1.1" ETV
37 4055 54 211 472 1.000060799993 1.000155679983 2 0 65535 65535 4294836225
vector 38 Test.MME.sctp "Congestion Window 5:192.168.1.1" ETV
38 4109 53 211 472 1.000060799993 1.000155679983 2 0 4380 4380 19184400
vector 41 Test.MME.sctp "HB Sent 5:192.168.1.1" ETV
41 4328 25 211 211 1.000060799993 1.000060799993 1 1 1 1 1
vector 35 Test.MME.sctp "RTO 5:192.168.1.1" ETV
35 4162 75 211 472 1.000060799993 1.000155679983 3 0 3 4 10
vector 48 Test.HSS.sctp "Slow Start Threshold 8:192.168.1.2" ETV
48 5763 174 212 687 1.000060799993 34.000047199995 6 0 65535 327675 21474181125
vector 49 Test.HSS.sctp "Congestion Window 8:192.168.1.2" ETV
49 5937 169 212 687 1.000060799993 34.000047199995 6 0 4380 21900 95922000
vector 52 Test.HSS.sctp "HB Sent 8:192.168.1.2" ETV
52 6667 25 212 212 1.000060799993 1.000060799993 1 1 1 1 1
vector 46 Test.HSS.sctp "RTO 8:192.168.1.2" ETV
46 6106 153 212 687 1.000060799993 34.000047199995 6 0 3 7 13
vector 86 Test.MME.sctp "SendQueue of Association 5" ETV
86 4428 25 218 218 1.000060799993 1.000060799993 1 0 0 0 0
vector 39 Test.MME.sctp "TSN Sent 5:192.168.1.1" ETV
39 4300 28 218 218 1.000060799993 1.000060799993 1 1000 1000 1000 1000000
vector 89 Test.HSS.sctp "SendQueue of Association 8" ETV
89 6945 102 220 636 1.000060799993 28.708826562156 4 0 0 0 0
vector 50 Test.HSS.sctp "TSN Sent 8:192.168.1.2" ETV
50 6439 114 220 636 1.000060799993 28.708826562156 4 1000 1003 4006 4012014
vector 66 Test.MME.sctp "HB ACK Received 9:192.168.1.1" ETV
66 5491 25 251 251 1.000067679992 1.000067679992 1 1 1 1 1
vector 58 Test.MME.sctp "RTT 9:192.168.1.1" ETV
58 4972 218 251 687 1.000067679992 34.000047199995 6 0 0.200019199998 0.600117439987 0.1200222751551
vector 77 Test.HSS.sctp "HB ACK Received 10:192.168.1.2" ETV
77 4002 25 252 252 1.000067679992 1.000067679992 1 1 1 1 1
vector 69 Test.HSS.sctp "RTT 10:192.168.1.2" ETV
69 3837 63 252 471 1.000067679992 1.000155679983 2 0 2.0479997e-05 2.0479997e-05 4.1943027712001e-10
vector 64 Test.MME.sctp "HB ACK Sent 9:192.168.1.1" ETV
64 5466 25 271 271 1.000074559991 1.000074559991 1 1 1 1 1
vector 65 Test.MME.sctp "HB Received 9:192.168.1.1" ETV
65 5441 25 271 271 1.000074559991 1.000074559991 1 1 1 1 1
vector 75 Test.HSS.sctp "HB ACK Sent 10:192.168.1.2" ETV
75 3977 25 272 272 1.000074559991 1.000074559991 1 1 1 1 1
vector 76 Test.HSS.sctp "HB Received 10:192.168.1.2" ETV
76 3952 25 272 272 1.000074559991 1.000074559991 1 1 1 1 1
vector 62 Test.MME.sctp "TSN Received 9:192.168.1.1" ETV
62 5303 113 299 650 1.00009423999 28.708838882155 4 1000 1003 4006 4012014
vector 32 Test.MME.sctp "Advertised Receiver Window 4" ETV
32 5516 146 299 669 1.00009423999 28.908838882155 5 65375 65535 327515 21453235525
vector 73 Test.HSS.sctp "TSN Received 10:192.168.1.2" ETV
73 3900 27 300 300 1.00009423999 1.00009423999 1 1000 1000 1000 1000000
vector 33 Test.HSS.sctp "Advertised Receiver Window 7" ETV
33 4027 28 300 300 1.00009423999 1.00009423999 1 65375 65375 65375 4273890625
vector 83 Test.MME.sctp "SendQueue of Association 9" ETV
83 5662 101 314 618 1.00009423999 28.708815202157 4 0 0 0 0
vector 61 Test.MME.sctp "TSN Sent 9:192.168.1.1" ETV
61 5190 113 314 618 1.00009423999 28.708815202157 4 2000 2003 8006 16024014
vector 44 Test.MME.sctp "HB ACK Received 5:192.168.1.1" ETV
44 4403 25 339 339 1.000101119989 1.000101119989 1 1 1 1 1
vector 36 Test.MME.sctp "RTT 5:192.168.1.1" ETV
36 4237 63 339 472 1.000101119989 1.000155679983 2 0 4.0319996e-05 4.0319996e-05 1.62570207744e-09
vector 55 Test.HSS.sctp "HB ACK Received 8:192.168.1.2" ETV
55 6742 25 340 340 1.000101119989 1.000101119989 1 1 1 1 1
vector 47 Test.HSS.sctp "RTT 8:192.168.1.2" ETV
47 6259 180 340 687 1.000101119989 34.000047199995 5 0 0.200019199998 0.60009695999 0.12002265869328
vector 51 Test.HSS.sctp "TSN Received 8:192.168.1.2" ETV
51 6553 114 372 632 1.000128639987 28.708826562156 4 2000 2003 8006 16024014
vector 45 Test.HSS.sctp "Advertised Receiver Window 8" ETV
45 6767 178 372 654 1.000128639987 28.908826562156 6 65363 65535 393038 25746502894
file 13724 1345108319
version 2
run General-0-20120709-16:16:37-6492
attr configname General
attr datetime 20120709-16:16:37
attr experiment General
attr inifile omnetpp.ini
attr iterationvars ""
attr iterationvars2 $repetition=0
attr measurement ""
attr network Test
attr processid 6492
attr repetition 0
attr replication #0
attr resultdir results
attr runnumber 0
attr seedset 0
vector 4 Test.MME.eth[0].mac framesSent ETV
4 7520 541 27 678 1.000006719999 28.908845762154 22 1 22 253 3795
vector 6 Test.MME.eth[0].mac bytesSent ETV
6 8602 583 27 678 1.000006719999 28.908845762154 22 64 2116 24154 35499636
vector 20 Test.HSS.eth[0].mac framesSent ETV
20 10825 563 28 663 1.000006719999 28.908833442155 22 1 22 253 3795
vector 22 Test.HSS.eth[0].mac bytesSent ETV
22 11951 605 28 663 1.000006719999 28.908833442155 22 64 1956 22434 29915876
vector 21 Test.HSS.eth[0].mac framesReceivedOK ETV
21 11388 563 29 679 1.000006719999 28.908845762154 22 1 22 253 3795
vector 23 Test.HSS.eth[0].mac bytesReceivedOK ETV
23 12556 605 29 679 1.000006719999 28.908845762154 22 64 2116 24154 35499636
vector 27 Test.HSS.eth[0].mac framesPassedToHL ETV
27 13161 563 29 679 1.000006719999 28.908845762154 22 1 22 253 3795
vector 5 Test.MME.eth[0].mac framesReceivedOK ETV
5 8061 541 30 664 1.000006719999 28.908833442155 22 1 22 253 3795
vector 7 Test.MME.eth[0].mac bytesReceivedOK ETV
7 9185 583 30 664 1.000006719999 28.908833442155 22 64 1956 22434 29915876
vector 11 Test.MME.eth[0].mac framesPassedToHL ETV
11 9768 563 30 664 1.000006719999 28.908833442155 22 1 22 253 3795
vector 18 Test.HSS.eth[0].queue "queue length" ETV
18 10331 494 44 412 1.000006719999 1.000142239985 20 0 2 14 18
vector 2 Test.MME.eth[0].queue "queue length" ETV
2 7047 473 46 365 1.000006719999 1.000128639987 20 0 2 14 18
vector 70 Test.HSS.sctp "Slow Start Threshold 10:192.168.1.2" ETV
70 3655 54 141 471 1.000047199995 1.000155679983 2 0 65535 65535 4294836225
vector 71 Test.HSS.sctp "Congestion Window 10:192.168.1.2" ETV
71 3709 53 141 471 1.000047199995 1.000155679983 2 0 4380 4380 19184400
vector 74 Test.HSS.sctp "HB Sent 10:192.168.1.2" ETV
74 3927 25 141 141 1.000047199995 1.000047199995 1 1 1 1 1
vector 68 Test.HSS.sctp "RTO 10:192.168.1.2" ETV
68 3762 75 141 471 1.000047199995 1.000155679983 3 0 3 4 10
vector 59 Test.MME.sctp "Slow Start Threshold 9:192.168.1.1" ETV
59 4453 173 142 687 1.000047199995 34.000047199995 6 0 65535 327675 21474181125
vector 60 Test.MME.sctp "Congestion Window 9:192.168.1.1" ETV
60 4626 168 142 687 1.000047199995 34.000047199995 6 0 4380 21900 95922000
vector 63 Test.MME.sctp "HB Sent 9:192.168.1.1" ETV
63 5416 25 142 142 1.000047199995 1.000047199995 1 1 1 1 1
vector 57 Test.MME.sctp "RTO 9:192.168.1.1" ETV
57 4794 178 142 687 1.000047199995 34.000047199995 7 0 3 8 14
vector 42 Test.MME.sctp "HB ACK Sent 5:192.168.1.1" ETV
42 4378 25 183 183 1.000054079994 1.000054079994 1 1 1 1 1
vector 43 Test.MME.sctp "HB Received 5:192.168.1.1" ETV
43 4353 25 183 183 1.000054079994 1.000054079994 1 1 1 1 1
vector 53 Test.HSS.sctp "HB ACK Sent 8:192.168.1.2" ETV
53 6717 25 184 184 1.000054079994 1.000054079994 1 1 1 1 1
vector 54 Test.HSS.sctp "HB Received 8:192.168.1.2" ETV
54 6692 25 184 184 1.000054079994 1.000054079994 1 1 1 1 1
vector 37 Test.MME.sctp "Slow Start Threshold 5:192.168.1.1" ETV
37 4055 54 211 472 1.000060799993 1.000155679983 2 0 65535 65535 4294836225
vector 38 Test.MME.sctp "Congestion Window 5:192.168.1.1" ETV
38 4109 53 211 472 1.000060799993 1.000155679983 2 0 4380 4380 19184400
vector 41 Test.MME.sctp "HB Sent 5:192.168.1.1" ETV
41 4328 25 211 211 1.000060799993 1.000060799993 1 1 1 1 1
vector 35 Test.MME.sctp "RTO 5:192.168.1.1" ETV
35 4162 75 211 472 1.000060799993 1.000155679983 3 0 3 4 10
vector 48 Test.HSS.sctp "Slow Start Threshold 8:192.168.1.2" ETV
48 5763 174 212 687 1.000060799993 34.000047199995 6 0 65535 327675 21474181125
vector 49 Test.HSS.sctp "Congestion Window 8:192.168.1.2" ETV
49 5937 169 212 687 1.000060799993 34.000047199995 6 0 4380 21900 95922000
vector 52 Test.HSS.sctp "HB Sent 8:192.168.1.2" ETV
52 6667 25 212 212 1.000060799993 1.000060799993 1 1 1 1 1
vector 46 Test.HSS.sctp "RTO 8:192.168.1.2" ETV
46 6106 153 212 687 1.000060799993 34.000047199995 6 0 3 7 13
vector 86 Test.MME.sctp "SendQueue of Association 5" ETV
86 4428 25 218 218 1.000060799993 1.000060799993 1 0 0 0 0
vector 39 Test.MME.sctp "TSN Sent 5:192.168.1.1" ETV
39 4300 28 218 218 1.000060799993 1.000060799993 1 1000 1000 1000 1000000
vector 89 Test.HSS.sctp "SendQueue of Association 8" ETV
89 6945 102 220 636 1.000060799993 28.708826562156 4 0 0 0 0
vector 50 Test.HSS.sctp "TSN Sent 8:192.168.1.2" ETV
50 6439 114 220 636 1.000060799993 28.708826562156 4 1000 1003 4006 4012014
vector 66 Test.MME.sctp "HB ACK Received 9:192.168.1.1" ETV
66 5491 25 251 251 1.000067679992 1.000067679992 1 1 1 1 1
vector 58 Test.MME.sctp "RTT 9:192.168.1.1" ETV
58 4972 218 251 687 1.000067679992 34.000047199995 6 0 0.200019199998 0.600117439987 0.1200222751551
vector 77 Test.HSS.sctp "HB ACK Received 10:192.168.1.2" ETV
77 4002 25 252 252 1.000067679992 1.000067679992 1 1 1 1 1
vector 69 Test.HSS.sctp "RTT 10:192.168.1.2" ETV
69 3837 63 252 471 1.000067679992 1.000155679983 2 0 2.0479997e-005 2.0479997e-005 4.1943027712001e-010
vector 64 Test.MME.sctp "HB ACK Sent 9:192.168.1.1" ETV
64 5466 25 271 271 1.000074559991 1.000074559991 1 1 1 1 1
vector 65 Test.MME.sctp "HB Received 9:192.168.1.1" ETV
65 5441 25 271 271 1.000074559991 1.000074559991 1 1 1 1 1
vector 75 Test.HSS.sctp "HB ACK Sent 10:192.168.1.2" ETV
75 3977 25 272 272 1.000074559991 1.000074559991 1 1 1 1 1
vector 76 Test.HSS.sctp "HB Received 10:192.168.1.2" ETV
76 3952 25 272 272 1.000074559991 1.000074559991 1 1 1 1 1
vector 62 Test.MME.sctp "TSN Received 9:192.168.1.1" ETV
62 5303 113 299 650 1.00009423999 28.708838882155 4 1000 1003 4006 4012014
vector 32 Test.MME.sctp "Advertised Receiver Window 4" ETV
32 5516 146 299 669 1.00009423999 28.908838882155 5 65375 65535 327515 21453235525
vector 73 Test.HSS.sctp "TSN Received 10:192.168.1.2" ETV
73 3900 27 300 300 1.00009423999 1.00009423999 1 1000 1000 1000 1000000
vector 33 Test.HSS.sctp "Advertised Receiver Window 7" ETV
33 4027 28 300 300 1.00009423999 1.00009423999 1 65375 65375 65375 4273890625
vector 83 Test.MME.sctp "SendQueue of Association 9" ETV
83 5662 101 314 618 1.00009423999 28.708815202157 4 0 0 0 0
vector 61 Test.MME.sctp "TSN Sent 9:192.168.1.1" ETV
61 5190 113 314 618 1.00009423999 28.708815202157 4 2000 2003 8006 16024014
vector 44 Test.MME.sctp "HB ACK Received 5:192.168.1.1" ETV
44 4403 25 339 339 1.000101119989 1.000101119989 1 1 1 1 1
vector 36 Test.MME.sctp "RTT 5:192.168.1.1" ETV
36 4237 63 339 472 1.000101119989 1.000155679983 2 0 4.0319996e-005 4.0319996e-005 1.62570207744e-009
vector 55 Test.HSS.sctp "HB ACK Received 8:192.168.1.2" ETV
55 6742 25 340 340 1.000101119989 1.000101119989 1 1 1 1 1
vector 47 Test.HSS.sctp "RTT 8:192.168.1.2" ETV
47 6259 180 340 687 1.000101119989 34.000047199995 5 0 0.200019199998 0.60009695999 0.12002265869328
vector 51 Test.HSS.sctp "TSN Received 8:192.168.1.2" ETV
51 6553 114 372 632 1.000128639987 28.708826562156 4 2000 2003 8006 16024014
vector 45 Test.HSS.sctp "Advertised Receiver Window 8" ETV
45 6767 178 372 654 1.000128639987 28.908826562156 6 65363 65535 393038 25746502894
......@@ -35,6 +35,7 @@ S1AP::S1AP() {
relMmeCapac = 5;
sendQueue.setName("sendQueue");
retryTimer = new cMessage("Retry-Timer");
}
S1AP::~S1AP() {
......
......@@ -38,12 +38,12 @@ public:
typedef ProtocolIeField ProtocolIeSingleContainer;
typedef SequenceOf<ProtocolIeField, CONSTRAINED, 0, maxProtocolIEs> ProtocolIeContainer;
typedef SequenceOf<ProtocolIeField, SizeConstraint<CONSTRAINED, 0, maxProtocolIEs>> ProtocolIeContainer;
OpenType *findValue(ProtocolIeContainer *container, unsigned short id);
typedef ProtocolIeField ProtocolExtField;
typedef SequenceOf<ProtocolExtField, CONSTRAINED, 0, maxProtocolIEs> ProtocolExtContainer;
typedef SequenceOf<ProtocolExtField, SizeConstraint<CONSTRAINED, 0, maxProtocolIEs>> ProtocolExtContainer;
#endif /* S1APCONTAINER_H_ */
......@@ -16,7 +16,7 @@
//
#include "RRC.h"
#include "RRCMessage.h"
//#include "RRCMessage.h"
#include "PerEncoder.h"
#include "LTEUtils.h"
......
Constant-definitions DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
hiPDSCHidentities INTEGER ::= 64
hiPUSCHidentities INTEGER ::= 64
hiRM INTEGER ::= 256
maxAC INTEGER ::= 16
maxAdditionalMeas INTEGER ::= 4
maxASC INTEGER ::= 8
maxASCmap INTEGER ::= 7
maxASCpersist INTEGER ::= 6
maxCCTrCH INTEGER ::= 8
maxCellMeas INTEGER ::= 32
maxCellMeasOnSecULFreq INTEGER ::= 32
maxCellMeas-1 INTEGER ::= 31
maxCellMeasOnSecULFreq-1 INTEGER ::= 31
maxCNdomains INTEGER ::= 4
maxCommonHRNTI INTEGER ::= 4
maxCommonQueueID INTEGER ::= 2
maxCPCHsets INTEGER ::= 16
maxDedicatedCSGFreq INTEGER ::= 4
maxDPCH-DLchan INTEGER ::= 8
maxDPDCH-UL INTEGER ::= 6
maxDRACclasses INTEGER ::= 8
maxE-DCHMACdFlow INTEGER ::= 8
maxE-DCHMACdFlow-1 INTEGER ::= 7
maxEUTRACellPerFreq INTEGER ::= 16
maxEUTRATargetFreqs INTEGER ::= 8
maxEDCHRL INTEGER ::= 4
maxEDCHRL-1 INTEGER ::= 3
maxEDCHs INTEGER ::= 32
maxEDCHTxPattern-TDD128 INTEGER ::= 4 -- maxEDCHTxPattern-TDD128 should be 3
maxEDCHTxPattern-TDD128-1 INTEGER ::= 3 -- maxEDCHTxPattern-TDD128-1 should be 2
maxERNTIgroup INTEGER ::= 32
maxERNTIperGroup INTEGER ::= 2
maxERUCCH INTEGER ::= 256
maxFACHPCH INTEGER ::= 8
maxFreq INTEGER ::= 8
maxFreqBandsEUTRA INTEGER ::= 16
maxFreqBandsFDD INTEGER ::= 8
maxFreqBandsFDD-ext INTEGER ::= 15 -- maxFreqBandsFDD-ext ::= 22 - (maxFreqBandsFDD - 1)
maxFreqBandsTDD INTEGER ::= 4
maxFreqBandsTDD-ext INTEGER ::= 16
maxFreqBandsGSM INTEGER ::= 16
maxGANSS INTEGER ::= 8
maxGANSS-1 INTEGER ::= 7
maxGANSSSat INTEGER ::= 64
maxGANSSSat-1 INTEGER ::= 63
maxGERAN-SI INTEGER ::= 8
maxGSMTargetCells INTEGER ::= 32
maxHNBNameSize INTEGER ::= 48
maxHProcesses INTEGER ::= 8
maxHS-SCCHLessTrBlk INTEGER ::= 4
maxHSDSCHTBIndex INTEGER ::= 64
maxHSDSCHTBIndex-tdd384 INTEGER ::= 512
maxHSSCCHs INTEGER ::= 4
maxHSSCCHs-1 INTEGER ::= 3
maxHSSICH-TDD128 INTEGER ::= 4
maxHSSICH-TDD128-1 INTEGER ::= 3
maxInterSysMessages INTEGER ::= 4
maxLoCHperRLC INTEGER ::= 2
maxMAC-d-PDUsizes INTEGER ::= 8
maxMBMS-CommonCCTrCh INTEGER ::= 32
maxMBMS-CommonPhyCh INTEGER ::= 32
maxMBMS-CommonRB INTEGER ::= 32
maxMBMS-CommonTrCh INTEGER ::= 32
maxMBMS-Freq INTEGER ::= 4
maxMBMS-L1CP INTEGER ::= 4
maxMBMSservCount INTEGER ::= 8
maxMBMSservModif INTEGER ::= 32
maxMBMSservSched INTEGER ::= 16
maxMBMSservSelect INTEGER ::= 8
maxMBMSservUnmodif INTEGER ::= 64
maxMBMSTransmis INTEGER ::= 4
maxMBSFNClusters INTEGER ::= 16
maxMeasCSGRange INTEGER ::= 4
maxMeasEvent INTEGER ::= 8
maxMeasEventOnSecULFreq INTEGER ::= 8
maxMeasIntervals INTEGER ::= 3
maxMeasOccasionPattern INTEGER ::= 5
maxMeasOccasionPattern-1 INTEGER ::= 4
maxMeasParEvent INTEGER ::= 2
maxNumCDMA2000Freqs INTEGER ::= 8
maxNumE-AGCH INTEGER ::= 4
maxNumE-HICH INTEGER ::= 4
maxNumEUTRAFreqs INTEGER ::= 8
maxNumGSMCellGroup INTEGER ::= 16
maxNumGSMFreqRanges INTEGER ::= 32
maxNumFDDFreqs INTEGER ::= 8
maxNumTDDFreqs INTEGER ::= 8
maxNoOfMeas INTEGER ::= 16
maxOtherRAT INTEGER ::= 15
maxOtherRAT-16 INTEGER ::= 16
maxPage1 INTEGER ::= 8
maxPCPCH-APsig INTEGER ::= 16
maxPCPCH-APsubCh INTEGER ::= 12
maxPCPCH-CDsig INTEGER ::= 16
maxPCPCH-CDsubCh INTEGER ::= 12
maxPCPCH-SF INTEGER ::= 7
maxPCPCHs INTEGER ::= 64
maxPDCPAlgoType INTEGER ::= 8
maxPDSCH INTEGER ::= 8
maxPDSCH-TFCIgroups INTEGER ::= 256
maxPRACH INTEGER ::= 16
maxPRACH-FPACH INTEGER ::= 8
maxPredefConfig INTEGER ::= 16
maxPrio INTEGER ::= 8
maxPrio-1 INTEGER ::= 7
maxPUSCH INTEGER ::= 8
maxQueueIDs INTEGER ::= 8
maxRABsetup INTEGER ::= 16
maxRAT INTEGER ::= 16
maxRB INTEGER ::= 32
maxRBallRABs INTEGER ::= 27
maxRBMuxOptions INTEGER ::= 8
maxRBperRAB INTEGER ::= 8
maxRBperTrCh INTEGER ::= 16
maxReportedEUTRACellPerFreq INTEGER ::= 4
maxReportedEUTRAFreqs INTEGER ::= 4
maxReportedGSMCells INTEGER ::= 8
maxRL INTEGER ::= 8
maxRL-1 INTEGER ::= 7
maxRLCPDUsizePerLogChan INTEGER ::= 32
maxRFC3095-CID INTEGER ::= 16384
maxROHC-PacketSizes-r4 INTEGER ::= 16
maxROHC-Profile-r4 INTEGER ::= 8
maxRxPatternForHSDSCH-TDD128 INTEGER ::= 4 -- maxRxPatternForHSDSCH-TDD128 should be 3
maxRxPatternForHSDSCH-TDD128-1 INTEGER ::= 3 -- maxRxPatternForHSDSCH-TDD128-1 should be 2
maxSat INTEGER ::= 16
maxSatClockModels INTEGER ::= 4
maxSCCPCH INTEGER ::= 16
maxSgnType INTEGER ::= 8
maxSIB INTEGER ::= 32
maxSIB-FACH INTEGER ::= 8
maxSIBperMsg INTEGER ::= 16
maxSIrequest INTEGER ::= 4
maxSRBsetup INTEGER ::= 8
maxSystemCapability INTEGER ::= 16
maxTDD128Carrier INTEGER ::= 6
maxTbsForHSDSCH-TDD128 INTEGER ::= 4
maxTbsForHSDSCH-TDD128-1 INTEGER ::= 3
maxTF INTEGER ::= 32
maxTF-CPCH INTEGER ::= 16
maxTFC INTEGER ::= 1024
maxTFCsub INTEGER ::= 1024
maxTFCI-2-Combs INTEGER ::= 512
maxTGPS INTEGER ::= 6
maxTrCH INTEGER ::= 32
-- maxTrCHpreconf should be 16 but has been set to 32 for compatibility
maxTrCHpreconf INTEGER ::= 32
maxTS INTEGER ::= 14
maxTS-1 INTEGER ::= 13
maxTS-2 INTEGER ::= 12
maxTS-LCR INTEGER ::= 6
maxTS-LCR-1 INTEGER ::= 5
maxURA INTEGER ::= 8
maxURNTI-Group INTEGER ::= 8
END
//
// Copyright (C) 2012 Calin Cerchez
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//
#ifndef RRCCONSTANT_H_
#define RRCCONSTANT_H_
#define hiPDSCHidentities 64
#define hiPUSCHidentities 64
#define hiRM 256
#define maxAC 16
#define maxAdditionalMeas 4
#define maxASC 8
#define maxASCmap 7
#define maxASCpersist 6
#define maxCCTrCH 8
#define maxCellMeas 32
#define maxCellMeasOnSecULFreq 32
#define maxCellMeas_1 31
#define maxCellMeasOnSecULFreq_1 31
#define maxCNdomains 4
#define maxCommonHRNTI 4
#define maxCommonQueueID 2
#define maxCPCHsets 16
#define maxDedicatedCSGFreq 4
#define maxDPCH_DLchan 8
#define maxDPDCH_UL 6
#define maxDRACclasses 8
#define maxE_DCHMACdFlow 8
#define maxE_DCHMACdFlow_1 7
#define maxEUTRACellPerFreq 16
#define maxEUTRATargetFreqs 8
#define maxEDCHRL 4
#define maxEDCHRL_1 3
#define maxEDCHs 32
#define maxEDCHTxPattern_TDD128 4
#define maxEDCHTxPattern_TDD128_1 3
#define maxERNTIgroup 32
#define maxERNTIperGroup 2
#define maxERUCCH 256
#define maxFACHPCH 8
#define maxFreq 8
#define maxFreqBandsEUTRA 16
#define maxFreqBandsFDD 8
#define maxFreqBandsFDD_ext 15
#define maxFreqBandsTDD 4
#define maxFreqBandsTDD_ext 16
#define maxFreqBandsGSM 16
#define maxGANSS 8
#define maxGANSS_1 7
#define maxGANSSSat 64
#define maxGANSSSat_1 63
#define maxGERAN_SI 8
#define maxGSMTargetCells 32
#define maxHNBNameSize 48
#define maxHProcesses 8
#define maxHS_SCCHLessTrBlk 4
#define maxHSDSCHTBIndex 64
#define maxHSDSCHTBIndex_tdd384 512
#define maxHSSCCHs 4
#define maxHSSCCHs_1 3
#define maxHSSICH_TDD128 4
#define maxHSSICH_TDD128_1 3
#define maxInterSysMessages 4
#define maxLoCHperRLC 2
#define maxMAC_d_PDUsizes 8
#define maxMBMS_CommonCCTrCh 32
#define maxMBMS_CommonPhyCh 32
#define maxMBMS_CommonRB 32
#define maxMBMS_CommonTrCh 32
#define maxMBMS_Freq 4
#define maxMBMS_L1CP 4
#define maxMBMSservCount 8
#define maxMBMSservModif 32
#define maxMBMSservSched 16
#define maxMBMSservSelect 8
#define maxMBMSservUnmodif 64
#define maxMBMSTransmis 4
#define maxMBSFNClusters 16
#define maxMeasCSGRange 4
#define maxMeasEvent 8
#define maxMeasEventOnSecULFreq 8
#define maxMeasIntervals 3
#define maxMeasOccasionPattern 5
#define maxMeasOccasionPattern_1 4
#define maxMeasParEvent 2
#define maxNumCDMA2000Freqs 8
#define maxNumE_AGCH 4
#define maxNumE_HICH 4
#define maxNumEUTRAFreqs 8
#define maxNumGSMCellGroup 16
#define maxNumGSMFreqRanges 32
#define maxNumFDDFreqs 8
#define maxNumTDDFreqs 8
#define maxNoOfMeas 16
#define maxOtherRAT 15
#define maxOtherRAT_16 16
#define maxPage1 8
#define maxPCPCH_APsig 16
#define maxPCPCH_APsubCh 12
#define maxPCPCH_CDsig 16
#define maxPCPCH_CDsubCh 12
#define maxPCPCH_SF 7
#define maxPCPCHs 64
#define maxPDCPAlgoType 8
#define maxPDSCH 8
#define maxPDSCH_TFCIgroups 256
#define maxPRACH 16
#define maxPRACH_FPACH 8
#define maxPredefConfig 16
#define maxPrio 8
#define maxPrio_1 7
#define maxPUSCH 8
#define maxQueueIDs 8
#define maxRABsetup 16
#define maxRAT 16
#define maxRB 32
#define maxRBallRABs 27
#define maxRBMuxOptions 8
#define maxRBperRAB 8
#define maxRBperTrCh 16
#define maxReportedEUTRACellPerFreq 4
#define maxReportedEUTRAFreqs 4
#define maxReportedGSMCells 8
#define maxRL 8
#define maxRL_1 7
#define maxRLCPDUsizePerLogChan 32
#define maxRFC3095_CID 16384
#define maxROHC_PacketSizes_r4 16
#define maxROHC_Profile_r4 8
#define maxRxPatternForHSDSCH_TDD128 4
#define maxRxPatternForHSDSCH_TDD128_1 3
#define maxSat 16
#define maxSatClockModels 4
#define maxSCCPCH 16
#define maxSgnType 8
#define maxSIB 32
#define maxSIB_FACH 8
#define maxSIBperMsg 16
#define maxSIrequest 4
#define maxSRBsetup 8
#define maxSystemCapability 16
#define maxTDD128Carrier 6
#define maxTbsForHSDSCH_TDD128 4
#define maxTbsForHSDSCH_TDD128_1 3
#define maxTF 32
#define maxTF_CPCH 16
#define maxTFC 1024
#define maxTFCsub 1024
#define maxTFCI_2_Combs 512
#define maxTGPS 6
#define maxTrCH 32
#define maxTrCHpreconf 32
#define maxTS 14
#define maxTS_1 13
#define maxTS_2 12
#define maxTS_LCR 6
#define maxTS_LCR_1 5
#define maxURA 8
#define maxURNTI_Group 8
#endif /* RRCCONSTANT_H_ */
//
// Copyright (C) 2012 Calin Cerchez
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//
#include "RRCConstantDefinitions.h"
const IntegerBase maxCNdomains (4);
//
// Copyright (C) 2012 Calin Cerchez
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//
#ifndef RRCCONSTANTDEFINITIONS_H_
#define RRCCONSTANTDEFINITIONS_H_
#include "ASNTypes.h"
const IntegerBase hiPDSCHidentities(64);
const IntegerBase hiPUSCHidentities(64);
const IntegerBase hiRM(256);
const IntegerBase maxAC(16);
const IntegerBase maxAdditionalMeas(4);
const IntegerBase maxASC(8);
const IntegerBase maxASCmap(7);
const IntegerBase maxASCpersist(6);
const IntegerBase maxCCTrCH(8);
const IntegerBase maxCellMeas(32);
const IntegerBase maxCellMeasOnSecULFreq(32);
const IntegerBase maxCellMeas_1(31);
const IntegerBase maxCellMeasOnSecULFreq_1(31);
extern const IntegerBase maxCNdomains;
const IntegerBase maxCommonHRNTI(4);
const IntegerBase maxCommonQueueID(2);
const IntegerBase maxCPCHsets(16);
const IntegerBase maxDedicatedCSGFreq(4);
const IntegerBase maxDPCH_DLchan(8);
const IntegerBase maxDPDCH_UL(6);
const IntegerBase maxDRACclasses(8);
const IntegerBase maxE_DCHMACdFlow(8);
const IntegerBase maxE_DCHMACdFlow_1(7);
const IntegerBase maxEUTRACellPerFreq(16);
const IntegerBase maxEUTRATargetFreqs(8);
const IntegerBase maxEDCHRL(4);
const IntegerBase maxEDCHRL_1(3);
const IntegerBase maxEDCHs(32);
const IntegerBase maxEDCHTxPattern_TDD128(4);
const IntegerBase maxEDCHTxPattern_TDD128_1(3);
const IntegerBase maxERNTIgroup(32);
const IntegerBase maxERNTIperGroup(2);
const IntegerBase maxERUCCH(256);
const IntegerBase maxFACHPCH(8);
const IntegerBase maxFreq(8);
const IntegerBase maxFreqBandsEUTRA(16);
const IntegerBase maxFreqBandsFDD(8);
const IntegerBase maxFreqBandsFDD_ext(15);
const IntegerBase maxFreqBandsTDD(4);
const IntegerBase maxFreqBandsTDD_ext(16);
const IntegerBase maxFreqBandsGSM(16);
const IntegerBase maxGANSS(8);
const IntegerBase maxGANSS_1(7);
const IntegerBase maxGANSSSat(64);
const IntegerBase maxGANSSSat_1(63);
const IntegerBase maxGERAN_SI(8);
const IntegerBase maxGSMTargetCells(32);
const IntegerBase maxHNBNameSize(48);
const IntegerBase maxHProcesses(8);
const IntegerBase maxHS_SCCHLessTrBlk(4);
const IntegerBase maxHSDSCHTBIndex(64);
const IntegerBase maxHSDSCHTBIndex_tdd384(512);
const IntegerBase maxHSSCCHs(4);
const IntegerBase maxHSSCCHs_1(3);
const IntegerBase maxHSSICH_TDD128(4);
const IntegerBase maxHSSICH_TDD128_1(3);
const IntegerBase maxInterSysMessages(4);
const IntegerBase maxLoCHperRLC(2);
const IntegerBase maxMAC_d_PDUsizes(8);
const IntegerBase maxMBMS_CommonCCTrCh(32);
const IntegerBase maxMBMS_CommonPhyCh(32);
const IntegerBase maxMBMS_CommonRB(32);
const IntegerBase maxMBMS_CommonTrCh(32);
const IntegerBase maxMBMS_Freq(4);
const IntegerBase maxMBMS_L1CP(4);
const IntegerBase maxMBMSservCount(8);
const IntegerBase maxMBMSservModif(32);
const IntegerBase maxMBMSservSched(16);
const IntegerBase maxMBMSservSelect(8);
const IntegerBase maxMBMSservUnmodif(64);
const IntegerBase maxMBMSTransmis(4);
const IntegerBase maxMBSFNClusters(16);
const IntegerBase maxMeasCSGRange(4);
const IntegerBase maxMeasEvent(8);
const IntegerBase maxMeasEventOnSecULFreq(8);
const IntegerBase maxMeasIntervals(3);
const IntegerBase maxMeasOccasionPattern(5);
const IntegerBase maxMeasOccasionPattern_1(4);
const IntegerBase maxMeasParEvent(2);
const IntegerBase maxNumCDMA2000Freqs(8);
const IntegerBase maxNumE_AGCH(4);
const IntegerBase maxNumE_HICH(4);
const IntegerBase maxNumEUTRAFreqs(8);
const IntegerBase maxNumGSMCellGroup(16);
const IntegerBase maxNumGSMFreqRanges(32);
const IntegerBase maxNumFDDFreqs(8);
const IntegerBase maxNumTDDFreqs(8);
const IntegerBase maxNoOfMeas(16);
const IntegerBase maxOtherRAT(15);
const IntegerBase maxOtherRAT_16(16);
const IntegerBase maxPage1(8);
const IntegerBase maxPCPCH_APsig(16);
const IntegerBase maxPCPCH_APsubCh(12);
const IntegerBase maxPCPCH_CDsig(16);
const IntegerBase maxPCPCH_CDsubCh(12);
const IntegerBase maxPCPCH_SF(7);
const IntegerBase maxPCPCHs(64);
const IntegerBase maxPDCPAlgoType(8);
const IntegerBase maxPDSCH(8);
const IntegerBase maxPDSCH_TFCIgroups(256);
const IntegerBase maxPRACH(16);
const IntegerBase maxPRACH_FPACH(8);
const IntegerBase maxPredefConfig(16);
const IntegerBase maxPrio(8);
const IntegerBase maxPrio_1(7);
const IntegerBase maxPUSCH(8);
const IntegerBase maxQueueIDs(8);
const IntegerBase maxRABsetup(16);
const IntegerBase maxRAT(16);
const IntegerBase maxRB(32);
const IntegerBase maxRBallRABs(27);
const IntegerBase maxRBMuxOptions(8);
const IntegerBase maxRBperRAB(8);
const IntegerBase maxRBperTrCh(16);
const IntegerBase maxReportedEUTRACellPerFreq(4);
const IntegerBase maxReportedEUTRAFreqs(4);
const IntegerBase maxReportedGSMCells(8);
const IntegerBase maxRL(8);
const IntegerBase maxRL_1(7);
const IntegerBase maxRLCPDUsizePerLogChan(32);
const IntegerBase maxRFC3095_CID(16384);
const IntegerBase maxROHC_PacketSizes_r4(16);
const IntegerBase maxROHC_Profile_r4(8);
const IntegerBase maxRxPatternForHSDSCH_TDD128(4);
const IntegerBase maxRxPatternForHSDSCH_TDD128_1(3);
const IntegerBase maxSat(16);
const IntegerBase maxSatClockModels(4);
const IntegerBase maxSCCPCH(16);
const IntegerBase maxSgnType(8);
const IntegerBase maxSIB(32);
const IntegerBase maxSIB_FACH(8);
const IntegerBase maxSIBperMsg(16);
const IntegerBase maxSIrequest(4);
const IntegerBase maxSRBsetup(8);
const IntegerBase maxSystemCapability(16);
const IntegerBase maxTDD128Carrier(6);
const IntegerBase maxTbsForHSDSCH_TDD128(4);
const IntegerBase maxTbsForHSDSCH_TDD128_1(3);
const IntegerBase maxTF(32);
const IntegerBase maxTF_CPCH(16);
const IntegerBase maxTFC(1024);
const IntegerBase maxTFCsub(1024);
const IntegerBase maxTFCI_2_Combs(512);
const IntegerBase maxTGPS(6);
const IntegerBase maxTrCH(32);
const IntegerBase maxTrCHpreconf(32);
const IntegerBase maxTS(14);
const IntegerBase maxTS_1(13);
const IntegerBase maxTS_2(12);
const IntegerBase maxTS_LCR(6);
const IntegerBase maxTS_LCR_1(5);
const IntegerBase maxURA(8);
const IntegerBase maxURNTI_Group(8);
//typedef SequenceOf<CNDomainInformationFull, CONSTRAINED, 1, maxCNdomains> CNDomainInformationListFull;
#endif /* RRCCONSTANTDEFINITIONS_H_ */
InformationElements DEFINITIONS AUTOMATIC TAGS ::=
Internode-definitions DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IMPORTS
hiPDSCHidentities,
hiPUSCHidentities,
hiRM,
maxAC,
HandoverToUTRANCommand,
MeasurementReport,
PhysicalChannelReconfiguration,
RadioBearerReconfiguration,
RadioBearerRelease,
RadioBearerSetup,
RRCConnectionSetupComplete-r3-add-ext-IEs,
RRC-FailureInfo,
TransportChannelReconfiguration,
UECapabilityInformation-r3-add-ext-IEs
FROM PDU-definitions
-- Core Network IEs :
CN-DomainIdentity,
CN-DomainInformationList,
CN-DomainInformationListFull,
CN-DRX-CycleLengthCoefficient,
NAS-SystemInformationGSM-MAP,
-- UTRAN Mobility IEs :
CellIdentity,
URA-Identity,
-- User Equipment IEs :
AccessStratumReleaseIndicator,
C-RNTI,
ChipRateCapability,
DL-CapabilityWithSimultaneousHS-DSCHConfig,
DL-PhysChCapabilityFDD-v380ext,
DL-PhysChCapabilityTDD,
DL-PhysChCapabilityTDD-LCR-r4,
GSM-Measurements,
HSDSCH-physical-layer-category,
FailureCauseWithProtErr,
MaxHcContextSpace,
MaximumAM-EntityNumberRLC-Cap,
MaximumRLC-WindowSize,
MaxNoPhysChBitsReceived,
MaxNoDPDCH-BitsTransmitted,
MaxPhysChPerFrame,
MaxPhysChPerSubFrame-r4,
MaxPhysChPerTS,
MaxROHC-ContextSessions-r4,
MaxTS-PerFrame,
MaxTS-PerSubFrame-r4,
MinimumSF-DL,
MultiModeCapability,
MultiRAT-Capability,
NetworkAssistedGPS-Supported,
PhysicalChannelCapability-edch-r6,
RadioFrequencyBandTDDList,
RLC-Capability,
RRC-MessageSequenceNumber,
SecurityCapability,
SimultaneousSCCPCH-DPCH-Reception,
STARTList,
STARTSingle,
START-Value,
SupportOfDedicatedPilotsForChEstimation,
T-305,
TransportChannelCapability,
TxRxFrequencySeparation,
U-RNTI,
UE-CapabilityContainer-IEs,
UE-GANSSPositioning-Capability,
UE-MultiModeRAT-Capability,
UE-PowerClassExt,
UE-RadioAccessCapabBandFDDList,
UE-RadioAccessCapabBandFDDList2,
UE-RadioAccessCapabBandFDDList-ext,
UE-RadioAccessCapability,
UE-RadioAccessCapability-v370ext,
UE-RadioAccessCapability-v380ext,
UE-RadioAccessCapability-v3a0ext,
UE-RadioAccessCapability-v3g0ext,
UE-RadioAccessCapability-v4b0ext,
UE-RadioAccessCapability-v590ext,
UE-RadioAccessCapability-v5c0ext,
UE-RadioAccessCapability-v7e0ext,
UE-RadioAccessCapability-v7f0ext,
UL-PhysChCapabilityFDD,
UL-PhysChCapabilityFDD-r6,
UL-PhysChCapabilityTDD,
UL-PhysChCapabilityTDD-LCR-r4,
-- Radio Bearer IEs :
PDCP-ROHC-TargetMode,
PredefinedConfigStatusList,
PredefinedConfigValueTag,
RAB-InformationSetupList,
RAB-InformationSetupList-r4,
RAB-InformationSetupList-r5,
RAB-InformationSetupList-r6-ext,
RAB-InformationSetupList-r6,
RAB-InformationSetupList-v6b0ext,
RAB-InformationSetupList-r7,
RAB-InformationSetupList-r8,
RAB-InformationSetupList-v820ext,
RB-Identity,
SRB-InformationSetupList,
SRB-InformationSetupList-r5,
SRB-InformationSetupList-r6,
SRB-InformationSetupList-r7,
SRB-InformationSetupList-r8,
-- Transport Channel IEs :
CPCH-SetID,
DL-CommonTransChInfo,
DL-CommonTransChInfo-r4,
DL-AddReconfTransChInfoList,
DL-AddReconfTransChInfoList-r4,
DL-AddReconfTransChInfoList-r5,
DL-AddReconfTransChInfoList-r7,
DL-AddReconfTransChInfoList-r9,
DRAC-StaticInformationList,
UL-CommonTransChInfo,
UL-CommonTransChInfo-r4,
UL-AddReconfTransChInfoList,
UL-AddReconfTransChInfoList-r6,
UL-AddReconfTransChInfoList-r7,
UL-AddReconfTransChInfoList-r8,
-- Physical Channel IEs :
FrequencyInfo,
PrimaryCPICH-Info,
TPC-CombinationIndex,
ScramblingCodeChange,
TGCFN,
TGPSI,
TGPS-ConfigurationParams,
TGPS-ConfigurationParams-r8,
-- Measurement IEs :
Event1j-r6,
Hysteresis,
Inter-FreqEventCriteriaList-v590ext,
Intra-FreqEventCriteriaList-v590ext,
IntraFreqEvent-1d-r5,
IntraFreqReportingCriteria-1b-r5,
InterRATCellInfoIndication,
MeasuredResultsOnRACHinterFreq,
MeasurementIdentity,
MeasurementIdentity-r9,
MeasurementReportingMode,
MeasurementType,
MeasurementType-r4,
MeasurementType-r6,
MeasurementType-r7,
MeasurementType-r8,
MeasurementType-r9,
AdditionalMeasurementID-List,
AdditionalMeasurementID-List-r9,
PositionEstimate,
ReportingCellStatus,
ThresholdSFN-GPS-TOW-us,
TimeToTrigger,
-- MBMS IEs :
MBMS-JoinedInformation-r6,
MBMS-SelectedServiceInfo,
-- Other IEs :
GERANIu-RadioAccessCapability,
GSM-MS-RadioAccessCapability,
InterRAT-UE-RadioAccessCapabilityList,
InterRAT-UE-RadioAccessCapability-v590ext,
InterRAT-UE-RadioAccessCapability-v690ext,
InterRAT-UE-RadioAccessCapability-v860ext,
UE-HistoryInformation,
UESpecificBehaviourInformation1idle,
UESpecificBehaviourInformation1interRAT
FROM InformationElements
maxCNdomains,
maxEDCHRL,
maxGANSS,
maxNoOfMeas,
maxRB,
maxRBallRABs,
maxRFC3095-CID,
maxSRBsetup,
maxRL,
maxTGPS
FROM Constant-definitions;
AllowedTFI-List ::= SEQUENCE (SIZE (1..maxTF)) OF
INTEGER (0..31)
......
......@@ -90,7 +90,7 @@ bool OpenType::encode(PerEncoder &encoder) const {
const Boolean::Info Boolean::theInfo = {
&Boolean::create,
BOOLEAN,
_BOOLEAN,
0,
};
......@@ -160,6 +160,11 @@ IntegerBase& IntegerBase::operator=(const IntegerBase& other) {
return *this;
}
IntegerBase& IntegerBase::operator =(int64_t value) {
setValue(value);
return *this;
}
int64_t IntegerBase::compare(const AbstractType& other) const {
const IntegerBase& that = dynamic_cast<const IntegerBase&>(other);
if (getLowerBound() >= 0)
......
......@@ -32,7 +32,7 @@ enum ConstraintType {
};
enum ObjectType {
BOOLEAN = 0,
_BOOLEAN = 0,
INTEGER = 1,
ENUMERATED = 2,
BITSTRING = 4,
......@@ -98,6 +98,23 @@ public:
virtual int64_t compare(const AbstractType& other) const = 0;
};
struct EmptyConstraint {
enum {
type = UNCONSTRAINED,
lowerBound = 0,
upperBound = UINT_MAX
};
};
template <char type_, int64_t lowerBound_, int64_t upperBound_>
struct SizeConstraint {
enum {
type = type_,
lowerBound = lowerBound_,
upperBound = upperBound_
};
};
/*
* Base class for all constrained ASN.1 types.
*/
......@@ -244,6 +261,8 @@ public:
/* Operator methods. */
IntegerBase &operator=(const IntegerBase &other);
IntegerBase &operator=(int64_t value);
operator int64_t() const { return value; }
/* Getter methods. */
int64_t getValue() const { return value; }
......@@ -600,7 +619,7 @@ public:
bool encode(PerEncoder& encoder) const;
};
template <class T, char type, int64_t lowerBound, int64_t upperBound>
template <class T, class Constraint>
class SequenceOf : public SequenceOfBase {
public:
static const Info theInfo;
......@@ -618,14 +637,14 @@ public:
int64_t size() const { return items.size(); }
};
template <class T, char type, int64_t lowerBound, int64_t upperBound>
const typename SequenceOf<T, type, lowerBound, upperBound>::Info SequenceOf<T, type, lowerBound, upperBound>::theInfo = {
template <class T, class Constraint>
const typename SequenceOf<T, Constraint>::Info SequenceOf<T, Constraint>::theInfo = {
SequenceOfBase::create,
SEQUENCEOF,
0,
type,
lowerBound,
upperBound,
Constraint::type,
Constraint::lowerBound,
Constraint::upperBound,
&T::theInfo
};
......
......@@ -173,7 +173,7 @@ bool PerDecoder::decodeAbstractType(AbstractType& abstractType) {
return decodeBitString(dynamic_cast<BitStringBase&>(abstractType));
case OCTETSTRING:
return decodeOctetString(dynamic_cast<OctetStringBase&>(abstractType));
case BOOLEAN:
case _BOOLEAN:
return decodeBoolean(dynamic_cast<Boolean&>(abstractType));
case _NULL:
return decodeNull(dynamic_cast<Null&>(abstractType));
......
......@@ -196,7 +196,7 @@ bool PerEncoder::encodeAbstractType(const AbstractType& abstractType) {
return encodeBitString(static_cast<const BitStringBase&>(abstractType));
case OCTETSTRING:
return encodeOctetString(static_cast<const OctetStringBase&>(abstractType));
case BOOLEAN:
case _BOOLEAN:
return encodeBoolean(static_cast<const Boolean&>(abstractType));
case _NULL:
return encodeNull(static_cast<const Null&>(abstractType));
......
......@@ -13,16 +13,19 @@ enumeratedtxt = 'ENUMERATED'
nulltxt = 'NULL'
booleantxt = 'BOOLEAN'
asnobjs = list()
openparanthesis = '('
closedparanthesis = ')'
openparantheses = '('
closedparantheses = ')'
importstxt = 'IMPORTS'
optionaltxt = 'OPTIONAL'
defaulttxt = 'DEFAULT'
endtxt = 'END'
oftxt = ' OF '
size = 'SIZE'
definitionstxt = 'DEFINITIONS'
fromtxt = 'FROM'
comment = '--'
comma = ','
colon = ':'
tripledash = '...'
typeslist = ['Integer',
'BitString',
......@@ -31,8 +34,11 @@ typeslist = ['Integer',
'Sequence',
'SequenceOf',
'Choice',
'_Null',
'Null',
'Boolean']
module = "RRC"
outfilename = ''
includes = list()
class ASNObject:
type = ''
......@@ -40,10 +46,12 @@ class ASNObject:
constrainttype = ''
lowerlimit = ''
upperlimit = ''
value = 0
opt = 0
ext = 0
objs = list()
written = 0
parent = None
def parsebracket(asnobj, string, cursor):
#print string
......@@ -55,6 +63,7 @@ def parsebracket(asnobj, string, cursor):
if string[i] == comma and openbrackets == 0 and len(objstring) > 0:
childobj = parsestring(objstring.strip())
objs.append(childobj)
childobj.parent = asnobj
objstring = ""
else:
if string[i] == openbracket:
......@@ -69,6 +78,7 @@ def parsebracket(asnobj, string, cursor):
if len(objstring) > 0:
childobj = parsestring(objstring.strip())
objs.append(childobj)
childobj.parent = asnobj
asnobj.constrainttype = "CONSTRAINED"
asnobj.objs = objs
......@@ -111,7 +121,7 @@ def parsesize(asnobj, string):
def parsetype(asnobj, string):
type = ""
if string.split()[-1] == optionaltxt:
asnobj.opt = 1
string = string.split(optionaltxt)[0].strip()
......@@ -120,12 +130,12 @@ def parsetype(asnobj, string):
string = string.split(defaulttxt)[0].strip()
for i in range(0, len(string)):
if string[i] == openparanthesis or string[i] == openbracket or string[i] == comma:
if string[i] == openparantheses or string[i] == openbracket or string[i] == comma or string[i] == colon:
break
else:
type += string[i]
type = type.strip()
if type == integertxt:
asnobj.type = "Integer"
elif type == bitstringtxt:
......@@ -142,52 +152,84 @@ def parsetype(asnobj, string):
elif type == enumeratedtxt:
asnobj.type = "Enumerated"
elif type == nulltxt:
asnobj.type = "_Null"
asnobj.type = "Null"
elif type == booleantxt:
asnobj.type = "Boolean"
else:
asnobj.type = type.replace("-", "")
if string.index(type) < string.index(assign):
asnobj.constrainttype = "CONSTANT"
def findfilename(string):
filename = string
while filename.find('-') != -1:
pos = filename.index('-')
first = filename.split('-')[0]
second = filename.split('-')[1].title()
if second.find(';') != -1:
second = second[:-1]
filename = first + second
return filename
def parseheader(string):
filename = string.split()[0]
global outfilename
outfilename = module + findfilename(filename)
words = string.split("\n")
for i in range(0, len(words)):
if fromtxt in words[i]:
filename = words[i].split()[1]
include = module + findfilename(filename)
includes.append(include)
def parsestring(string):
asnobj = ASNObject()
words = list()
if importstxt in string:
if importstxt in string or definitionstxt in string:
parseheader(string)
return asnobj
if assign in string:
string = string.replace("\t", ' ')
string = string.replace("\n", '')
string = re.sub('\s+', ' ', string)
words = string.split(assign)
asnobj.name = words[0].replace("-", "").strip()
if len(words[0].split()) > 1:
words = string.split(' ', 1)
asnobj.name = words[0].replace("-", "_").strip()
else:
asnobj.name = words[0].replace("-", "").strip()
else:
words = string.split(' ', 1)
asnobj.name = words[0].replace("-", "_").strip()
if len(words) > 1:
parsetype(asnobj, words[1])
if asnobj.type != "Enumerated":
if asnobj.type != "Enumerated" and asnobj.constrainttype != "CONSTANT":
firstletter = asnobj.name[0]
asnobj.name = asnobj.name[1:]
asnobj.name = firstletter.capitalize() + asnobj.name
for i in range(0, len(string)):
if string[i] == openparanthesis:
words = words[1].split(openparanthesis, 1)
parsesize(asnobj, words[1])
break
elif string[i] == openbracket:
words = words[1].split(openbracket, 1)
tmpstring = words[1].strip()
while len(tmpstring) > 0:
if tmpstring[len(tmpstring) - 1] == closedbracket:
asnobj.name = asnobj.name.replace("_", "")
if asnobj.constrainttype != "CONSTANT":
for i in range(0, len(string)):
if string[i] == openparantheses:
words = words[1].split(openparantheses, 1)
parsesize(asnobj, words[1])
break
elif string[i] == openbracket:
words = words[1].split(openbracket, 1)
tmpstring = words[1].strip()
while len(tmpstring) > 0:
if tmpstring[len(tmpstring) - 1] == closedbracket:
tmpstring = tmpstring[:-1]
break
tmpstring = tmpstring[:-1]
break
tmpstring = tmpstring[:-1]
parsebracket(asnobj, tmpstring, 0)
break
else:
asnobj.constrainttype = "UNCONSTRAINED"
parsebracket(asnobj, tmpstring, 0)
break
else:
asnobj.constrainttype = "UNCONSTRAINED"
if asnobj.type == "SequenceOf":
objs = list()
......@@ -199,6 +241,11 @@ def parsestring(string):
objs.append(obj)
asnobj.objs = objs
if asnobj.constrainttype == "CONSTANT":
words = words[1].split(assign)
words = words[1].split()
asnobj.value = int(words[0])
return asnobj
def printobjects(asnobjs):
......@@ -234,23 +281,27 @@ def checkandhandledeps(asnobj, hdrfile, srcfile):
def writeobject(asnobj, hdrfile, srcfile):
if asnobj.written == 0:
if asnobj.parent != None:
asnobj.name = asnobj.parent.name + asnobj.name
# Null and Boolean
if asnobj.type == "_Null" or asnobj.type == "Boolean":
if asnobj.type == "Null" or asnobj.type == "Boolean":
hdrfile.write("typedef " + asnobj.type + " " + asnobj.name + ";\n")
asnobj.type = asnobj.name
# Constraint types
if asnobj.type == "Integer" or asnobj.type == "BitString" or asnobj.type == "OctetString":
hdrfile.write("typedef " + asnobj.type + "<" + asnobj.constrainttype)
if asnobj.lowerlimit != '':
hdrfile.write(", " + asnobj.lowerlimit)
if asnobj.upperlimit != '':
hdrfile.write(", " + asnobj.upperlimit)
hdrfile.write("> " + asnobj.name + ";\n")
asnobj.type = asnobj.name
if asnobj.constrainttype == "CONSTANT":
hdrfile.write("const " + asnobj.type + "Base " + asnobj.name + "(" + str(asnobj.value) + ");\n")
else:
if asnobj.type == "Integer" or asnobj.type == "BitString" or asnobj.type == "OctetString":
hdrfile.write("typedef " + asnobj.type + "<" + asnobj.constrainttype)
if asnobj.lowerlimit != '':
hdrfile.write(", " + asnobj.lowerlimit)
if asnobj.upperlimit != '':
hdrfile.write(", " + asnobj.upperlimit)
hdrfile.write("> " + asnobj.name + ";\n")
asnobj.type = asnobj.name
# Enumerated
......@@ -325,7 +376,7 @@ def writeobject(asnobj, hdrfile, srcfile):
"\tstatic const void *choicesInfo[" + str(len(asnobj.objs)) + "];\n" +
"public:\n" +
"\tstatic const Info theInfo;\n"
"\t" + asnobj.name + "(): Choices(&theInfo) {}\n")
"\t" + asnobj.name + "(): Choice(&theInfo) {}\n")
hdrfile.write("};\n")
srcfile.write("const void *" + asnobj.name + "::choicesInfo[" + str(len(asnobj.objs)) + "] = {\n")
for j in range(0, len(asnobj.objs)):
......@@ -374,8 +425,9 @@ def main():
(options, args) = parser.parse_args()
directory = "/root/Desktop/omnetpp-4.2.2/samples/4Gsim/src/linklayer/lte/rrc/message/"
filename = "RRCIe"
#directory = "/root/Desktop/omnetpp-4.2.2/samples/4Gsim/src/linklayer/lte/rrc/message/"
directory = "F:\\omnetpp-4.2.2\\samples\\4Gsim\\src\\linklayer\\lte\\rrc\\message\\"
filename = "Constant-definitions"
file = open(directory + filename + ".asn", "r")
lines = file.readlines()
......@@ -396,22 +448,25 @@ def main():
#printobjects(asnobjs)
print ("writing source files...")
hdrfile = open(directory + filename + ".h", 'w')
srcfile = open(directory + filename + ".cc", 'w')
hdrfile = open(directory + outfilename + ".h", 'w')
srcfile = open(directory + outfilename + ".cc", 'w')
writeheader(hdrfile)
writeheader(srcfile)
hdrfile.write("#ifndef " + filename.upper() + "_H_\n" +
"#define " + filename.upper() + "_H_\n\n" +
"#include \"ASNTypes.h\"\n\n")
hdrfile.write("#ifndef " + outfilename.upper() + "_H_\n" +
"#define " + outfilename.upper() + "_H_\n\n" +
"#include \"ASNTypes.h\"\n")
for i in range(0, len(includes)):
hdrfile.write("#include \"" + includes[i] + ".h\"\n")
hdrfile.write("\n")
srcfile.write("#include \"" + filename + ".h\"\n\n")
srcfile.write("#include \"" + outfilename + ".h\"\n\n")
for i in range (0, len(asnobjs)):
asnobj = asnobjs[i]
writeobject(asnobj, hdrfile, srcfile)
hdrfile.write("#endif /* " + filename.upper() + "_H_ */\n")
hdrfile.write("#endif /* " + outfilename.upper() + "_H_ */\n")
srcfile.close()
hdrfile.close()
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册