Commit 68867733 authored by Elian Kraja's avatar Elian Kraja

Merging jsonMessageBodyTypes and JsonTemplates

parents 30d3f8ad b55fa194
ETSI Software License
As long as the hereunder conditions are respected, non-exclusive permission is
hereby granted, free of charge, to use, reproduce and modify this software
source code, under the following conditions:
- This source code is provided “AS IS” with no warranties, express or implied,
including but not limited to, the warranties of merchantability, fitness for
a particular purpose and warranties for non-infringement of intellectual
property rights. ETSI shall not be held liable in any event for any direct or
indirect damages whatsoever (including, without limitation, damages for loss
of profits, business interruption, loss of information, or any other pecuniary
loss) arising out of or related to the use of or inability to use the
source code.
- This permission is granted to facilitate the implementation of the related
ETSI standard, provided that ETSI is given the right to use, reproduce and
amend the modified source code under the same conditions as the
present permission.
- This permission does not apply to any documentation associated with this
source code for which ETSI keeps all rights reserved.
The present ETSI Source Code license shall be included in all copies of whole
or part of this source code and shall not imply any sub-license right.
......@@ -21,6 +21,14 @@ This file provides the list of the TODOs related to the STF 569.
### RNIS
Draft ETSI GS MEC 012 2.0.4
https://forge.etsi.org/gitlab/mec/gs032p2-test-purposes/blob/master/Test%20Purposes/SRV/RNIS/RnisSpecificSubscription_BV.tplan2
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>
### SAQ
### SRVSUB
......@@ -29,18 +37,39 @@ This file provides the list of the TODOs related to the STF 569.
### TRAF
Draft ETSI GS MEC 011 V2.0.9 (2018-10)
https://forge.etsi.org/gitlab/mec/gs032p2-test-purposes/blob/remove-401s/Test%20Purposes/SRV/TRAF/PlatTrafficRules.tplan2
- TC_MEC_SRV_TRANS_001_OK <font color="color:green">To be tested</font>
- TC_MEC_SRV_TRAF_001_OK <font color="color:green">To be tested</font>
- TC_MEC_SRV_TRAF_002_OK <font color="color:green">To be tested</font>
- TC_MEC_SRV_TRAF_003_OK <font color="color:green">To be tested</font>
- TC_MEC_SRV_TRAF_001_NF <font color="color:green">To be tested</font>
### TRANS
Draft ETSI GS MEC 011 V2.0.9 (2018-10)
https://forge.etsi.org/gitlab/mec/gs032p2-test-purposes/blob/remove-401s/Test%20Purposes/SRV/TRANS/PlatTransport.tplan2
- TP_MEC_SRV_TRAF_001_OK <font color="color:green">To be tested</font>
### UEAREASUB
Draft ETSI GS MEC 013 V2.0.3 (2018-10)
https://forge.etsi.org/gitlab/mec/gs032p2-test-purposes/blob/remove-401s/Test%20Purposes/SRV/UEDISTSUB/PlatUeAreaSubscription.tplan2
TODO CircleNotificationSubscription data structure not found
### UEDISTLOOK
Draft ETSI GS MEC 013 V2.0.3 (2018-10)
https://forge.etsi.org/gitlab/mec/gs032p2-test-purposes/blob/remove-401s/Test%20Purposes/SRV/UEDISTSUB/PlatUeDistanceSubscription.tplan2
TODO TerminalDistance data structure not found
https://forge.etsi.org/gitlab/mec/gs032p2-test-purposes/blob/remove-401s/Test%20Purposes/SRV/UEDISTLOOK/PlatUeDistanceSubscription.tplan2
TODO TerminalDistance data structure not found
### UEDISTSUB
......@@ -50,7 +79,6 @@ https://forge.etsi.org/gitlab/mec/gs032p2-test-purposes/blob/remove-401s/Test%20
TODO DistanceNotificationSubscription data structure not found
### UEINFLOOK
Draft ETSI GS MEC 013 V2.0.3 (2018-10)
......
......@@ -24,6 +24,10 @@ int json_codec::encode (const LibItsHttp__JsonMessageBodyTypes::JsonBody& msg, O
const LocationAPI__TypesAndValues::UserTrackingSubscription& user_tracking_subscription = msg.userTrackingSubscription();
user_tracking_subscription.encode(LocationAPI__TypesAndValues::UserTrackingSubscription_descr_, encoding_buffer, TTCN_EncDec::CT_JSON);
data = char2oct(CHARSTRING("{\"userTrackingSubscription\": ")) + OCTETSTRING(encoding_buffer.get_len(), encoding_buffer.get_data()) + char2oct(CHARSTRING("}"));
} else if (msg.ischosen(LibItsHttp__JsonMessageBodyTypes::JsonBody::ALT_cellChangeSubscription)) {
const RnisAPI__TypesAndValues::CellChangeSubscription& cell_change_subscription = msg.cellChangeSubscription();
cell_change_subscription.encode(RnisAPI__TypesAndValues::CellChangeSubscription_descr_, encoding_buffer, TTCN_EncDec::CT_JSON);
data = char2oct(CHARSTRING("{\"CellChangeSubscription\": ")) + OCTETSTRING(encoding_buffer.get_len(), encoding_buffer.get_data()) + char2oct(CHARSTRING("}"));
} else {
loggers::get_instance().error("json_codec::encode: Not supported");
}
......@@ -58,21 +62,26 @@ int json_codec::decode (const OCTETSTRING& p_data, LibItsHttp__JsonMessageBodyTy
// ..and create the decoding buffer
TTCN_Buffer decoding_buffer(OCTETSTRING(str.length(), (const unsigned char*)str.c_str()));
if (it->second.find("\"userList\"") != std::string::npos) { // Be carefull to the order
// TODO To be refined, find("\"userList\"") is not optimal
if (it->second.find("\"userList\"") != std::string::npos) { // Be careful to the order
// TODO To be refined, find("\"userList\"") is not optimal
LocationAPI__TypesAndValues::UserList user_list;
user_list.decode(LocationAPI__TypesAndValues::UserList_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
msg.userList() = user_list;
} else if (it->second.find("\"accessPointList\"") != std::string::npos) { // Be carefull to the order
// TODO To be refined, find("\"accessPointList\"") is not optimal
} else if (it->second.find("\"accessPointList\"") != std::string::npos) { // Be careful to the order
// TODO To be refined, find("\"accessPointList\"") is not optimal
LocationAPI__TypesAndValues::AccessPointList access_point_list;
access_point_list.decode(LocationAPI__TypesAndValues::AccessPointList_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
msg.accessPointList() = access_point_list;
} else if (it->second.find("\"SubscriptionLinkList\"") != std::string::npos) { // Be carefull to the order
// TODO To be refined, find("\"accessPointList\"") is not optimal
} else if (it->second.find("\"SubscriptionLinkList\"") != std::string::npos) { // Be careful to the order
// TODO To be refined, find("\"accessPointList\"") is not optimal
RnisAPI__TypesAndValues::SubscriptionLinkList subscription_link_list;
subscription_link_list.decode(RnisAPI__TypesAndValues::SubscriptionLinkList_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
msg.subscriptionLinkList() = subscription_link_list;
} else if (it->second.find("\"transportInfoList\"") != std::string::npos) { // Be careful to the order
// TODO To be refined, find("\"accessPointList\"") is not optimal
AppEnablementAPI__TypesAndValues::TransportInfoList transport_info_list;
transport_info_list.decode(AppEnablementAPI__TypesAndValues::TransportInfoList_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
msg.transportInfoList() = transport_info_list;
} else if (it->second.find("\"userTrackingSubscription\"") != std::string::npos) {
LocationAPI__TypesAndValues::UserTrackingSubscription user_tracking_subscription;
user_tracking_subscription.decode(LocationAPI__TypesAndValues::UserTrackingSubscription_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
......@@ -85,6 +94,23 @@ int json_codec::decode (const OCTETSTRING& p_data, LibItsHttp__JsonMessageBodyTy
UEidentityAPI__TypesAndValues::UeIdentityTagInfo ue_identity_tag_info;
ue_identity_tag_info.decode(UEidentityAPI__TypesAndValues::UeIdentityTagInfo_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
msg.ueIdentityTagInfo() = ue_identity_tag_info;
} else if (it->second.find("\"trafficRule\"") != std::string::npos) {
AppEnablementAPI__TypesAndValues::TrafficRule traffic_rule;
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) {
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) {
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("\"PlmnInfo\"") != std::string::npos) {
RnisAPI__TypesAndValues::PlmnInfo plmn_info;
plmn_info.decode(RnisAPI__TypesAndValues::PlmnInfo_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
msg.plmnInfo() = plmn_info;
} else if (it->second.find("\"bwInfo\"") != std::string::npos) {
BwManagementAPI__TypesAndValues::BwInfo bw_info;
......@@ -105,9 +131,17 @@ int json_codec::decode (const OCTETSTRING& p_data, LibItsHttp__JsonMessageBodyTy
bw_info.decode(BwManagementAPI__TypesAndValues::BwInfo_descr_, decoding_buffer_, TTCN_EncDec::CT_JSON);
msg.bwInfo() = bw_info;
} else if (it->second.find("\"problemDetails\"") != std::string::npos) { // TODO To be refined, problemDetails in different modules
UEidentityAPI__TypesAndValues::ProblemDetails problem_details;
problem_details.decode(UEidentityAPI__TypesAndValues::ProblemDetails_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
msg.problemDetails__ue__identity() = problem_details;
// UEidentityAPI__TypesAndValues::ProblemDetails problem_details;
// problem_details.decode(UEidentityAPI__TypesAndValues::ProblemDetails_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
// msg.problemDetails__ue__identity() = problem_details;
RnisAPI__TypesAndValues::ProblemDetails problem_details;
problem_details.decode(RnisAPI__TypesAndValues::ProblemDetails_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
msg.problemDetails__rni() = problem_details;
} else {
loggers::get_instance().warning("json_codec::decode: Unsupported variant");
return -1;
......
......@@ -37,6 +37,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update \
libssl-dev \
libtool-bin \
libtool \
libwebsockets-dev \
libwireshark-dev \
libxml2-dev \
lsof \
......@@ -87,9 +88,9 @@ RUN cd /home/etsi \
# Seems that COPY does not work as expected, to be investaged
#==> Fallback to more secured solution
#COPY [^.]* /home/etsi/dev/STF569_Mec/
ADD . /home/etsi/dev/STF569_Mec
#COPY home home/etsi
RUN git clone https://forge.etsi.org/gitlab/mec/gs032p3-ttcn-test-suite.git /home/etsi/dev/STF569_Mec
# RUN git clone https://forge.etsi.org/gitlab/mec/gs032p3-ttcn-test-suite.git /home/etsi/dev/STF569_Mec
RUN chown -R etsi /home/etsi/dev/STF569_Mec/ && cd /home/etsi/dev/STF569_Mec
USER etsi
......@@ -107,8 +108,6 @@ RUN cd /home/etsi/frameworks \
&& rm -f ./eclipse-cpp-photon-R-linux-gtk-x86_64.tar.gz \
&& cd /home/etsi/dev/STF569_Mec \
&& cd /home/etsi/dev/STF569_Mec/ttcn \
&& git clone https://forge.etsi.org/gitlab/LIBS/LibSip.git ./LibSip \
&& git clone https://forge.etsi.org/gitlab/LIBS/LibIms.git ./LibIms \
&& git clone https://forge.etsi.org/gitlab/LIBS/LibCommon.git ./LibCommon \
&& git clone -bSTF525 https://forge.etsi.org/gitlab/LIBS/LibIts ./LibIts \
&& cd /home/etsi/dev/STF569_Mec/ttcn/LibIts \
......
......@@ -3,20 +3,25 @@
# See: https://forge.etsi.org/etsi-forge-copyright-statement.txt
#set -e
#set -vx
set -vx
DOCKER_FILE=./docker/Dockerfile
if [ -f ${DOCKER_FILE} ]
then
docker rm --force stf569_Mec
docker build --tag stf569_Mec --force-rm -f ${DOCKER_FILE} .
#check and build stf569_mec image
DOCKER_ID=`docker ps -a | grep -e stf569_mec | awk '{ print $1 }'`
if [ ! -z "${DOCKER_ID}" ]
then
docker rm --force stf569_mec
fi
docker build --tag stf569_mec --force-rm -f ${DOCKER_FILE} .
if [ "$?" != "0" ]
then
echo "Docker build failed: $?"
exit -1
fi
docker image ls -a
docker inspect stf569_Mec:latest
docker inspect stf569_mec:latest
if [ "$?" != "0" ]
then
echo "Docker inspect failed: $?"
......
......@@ -5,9 +5,9 @@
#set -e
#set -vx
docker run stf569_Mec:latest "/bin/bash" \
docker run stf569_mec:latest "/bin/bash" \
-c "source /home/etsi/devenv.bash \
&& cd /home/etsi/dev/etsi_emcom/src/AtsMec/objs \
&& cd /home/etsi/dev/etsi_mec/src/AtsMec/objs \
&& ../bin/run_all.bash \
&& ls -ltr ../logs"
......
......@@ -7,21 +7,27 @@ LibCommon_Time.PX_TAC := 30.0
LibCommon_Sync.PX_TSYNC_TIME_LIMIT := 30.0;
LibCommon_Sync.PX_TSHUT_DOWN_TIME_LIMIT := 30.0;
LibItsHttp_Pics.PICS_HEADER_HOST := "172.28.4.87"
LibItsHttp_Pics.PICS_HEADER_HOST := "192.168.56.1"
#LibItsHttp_Pics.PICS_HEADER_HOST := "172.28.4.87"
#LibItsHttp_Pics.PICS_HEADER_HOST := "192.168.0.17"
LibItsHttp_Pics.PICS_HEADER_CONTENT_TYPE := "application/json"
LibMec_Pics.PICS_MEC_PLAT := true
LibMec_Pics.PICS_SERVICES := true
LibMec_Pics.PICS_RNIS := false
LibMec_Pics.PICS_MEC_PLAT := true
LibMec_Pics.PICS_SERVICES := true
LibMec_Pics.PICS_RNIS := true
LibMec_Pics.PICS_RNIS_QUERY := true
LibMec_Pics.PICS_RNIS_ALL_SUBSCRIPTIONS := true
LocationAPI_Pics.PICS_LOCATION_API_SUPPORTED := false
UEidentityAPI_Pics.PICS_UE_IDENTITY_API_SUPPORTED := true
UEidentityAPI_Pics.PICS_UE_IDENTITY_API_SUPPORTED := false
BwManagementAPI_Pics.PICS_BWMANAGEMENT_API_SUPPORTED := false
AppEnablementAPI_Pics.PICS_ENABLE_APP_API_SUPPORTED := true
[LOGGING]
# In this section you can specify the name of the log file and the classes of events
# you want to log into the file or display on console (standard error).
......@@ -38,7 +44,7 @@ LogEventTypes:= Yes
[TESTPORT_PARAMETERS]
# In this section you can specify parameters that are passed to Test Ports.
system.httpPort.params := "HTTP(codecs=json:json_codec)/TCP(debug=1,server=172.28.4.87,port=8081,use_ssl=0)"
system.httpPort.params := "HTTP(codecs=json:json_codec)/TCP(debug=1,server=192.168.56.1,port=8081,use_ssl=0)"
[DEFINE]
# In this section you can create macro definitions,
......@@ -69,7 +75,7 @@ system.httpPort.params := "HTTP(codecs=json:json_codec)/TCP(debug=1,server=172.2
#AtsMec_UEidentityAPI_TestCases.TC_MEC_SRV_UETAG_001_NF
#AtsMec_UEidentityAPI_TestCases.TC_MEC_SRV_UETAG_002_OK
#AtsMec_UEidentityAPI_TestCases.TC_MEC_SRV_UETAG_002_BR
AtsMec_UEidentityAPI_TestCases.TC_MEC_SRV_UETAG_002_PF
#AtsMec_UEidentityAPI_TestCases.TC_MEC_SRV_UETAG_002_PF
#AtsMec_UEidentityAPI_TestCases.TC_MEC_SRV_UELOC_001_OK
#AtsMec_UEidentityAPI_TestCases.TC_MEC_SRV_UELOC_001_BR
......@@ -94,6 +100,17 @@ AtsMec_UEidentityAPI_TestCases.TC_MEC_SRV_UETAG_002_PF
#AtsMec_LocationAPI_TestCases.TC_MEC_SRV_UEINFSUB_002_OK
#AtsMec_LocationAPI_TestCases.TC_MEC_SRV_UEINFSUB_002_NF
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_011_OK
#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_AppEnablementAPI_TestCases.TC_MEC_SRV_TRANS_001_OK
#AtsMec_AppEnablementAPI_TestCases.TC_MEC_SRV_TRAF_001_OK
#AtsMec_AppEnablementAPI_TestCases.TC_MEC_SRV_TRAF_002_OK
#AtsMec_AppEnablementAPI_TestCases.TC_MEC_SRV_TRAF_001_NF
[GROUPS]
# In this section you can specify groups of hosts. These groups can be used inside the
# [COMPONENTS] section to restrict the creation of certain PTCs to a given set of hosts.
......
id,grantTypes,tokenEndpoint
security0,OAUTH2_CLIENT_CREDENTIALS,/meMp1/security/TokenEndPoint
trafficRuleId,filterType,priority,trafficFilter,action,dstInterface,state
transportId,name,description,type,protocol,version,endpoint,security,implSpecificInfo
TransId12345,REST,REST API,REST_HTTP,HTTP,2.0,{},security0,{}
appInst,ueTag,address,state
appInst01,UeTagA,acr:192.0.0.1,UNREGISTERED
appInst01,UeTagC,acr:192.0.0.3,UNREGISTERED
appInst01,UeTagC,acr:192.0.0.3,INVALID_STATE
appInst02,UeTagB,acr:192.0.0.2,UNREGISTERED
appInst03,UeTagD,acr:192.0.0.4,UNREGISTERED
appInst03,UeTagE,acr:192.0.0.5,UNREGISTERED
This diff is collapsed.
This diff is collapsed.
......@@ -10,7 +10,7 @@ import msvcrt
# MEC simulator IPv4 address
#ADDRESS_BINDING = '172.28.4.87'
#ADDRESS_BINDING = '192.168.1.21'
ADDRESS_BINDING = '192.168.0.17'
ADDRESS_BINDING = '192.168.56.1'
#ADDRESS_BINDING = '127.0.0.1'
# MEC simulator IPv4 listening port
PORT_NUMBER = 8081
......
This diff is collapsed.
This diff is collapsed.
......@@ -8,6 +8,8 @@ module AtsMec_TestControl {
import from RnisAPI_Pics all;
// LibMec/BwManagementAPI
import from BwManagementAPI_Pics all;
// LibMec/AppEnablementAPI
import from AppEnablementAPI_Pics all;
// LibMec
import from LibMec_Pics all;
......@@ -18,6 +20,7 @@ module AtsMec_TestControl {
import from AtsMec_RadioNodeLocationAPI_TestCases all;
import from AtsMec_RnisAPI_TestCases all;
import from AtsMec_BwManagementAPI_TestCases all;
import from AtsMec_AppEnablementAPI_TestCases all;
control {
......@@ -56,11 +59,26 @@ module AtsMec_TestControl {
execute(TC_MEC_PLAT_RLOC_001_OK());
}
if (PICS_ENABLE_APP_API_SUPPORTED) {
execute(TC_MEC_SRV_TRANS_001_OK());
execute(TC_MEC_SRV_TRAF_001_OK());
execute(TC_MEC_SRV_TRAF_002_OK());
execute(TC_MEC_SRV_TRAF_003_OK());
execute(TC_MEC_SRV_TRAF_001_NF());
}
}
if (PICS_RNIS) {
if (PICS_RNIS_ALL_SUBSCRIPTIONS) {
execute(TC_MEC025_RNIS_SUBSCRIPTION_005());
execute(TC_MEC_SRV_RNIS_011_OK());
execute(TC_MEC_SRV_RNIS_012_OK());
execute(TC_MEC_SRV_RNIS_011_BR());
execute(TC_MEC_SRV_RNIS_012_BR());
}
if (PICS_RNIS_QUERY) {
execute(TC_MEC_SRV_RNIS_016_OK());
}
}
......
module AppEnablementAPI_Pics {
modulepar boolean PICS_ENABLE_APP_API_SUPPORTED := true;
} // End of module AppEnablementAPI_Pics
module AppEnablementAPI_Pixits {
// LibCommon
import from LibCommon_BasicTypesAndValues all;
// LibMec/AppEnablementAPI
import from AppEnablementAPI_TypesAndValues all;
modulepar universal charstring PX_APP_INSTANCE_ID := "appInst01";
modulepar universal charstring PX_NON_EXISTENT_APP_INSTANCE_ID := "appInst99";
modulepar universal charstring PX_TRAFFIC_RULE_ID := "trafficRuleId01";
modulepar universal charstring PX_UE_IDENTITY_TAG_INVALID_STATE := "UeTagC";
modulepar universal charstring PX_UE_IDENTITY_TAG_UNKNOWN := "UeTagW";
} // End of module AppEnablementAPI_Pixits
......@@ -6,6 +6,16 @@ module LocationAPI_TypesAndValues {
// LibCommon
import from LibCommon_BasicTypesAndValues all;
/**
* @desc The seconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
*/
type UInt32 Seconds;
/**
* @desc The nanoseconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
*/
type UInt32 NanoSeconds;
/**
* @desc
* @member seconds The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
......@@ -376,16 +386,6 @@ REST_NetAPI_Common].
OperationStatus operationStatus optional
}
/**
* @desc The seconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
*/
type UInt32 Seconds;
/**
* @desc The nanoseconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
*/
type UInt32 NanoSeconds;
} with {
encode "JSON"
}
......@@ -3,11 +3,25 @@ module RnisAPI_Pixits {
// JSON
import from JSON all;
// LibCommon
import from LibCommon_BasicTypesAndValues all;
// LibMec/Rnis
import from RnisAPI_TypesAndValues all;
modulepar JSON.String PX_SUBSCRIPTION_HREF_VALUE := "cell_change";
modulepar SubscriptionType PX_SUBSCRIPTION_TYPE := CELL_CHANGE;
modulepar JSON.String PX_SUBSCRIPTION_ID := "7777";
modulepar Link PX_LINKS_SELF := { self_ := "http://example.com/exampleAPI/rni/v2/subscriptions/" };
modulepar Link PX_LINKS_SELF := { self_ := "http://example.com/exampleAPI/rni/v2/subscriptions" };
modulepar CallbackReference PX_CALLBACK_REFERENCE := "http://meAppClient.example.com/rni/v2/notifications/cell_change/77777";
modulepar UInt32 PX_ASSOCIATE_ID_VALUE := 1;
modulepar CellId PX_CELL_ID := "0x0800000A";
modulepar AppInsId PX_APP_INS_ID := "01";
} // End of module RnisAPI_Pixits
......@@ -183,7 +183,7 @@ module RnisAPI_TypesAndValues {
/**
* @desc The E-UTRAN Cell Identity as a bit string (size (28)), as defined in 3GPP TS 36.413
*/
type record of octetstring CellId;
type JSON.String CellId;
/**
* @desc Information on UEs in the specific cell
......@@ -455,6 +455,7 @@ module RnisAPI_TypesAndValues {
* @member expiryDeadline
*/
type record CellChangeSubscription {
SubscriptionType subscriptionType,
CallbackReference callbackReference,
Link links,
FilterCriteriaAssocHo filterCriteria,
......@@ -540,7 +541,8 @@ module RnisAPI_TypesAndValues {
MEAS_REPORT_UE,
MEAS_TIMING_ADVANCE,
CA_RECONF,
S1_BEARE
S1_BEARE,
WRONG_PARAMETER
}
/**
......
This diff is collapsed.
......@@ -14,7 +14,13 @@ module LibMec_Pixits {
modulepar charstring PX_ME_APP_Q_UE_IDENTITY_ID_URI := "/ui/v2/";
modulepar charstring PX_RNIS_SUBSCRITIONS_URI := "/rni/v2/subscriptions/";
modulepar charstring PX_SVC_MGMT_TRANS_URI := "/mec_app_support/v2/transports";
modulepar charstring PX_SVC_MGMT_APP_URI := "/mec_service_mgmt/v2/application";
modulepar charstring PX_RNIS_SUBSCRITIONS_URI := "/rni/v2/subscriptions";
modulepar charstring PX_RNIS_QUERIES_URI := "/rni/v2/queries";
modulepar charstring PX_ME_BWM_URI := "/bwm/v2/bw_allocations";
......
......@@ -8,9 +8,15 @@ module LibItsHttp_JsonMessageBodyTypes {
import from RnisAPI_TypesAndValues all;
// LibMec/BwManagementApi
import from BwManagementAPI_TypesAndValues all;
<<<<<<< HEAD
// LibMec/Ams
import from Ams_TypesAndValues all;
=======
// LibMec/AppEnablementAPI
import from AppEnablementAPI_TypesAndValues all;
>>>>>>> b55fa1944c45eb362e0dd6ad00f2cda74f727b50
/**
* This file volontary contains a trivial declaration of the type JsonBody.
* In accordance with your TTCN-3 module LibItsHttp_JSONTypes, you have to change the JsonBody typing.
......@@ -19,6 +25,7 @@ module LibItsHttp_JsonMessageBodyTypes {
type union JsonBody {
// TODO Add here your custom variants
<<<<<<< HEAD
UserInfo userInfo,
UserList userList,
ZoneInfo zoneInfo,
......@@ -36,6 +43,27 @@ module LibItsHttp_JsonMessageBodyTypes {
Ams_TypesAndValues.ProblemDetails problemDetails_ams,
Ams_TypesAndValues.RegistrationRequest registrationRequest_ams,
Ams_TypesAndValues.AmsSubscriptionLinkLists subscriptionLinkList_ams,
=======
UserInfo userInfo,
UserList userList,
ZoneInfo zoneInfo,
AccessPointList accessPointList,
UserTrackingSubscription userTrackingSubscription,
ZonalTrafficSubscription zonalTrafficSubscription,
UEidentityAPI_TypesAndValues.ProblemDetails problemDetails_ue_identity,
UeIdentityTagInfo ueIdentityTagInfo,
SubscriptionLinkList subscriptionLinkList,
CellChangeSubscription cellChangeSubscription,
RabInfo rabInfo,
PlmnInfo plmnInfo,
RnisAPI_TypesAndValues.ProblemDetails problemDetails_rni,
BwInfo bwInfo,
BwManagementAPI_TypesAndValues.ProblemDetails problemDetails_bw_management,
TransportInfoList transportInfoList,
TrafficRuleList trafficRuleList,
TrafficRule trafficRule,
AppEnablementAPI_TypesAndValues.ProblemDetails problemDetails_svc_mgmt,
>>>>>>> b55fa1944c45eb362e0dd6ad00f2cda74f727b50
universal charstring raw
} with {
variant ""
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment