Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
MEC - Multi-access Edge Computing
MEC TTCN-3 Test Suite
Commits
2be74c99
Commit
2be74c99
authored
Aug 13, 2019
by
YannGarcia
Browse files
Finalyze RnisQuery_BV/RnisQuery_BI_BO tests
parent
68867733
Changes
13
Expand all
Hide whitespace changes
Inline
Side-by-side
TODO.md
View file @
2be74c99
...
...
@@ -27,8 +27,37 @@ https://forge.etsi.org/gitlab/mec/gs032p2-test-purposes/blob/master/Test%20Purpo
https://forge.etsi.org/gitlab/mec/gs032p2-test-purposes/blob/master/Test%20Purposes/SRV/RNIS/RnisSpecificSubscription_BV.tplan2
-
TC_MEC_SRV_RNIS_011_OK
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_012_OK
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_011_BR
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_012_BR
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_016_OK
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_016_BR
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_016_NF
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_017_OK
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_017_BR
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_017_NF
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_018_OK
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_018_BR
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_018_NF
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_019_OK
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_019_BR
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_019_NF
<font
color=
"color:green"
>
To be tested
</font>
### SAQ
### SRVSUB
...
...
ccsrc/Protocols/Json/json_codec.cc
View file @
2be74c99
...
...
@@ -99,14 +99,126 @@ int json_codec::decode (const OCTETSTRING& p_data, LibItsHttp__JsonMessageBodyTy
traffic_rule
.
decode
(
AppEnablementAPI__TypesAndValues
::
TrafficRule_descr_
,
decoding_buffer
,
TTCN_EncDec
::
CT_JSON
);
msg
.
trafficRule
()
=
traffic_rule
;
}
else
if
(
it
->
second
.
find
(
"
\"
CellChangeSubscription
\"
"
)
!=
std
::
string
::
npos
)
{
// Replace "type": "1" by type": "EU_IPV4_ADDRESS", "type": "2"...
// TODO Create a method instead of copy/past
//loggers::get_instance().log("json_codec::decode: Before, str=%s", str.c_str());
std
::
size_t
it_start
=
str
.
find
(
"
\"
type
\"
"
);
loggers
::
get_instance
().
log
(
"json_codec::decode: id_start=%d"
,
it_start
);
if
(
it_start
!=
std
::
string
::
npos
)
{
std
::
size_t
it_stop
=
str
.
find
(
","
,
it_start
);
//loggers::get_instance().log("json_codec::decode: id_stop=%d", it_stop);
//loggers::get_instance().log("json_codec::decode: segment=%s", str.substr(it_start, it_stop - it_start).c_str());
std
::
size_t
it
=
str
.
find
(
"1"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"UE_IPV4_ADDRESS"
+
str
.
substr
(
it
+
1
);
}
else
{
it
=
str
.
find
(
"2"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"UE_IPV6_ADDRESS"
+
str
.
substr
(
it
+
1
);
}
else
{
it
=
str
.
find
(
"3"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"NATED_IP_ADDRESS"
+
str
.
substr
(
it
+
1
);
}
else
{
it
=
str
.
find
(
"4"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"GTP_TEID"
+
str
.
substr
(
it
+
1
);
}
}
}
}
}
//loggers::get_instance().log("json_codec::decode: After, str=%s", str.c_str());
decoding_buffer
.
clear
();
decoding_buffer
.
put_os
(
OCTETSTRING
(
str
.
length
(),
(
const
unsigned
char
*
)
str
.
c_str
()));
RnisAPI__TypesAndValues
::
CellChangeSubscription
cell_change_subscription
;
cell_change_subscription
.
decode
(
RnisAPI__TypesAndValues
::
CellChangeSubscription_descr_
,
decoding_buffer
,
TTCN_EncDec
::
CT_JSON
);
msg
.
cellChangeSubscription
()
=
cell_change_subscription
;
//TODO Continue with other ChangeSubscription
}
else
if
(
it
->
second
.
find
(
"
\"
RabInfo
\"
"
)
!=
std
::
string
::
npos
)
{
// Replace "type": "1" by type": "EU_IPV4_ADDRESS", "type": "2"...
// TODO Create a method instead of copy/past
// loggers::get_instance().log("json_codec::decode: Before, str=%s", str.c_str());
std
::
size_t
it_start
=
str
.
find
(
"
\"
type
\"
"
);
loggers
::
get_instance
().
log
(
"json_codec::decode: id_start=%d"
,
it_start
);
if
(
it_start
!=
std
::
string
::
npos
)
{
std
::
size_t
it_stop
=
str
.
find
(
","
,
it_start
);
//loggers::get_instance().log("json_codec::decode: id_stop=%d", it_stop);
//loggers::get_instance().log("json_codec::decode: segment=%s", str.substr(it_start, it_stop - it_start).c_str());
std
::
size_t
it
=
str
.
find
(
"1"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"UE_IPV4_ADDRESS"
+
str
.
substr
(
it
+
1
);
}
else
{
it
=
str
.
find
(
"2"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"UE_IPV6_ADDRESS"
+
str
.
substr
(
it
+
1
);
}
else
{
it
=
str
.
find
(
"3"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"NATED_IP_ADDRESS"
+
str
.
substr
(
it
+
1
);
}
else
{
it
=
str
.
find
(
"4"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"GTP_TEID"
+
str
.
substr
(
it
+
1
);
}
}
}
}
}
//loggers::get_instance().log("json_codec::decode: After, str=%s", str.c_str());
decoding_buffer
.
clear
();
decoding_buffer
.
put_os
(
OCTETSTRING
(
str
.
length
(),
(
const
unsigned
char
*
)
str
.
c_str
()));
RnisAPI__TypesAndValues
::
RabInfo
rab_info
;
rab_info
.
decode
(
RnisAPI__TypesAndValues
::
RabInfo_descr_
,
decoding_buffer
,
TTCN_EncDec
::
CT_JSON
);
msg
.
rabInfo
()
=
rab_info
;
}
else
if
(
it
->
second
.
find
(
"
\"
S1BearerInfo
\"
"
)
!=
std
::
string
::
npos
)
{
// Replace "type": "1" by type": "EU_IPV4_ADDRESS", "type": "2"...
// TODO Create a method instead of copy/past
// loggers::get_instance().log("json_codec::decode: Before, str=%s", str.c_str());
std
::
size_t
it_start
=
str
.
find
(
"
\"
type
\"
"
);
loggers
::
get_instance
().
log
(
"json_codec::decode: id_start=%d"
,
it_start
);
if
(
it_start
!=
std
::
string
::
npos
)
{
std
::
size_t
it_stop
=
str
.
find
(
","
,
it_start
);
//loggers::get_instance().log("json_codec::decode: id_stop=%d", it_stop);
//loggers::get_instance().log("json_codec::decode: segment=%s", str.substr(it_start, it_stop - it_start).c_str());
std
::
size_t
it
=
str
.
find
(
"1"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"UE_IPV4_ADDRESS"
+
str
.
substr
(
it
+
1
);
}
else
{
it
=
str
.
find
(
"2"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"UE_IPV6_ADDRESS"
+
str
.
substr
(
it
+
1
);
}
else
{
it
=
str
.
find
(
"3"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"NATED_IP_ADDRESS"
+
str
.
substr
(
it
+
1
);
}
else
{
it
=
str
.
find
(
"4"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"GTP_TEID"
+
str
.
substr
(
it
+
1
);
}
}
}
}
}
//loggers::get_instance().log("json_codec::decode: After, str=%s", str.c_str());
decoding_buffer
.
clear
();
decoding_buffer
.
put_os
(
OCTETSTRING
(
str
.
length
(),
(
const
unsigned
char
*
)
str
.
c_str
()));
RnisAPI__TypesAndValues
::
S1BearerInfo
s1_nearer_info
;
s1_nearer_info
.
decode
(
RnisAPI__TypesAndValues
::
S1BearerInfo_descr_
,
decoding_buffer
,
TTCN_EncDec
::
CT_JSON
);
msg
.
s1BearerInfo
()
=
s1_nearer_info
;
}
else
if
(
it
->
second
.
find
(
"
\"
PlmnInfo
\"
"
)
!=
std
::
string
::
npos
)
{
RnisAPI__TypesAndValues
::
PlmnInfo
plmn_info
;
plmn_info
.
decode
(
RnisAPI__TypesAndValues
::
PlmnInfo_descr_
,
decoding_buffer
,
TTCN_EncDec
::
CT_JSON
);
...
...
@@ -139,7 +251,7 @@ int json_codec::decode (const OCTETSTRING& p_data, LibItsHttp__JsonMessageBodyTy
RnisAPI__TypesAndValues
::
ProblemDetails
problem_details
;
problem_details
.
decode
(
RnisAPI__TypesAndValues
::
ProblemDetails_descr_
,
decoding_buffer
,
TTCN_EncDec
::
CT_JSON
);
msg
.
problemDetails__rni
()
=
problem_details
;
msg
.
problemDetails__rni
s
()
=
problem_details
;
}
else
{
...
...
etc/AtsMec/AtsMec.cfg
View file @
2be74c99
...
...
@@ -104,7 +104,18 @@ system.httpPort.params := "HTTP(codecs=json:json_codec)/TCP(debug=1,server=192.1
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_012_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_011_BR
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_012_BR
AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_016_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_016_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_017_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_018_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_019_OK
AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_016_BR
AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_016_NF
AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_017_BR
AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_017_NF
AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_018_BR
AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_018_NF
AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_019_BR
AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_019_NF
#AtsMec_AppEnablementAPI_TestCases.TC_MEC_SRV_TRANS_001_OK
#AtsMec_AppEnablementAPI_TestCases.TC_MEC_SRV_TRAF_001_OK
...
...
ttcn/AtsMec/AtsMec_RnisAPI_TestCases.ttcn
View file @
2be74c99
This diff is collapsed.
Click to expand it.
ttcn/AtsMec/AtsMec_TestControl.ttcn
View file @
2be74c99
...
...
@@ -78,7 +78,17 @@ module AtsMec_TestControl {
}
if
(
PICS_RNIS_QUERY
)
{
execute
(
TC_MEC_SRV_RNIS_016_OK
());
execute
(
TC_MEC_SRV_RNIS_016_BR
());
execute
(
TC_MEC_SRV_RNIS_016_NF
());
execute
(
TC_MEC_SRV_RNIS_017_OK
());
execute
(
TC_MEC_SRV_RNIS_017_BR
());
execute
(
TC_MEC_SRV_RNIS_017_NF
());
execute
(
TC_MEC_SRV_RNIS_018_OK
());
execute
(
TC_MEC_SRV_RNIS_018_BR
());
execute
(
TC_MEC_SRV_RNIS_018_NF
());
execute
(
TC_MEC_SRV_RNIS_019_OK
());
execute
(
TC_MEC_SRV_RNIS_019_BR
());
execute
(
TC_MEC_SRV_RNIS_019_NF
());
}
}
...
...
LibIts
@
1e93108a
Subproject commit
806e133118639e261fc589daeffb078559ca605c
Subproject commit
1e93108a94eaa6f95f5b508194bd0632c11f1a1b
ttcn/LibMec/Ams/ttcn/Ams_Templates.ttcn
View file @
2be74c99
...
...
@@ -10,43 +10,41 @@ module Ams_Templates {
import
from
Ams_TypesAndValues
all
;
import
from
Ams_Pixits
all
;
template
(
value
)
AppMobilityServiceInfo
m_app_mobility_service_info
(
in
String
p_app_mobility_service_id
:=
PX_APP_MOBILITY_SERVICE_ID
,
in
template
(
omit
)
RegistrationInfos
p_registration_info
:=
omit
template
(
omit
)
AppMobilityServiceInfo
m_app_mobility_service_info
(
in
String
p_app_mobility_service_id
:=
PX_APP_MOBILITY_SERVICE_ID
,
in
template
(
omit
)
RegistrationInfos
p_registration_info
:=
omit
)
:=
{
a
ppMobilityService
Id
:=
p_app_mobility_service_id
,
registeredA
ppMobilityService
:=
p_registration_info
registeredA
ppMobilityService
:=
p_registration_info
,
a
ppMobilityService
Id
:=
p_app_mobility_service_id
}
// End of template m_app_mobility_service_info
template
(
present
)
AppMobilityServiceInfo
mw_app_mobility_service_info
(
template
(
present
)
RegistrationInfos
p_registration_info
:=
omit
,
in
String
p_app_mobility_service_id
template
(
present
)
RegistrationInfos
p_registration_info
:=
?
,
template
(
present
)
String
p_app_mobility_service_id
:=
?
)
:=
{
a
ppMobilityService
Id
:=
p_app_mobility_service_id
,
registeredA
ppMobilityService
:=
p_
registration_info
registeredA
ppMobilityService
:=
p_registration_info
,
a
ppMobilityService
Id
:=
p_
app_mobility_service_id
}
template
(
value
)
RegistrationRequest
m_registration_request
(
in
template
(
omit
)
ServiceConsumerId
p_service_consumer_id
:=
omit
,
in
template
(
omit
)
DeviceInformations
p_device_info
:=
omit
,
in
UInt32
p_expire_time
template
(
omit
)
RegistrationRequest
m_registration_request
(
in
template
(
omit
)
ServiceConsumerId
p_service_consumer_id
:=
omit
,
in
template
(
omit
)
DeviceInformations
p_device_info
:=
omit
,
in
UInt32
p_expire_time
)
:=
{
serviceConsumerId
:=
p_service_consumer_id
,
deviceInformation
:=
p_device_info
,
expiryTime
:=
p_expire_time
expiryTime
:=
p_expire_time
}
template
(
present
)
RegistrationRequest
mw_registration_request
(
in
template
(
present
)
ServiceConsumerId
p_service_consumer_id
:=
omit
,
in
template
(
present
)
DeviceInformations
p_device_info
:=
omit
,
in
UInt32
p_expire_time
:=
omit
template
RegistrationRequest
mw_registration_request
(
template
ServiceConsumerId
p_service_consumer_id
:=
?
,
template
DeviceInformations
p_device_info
:=
omit
,
template
UInt32
p_expire_time
:=
omit
)
:=
{
serviceConsumerId
:=
p_service_consumer_id
,
deviceInformation
:=
omit
,
expiryTime
:=
omit
deviceInformation
:=
p_device_info
,
expiryTime
:=
p_expire_time
}
...
...
@@ -60,13 +58,13 @@ module Ams_Templates {
expiryTime
:=
p_expire_time
}
template
(
present
)
RegistrationInfo
mw_registration_info
(
in
template
(
present
)
ServiceConsumerId
p_service_consumer_id
:=
omit
,
in
template
(
present
)
DeviceInformations
p_device_info
:=
omit
,
in
UInt32
p_expire_time
template
(
present
)
RegistrationInfo
mw_registration_info
(
template
(
present
)
ServiceConsumerId
p_service_consumer_id
:=
?
,
template
(
present
)
DeviceInformations
p_device_info
:=
?
,
template
(
present
)
UInt32
p_expire_time
)
:=
{
serviceConsumerId
:=
p_service_consumer_id
,
deviceInformation
:=
omit
,
deviceInformation
:=
p_device_info
,
expiryTime
:=
p_expire_time
}
...
...
@@ -90,12 +88,12 @@ module Ams_Templates {
template
(
omit
)
ServiceConsumerId
mw_service_consumer_id
(
in
String
p_app_instance_id
,
in
String
p_mep_id
template
ServiceConsumerId
mw_service_consumer_id
(
template
(
present
)
String
p_app_instance_id
:=
?
,
template
(
present
)
String
p_mep_id
:=
?
)
:=
{
appInstanceId
:=
omit
,
mepId
:=
omit
appInstanceId
:=
p_app_instance_id
,
mepId
:=
p_mep_id
}
...
...
ttcn/LibMec/RnisAPI/json/RnisAPI.json
View file @
2be74c99
...
...
@@ -5645,7 +5645,7 @@
"type"
:
"object"
,
"required"
:
[
"appInsId"
,
"
ecgi
"
"
plmn
"
],
"properties"
:
{
"timeStamp"
:
{
...
...
@@ -5654,8 +5654,11 @@
"appInsId"
:
{
"$ref"
:
"#/definitions/AppInsId"
},
"ecgi"
:
{
"$ref"
:
"#/definitions/Ecgi"
"plmn"
:
{
"type"
:
"array"
,
"items"
:
{
"$ref"
:
"#/definitions/Plmn"
}
}
}
},
...
...
@@ -5703,7 +5706,6 @@
"S1UeInfo"
:
{
"type"
:
"object"
,
"required"
:
[
"tempUeId"
,
"ecgi"
,
"s1BearerInfoDetailed"
],
...
...
@@ -5739,13 +5741,14 @@
"type"
:
"object"
,
"required"
:
[
"erabId"
,
"s1EnbInfo"
"enbInfo"
,
"sGwInfo"
],
"properties"
:
{
"erabId"
:
{
"$ref"
:
"#/definitions/ErabId"
},
"
s1E
nbInfo"
:
{
"
e
nbInfo"
:
{
"$ref"
:
"#/definitions/S1EnbInfo"
},
"sGwInfo"
:
{
...
...
@@ -5962,10 +5965,10 @@
"example"
:
"UE_IPV4_ADDRESS"
},
"value"
:
{
"type"
:
"
integer
"
,
"format"
:
"
int32
"
,
"type"
:
"
String
"
,
"format"
:
"
String
"
,
"description"
:
"Value for the identifier"
,
"example"
:
1
"example"
:
"192.0.0.2"
}
}
},
...
...
@@ -5975,8 +5978,11 @@
"qci"
:
{
"$ref"
:
"#/definitions/Qci"
},
"qci_information"
:
{
"$ref"
:
"#/definitions/QosInformation"
"qosInformation"
:
{
"type"
:
"array"
,
"items"
:
{
"$ref"
:
"#/definitions/QosInformation"
}
}
}
},
...
...
ttcn/LibMec/RnisAPI/ttcn/RnisAPI_Pixits.ttcn
View file @
2be74c99
...
...
@@ -18,10 +18,18 @@ module RnisAPI_Pixits {
modulepar
CallbackReference
PX_CALLBACK_REFERENCE
:=
"http://meAppClient.example.com/rni/v2/notifications/cell_change/77777"
;
modulepar
UInt32
PX_ASSOCIATE_ID_VALUE
:=
1
;
modulepar
JSON
.
String
PX_ASSOCIATE_ID_VALUE
:=
"192.0.0.2"
;
modulepar
CellId
PX_CELL_ID
:=
"0x0800000A"
;
modulepar
CellId
PX_C_ID
:=
"0xFFFFFFFF"
;
modulepar
CellId
PX_NOT_EXISTENT_CELL_ID
:=
"0x8000099"
;
modulepar
AppInsId
PX_APP_INS_ID
:=
"01"
;
modulepar
AppInsId
PX_APP_ID
:=
"19"
;
modulepar
AppInsId
PX_NOT_EXISTENT_APP_INS_ID
:=
"99"
;
}
// End of module RnisAPI_Pixits
ttcn/LibMec/RnisAPI/ttcn/RnisAPI_Templates.ttcn
View file @
2be74c99
...
...
@@ -72,6 +72,45 @@ module RnisAPI_Templates {
subscriptionType
:=
p_subscriptionType
}
// End of temlate mw_subscription
template
(
omit
)
CellChangeSubscription
m_cell_change_subscription
(
in
template
(
value
)
CallbackReference
p_callbackReference
,
in
template
(
value
)
Link
p_links
,
in
template
(
value
)
FilterCriteriaAssocHo
p_filterCriteria
,
in
template
(
omit
)
TimeStamp
p_expiryDeadline
:=
omit
)
:=
{
subscriptionType
:=
CELL_CHANGE
,
callbackReference
:=
p_callbackReference
,
links
:=
p_links
,
filterCriteria
:=
p_filterCriteria
,
expiryDeadline
:=
p_expiryDeadline
}
// End of template m_cell_change_subscription
template
(
omit
)
CellChangeSubscription
m_cell_change_subscription_wrong_subscription_type
(
in
template
(
value
)
CallbackReference
p_callbackReference
,
in
template
(
value
)
Link
p_links
,
in
template
(
value
)
FilterCriteriaAssocHo
p_filterCriteria
,
in
template
(
omit
)
TimeStamp
p_expiryDeadline
:=
omit
)
modifies
m_cell_change_subscription
:=
{
subscriptionType
:=
WRONG_PARAMETER
}
// End of template m_cell_change_subscription_wrong_subscription_type
template
CellChangeSubscription
mw_cell_change_subscription
(
template
(
present
)
CallbackReference
p_callbackReference
:=
?
,
template
(
present
)
Link
p_links
:=
?
,
template
(
present
)
FilterCriteriaAssocHo
p_filterCriteria
:=
?
,
template
TimeStamp
p_expiryDeadline
:=
*
)
:=
{
subscriptionType
:=
CELL_CHANGE
,
callbackReference
:=
p_callbackReference
,
links
:=
p_links
,
filterCriteria
:=
p_filterCriteria
,
expiryDeadline
:=
p_expiryDeadline
}
// End of template mw_cell_change_subscription
}
// End of group subscriptions
group
info_request
{
template
(
value
)
RabInfo
m_rab_info
(
in
template
(
value
)
TimeStamp
p_timeStamp
,
in
AppInsId
p_appInsId
,
...
...
@@ -97,25 +136,69 @@ module RnisAPI_Templates {
}
// End of temlate mw_rab_info
template
(
value
)
PlmnInfo
m_plmn_info
(
in
template
(
value
)
TimeStamp
p_timeStamp
,
in
AppInsId
p_appInsId
,
in
template
(
value
)
Ecgi
p_ecgi
in
template
(
value
)
TimeStamp
p_timeStamp
,
in
AppInsId
p_appInsId
,
in
template
(
value
)
Plmns
p_plmn
)
:=
{
timeStamp
:=
p_timeStamp
,
appInsId
:=
p_appInsId
,
ecgi
:=
p_
ecgi
plmn
:=
p_
plmn
}
// End of temlate m_plmn_info
template
(
present
)
PlmnInfo
mw_plmn_info
(
template
(
present
)
TimeStamp
p_timeStamp
:=
?
,
template
(
present
)
AppInsId
p_appInsId
:=
?
,
template
(
present
)
Ecgi
p_ecgi
:=
?
template
(
present
)
TimeStamp
p_timeStamp
:=
?
,
template
(
present
)
AppInsId
p_appInsId
:=
?
,
template
(
present
)
Plmns
p_plmn
:=
?
)
:=
{
timeStamp
:=
p_timeStamp
,
appInsId
:=
p_appInsId
,
ecgi
:=
p_
ecgi
plmn
:=
p_
plmn
}
// End of temlate mw_plmn_info
template
(
value
)
S1BearerInfo
m_s1_bearer_info
(
in
template
(
value
)
TimeStamp
p_timeStamp
,
in
template
(
value
)
S1UeInfo
p_s1UeInfo
)
:=
{
timeStamp
:=
p_timeStamp
,
s1UeInfo
:=
p_s1UeInfo
}
// End of temlate m_s1_bearer_info
template
(
present
)
S1BearerInfo
mw_s1_bearer_info
(
template
(
present
)
TimeStamp
p_timeStamp
:=
?
,
template
(
present
)
S1UeInfo
p_s1UeInfo
:=
?
)
:=
{
timeStamp
:=
p_timeStamp
,
s1UeInfo
:=
p_s1UeInfo
}
// End of temlate mw_s1_bearer_info
}
// End of group info_request
group
sub_types
{
template
(
value
)
S1UeInfo_
m_s1_ue_info
(
in
template
(
value
)
TempUeId
p_tempUeId
,
in
template
(
value
)
AssociateId
p_associateId
,
in
template
(
value
)
Ecgis
p_ecgi
,
in
template
(
value
)
S1BearerInfoDetailed
p_s1BearerInfoDetailed
)
:=
{
tempUeId
:=
p_tempUeId
,
associateId
:=
p_associateId
,
ecgi
:=
p_ecgi
,
s1BearerInfoDetailed
:=
p_s1BearerInfoDetailed
}
// End of m_s1_ue_info
template
(
present
)
S1UeInfo_
mw_s1_ue_info
(
template
(
present
)
TempUeId
p_tempUeId
:=
?
,
template
(
present
)
AssociateId
p_associateId
:=
?
,
template
(
present
)
Ecgis
p_ecgi
:=
?
,
template
(
present
)
S1BearerInfoDetailed
p_s1BearerInfoDetailed
:=
?
)
:=
{
tempUeId
:=
p_tempUeId
,
associateId
:=
p_associateId
,
ecgi
:=
p_ecgi
,
s1BearerInfoDetailed
:=
p_s1BearerInfoDetailed
}
// End of mw_s1_ue_info
template
(
value
)
TimeStamp
m_time_stamp
(
in
UInt32
p_seconds
,
in
UInt32
p_nanoSeconds
:=
0
...
...
@@ -132,138 +215,134 @@ module RnisAPI_Templates {
nanoSeconds
:=
p_nanoSeconds
}
// End of temlate mw_time_stamp
group
cell
{
template
(
omit
)
CellChangeSubscription
m_cell_change_subscription
(
in
template
(
value
)
CallbackReference
p_callbackReference
,
in
template
(
value
)
Link
p_links
,
in
template
(
value
)
FilterCriteriaAssocHo
p_filterCriteria
,
in
template
(
omit
)
TimeStamp
p_expiryDeadline
:=
omit
)
:=
{
subscriptionType
:=
CELL_CHANGE
,
callbackReference
:=
p_callbackReference
,
links
:=
p_links
,
filterCriteria
:=
p_filterCriteria
,
expiryDeadline
:=
p_expiryDeadline
}
// End of template m_cell_change_subscription
template
(
omit
)
CellChangeSubscription
m_cell_change_subscription_wrong_subscription_type
(
in
template
(
value
)
CallbackReference
p_callbackReference
,
in
template
(
value
)
Link
p_links
,
in
template
(
value
)
FilterCriteriaAssocHo
p_filterCriteria
,
in
template
(
omit
)
TimeStamp
p_expiryDeadline
:=
omit
)
modifies
m_cell_change_subscription
:=
{
subscriptionType
:=
WRONG_PARAMETER
}
// End of template m_cell_change_subscription_wrong_subscription_type
template
CellChangeSubscription
mw_cell_change_subscription
(
template
(
present
)
CallbackReference
p_callbackReference
:=
?
,
template
(
present
)
Link
p_links
:=
?
,
template
(
present
)
FilterCriteriaAssocHo
p_filterCriteria
:=
?
,
template
TimeStamp
p_expiryDeadline
:=
*
)
:=
{
subscriptionType
:=
CELL_CHANGE
,
callbackReference
:=
p_callbackReference
,
links
:=
p_links
,
filterCriteria
:=
p_filterCriteria
,
expiryDeadline
:=
p_expiryDeadline
}
// End of template mw_cell_change_subscription
template
(
value
)
FilterCriteriaAssocHo
m_filter_criteria
(
in
AppInsId
p_appInsId
,
in
template
(
value
)
AssociateId
p_associateId
,
in
template
(
value
)
Plmn
p_plmn
,