openapi: 3.2.0 info: x-logo: url: https://raw.githubusercontent.com/neustar/tcs-apis/main/docs/newNeustarLogo.jpeg altText: 3GPP Authentication & Verification Service APIs title: 3GPP-based Call Authentication Verification API description: 'Note: The above download will output the 3GPP-based Call Authentication APIs in OpenAPI format.

Definition of the Application Server HTTP messages and data types for signing and verification using the Ms reference point. These APIs are designed to be compliant with the referenced 3GPP specification, while also including several optional enhancements. Such enhancements may or may not be brought back into the 3GPP CT1 working group for consideration.' contact: {} version: 1.0, TS 24.229, Release 17.10.0 servers: - url: http://localhost:8080/stir/v1 description: signing resource URI tags: - name: verification description: Used to verify one or more PASSporT JSON Web Tokens (or Identity headers). Also, referred to as the STI Verification Service (STI-VS). paths: /verification: post: tags: - verification summary: Verification (STI-VS) Request operationId: verificationPost requestBody: content: application/json: schema: $ref: '#/components/schemas/verificationRequest' x-code-samples: - lang: curl label: SHAKEN source: "Request: \n{\n \"verificationRequest\": {\n \"identityHeader\": \"eyJhbGciOiJFUzI1NiIsInBwdCI6InNoYWtlbiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9jYS1jbXMubmV1c3RhcmxhYi5iaXovY2NpZC9hdXRobi92Mi9jZXJ0cy8xMTAwMS4xMDAwNSJ9.eyJhdHRlc3QiOiJBIiwiZGVzdCI6eyJ0biI6WyIxNTcxNTU1MDAwMCJdfSwiaWF0IjoxNjcxNTYyNTA2LCJvcmlnIjp7InRuIjoiMTcwMzU1NTAwMDEifSwib3JpZ2lkIjoiMjA4ODQ0OGMtNzE4ZS00OTMwLWJlNWQtMGVjOWIyNWQyZjAwIn0.JCjexv3fvANmT8ovwLwnnbYDMqwgIyoHgm2sCBUs8I8ZcDiRcGJSDXItMqayFwNuEOIyAax1r-RFlmioRiIxaQ;info=;alg=ES256;ppt=\\\"shaken\\\"\",\n \"from\": {\n \"tn\": \n \"17035550001\"\n },\n \"to\": {\n \"tn\": \n \"15715550000\"\n },\n \"time\": 1671468206\n }\n}\nResponse: \n{\n \"verificationResponse\": {\n \"verstatValue\": \"TN-Validation-Passed\",\n \"verifyResults\": [\n {\n \"verifyResult\": {\n \"ppt\": \"shaken\",\n \"status\": \"pass\",\n \"validClaims\": {\n \"attest\": \"A\",\n \"dest\": {\n \"tn\": [\n \"15715550000\"\n ]\n },\n \"iat\": 1671562506,\n \"orig\": {\n \"tn\": \"17035550001\"\n },\n \"origid\": \"2088448c-718e-4930-be5d-0ec9b25d2f00\"\n }\n }\n }\n ]\n }\n}\n" - lang: curl label: SHAKEN w/1-Diversion source: "Request: \n{\n \"verificationRequest\": {\n \"identityHeader\": \"eyJhbGciOiJFUzI1NiIsInBwdCI6InNoYWtlbiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9jYS1jbXMubmV1c3RhcmxhYi5iaXovY2NpZC9hdXRobi92Mi9jZXJ0cy8xMTAwMS4xMDAwNSJ9.eyJhdHRlc3QiOiJBIiwiZGVzdCI6eyJ0biI6WyIxNTcxNTU1MDAwMCJdfSwiaWF0IjoxNjcxNjQzMjQ1LCJvcmlnIjp7InRuIjoiMTcwMzU1NTAwMDEifSwib3JpZ2lkIjoiMjA4ODQ0OGMtNzE4ZS00OTMwLWJlNWQtMGVjOWIyNWQyZjAwIn0.xVehgHokyfGi1Rz8sTnE3AtRrzgI-Z8DjDPozxbyMHu_AlZsR0HSssRLuAnfC_JqGWl3WLTXrA2UsQKdine7Aw;info=;alg=ES256;ppt=\\\"shaken\\\"\",\n \"identityHeaders\": [\n \"eyJhbGciOiJFUzI1NiIsInBwdCI6ImRpdiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9jYS1jbXMubmV1c3RhcmxhYi5iaXovY2NpZC9hdXRobi92Mi9jZXJ0cy8xMTAwMS4xMDAwNSJ9.eyJkZXN0Ijp7InRuIjpbIjEyMTU1NTU1MTIxMiJdfSwiZGl2Ijp7InRuIjoiMTU3MTU1NTAwMDAifSwiaWF0IjoxNjcxNjQzMzQyLCJvcmlnIjp7InRuIjoiMTcwMzU1NTAwMDEifX0._dDZvZEVZSMBdnJxUUOozAPhl6wvrLB9T26wl52dsmktQQl8JN7HpqADM8bInrbbbom6I6MID57K2Lk12W0GbA;info=;alg=ES256;ppt=\\\"div\\\"\"\n ],\n \"from\": {\n \"tn\": \n \"17035550001\"\n },\n \"to\": {\n \"tn\": \n \"15715550000\"\n },\n \"dest\": {\n \"tn\": \n \"17325551212\"\n },\n \"time\": 1664216863,\n \"protectedHeaders\": \"[Diversion: sip:121555551212@10.10.100.12;reason=unknown;privacy=off]\"\n }\n}\nResponse: \n{\n \"verificationResponse\": {\n \"verstatValue\": \"TN-Validation-Passed\",\n \"verifyResults\": [\n {\n \"verifyResult\": {\n \"ppt\": \"shaken\",\n \"status\": \"pass\",\n \"validClaims\": {\n \"attest\": \"A\",\n \"dest\": {\n \"tn\": [\n \"15715550000\"\n ]\n },\n \"iat\": 1671643245,\n \"orig\": {\n \"tn\": \"17035550001\"\n },\n \"origid\": \"2088448c-718e-4930-be5d-0ec9b25d2f00\"\n }\n }\n },\n {\n \"verifyResult\": {\n \"ppt\": \"div\",\n \"status\": \"pass\",\n \"validClaims\": {\n \"dest\": {\n \"tn\": [\n \"121555551212\"\n ]\n },\n \"div\": {\n \"tn\": \"15715550000\"\n },\n \"iat\": 1671643342,\n \"orig\": {\n \"tn\": \"17035550001\"\n }\n }\n }\n }\n ],\n \"divResult\": [\n {\n \"div\": {\n \"tn\": \"15715550000\"\n },\n \"verstatValue\": \"TN-Validation-Passed\"\n }\n ]\n }\n}\n" - lang: curl label: SHAKEN w/2-Diversion source: "Request: \n{\n \"verificationRequest\": {\n \"identityHeader\": \"eyJhbGciOiJFUzI1NiIsInBwdCI6InNoYWtlbiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9jYS1jbXMubmV1c3RhcmxhYi5iaXovY2NpZC9hdXRobi92Mi9jZXJ0cy8xMTAwMS4xMDAwNSJ9.eyJhdHRlc3QiOiJBIiwiZGVzdCI6eyJ0biI6WyIxNTcxNTU1MDAwMCJdfSwiaWF0IjoxNjcxNjQ5NTQ4LCJvcmlnIjp7InRuIjoiMTcwMzU1NTAwMDEifSwib3JpZ2lkIjoiMjA4ODQ0OGMtNzE4ZS00OTMwLWJlNWQtMGVjOWIyNWQyZjAwIn0.oNEsH0whKfXsLijddY99wM5hzyT5ausMF84fV8QGOdItsjUInzP4WubnqydibAkMeb40ZoAfCiWm6O9aQHkfYw;info=;alg=ES256;ppt=\\\"shaken\\\"\",\n \"identityHeaders\": [\n \"eyJhbGciOiJFUzI1NiIsInBwdCI6ImRpdiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9jYS1jbXMubmV1c3RhcmxhYi5iaXovY2NpZC9hdXRobi92Mi9jZXJ0cy8xMTAwMS4xMDAwNSJ9.eyJkZXN0Ijp7InRuIjpbIjEyMTU1NTU1MTIxMiJdfSwiZGl2Ijp7InRuIjoiMTU3MTU1NTAwMDAifSwiaWF0IjoxNjcxNjQ5NTkyLCJvcmlnIjp7InRuIjoiMTcwMzU1NTAwMDEifX0.sli710c0b3qBm452InpGO1_AC9QIN2YeYsYD21ciel1iavTiBPeK0_xdj413lCMW0Mv8LFU9f8PW8jQzQhhCJA;info=;alg=ES256;ppt=\\\"div\\\"\",\n \"eyJhbGciOiJFUzI1NiIsInBwdCI6ImRpdiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9jYS1jbXMubmV1c3RhcmxhYi5iaXovY2NpZC9hdXRobi92Mi9jZXJ0cy8xMTAwMS4xMDAwNSJ9.eyJkZXN0Ijp7InRuIjpbIjEyMTU1NTU1MTIxMyJdfSwiZGl2Ijp7InRuIjoiMTIxNTU1NTUxMjEyIn0sImlhdCI6MTY3MTY0OTY2OSwib3JpZyI6eyJ0biI6IjE3MDM1NTUwMDAxIn19.nDbddr0rmu5OHZ8oezA88x_c0EwRWLKmU9gaFeIAwzrDItJ5RVzTlr1KiZTDUh31NP75RzjhqAdHXyX_FkrDyQ;info=;alg=ES256;ppt=\\\"div\\\"\"\n ],\n \"from\": {\n \"tn\": \n \"17035550001\"\n },\n \"to\": {\n \"tn\": \n \"15715550000\"\n },\n \"dest\": {\n \"tn\": \n \"121555551213\"\n },\n \"time\": 1664216863,\n \"protectedHeaders\": [\n \"Diversion: sip:121555551212@10.10.100.12;reason=unknown;privacy=off\",\n \"Diversion: sip:15715550000@10.10.100.10;reason=unknown;privacy=off\"\n ]\n }\n}\nResponse: \n{\n \"verificationResponse\": {\n \"verstatValue\": \"TN-Validation-Passed\",\n \"verifyResults\": [\n {\n \"verifyResult\": {\n \"ppt\": \"shaken\",\n \"status\": \"pass\",\n \"validClaims\": {\n \"attest\": \"A\",\n \"dest\": {\n \"tn\": [\n \"15715550000\"\n ]\n },\n \"iat\": 1671649548,\n \"orig\": {\n \"tn\": \"17035550001\"\n },\n \"origid\": \"2088448c-718e-4930-be5d-0ec9b25d2f00\"\n }\n }\n },\n {\n \"verifyResult\": {\n \"ppt\": \"div\",\n \"status\": \"pass\",\n \"validClaims\": {\n \"dest\": {\n \"tn\": [\n \"121555551212\"\n ]\n },\n \"div\": {\n \"tn\": \"15715550000\"\n },\n \"iat\": 1671649592,\n \"orig\": {\n \"tn\": \"17035550001\"\n }\n }\n }\n },\n {\n \"verifyResult\": {\n \"ppt\": \"div\",\n \"status\": \"pass\",\n \"validClaims\": {\n \"dest\": {\n \"tn\": [\n \"121555551213\"\n ]\n },\n \"div\": {\n \"tn\": \"121555551212\"\n },\n \"iat\": 1671649669,\n \"orig\": {\n \"tn\": \"17035550001\"\n }\n }\n }\n }\n ],\n \"divResult\": [\n {\n \"div\": {\n \"tn\": \"15715550000\"\n },\n \"verstatValue\": \"TN-Validation-Passed\"\n },\n {\n \"div\": {\n \"tn\": \"121555551212\"\n },\n \"verstatValue\": \"TN-Validation-Passed\"\n }\n ]\n }\n}\n" - lang: curl label: RPH source: "Request: \n{\n \"verificationRequest\": {\n \"identityHeaders\": [\n \"eyJhbGciOiJFUzI1NiIsInBwdCI6InJwaCIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9jYS1jbXMubmV1c3RhcmxhYi5iaXovY2NpZC9hdXRobi92Mi9jZXJ0cy8xMTAxNS4xMDAwMSJ9.eyJkZXN0Ijp7InRuIjpbIjE1NzE1NTUwMDAwIl19LCJpYXQiOjE2NzE3MzM5MjEsIm9yaWciOnsidG4iOiIxNzAzNTU1MDAwMSJ9LCJycGgiOnsiYXV0aCI6WyJlc25ldC4xIl19LCJzcGgiOiJwc2FwLWNhbGxiYWNrIn0.k5Hanlb8ckCzGYdQS6m8v1xgUv0k4QNiSI8FG3UVZtW4jT4g2u_VYcXJ9R2p5SmQp6Fz2O3eBEwjrkvUKtrTIA;info=;alg=ES256;ppt=\\\"rph\\\"\"\n ],\n \"from\": {\n \"tn\": \n \"17035550001\"\n },\n \"to\": {\n \"tn\": \n \"15715550000\"\n },\n \"time\": 1671468206,\n \"protectedHeaders\": [\n \"Resource-Priority: ets.0\"\n ]\n }\n}\nResponse: \n{\n \"verificationResponse\": {\n \"verifyResults\": [\n {\n \"verifyResult\": {\n \"ppt\": \"rph\",\n \"status\": \"pass\",\n \"validClaims\": {\n \"dest\": {\n \"tn\": [\n \"15715550000\"\n ]\n },\n \"iat\": 1671733921,\n \"orig\": {\n \"tn\": \"17035550001\"\n },\n \"rph\": {\n \"auth\": [\n \"ets.0\"\n ]\n }\n }\n }\n }\n ],\n \"verstatPriority\": \"RPH-Validation-Passed\"\n }\n}\n" - lang: curl label: SHAKEN w/RPH source: "Request: \n{\n \"verificationRequest\": {\n \"identityHeader\": \"eyJhbGciOiJFUzI1NiIsInBwdCI6InNoYWtlbiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9jYS1jbXMubmV1c3RhcmxhYi5iaXovY2NpZC9hdXRobi92Mi9jZXJ0cy8xMTAwMS4xMDAwNSJ9.eyJhdHRlc3QiOiJBIiwiZGVzdCI6eyJ0biI6WyIxNTcxNTU1MDAwMCJdfSwiaWF0IjoxNjcxNzMzNzMyLCJvcmlnIjp7InRuIjoiMTcwMzU1NTAwMDEifSwib3JpZ2lkIjoiMjA4ODQ0OGMtNzE4ZS00OTMwLWJlNWQtMGVjOWIyNWQyZjAwIn0.UAQV-eXstCgjR6_aVSWpFl3WUoHWQMPNvKMzxckfkQsZHrC-8UfdKdIDyS1UAPUhzTb9jLvDGDH4aMMI9P_NmA;info=;alg=ES256;ppt=\\\"shaken\\\"\",\n \"identityHeaders\": [\n \"eyJhbGciOiJFUzI1NiIsInBwdCI6InJwaCIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9jYS1jbXMubmV1c3RhcmxhYi5iaXovY2NpZC9hdXRobi92Mi9jZXJ0cy8xMTAxNS4xMDAwMSJ9.eyJkZXN0Ijp7InRuIjpbIjE1NzE1NTUwMDAwIl19LCJpYXQiOjE2NzE3MzM3MjMsIm9yaWciOnsidG4iOiIxNzAzNTU1MDAwMSJ9LCJycGgiOnsiYXV0aCI6WyJlc25ldC4xIl19LCJzcGgiOiJwc2FwLWNhbGxiYWNrIn0.wmUw-Kf6Jt8rUtAVcpbHxJU7praKho8epR5YEpph0iOB3T_JZIivIX-mlR1VxK9ao_2y6JfEg9Gambi3xFBqEQ;info=;alg=ES256;ppt=\\\"rph\\\"\"\n ],\n \"from\": {\n \"tn\": \n \"17035550001\"\n },\n \"to\": {\n \"tn\": \n \"15715550000\"\n },\n \"time\": 1664216863,\n \"protectedHeaders\": [\n \"Resource-Priority:esnet.1\"\n ]\n }\n}\nResponse: \n{\n \"verificationResponse\": {\n \"verstatValue\": \"TN-Validation-Passed\",\n \"verifyResults\": [\n {\n \"verifyResult\": {\n \"ppt\": \"shaken\",\n \"status\": \"pass\",\n \"validClaims\": {\n \"attest\": \"A\",\n \"dest\": {\n \"tn\": [\n \"15715550000\"\n ]\n },\n \"iat\": 1671733732,\n \"orig\": {\n \"tn\": \"17035550001\"\n },\n \"origid\": \"2088448c-718e-4930-be5d-0ec9b25d2f00\"\n }\n }\n },\n {\n \"verifyResult\": {\n \"ppt\": \"rph\",\n \"status\": \"pass\",\n \"validClaims\": {\n \"dest\": {\n \"tn\": [\n \"15715550000\"\n ]\n },\n \"iat\": 1671733723,\n \"orig\": {\n \"tn\": \"17035550001\"\n },\n \"rph\": {\n \"auth\": [\n \"esnet.1\"\n ]\n },\n \"sph\": \"psap-callback\"\n }\n }\n }\n ],\n \"verstatPriority\": \"RPH-Validation-Passed\"\n }\n}\n" - lang: curl label: SHAKEN w/RPH-DIV source: "Request: \n{\n \"verificationRequest\": {\n \"identityHeader\":\"eyJhbGciOiJFUzI1NiIsInBwdCI6InNoYWtlbiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9jYS1jbXMubmV1c3RhcmxhYi5iaXovY2NpZC9hdXRobi92Mi9jZXJ0cy8xMTAwMS4xMDAwNSJ9.eyJhdHRlc3QiOiJBIiwiZGVzdCI6eyJ0biI6WyIxNTcxNTU1MDAwMCJdfSwiaWF0IjoxNjcxNjQzMjQ1LCJvcmlnIjp7InRuIjoiMTcwMzU1NTAwMDEifSwib3JpZ2lkIjoiMjA4ODQ0OGMtNzE4ZS00OTMwLWJlNWQtMGVjOWIyNWQyZjAwIn0.xVehgHokyfGi1Rz8sTnE3AtRrzgI-Z8DjDPozxbyMHu_AlZsR0HSssRLuAnfC_JqGWl3WLTXrA2UsQKdine7Aw;info=;alg=ES256;ppt=\\\"shaken\\\"\",\n \"identityHeaders\":[\n \"eyJhbGciOiJFUzI1NiIsInBwdCI6ImRpdiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9jYS1jbXMubmV1c3RhcmxhYi5iaXovY2NpZC9hdXRobi92Mi9jZXJ0cy8xMTAwMS4xMDAwNSJ9.eyJkZXN0Ijp7InRuIjpbIjEyMTU1NTU1MTIxMiJdfSwiZGl2Ijp7InRuIjoiMTU3MTU1NTAwMDAifSwiaWF0IjoxNjcxNjQzMzQyLCJvcmlnIjp7InRuIjoiMTcwMzU1NTAwMDEifX0._dDZvZEVZSMBdnJxUUOozAPhl6wvrLB9T26wl52dsmktQQl8JN7HpqADM8bInrbbbom6I6MID57K2Lk12W0GbA;info=;alg=ES256;ppt=\\\"div\\\"\",\n \"eyJhbGciOiJFUzI1NiIsInBwdCI6InJwaCIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9jYS1jbXMubmV1c3RhcmxhYi5iaXovY2NpZC9hdXRobi92Mi9jZXJ0cy8xMTAxNS4xMDAwMSJ9.eyJkZXN0Ijp7InRuIjpbIjE1NzE1NTUwMDAwIl19LCJpYXQiOjE2NzE3MzM5MjEsIm9yaWciOnsidG4iOiIxNzAzNTU1MDAwMSJ9LCJycGgiOnsiYXV0aCI6WyJlc25ldC4xIl19LCJzcGgiOiJwc2FwLWNhbGxiYWNrIn0.k5Hanlb8ckCzGYdQS6m8v1xgUv0k4QNiSI8FG3UVZtW4jT4g2u_VYcXJ9R2p5SmQp6Fz2O3eBEwjrkvUKtrTIA;info=;alg=ES256;ppt=\\\"rph\\\"\"\n ],\n \"from\":{\n \"tn\":\n \"17035550001\"\n },\n \"to\":{\n \"tn\":\n \"15715550000\"\n },\n \"dest\":{\n \"tn\":\n \"17325551212\"\n },\n \"time\":1664216863,\n \"protectedHeaders\":[\n \"Diversion: sip:121555551212@10.10.100.12;reason=unknown;privacy=off\",\n \"Resource-Priority:esnet.1\"\n ]\n }\n}\nResponse: \n{\n \"verificationResponse\": {\n \"verstatValue\": \"TN-Validation-Passed\",\n \"verifyResults\": [\n {\n \"verifyResult\": {\n \"ppt\": \"shaken\",\n \"status\": \"pass\",\n \"validClaims\": {\n \"attest\": \"A\",\n \"dest\": {\n \"tn\": [\n \"15715550000\"\n ]\n },\n \"iat\": 1671643245,\n \"orig\": {\n \"tn\": \"17035550001\"\n },\n \"origid\": \"2088448c-718e-4930-be5d-0ec9b25d2f00\"\n }\n }\n },\n {\n \"verifyResult\": {\n \"ppt\": \"div\",\n \"status\": \"pass\",\n \"validClaims\": {\n \"dest\": {\n \"tn\": [\n \"121555551212\"\n ]\n },\n \"div\": {\n \"tn\": \"15715550000\"\n },\n \"iat\": 1671643342,\n \"orig\": {\n \"tn\": \"17035550001\"\n }\n }\n }\n },\n {\n \"verifyResult\": {\n \"ppt\": \"rph\",\n \"status\": \"pass\",\n \"validClaims\": {\n \"dest\": {\n \"tn\": [\n \"15715550000\"\n ]\n },\n \"iat\": 1671733921,\n \"orig\": {\n \"tn\": \"17035550001\"\n },\n \"rph\": {\n \"auth\": [\n \"ets.0\"\n ]\n }\n }\n }\n }\n ],\n \"divResult\": [\n {\n \"div\": {\n \"tn\": \"15715550000\"\n },\n \"verstatValue\": \"TN-Validation-Passed\"\n }\n ],\n \"verstatPriority\": \"RPH-Validation-Passed\"\n }\n}\n" responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/verificationResponse' '400': description: Service error in processing request content: application/json: examples: missingRequestBody: summary: Missing Request Body value: error: Missing request body missingMandatoryParameter: summary: Missing Mandatory Parameter value: error: Missing Mandatory Parameter invalidParameterValue: summary: Invalid Parameter Value value: error: Invalid Parameter Value failedToParseMessageBody: summary: Failed To Parse Message Body value: error: Failed To Parse Message Body '406': description: Service error in processing request content: application/json: schema: required: - error type: object properties: error: type: string example: Requested response body type is not supported description: The request could not be processed due to a not supported message body format '404': description: Service error in processing request content: application/json: schema: required: - error type: object properties: error: type: string example: Requested resource not found description: The request could not be processed due to no resource available related to the Request-URI '415': description: Service error in processing request content: application/json: schema: required: - error type: object properties: error: type: string example: Unsupported request body type description: The request could not be processed due to not supported message body '411': description: Service error in processing request content: application/json: schema: required: - error type: object properties: error: type: string example: Missing mandatory Content-Length headers description: The request could not be processed due to a missing Content-Length header '405': description: Policy error in processing request content: application/json: schema: required: - error type: object properties: error: type: string example: Method not allowed description: The resource was invoked with unsupported operation '500': description: Policy error in processing request content: application/json: schema: required: - error type: object properties: error: type: string example: Internal server error description: The request failed due to internal error components: schemas: verificationResponse: title: verificationResponse properties: verificationResponse: type: object description: JSON structure of the verification response properties: requestId: type: string description: An opaque identifier that is reflected from the request to support troubleshooting and fault analysis example: '45690' displayName: type: string description: The display name, reflected from the request, but possibly modified by Call Validation Treatment example: '[V]John Smith' divResult: type: array description: Parameter informing of the result of the verification of diverting identities. For each verified identity, the "verstat" parameter is added to the verified identity. The “divResult” parameter is an array of one or more [div, verstatValue] tuples items: type: object properties: div: type: object properties: tn: type: string description: Allowed characters as for local-number-digits and global-number-digits. The number needs to be in canonical form. See “from”, “to” or “dest” above for accepted format example: '12155551212' uri: type: string description: Used if the “from”, “to” or “dest” is given in a SIP URI. See “from”, “to” or “dest” above for accepted formats example: null verstatValue: type: string example: TN-Validation-Passed verstatValue: type: string description: 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 contains a PASSporT "shaken" JSON Web Token example: TN-Validation-Passed verstatPriority: type: string description: 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 example: RPH-Validation-Passed verifyResults: description: Each array entry contains the verification results of a PASSporT contained in the request type: array items: type: object required: - verifyResult properties: verifyResult: description: 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. type: object required: - ppt - status properties: ppt: type: string description: Identifies the type of PASSporT associated with this verifyResult entry status: type: string description: Identifies the verification result of the PASSporT associated with this verifyResult entry reasonCode: type: integer description: Identifies the failure reason code of the failing PASSporT. Optional since this is included only when the verifyResult "status" parameter has a value of "fail" reasonText: type: string description: Identifies the failure text associated with the failure reason code. Optional since this is included only when the verifyResult "status" parameter has a value of "fail" reasonDescription: type: string description: Provides a more detailed description of the Verification Service failure. This is included, if available, only when the verifyResult "status" parameter has a value of "fail" passport: type: string description: Contains the failing PASSporT. Optional since this is included only when the verifyResult "status" parameter has a value of "fail" validClaims: type: object description: This parameter contains the payload of the verified PASSporT. Optional since this is included only when the verifyResult "status" parameter has a value of "pass" example: - verifyResult: ppt: shaken status: pass validClaims: attest: B dest: tn: - '12155551212' uri: null iat: 1664199282 orig: tn: '12155551211' origid: 123e4567-e89b-12d3-a456-426655440000 - verifyResult: ppt: div status: pass validClaims: dest: tn: - '12155551213' uri: null iat: 1664199282 orig: tn: '12155551211' div: tn: '121555551212' hi: null - verifyResult: ppt: rph status: pass validClaims: dest: tn: - '12155551212' uri: null iat: 1664199282 orig: tn: '12155551211' rph: auth: - esnet.0 verificationRequest: title: verificationRequest properties: verificationRequest: description: JSON structure of the verification request type: object required: - identityHeader - to - time - from properties: identityHeader: type: string description: This parameter contains a "shaken" Identity header field value to be verified example: kjhytrciOiJFUzI1NiIsInBwdCI6InNoYWtlbiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cDovL05FVS1DMDJGRzJLN01MODU6ODA4MC9jY2lkL2F1dGhuL3YyL2NlcnRzLzExMDAxLjEwMDAxIn0.eyJhdHRlc3QiOiJBIiwiZGVzdCI6eyJ0biI6WyIxNTcxNTU1MDAwMCJdfSwiaWF0IjoxNjQ5NTM2NTMxLCJvcmlnIjp7InVyaSI6InNpcDphbGljZUBleGFtcGxlLmNvbSJ9LCJvcmlnaWQiOiJjODcyNDU3NS1iNzgxLTExZWMtYjU3NC0wMjQyYWMxMTAwMDIifQ.piGZhwqwWaKM4cOcrDTMeFKOY5UlekVDlKZTxlge4x0ERnSe9uW4400gaoVFdpGiTOzoCt9QdSfwLV_hcmvT0g;info=;alg=ES256;ppt="shaken" identityHeaders: type: array items: type: string description: This parameter contains one or more "div" and/or "rph" Identity header field values to be verified example: - mjhtrrciOiJFUzI1NiIsInBwdCI6InNoYWtlbiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cDovL05FVS1DMDJGRzJLN01MODU6ODA4MC9jY2lkL2F1dGhuL3YyL2NlcnRzLzExMDAxLjEwMDAxIn0.eyJhdHRlc3QiOiJBIiwiZGVzdCI6eyJ0biI6WyIxNTcxNTU1MDAwMCJdfSwiaWF0IjoxNjQ5NTM2NTMxLCJvcmlnIjp7InVyaSI6InNpcDphbGljZUBleGFtcGxlLmNvbSJ9LCJvcmlnaWQiOiJjODcyNDU3NS1iNzgxLTExZWMtYjU3NC0wMjQyYWMxMTAwMDIifQ.piGZhwqwWaKM4cOcrDTMeFKOY5UlekVDlKZTxlge4x0ERnSe9uW4400gaoVFdpGiTOzoCt9QdSfwLV_hcmvT0g;info=;alg=ES256;ppt="div" - eyJhbGciOiJFUzI1NiIsInBwdCI6InNoYWtlbiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cDovL05FVS1DMDJGRzJLN01MODU6ODA4MC9jY2lkL2F1dGhuL3YyL2NlcnRzLzExMDAxLjEwMDAxIn0.eyJhdHRlc3QiOiJBIiwiZGVzdCI6eyJ0biI6WyIxNTcxNTU1MDAwMCJdfSwiaWF0IjoxNjQ5NTM2NTMxLCJvcmlnIjp7InVyaSI6InNpcDphbGljZUBleGFtcGxlLmNvbSJ9LCJvcmlnaWQiOiJjODcyNDU3NS1iNzgxLTExZWMtYjU3NC0wMjQyYWMxMTAwMDIifQ.piGZhwqwWaKM4cOcrDTMeFKOY5UlekVDlKZTxlge4x0ERnSe9uW4400gaoVFdpGiTOzoCt9QdSfwLV_hcmvT0g;info=;alg=ES256;ppt="rph" to: type: object description: The destination identity taken from the To header field. Used when no "div" claim is included properties: tn: type: string description: Allowed characters as for local-number-digits and global-number-digits. The number must be in canonical form. Accepted input format (note that a server implementation may support more formats) -
  1. “tn”:”17035550001”
example: '12155551212' uri: type: string description: Used if the “from”, “to” or “dest” is given as a URI. Accepted input formats (note that a server implementation may support more formats) -
  1. “uri”:"sip:john@asterisk.com"
  2. “uri”:"sips:john@asterisk.com"
example: fred@example.com dest: type: object description: The destination identity taken from the Request-URI in the incoming request properties: tn: type: string description: Allowed characters as for local-number-digits and global-number-digits. The number must be in canonical form. Accepted input format (note that a server implementation may support more formats) -
  1. “tn”:”17035550001”
example: '12155551213' uri: type: string description: Used if the “from”, “to” or “dest” is given as a URI. Accepted input formats (note that a server implementation may support more formats) -
  1. “uri”:"sip:john@asterisk.com"
  2. “uri”:"sips:john@asterisk.com"
example: john@asterisk.com time: type: integer description: Time based on the Date header field in the incoming request example: 1664216863 from: type: object description: The asserted identity, taken from the P-Asserted-Identity or the From header field of the incoming request. Either 'tn' or 'uri' must be supplied. properties: tn: type: string description: Allowed characters as for local-number-digits and global-number-digits. The number must be in canonical form. Accepted input format (note that a server implementation may support more formats) -
  1. “tn”:”17035550001”
example: '12155551211' uri: type: string description: Used if the "from", "to" or “dest” is given as a URI. Accepted input formats (note that a server implementation may support more formats) -
  1. “uri”:"sip:john@asterisk.com"
  2. “uri”:"sips:john@asterisk.com"
example: alice@asterisk.com protectedHeaders: type: array items: type: string description: Contains the SIP header field(s) protected by claims in the PASSporT(s) of the identityHeaders array (i.e., "rph" and/or "div") example: - 'Diversion: sip:12155551212@10.10.100.12;reason=unknown;privacy=off' - 'Resource-Priority: esnet.0' profileId: type: string description: Value may be used by the Verification Service to make certain decisions regarding processing of a verification request example: Profile-5678 requestId: type: string description: An opaque identifier that, when provided, is reflected in the response to support troubleshooting and fault analysis example: '45690' displayName: type: string description: The display name of the originator of the call, which the client may get from SIP signaling or other means example: James Smith