A.1 Provisioning schema

29.2503GPPNu reference point between SCEF and PFDF for sponsored data connectivityRelease 16TS

This subclause defines the JSON schema for the body of HTTP request providing the provisioned PFDs. The schema is based on IETF draft-newton-json-content-rules [12] and is defined below:

# jcr-version 0.7

# ruleset-id 3gpp.nuapplication.provisioning

# import 3gpp.gwapplication.pfds as pfds

; JCR representing the PFDs provisioning data

$provisioning-root = @{root}{

$application-identifier,

$removal-flag ?,

$partial-flag ?,

$allowed-delay ?,

$pfds ?,

$scef-notification-uri ?

}

; An array list of the PFDs for multiple application identifiers

$pfds-array-root = @{root} [ $provisioning-root * ]

; The detected application traffic identifier for the PFDs

$application-identifier = "application-identifier" : string

; The allowed delay time for the PFDs deployment

$allowed-delay = "allowed-delay" : uint64

; The PFDs associated with the same application identifier

$pfds = "pfds" : [ $pfd * ]

; The PFD content

$pfd = {

$pfd-identifier,

( $flow-descriptions | $urls | $domain-names | // : any) ?,

$pfds.dn-protocol ?

}

; The PFD identifier

$pfd-identifier = "pfd-identifier" : string

; The flow descriptions

$flow-descriptions = "flow-descriptions" : [ string + ]

; The url matching expressions

$urls = "urls" : [ string + ]

; The domain name match criteria

$domain-names = "domain-names" : [ string + ]

; A flag indicates whether this is a removal or not

$removal-flag = "removal-flag" : boolean

; A flag indicates whether this is a partial update or not

$partial-flag = "partial-flag" : boolean

; The URI in the SCEF for receiving notifications from the PFDF

$scef-notification-uri = "scef-notification-uri" : string