B.1 Session body schema
29.1553GPPRelease 17Representational State Transfer (REST) over St reference pointTraffic steering controlTS
This subclause defines the JSON schema for the body of HTTP requests and responses providing the state of a session resource. The schema is based on IETF draft-newton-json-content-rules [16] and is defined below:
# jcr-version 0.7
# ruleset-id 3gpp.stapplication.session
; A JCR representing the session resource
$session-root = @{root}{
$session-id,
( $ue-ipv4 | $ue-ipv6-prefix | ( $ue-ipv4 , $ue-ipv6-prefix ) ),
$called-station-id ?,
$tsrules ?,
$predefined-tsrules ?,
$predefined-group-of-tsrules ?
}
; Resource fields definitions
; Session ID allocated by the PCRF
$session-id = "session-id" : string
; The UE IPv4 address
$ue-ipv4 = "ue-ipv4" : ipv4
; The UE IPv6 prefix
$ue-ipv6-prefix = "ue-ipv6-prefix" : ipv6
; The PDN the UE accesses
$called-station-id = "called-station-id" : string
; The dynamic traffic steering rules
$tsrules = "tsrules" : { $tsrule + }
; The traffic steering rule
$tsrule = // : {
$ts-rule-name,
$precedence ?,
( $flow-information | $tdf-application-identifier ),
( $ts-policy-identifier-ul | $ts-policy-identifier-dl | ( $ts-policy-identifier-ul, $ts-policy-identifier-dl ) )
}
; The name of the traffic steering rule in the TSSF
$ts-rule-name = "ts-rule-name" : string
; The precedence of the traffic steering rule. From 0 to 4294967295.
$precedence = "precedence" : 0..4294967295
; The flow traffic information
$flow-information = "flow-information" : [
{
$flow-description ?,
$tos-traffic-class ?,
$security-parameter-index ?,
$flow-label ?,
$flow-direction
}
]
; The IP filter rule for a service data flow
$flow-description = "flow-description" : string
; The ToS traffic class is encoded on two octets, and represented in hex string display.
$tos-traffic-class = "tos-traffic-class" : /^[0-9A-Fa-f]{4}$/
; The security parameter index is encoded on four octets, and represented in hex string display.
$security-parameter-index = "security-parameter-index" : /^[0-9A-Fa-f]{8}$/
; The flow label is encoded on three octets, and represented in hex string display.
$flow-label = "flow-label" : /^[0-9A-Fa-f]{6}$/
; The direction of the flow traffic
$flow-direction = "flow-direction" : ( "BIDIRECTIONAL" | "UPLINK" | "DOWNLINK" )
; The detected application traffic id in the TSSF
$tdf-application-identifier = "tdf-application-identifier" : string
; The traffic steering policy id for uplink data
$ts-policy-identifier-ul = "ts-policy-identifier-ul" : string
; The traffic steering policy id for downlink data
$ts-policy-identifier-dl = "ts-policy-identifier-dl" : string
; The predefined traffic steering rules
$predefined-tsrules = "predefined-tsrules" : { $predefined-tsrule + }
; The predefined traffic steering rule
$predefined-tsrule = // : { $ts-rule-name }
; The predefined traffic steering group rules
$predefined-group-of-tsrules = "predefined-group-of-tsrules" : { $predefined-group-of-tsrule + }
; The predefined traffic steering group rule
$predefined-group-of-tsrule = // : { $ts-rule-base-name }
; The name of the traffic steering group rule in the TSSF
$ts-rule-base-name = "ts-rule-base-name" : string