Skip to content
Snippets Groups Projects
Commit c5700ea2 authored by Miguel Angel Reina Ortega's avatar Miguel Angel Reina Ortega
Browse files

Initiating support for 3GPP T8 interface

parent a8a218c9
No related branches found
No related tags found
1 merge request!63Merge Release4-onwards into Release4
......@@ -14,6 +14,7 @@ module OneM2M_Ports {
import from OneM2M_Types all;
import from OneM2M_TypesAndValues all;
import from OneM2M_Types_3GPP_T8 all;
import from XSD all;
/* ***************************************
......@@ -35,6 +36,20 @@ module OneM2M_Ports {
map param (in PortDesc p_portDesc);
};
/**
* @desc Port to transport different underlying network primitives
* @desc Output MsgOut
* @desc Input MsgIn
* @desc this port is allowed to extend for futher usage
*/
type port OneM2M_McnPort message {
in
T8Primitive;
out
T8Primitive;
map param (in McnPortDesc p_mcnPortDesc);
};
/**
* @desc Port to transport Adaptor Control primitives
*/
......
......@@ -11,6 +11,7 @@
*/
module OneM2M_TestSystem {
import from OneM2M_Types_3GPP_T8 all;
import from OneM2M_Types all;
import from OneM2M_TypesAndValues all;
import from LibCommon_Time all;
......@@ -111,6 +112,21 @@ module OneM2M_TestSystem {
var boolean vc_auxiliaryCse2Up := false;
};
type component ScefSimu extends Tester {
//Attached components depending on config
//Ports
port OneM2M_McnPort mcnPort;
port OneM2M_McnPort mcnPortIn;
//global variables
//About configuration of the component
var ScefSimuComponentDesc vc_scefSimuDesc;
//Resources list
//NIDD API
var NiddConfigurations vc_configurations := {};
//Resource index
//Status of attached component
};
type component InCseSimu extends CseSimu {
}
......@@ -132,6 +148,13 @@ module OneM2M_TestSystem {
port AdapterControlPort acPort;
port UpperTesterPort utPort;
}
type component ScefSystem {
port OneM2M_McnPort mcnPort;
port OneM2M_McnPort mcnPortIn;
port AdapterControlPort acPort;
port UpperTesterPort utPort;
}
}// end of module
with {
......
......@@ -4384,7 +4384,11 @@ group OtherTypes {
MqttBindingDesc mqttBindingDesc,
WSBindingDesc wsBindingDesc
}
template BindingProtocolsSelect m_httpBindingDesc := {
httpBindingDesc := ?
}
/**
* @desc
* @member binding
......@@ -4393,6 +4397,31 @@ group OtherTypes {
type record PortDesc {
BindingProtocolsSelect binding,
SerializationRepresentations serialization
}
/**
* @desc
* @member binding
* @member serialization
*/
type record T8PortDesc {
BindingProtocolsSelect binding ({httpBindingDesc := ?}),
SerializationRepresentations serialization ("json")
}
type BindingProtocolsSelect MyInterface ({httpBindingDesc:=?}, {coapBindingDesc := ?});
/**
* @desc
* @member binding
* @member serialization
*/
type union McnPortDesc {
T8PortDesc t8PortDesc
}
template McnPortDesc m_t8PortDesc := {
t8PortDesc := ?
}
/**
......@@ -4456,6 +4485,32 @@ group OtherTypes {
PortDesc mccPortIn
}
/**
* @desc ScefSimu component settings
* @member mcnPort TTCN-3 'mcn' protocol for sending to the SUT
* @member mcnPortIn TTCN-3 'mcn' protocol for receiving from the SUT
*/
type record ScefSimuComponentDesc {
/**
* @desc Test System CSE Name
*/
XSD.ID cseName,
/**
* @desc Test System CSE-ID with SP-relative-CSE-ID format (relative) according to TS-0001-7.2-1
*/
XSD.ID cseId,
/**
* @desc Test System CSE resource ID with Unstructured-CSE-relative-Resource-ID (relative) format according to TS-0001-7.2-1
*/
XSD.ID cseResourceId,
/**
* @desc Test System M2M-SP-ID with M2M-SP-ID format (absolute) according to TS-0001-7.2-1 Unstructured-CSE-relative -Resource-ID
*/
XSD.ID spId,
McnPortDesc mcnPort ({t8PortDesc := ?}),
McnPortDesc mcnPortIn ({t8PortDesc := ?})
}
}
with {
encode "adapter";
......
/**
* Copyright Notification
* No part of this document may be reproduced, in an electronic retrieval system or otherwise, except as authorized by written permission.
* The copyright and the foregoing restriction extend to reproduction in all media.
* © 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC).
* All rights reserved.
*
* @author oneM2M
* @version $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Types.ttcn $
* $Id: OneM2M_Types.ttcn 356 2017-08-21 12:25:14Z reinaortega $
* @desc OneM2M data types module
*
*/
module OneM2M_Types_3GPP_T8 {
import from XSD all;
import from OneM2M_Types all;
import from OneM2M_TypesAndValues {type Resource_2; type ResourceTypeList_1; type PrimitiveContent};
/* **************************************************
* **************************************************
* 3GPP T8 Types
* **************************************************
* **************************************************
*/
/**
* @desc Type for the oneM2M primitives exchange
* @member primitive oneM2M primitive
*/
type union T8Primitive {
T8Request t8Request,
T8Response t8Response
}
/**
* @desc Type for the oneM2M primitives exchange
* @member primitive oneM2M primitive
*/
type record T8Request {
ResourceMethod resourceMethod,
URI resourceUri,
RequestHeaders requestheaders optional,
RequestBody requestBody optional
}
/**
* @desc Type for the oneM2M primitives exchange
* @member primitive oneM2M primitive
*/
type record T8Response {
ResponseCode responseCode,
ResponseHeaders responseHeaders optional,
ResponseBody body optional
}
type enumerated ResourceMethod {
GET (0),
PUT (1),
POST (2),
DELETE (3),
PATCH (4)
}
type record of Header RequestHeaders;
type record of Header ResponseHeaders;
type record Header {
charstring header_name,
charstring header_value optional
}
type Body RequestBody ( {individualNiddConfiguration:=?},
{individualNiddDownlinkDataDelivery:=?},
{individualDeviceTriggeringTransaction:=?},
{deviceTriggeringDeliveryReportNotification:=?});
type Body ResponseBody;
type union Body {
Acknowledgement acknowledgement,
//NIDD group
//NiddConfiguration
//NiddDownlinkDataTransfer
//NiddUplinkDataNotification
NiddConfigurations niddConfigurations,
NiddConfiguration individualNiddConfiguration,
NiddDownlinkDataTransfers niddDownlinkDataDeliveries,
NiddDownlinkDataTransfer individualNiddDownlinkDataDelivery,
NiddDownlinkDataDeliveryFailure niddDownlinkDataDeliveryFailure,
//DeviceTrigger
DeviceTriggerings deviceTriggeringTransactions,
DeviceTriggering individualDeviceTriggeringTransaction,
DeviceTriggeringDeliveryReportNotification deviceTriggeringDeliveryReportNotification
}
type integer ResponseCode (200,201,204,400,401,403,404,406,411,413,415,429,500,503);
group NIDD_API {
type record of NiddConfiguration NiddConfigurations;
type record NiddConfiguration {
charstring self_ optional,
SupportedFeaturesNiddApi supportedFeatures optional,
charstring mtcProviderId optional,
ExternalId externalId optional,
Msisdn msisdn optional,
ExternalGroupId externalGroupId optional,
DateTime duration_ optional,
boolean reliableDataService optional,
RdsPorts rdsPorts optional,
PdnEstablishmentOptions pdnEstablishmentOptions optional,
Link notificationDestination,
boolean requestTestNotification optional,
WebsockNotifConfig websockNotifConfig optional,
integer maximumPacketSize optional,
NiddDownlinkDataTransfers niddDownlinkDataTransfers optional,
NiddStatus status optional
}
with {
variant "name as uncapitalized";
variant (self_) "name as 'self'";
variant (duration_) "name as 'duration'";
};
type record of NiddDownlinkDataTransfer NiddDownlinkDataTransfers;
type record NiddDownlinkDataTransfer {
ExternalId externalId optional,
ExternalGroupId externalGroupId optional,
Msisdn msisdn optional,
Link self_ optional,
Bytes data,
boolean reliableDataService optional,
RdsPorts rdsPorts optional,
DurationSec maximumLatency optional,
integer priority,
PdnEstablishmentOptions pdnEstablishmentOptions optional,
DeliveryStatus deliveryStatus optional,
DateTime requestedRetransmissionTime optional
}
with {
variant "name as uncapitalized";
variant (self_) "name as 'self'";
};
type record NiddDownlinkDataDeliveryFailure {
ProblemDetails problemDetail,
DateTime requestedRetransmissionTime optional
}
}//end group NIDD_API
group DeviceTriggering_API {
type record of DeviceTriggering DeviceTriggerings;
type record DeviceTriggering {
charstring self_ optional,
ExternalId externalId optional,
Msisdn msisdn optional,
SupportedFeaturesNiddApi supportedFeatures optional,
DurationSec validityPeriod,
Priority priority,
Port applicationPortId,
Port appSrcPortId optional,
Bytes triggerPayload,
Link notificationDestination,
boolean requestTestNotification optional,
WebsockNotifConfig websockNotifConfig optional,
DeliveryResult deliveryResult optional
}
with {
variant "name as uncapitalized";
variant (self_) "name as 'self'";
};
type record DeviceTriggeringDeliveryReportNotification {
Link transaction,
DeliveryResult Result
}
}//end group of DeviceTriggering_API
group Structured_data_types {
//T8 API
type record Acknowledgement {
charstring details
}
type record ProblemDetails {
URI type_ optional,
charstring title optional,
integer status optional,
charstring detail optional,
URI instance optional,
charstring cause optional,
InvalidParams invalidParams optional
}
with {
variant (type_) "name as 'type'"
}
type record of InvalidParam InvalidParams;
type record InvalidParam {
charstring param_,
charstring reason optional
}
with {
variant (param_) "name as 'param'"
}
//NIDD API
type record WebsockNotifConfig {
Link websocketUri optional,
boolean requestWebsocketUri optional
}
type record URI {
charstring apiRoot,
charstring apiName ("3gpp-nidd", "3gpp-device-triggering"),
charstring apiVersion ("v1"),
charstring apiSpecificSuffixes optional,
record of charstring queryParameters optional
}
type record RdsPort {
Port portUE,
Port portSCEF
}
type record of RdsPort RdsPorts;
}//end of Structured_data_types
group Simple_data_types {
type integer Bandwidth;
type charstring BdtReferenceId;
type charstring BdtReferenceIdRm;
type bitstring Binary;
type charstring Bytes;
type integer DayOfWeek (1..7);
type charstring DateTime;
type charstring DateTimeRm;
type charstring DateTimeRo;
type integer DurationSec;
type integer DurationSecRm;
type integer DurationSecRo;
type integer DurationMin;
type charstring ExternalId;
type charstring ExternalGroupId;
type charstring Link;
type charstring Mcc;
type charstring Mnc;
type charstring Msisdn;
type integer Port;
type integer PortRo;
type charstring ResourceId;
type charstring ScsAsId;
type charstring TimeOfDay;
type charstring Uri;
type integer Volume;
type integer VolumeRm;
}//end of Simple_data_types
group Enumerated_data_types {
//NIDD API
type enumerated PdnEstablishmentOptions {
WAIT_FOR_UE (0),
INDICATE_ERROR (1),
SEND_TRIGGER (2)
}
type enumerated DeliveryStatus {
SUCCESS,
SUCCESS_NEXT_HOP_ACKNOWLEDGED,
SUCCESS_NEXT_HOP_UNACKNOWLEDGED,
SUCCESS_ACKNOWLEDGED,
SUCCESS_UNACKNOWLEDGED,
TRIGGERED,
BUFFERING,
BUFFERING_TEMPORARILY_NOT_REACHABLE,
SENDING,
FAILURE,
FAILURE_RDS_DISABLE,
FAILURE_NEXT_HOP,
FAILURE_TIMEOUT,
FAILURE_TEMPORARILY_NOT_REACHABLE
}
type enumerated NiddStatus {
ACTIVE,
TERMINATED_UE_NOT_AUTHORIZED,
TERMINATED,
RDS_PORT_UNKNOWN
}
type enumerated SupportedFeaturesNiddApi {
GroupMessageDelivery (1),
Notification_websocket (2),
Notification_test_event (3),
MT_NIDD_modification_cancellation (4),
Rds_port_verfication (5),
Rds_dynamic_port (6)
}
type enumerated SupportedFeaturesDeviceTriggeringApi {
Notification_websocket (1),
Notification_test_event (2)
}
//DeviceTriggering
type enumerated DeliveryResult {
SUCCESS,
UNKNOWN,
FAILURE,
TRIGGERED,
EXPIRED,
UNCONFIRMED,
REPLACED,
TERMINATE
}
type enumerated Priority {
NO_PRIORITY,
PRIORITY
}
}//end of Enumerated_data_types
}
with {
encode "JSON";
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment