The Ms reference point is used to request signing of an Identity header field or request verification of a signed assertion in an Identity header field.
HTTP POST method is used for the verification request.
HTTP 200 (OK) is used when the AS for verification has successfully processed the verification request.
HTTP POST method is used for the signing request.
HTTP 200 (OK) is used when the AS for signing has successfully processed the signing request.
HTTP POST method is used for the diversion signing request.
HTTP 200 (OK) is used when the AS for signing has successfully processed the diversion signing request.
HTTP POST method is used for the Resource-Priority header field signing request.
HTTP 200 (OK) is used when the AS for signing has successfully processed the Resource-Priority header field signing request.
HTTP POST method is used for the Resource-Priority and Priority header fields signing request.
HTTP 200 (OK) is used when the AS for signing has successfully processed the Resource-Priority and Priority header field signing request.
HTTP POST method is used for the RCD info signing request.
HTTP 200 (OK) is used when the AS for signing has successfully processed the RCD info signing request.
For signing and verification of the RCD info, resource URIs "/rcdSigning" and "/rcdVerification" shall only be used if the Calling number verification using signature verification and attestation information feature is not supported. Otherwise, resource URIs "/signing" and "/verification" shall be used for the RCD info.
If the server cannot process the request, the server provides an HTTP error response. The error response contains a JSON object specifying the error type.
The server provides a service error when the server is unable to process the request.
The server provides a policy error when the server is able to process the request, but not able to complete the service execution due to a policy restriction.
To construct a PASSporT SHAKEN object specified in RFC 8588, a PASSporT rph object specified in RFC 8443 and RFC 9027, a PASSporT div object, specified in RFC 8946, or a PASSporT rcd object, specified in RFC 9795, the client sends an HTTP POST request to the AS for signing containing the SIP request information plus any additional claim information to be signed by the target PASSporT type. If the request was successfully processed, then the received signingResponse contains an Identity header field value populated with a signed PASSporT of the requested type along with the appropriate Identity header field parameters.
Unsuccessful requests are responded with an HTTP 4xx or 5xx response.
string; set to the value of the "ppt" parameter in the protected header of the PASSporT to be created
O
This parameter is included to inform the AS for signing the type of PASSporT that is to be constructed and signed.
attest
string; "A", "B" or "C"
O
Identifying the relation between the service provider attesting the identity and the subscriber. Specified in RFC 8588.
dest
array of identity claim JSON objects representing destination identities; tn or uri
M
Identifying the called user taken from the To header field for a "shaken" or "rph" PASSporT as specified in RFC 8224, and from the Request-URI after retargeting for a "div" PASSporT as specified in RFC 8946.
div
identity claim JSON object, tn or uri. A hi element should be included.
O
Identifying the diverting user; i.e., the user identified in the Request-URI before retargeting, taken from the History-Info header field as specified in RFC 8946.
iat
integer; time and date of issuance of the PASSporT token
M
Time since 1 January 1970 in Numeric Date format as specified in RFC 7519.
orig
identity claim JSON object; tn or uri
M
Identifying the calling user. Specified in RFC 8225.
array of strings that correspond to the r-values indicated in the SIP Resource-Priority header field
O
Contains assertion of the priority level of the user to be used for a given communication session as specified in RFC 8443 and RFC 9027.
sph
string "psap-callback"
O
Contains header field value "psap-callback" of the SIP Priority header field as specified in RFC 9027
rcd
rcd claim JSON object; structured data type containing one or more key value pairs
O
Contains a call initiator data as specified in RFC 9795, i.e. "nam", "apn", "icn", "jcd" and "jcl" key parameters.
rcdi
rcdi claim JSON object with a set of JSON key/value pairs
O
Contains the elements of the "rcd" claim object that require integrity protection with an associated digest over the content referenced by the key string as specified in RFC 9795.
The signing request provides the following two options for identifying the PASSporT type to be constructed:
the PASSporT type is indicated by invoking the signing resource associated with that PASSporT type, as defined in subclause V.2.2; or
the PASSporT type is identified by including a ppt parameter when invoking the /signing resource defined in subclause V.2.2.
The "apn" key value as specified in RFC 9795 is an optional alternate presentation number associated with a call initiator, which may for example match the user component of the From header field value of a SIP request (in cases where a network number is carried in the P-Asserted-Identity, or alternatively from the Additional-Identity header field value.
hi
string. An "index" header field parameter as specified in RFC 7044
O
The "index" header field parameter is included in the entry identifying the diverting user in the History-Info header field.
icn
JSON key/value pair; uri
O
The "icn" key value as specified in RFC 9795 is an optional HTTPS URL reference to an image resource that can be used to pictorially represent a call initiator.
jcd
JSON object; structured data type RcdInformation as specified in TS 29.571
O
The "jcd" key value as specified in RFC 9795 contains RCD information about the call initiator and is intended to directly match the Call-Info header field value defined in draft-ietf-sipcore-callinfo-rcd [303].
(NOTE 2)
jcl
JSON key/value pair; uri
O
The "jcl" key value as specified in RFC 9795 is an HTTPS URL that refers to a jCard JSON object on a web server.
(NOTE 2)
nam
JSON key/value pair; tn
C
The "nam" key value as specified in RFC 9795 is a display name, associated with a call initiator, which may for example match the display-name component of the From header field value or alternatively from the P-Asserted-Identity header field value of a SIP request.
This key shall be included once as part of the "rcd" claim value JSON object. If there is no string associated with a display name, the claim value shall be an empty string.
tn
string; allowed characters as for local-number-digits and global-number-digits defined in RFC 3966
To verify one or more received PASSporTs, the client sends a verification request in the form of an HTTP POST request to the AS for verification containing the Identity header field(s) populated with the PASSporT object(s) to be verified. The verification request also contains the following information:
the originating identity and optionally all the diverting identities;
the Resource-Priority header field value and optionally the header field value "psap-callback" of the Priority header field; and/or
the value of the Call-Info header field containing the RCD parameters.
The verificationResponse contains the outcome of the verification in a verstat claim with values as specified for the verstat tel URI parameter in subclause 7.2A.20 and in a verstatPriority claim with values as specified for the Priority-Verstat header field in subclause 7.2.21. The verificationResponse can optionally contain the claims of PASSporT(s) that passed verification.
The verificationResponse can also contain verification results information for each verified PASSporT, as follows:
if verification passed, then verificationResponse contains the validated claims of the PASSporT;
if verification failed, then verificationResponse contains information describing the reason for the failure.
Unsuccessful requests are responded with an HTTP 4xx or 5xx response.
string; Identity header field value for the originating identity as specified in RFC 8224 and RFC 8588 and the rcd info as specified in RFC 9795
M
This parameter contains the "shaken" Identity header field value to be verified (see NOTE 1).
identityHeaders
array of string; Identity header field values as specified in RFC 8224, RFC 8443, RFC 8946, RFC 9027, RFC 9795. One identityHeader claim per received Identity header field is sent.
O
This array contains the "div", "rph" and "rcd" Identity header field values to be verified (see NOTE 2).
to
string; identity claim JSON object; tn or uri
M
The destination identity taken from the To header field. Used when no div claim is included.
dest
string; identity claim JSON object; tn or uri
O
The destination identity taken from the Request-URI in the incoming request.
Time based on the Date header field in the incoming request.
from
string; identity claim JSON object; tn or uri
M
The asserted identity, taken from the P-Asserted-Identity or the From header field of the incoming request
protectedHeaders
array of string; header field(s)
O
Contains the SIP header field(s) protected by claims in the PASSporT(s) of the identityHeaders array or the identityHeader parameter (see NOTE 4).
NOTE 1:
For "shaken" PASSporT verification, an identityHeader parameter containing a "shaken" Identity header field shall be included in the verification request.
NOTE 2:
For "rph" PASSporT verification, an identityHeaders parameter containing an "rph" Identity header field shall be included in the verification request. If the identityHeader parameter contains a "shaken" Identity header field, and/or the identityHeaders parameter contains an "rph" Identity header field, then all "div" Identity header field(s) received in an INVITE request shall be included in the identityHeaders parameter of the verification request. If "rph" PASSporT verification is not to be performed, and if the INVITE request does not contain any "div" Identity header fields, then the identityHeaders parameter shall not be included in the verification request.
NOTE 3:
The identityHeader parameter containing the "shaken" Identity header field may contain the RCD info as specified in RFC 9795.
NOTE 4:
The identityHeader parameter applies for the "shaken" Identity header field with the RCD.
Invocation of the verification request results in the verification of the Identity header fields in the identityHeader and identityHeaders parameters. In addition, a verification request invocation can verify the integrity of SIP header fields protected by the "div", "rph" and "rcd" PASSporTs. When verification of SIP header field integrity is required, the protected SIP header field(s) information shall be conveyed in the protectedHeaders parameter.
The dest parameter is included when the verification request includes a div claim, and when the verification service is required to distinguish between a legitimately retargeted request and a maliciously replayed request.
Table V.2.6.2-1a indicates representative inclusion rules for the verification request identityHeader and identityHeaders parameters for the different combinations of PASSporT types to be verified.
array of one or more [div, verstatValue] tuples
O
Parameter informing of the result of the verification of diverting identities. For each verified identity the verstat parameter is added to the verified identity.
Parameter informing of the result of the verification of originating identity. To be used in the verstat parameter added to the verified identity. The parameter is mandatory if the request contained a PASSporT SHAKEN JSON Web Token.
Parameter informing of the result of the verification of the Resource-Priority header field and optionally the header field value "psap-callback" of the Priority header field.
verstatRcd
string; set to one of the following values: "RCD-Validation-Passed", "RCD-Validation-Failed" and "No-RCD-Validation"
O
Parameter informing of the result of the verification of the Call-Info header field containing the RCD parameters if the request contained a rcd claim within PASSporT SHAKEN or rcd JSON Web Token.
(NOTE)
verifyResults
array of one or more verifyResult, as defined in Table V.2.6.2-3
O
Each array entry contains the verification results of a PASSporT contained in the request.
NOTE:
The verification result values of the rcd claim shall be the same independently if the RCD info was included within the "shaken" or "rcd" PASSporT.
Table V.2.6.2-3 specifies the mandatory data types of the verifyResult parameter included in the verification response.
structured data type containing
[ppt,
status,
validClaims,
reasonCode,
reasonText,
passport] tuple
M
Contains the verification results of a single Identity header field contained in the identityHeader parameter or an entry of the identityHeaders array of the verification request. The ppt and status parameters are always present. The inclusion of the other parameters in the tuple depends on the value of the status parameter.
ppt
string, set to the value of the ppt parameter in the protected header of the PASSporT.
M
Identifies the type of PASSporT associated with this array entry.
status
String, set to the value pass, fail or none.
M
Identifies the verification result of the PASSporT associated with this array entry.
Each verifyResult entry of the verifyResults array conveys the verification results of an Identity header field contained in the identityHeader parameter or contained in an entry of the identityHeaders array of the verification request.
Additional verifyResult parameters are returned based on the value of the status parameter as follows:
a status parameter with a value of "fail" returns the parameters shown in Table V.2.6.2-4;
a status parameter with a value of "pass" returns the parameter shown in Table V.2.6.2-5; and
a status parameter with a value of "none" returns no additional parameters.
A status parameter with a value of "none" indicates that the PASSporT type is not supported.
Table V.2.6.2-4 specifies the optional data types of the verifyResult parameter included in the verification response.
The validClaims parameter contains the payload of the verified PASSporT.
The validClaims parameter can be used:
to verify the integrity of SIP header field information associated with the validated claims, where a mismatch results in a verification failure; or
to ensure that SIP header field contents contain the information authorized by the validated claims, where a mismatch is resolved by updating the SIP header field to match the validated claims.