diff --git a/TS29500_CustomHeaders.abnf b/TS29500_CustomHeaders.abnf index 558a7db..51e3a5e 100644 --- a/TS29500_CustomHeaders.abnf +++ b/TS29500_CustomHeaders.abnf @@ -171,7 +171,7 @@ NQCHAR = %x21 / %x23-5B / %x5D-7E ; ---------------------------------------- -; RFC 7230 +; RFC 9110 ; ---------------------------------------- OWS = *( SP / HTAB ) @@ -187,21 +187,16 @@ BWS = OWS quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE -qdtext = HTAB / SP /%x21 / %x23-5B / %x5D-7E / obs-text +qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text obs-text = %x80-FF +date1 = day-rfc9110 SP month-rfc9110 SP year-rfc9110 ; e.g., 02 Jun 1982 -; ---------------------------------------- -; RFC 7231 -; ---------------------------------------- - -date1 = day-rfc7231 SP month-rfc7231 SP year-rfc7231 ; e.g., 02 Jun 1982 - -day-rfc7231 = 2DIGIT +day-rfc9110 = 2DIGIT -month-rfc7231 = %x4A.61.6E ; "Jan", case-sensitive +month-rfc9110 = %x4A.61.6E ; "Jan", case-sensitive / %x46.65.62 ; "Feb", case-sensitive / %x4D.61.72 ; "Mar", case-sensitive / %x41.70.72 ; "Apr", case-sensitive @@ -214,7 +209,7 @@ month-rfc7231 = %x4A.61.6E ; "Jan", case-sensitive / %x4E.6F.76 ; "Nov", case-sensitive / %x44.65.63 ; "Dec", case-sensitive -year-rfc7231 = 4DIGIT +year-rfc9110 = 4DIGIT codings = content-coding / "identity" / "*" @@ -225,11 +220,6 @@ weight = OWS ";" OWS "q=" qvalue qvalue = ( "0" [ "." *3DIGIT ] ) / ( "1" [ "." *3"0" ] ) - -; ---------------------------------------- -; RFC 7235 -; ---------------------------------------- - credentials = auth-scheme [ 1*SP ( token68 / [ ( "," / auth-param ) *( OWS "," [ OWS auth-param ] ) ] ) ] @@ -244,7 +234,7 @@ token68 = 1*( ALPHA / DIGIT / "-" / "." / "_" / "~" / "+" / "/" ) *"=" ; ---------------------------------------- ; 3GPP TS 29.500 ; -; Version: 18.2.0 (June 2023) +; Version: 18.3.0 (September 2023) ; ; (c) 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). ; ---------------------------------------- @@ -293,7 +283,8 @@ prefix = path-absolute ; Sbi-Routing-Binding-Header = "3gpp-Sbi-Routing-Binding:" OWS "bl=" blvalue - 1*( ";" OWS parameter ) OWS + 1*( ";" OWS parameter ) + [ ";" OWS callback-uri-prefix ] OWS blvalue = "nf-instance" / "nf-set" @@ -324,6 +315,7 @@ binding-element = "bl=" blvalue 1*( ";" OWS bh-parameter ) [ ";" OWS "group=" groupvalue ] [ 1*( ";" OWS groupparameter ) ] [ ";" OWS "no-redundancy=" no-red-value ] + [ ";" OWS callback-uri-prefix ] OWS bh-parametername = parametername / "scope" @@ -384,17 +376,17 @@ olcMetric = "Overload-Reduction-Metric:" RWS ( "100" / %x31-39 DIGIT / DIG olcScope = nfProducerScope / nfConsumerScope / scpScope / seppScope -nfProducerScope = ( ( "NF-Instance:" RWS nfinst ) - / ( "NF-Set:" RWS nfset ) - / ( "NF-Service-Instance:" RWS nfservinst [ ";" RWS "NF-Inst:" RWS nfinst ] ) - / ( "NF-Service-Set:" RWS nfserviceset ) +nfProducerScope = ( ( "NF-Instance:" RWS nfinst ) + / ( "NF-Set:" RWS nfset ) + / ( "NF-Service-Instance:" RWS nfservinst [ ";" RWS "NF-Inst:" RWS nfinst ] ) + / ( "NF-Service-Set:" RWS nfserviceset ) ) [ ";" RWS sNssaiList ";" RWS dnnList ] nfConsumerScope = ( "NFC-Instance:" RWS nfinst [ ";" RWS "Service-Name:" RWS servname ] ) / ( "NFC-Set:" RWS nfset [ ";" RWS "Service-Name:" RWS servname ]) / ( "NFC-Service-Instance:" RWS nfservinst [";" RWS "NF-Inst:" RWS nfinst ] ) / ( "NFC-Service-Set:" RWS nfserviceset ) - / ( "Callback-Uri:" RWS URI *( RWS "&" RWS URI)) + / ( "Callback-Uri:" RWS DQUOTE URI DQUOTE *( RWS "&" RWS DQUOTE URI DQUOTE )) servname = token @@ -424,10 +416,10 @@ lcMetric = "Load-Metric:" RWS ( "100" / %x31-39 DIGIT / DIGIT ) "%" lcScope = lcNfProducerScope / scpScope / seppScope -lcNfProducerScope = ( ( "NF-Instance:" RWS nfinst ) - / ( "NF-Set:" RWS nfset) - / ( "NF-Service-Instance:" RWS nfservinst [ ";" RWS "NF-Inst:" RWS nfinst ] ) - / ( "NF-Service-Set:" RWS nfserviceset) +lcNfProducerScope = ( ( "NF-Instance:" RWS nfinst ) + / ( "NF-Set:" RWS nfset) + / ( "NF-Service-Instance:" RWS nfservinst [ ";" RWS "NF-Inst:" RWS nfinst ] ) + / ( "NF-Service-Set:" RWS nfserviceset) ) [ ";" RWS sNssaiList ";" RWS dnnList ";" RWS relativeCapacity ] relativeCapacity = "Relative-Capacity:" RWS ( "100" / 1*2DIGIT ) "%" @@ -446,6 +438,14 @@ b64urlchar = ALPHA / DIGIT / "-" / "_" +; +; Header: 3gpp-Sbi-Source-NF-Client-Credentials +; + +Sbi-Source-NF-Client-Credentials-Header = "3gpp-Sbi-Source-NF-Client-Credentials:" OWS jwt OWS + + + ; ; Header: 3gpp-Sbi-Nrf-Uri ; @@ -509,6 +509,15 @@ scope-token = 1*NQCHAR +; +; Header: 3gpp-Sbi-Other-Access-Scopes +; + +Sbi-Other-Access-Scopes-Header = "3gpp-Sbi-Other-Access-Scopes:" OWS scope-token + *( SP scope-token ) OWS + + + ; ; Header: 3gpp-Sbi-Access-Token ; @@ -589,8 +598,11 @@ Sbi-Correlation-Info-Header = "3gpp-Sbi-Correlation-Info:" OWS correlationinfo = ctype "-" cvalue -ctype = "imsi" / "impi" / "suci" / "nai" / "gci" / "gli" / "impu" - / "msisdn" / "extid" / "imeisv" / "imei" / "mac" / "eui" / token +ctype = extension-token / "imsi" / "impi" / "suci" / "nai" / "gci" / "gli" + / "impu" / "msisdn" / "extid" / "imeisv" / "imei" / "mac" / "eui" + +extension-token = 1*( "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "." / "^" / "_" + / "`" / "|" / "~" / DIGIT / ALPHA ) cvalue = 1*( tchar / "@" ) @@ -687,7 +699,6 @@ Sbi-Selection-Info-Header = "3gpp-Sbi-Selection-Info:" OWS selection-info-element = ( "reselection=" reselectionvalue *( ";" OWS selection-criteria ) ) / ( selection-criteria *( ";" OWS selection-criteria ) ) - reselectionvalue = "true" / "false" selection-criteria = selection-action "=" token @@ -735,6 +746,7 @@ req-param-name = "retrans" / "reason" / "idempotency-key" / "receivedrejectioncause" + / "callback-uri-prefix" / token req-param-value = token @@ -748,3 +760,4 @@ req-param-value = token Sbi-Retry-Info-Header = "3gpp-Sbi-Retry-Info:" OWS retriesindication OWS retriesindication = "no-retries" + diff --git a/TS29502_CustomHeaders.abnf b/TS29502_CustomHeaders.abnf new file mode 100644 index 0000000..cfff8df --- /dev/null +++ b/TS29502_CustomHeaders.abnf @@ -0,0 +1,77 @@ +; ---------------------------------------- +; RFC 5234 +; ---------------------------------------- + +HTAB = %x09 ; horizontal tab + +SP = %x20 + +DIGIT = %x30-39 ; 0-9 + + + +; ---------------------------------------- +; RFC 7230 +; ---------------------------------------- + +OWS = *( SP / HTAB ) + + + +; ---------------------------------------- +; RFC 7231 +; ---------------------------------------- + +date1 = day SP month SP year ; e.g., 02 Jun 1982 + +day = 2DIGIT + +month = %x4A.61.6E ; "Jan", case-sensitive + / %x46.65.62 ; "Feb", case-sensitive + / %x4D.61.72 ; "Mar", case-sensitive + / %x41.70.72 ; "Apr", case-sensitive + / %x4D.61.79 ; "May", case-sensitive + / %x4A.75.6E ; "Jun", case-sensitive + / %x4A.75.6C ; "Jul", case-sensitive + / %x41.75.67 ; "Aug", case-sensitive + / %x53.65.70 ; "Sep", case-sensitive + / %x4F.63.74 ; "Oct", case-sensitive + / %x4E.6F.76 ; "Nov", case-sensitive + / %x44.65.63 ; "Dec", case-sensitive + +year = 4DIGIT + +day-name = %x4D.6F.6E ; Mon + / %x54.75.65 ; Tue + / %x57.65.64 ; Wed + / %x54.68.75 ; Thu + / %x46.72.69 ; Fri + / %x53.61.74 ; Sat + / %x53.75.6E ; Sun + +time-of-day = hour ":" minute ":" second + +hour = 2DIGIT + +minute = 2DIGIT + +second = 2DIGIT + + + +; ---------------------------------------- +; 3GPP TS 29.502 +; +; Version: 18.4.0 (September 2023) +; +; (c) 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). +; ---------------------------------------- + +; +; Header: 3gpp-Sbi-Origination-Timestamp +; + +Sbi-Origination-Timestamp-Header = "3gpp-Sbi-Origination-Timestamp:" OWS day-name "," + SP date1 SP time-of-day "." milliseconds SP "GMT" OWS + +milliseconds = 3DIGIT diff --git a/TS29504_CustomHeaders.abnf b/TS29504_CustomHeaders.abnf new file mode 100644 index 0000000..bfe7238 --- /dev/null +++ b/TS29504_CustomHeaders.abnf @@ -0,0 +1,109 @@ +; ---------------------------------------- +; RFC 5234 +; ---------------------------------------- + +HTAB = %x09 ; horizontal tab + +LF = %x0A ; linefeed + +CR = %x0D ; carriage return + +SP = %x20 + +DQUOTE = %x22 ; " (Double Quote) + +DIGIT = %x30-39 ; 0-9 + +ALPHA = %x41-5A / %x61-7A ; A-Z / a-z + +VCHAR = %x21-7E ; visible (printing) characters + +WSP = SP / HTAB ; white space + +CRLF = CR LF ; Internet standard newline + + + +; ---------------------------------------- +; RFC 5322 +; ---------------------------------------- + +obs-FWS = 1*WSP *( CRLF 1*WSP ) + +FWS = ( [ *WSP CRLF ] 1*WSP ) / obs-FWS + +obs-NO-WS-CTL = %d1-8 / %d11 / %d12 / %d14-31 / %d127 + +obs-ctext = obs-NO-WS-CTL + +ctext = %d33-39 / %d42-91 / %d93-126 / obs-ctext + +obs-qp = "\" ( obs-NO-WS-CTL / LF / CR ) + +quoted-pair = ( "\" ( VCHAR / WSP ) ) / obs-qp + +ccontent = ctext / quoted-pair / comment + +comment = "(" *( [ FWS ] ccontent ) [ FWS ] ")" + + + +; ---------------------------------------- +; RFC 7230 +; ---------------------------------------- + +OWS = *( SP / HTAB ) + +tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" + / "." / "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA + +token = 1*tchar + +obs-text = %x80-FF + + + +; ---------------------------------------- +; RFC 7232 +; ---------------------------------------- + +entity-tag = [ weak ] opaque-tag + +weak = %x57.2F ; "W/", case-sensitive + +opaque-tag = DQUOTE *etagc DQUOTE + +etagc = %x21 / %x23-7E / obs-text ; VCHAR except double quotes, plus obs-text + + + +; ---------------------------------------- +; 3GPP TS 29.504 +; +; Version: 18.3.0 (September 2023) +; +; (c) 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). +; ---------------------------------------- + +; +; Header: 3gpp-Sbi-Notification-Correlation +; + +Sbi-Notification-Correlation-Header = "3gpp-Sbi-Notification-Correlation:" OWS subscriptionId + *( OWS "," OWS subscriptionId ) OWS + +subscriptionId = token + + + +; +; Header: 3gpp-Sbi-Etags +; + +Sbi-Etags-Header = "3gpp-Sbi-Etags:" OWS datasetEtag *( OWS "," OWS datasetEtag ) OWS + +datasetEtag = dataSetName "=" entity-tag + +dataSetName = UeSubscribedDataSetName + +UeSubscribedDataSetName = 1*( ALPHA / DIGIT / "_" )