--- /srv/reproducible-results/rbuild-debian/r-b-build.upx3flkr/b1/asterisk_22.2.0~dfsg+~cs6.15.60671435-1_armhf.changes +++ /srv/reproducible-results/rbuild-debian/r-b-build.upx3flkr/b2/asterisk_22.2.0~dfsg+~cs6.15.60671435-1_armhf.changes ├── Files │ @@ -13,8 +13,8 @@ │ 6969d6d91f9967d889961c265d9825fb 82796 comm optional asterisk-mp3_22.2.0~dfsg+~cs6.15.60671435-1_armhf.deb │ af9121abb3e44d588ce3e12b6e1a34c2 68804 debug optional asterisk-mysql-dbgsym_22.2.0~dfsg+~cs6.15.60671435-1_armhf.deb │ 24a365c84af1bfaac71d37de000abdba 82020 comm optional asterisk-mysql_22.2.0~dfsg+~cs6.15.60671435-1_armhf.deb │ b97062fb08765327e22bd48ef52295ac 1133316 debug optional asterisk-ooh323-dbgsym_22.2.0~dfsg+~cs6.15.60671435-1_armhf.deb │ c1fda0ececfb794fdf30cad61f78d9e4 355072 comm optional asterisk-ooh323_22.2.0~dfsg+~cs6.15.60671435-1_armhf.deb │ a89675774ca5ee963c3683b61f750d69 1305716 debug optional asterisk-tests-dbgsym_22.2.0~dfsg+~cs6.15.60671435-1_armhf.deb │ 4c65a11f0d34007acf6b926dcdd9043f 580624 comm optional asterisk-tests_22.2.0~dfsg+~cs6.15.60671435-1_armhf.deb │ - a4641af5259e6419ca1b95af384c89d5 2310908 comm optional asterisk_22.2.0~dfsg+~cs6.15.60671435-1_armhf.deb │ + f00ff22f1102dff3be711e44781744d4 2310852 comm optional asterisk_22.2.0~dfsg+~cs6.15.60671435-1_armhf.deb ├── asterisk_22.2.0~dfsg+~cs6.15.60671435-1_armhf.deb │ ├── file list │ │ @@ -1,3 +1,3 @@ │ │ -rw-r--r-- 0 0 0 4 2025-02-11 19:53:26.000000 debian-binary │ │ -rw-r--r-- 0 0 0 8308 2025-02-11 19:53:26.000000 control.tar.xz │ │ --rw-r--r-- 0 0 0 2302408 2025-02-11 19:53:26.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 2302352 2025-02-11 19:53:26.000000 data.tar.xz │ ├── control.tar.xz │ │ ├── control.tar │ │ │ ├── ./md5sums │ │ │ │ ├── ./md5sums │ │ │ │ │┄ Files differ │ ├── data.tar.xz │ │ ├── data.tar │ │ │ ├── ./usr/share/asterisk/documentation/core-en_US.xml │ │ │ │ ├── ./usr/share/asterisk/documentation/core-en_US.xml │ │ │ │ │┄ Ordering differences only │ │ │ │ │ @@ -27971,14 +27971,73 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.21.0 │ │ │ │ │ + 20.6.0 │ │ │ │ │ + 21.1.0 │ │ │ │ │ + │ │ │ │ │ + Set the channel group name for log filtering on this channel │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Channel log group name. Leave empty to remove any existing group membership. │ │ │ │ │ + You can use any arbitrary alphanumeric name that can then be used by the │ │ │ │ │ + "logger filter changroup" CLI command to filter dialplan output by group name. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Assign a channel to a group for log filtering. │ │ │ │ │ + Because this application can result in dialplan execution logs │ │ │ │ │ + being suppressed (or unsuppressed) from the CLI if filtering is active, │ │ │ │ │ + it is recommended to call this as soon as possible when dialplan execution begins. │ │ │ │ │ + Calling this multiple times will replace any previous group assignment. │ │ │ │ │ + exten => s,1,Set(LOG_GROUP()=test) │ │ │ │ │ + same => n,NoOp() ; if a logging call ID group filter name is enabled but test is not included, you will not see this │ │ │ │ │ + exten => s,1,Set(LOG_GROUP()=important) │ │ │ │ │ + same => n,Set(foo=bar) ; do some important things to show on the CLI (assuming it is filtered with important enabled) │ │ │ │ │ + same => n,Set(LOG_GROUP()=) ; remove from group important to stop showing execution on the CLI │ │ │ │ │ + same => n,Wait(5) ; do some unimportant stuff │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Log │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.24.0 │ │ │ │ │ + 18.10.0 │ │ │ │ │ + 19.2.0 │ │ │ │ │ + │ │ │ │ │ + Raised when a logging channel is re-enabled after a reload operation. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the logging channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.24.0 │ │ │ │ │ + 18.10.0 │ │ │ │ │ + 19.2.0 │ │ │ │ │ + │ │ │ │ │ + Raised when a logging channel is disabled. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the logging channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 0.2.0 │ │ │ │ │ │ │ │ │ │ Keepalive command. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -29799,73 +29858,14 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ PresenceState │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.21.0 │ │ │ │ │ - 20.6.0 │ │ │ │ │ - 21.1.0 │ │ │ │ │ - │ │ │ │ │ - Set the channel group name for log filtering on this channel │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Channel log group name. Leave empty to remove any existing group membership. │ │ │ │ │ - You can use any arbitrary alphanumeric name that can then be used by the │ │ │ │ │ - "logger filter changroup" CLI command to filter dialplan output by group name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Assign a channel to a group for log filtering. │ │ │ │ │ - Because this application can result in dialplan execution logs │ │ │ │ │ - being suppressed (or unsuppressed) from the CLI if filtering is active, │ │ │ │ │ - it is recommended to call this as soon as possible when dialplan execution begins. │ │ │ │ │ - Calling this multiple times will replace any previous group assignment. │ │ │ │ │ - exten => s,1,Set(LOG_GROUP()=test) │ │ │ │ │ - same => n,NoOp() ; if a logging call ID group filter name is enabled but test is not included, you will not see this │ │ │ │ │ - exten => s,1,Set(LOG_GROUP()=important) │ │ │ │ │ - same => n,Set(foo=bar) ; do some important things to show on the CLI (assuming it is filtered with important enabled) │ │ │ │ │ - same => n,Set(LOG_GROUP()=) ; remove from group important to stop showing execution on the CLI │ │ │ │ │ - same => n,Wait(5) ; do some unimportant stuff │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Log │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.24.0 │ │ │ │ │ - 18.10.0 │ │ │ │ │ - 19.2.0 │ │ │ │ │ - │ │ │ │ │ - Raised when a logging channel is re-enabled after a reload operation. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the logging channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.24.0 │ │ │ │ │ - 18.10.0 │ │ │ │ │ - 19.2.0 │ │ │ │ │ - │ │ │ │ │ - Raised when a logging channel is disabled. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the logging channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -37990,514 +37990,14 @@ │ │ │ │ │ │ │ │ │ │ There was an issue specific to the parameter specified │ │ │ │ │ (value not valid or parameter name not found, etc.) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - STIR/SHAKEN module for Asterisk │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - STIR/SHAKEN attestation options │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - Globally disable verification │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - File path to a certificate │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - URL to the public certificate │ │ │ │ │ - │ │ │ │ │ - Must be a valid http, or https, URL. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - Attestation level │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 20.12.0 │ │ │ │ │ - 21.7.0 │ │ │ │ │ - 22.2.0 │ │ │ │ │ - │ │ │ │ │ - Attestation level to use for unknown TNs │ │ │ │ │ - │ │ │ │ │ - Normally if a callerid TN isn't configured in stir_shaken.conf │ │ │ │ │ - no Identity header will be created. If this option is set, │ │ │ │ │ - however, an Identity header will be sent using this │ │ │ │ │ - attestation level. Since there's no TN object, you must │ │ │ │ │ - ensure that a private_key_file and public_cert_url are │ │ │ │ │ - configured in the attestation or profile objects for │ │ │ │ │ - this to work. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - On load, Retrieve all TN's certificates and validate their dates │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - Send a media key (mky) grant in the attestation for DTLS calls. │ │ │ │ │ - (not common) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - STIR/SHAKEN TN options │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - Must be of type 'tn'. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - File path to a certificate │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - URL to the public certificate │ │ │ │ │ - │ │ │ │ │ - Must be a valid http, or https, URL. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - Attestation level │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - On load, Retrieve all TN's certificates and validate their dates │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - Send a media key (mky) grant in the attestation for DTLS calls. │ │ │ │ │ - (not common) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - STIR/SHAKEN verification options │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - Globally disable verification │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - A boolean indicating whether trusted CA certificates should be loaded from the system │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - Path to a file containing one or more CA certs in PEM format │ │ │ │ │ - │ │ │ │ │ - These certs are used to verify the chain of trust for the │ │ │ │ │ - certificate retrieved from the X5U Identity header parameter. This │ │ │ │ │ - file must have the root CA certificate, the certificate of the │ │ │ │ │ - issuer of the X5U certificate, and any intermediate certificates │ │ │ │ │ - between them. │ │ │ │ │ - See https://docs.asterisk.org/Deployment/STIR-SHAKEN/ for more information. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - Path to a directory containing one or more hashed CA certs │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - For this option, the individual certificates must be placed in │ │ │ │ │ - the directory specified and hashed using the │ │ │ │ │ - openssl rehash │ │ │ │ │ - command. │ │ │ │ │ - │ │ │ │ │ - See https://docs.asterisk.org/Deployment/STIR-SHAKEN/ for more information. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - Path to a file containing one or more CRLs in PEM format │ │ │ │ │ - │ │ │ │ │ - If you with to check if the certificate in the X5U Identity header │ │ │ │ │ - parameter has been revoked, you'll need the certificate revocation │ │ │ │ │ - list generated by the issuer. │ │ │ │ │ - See https://docs.asterisk.org/Deployment/STIR-SHAKEN/ for more information. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - Path to a directory containing one or more hashed CRLs │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - For this option, the individual CRLs must be placed in │ │ │ │ │ - the directory specified and hashed using the │ │ │ │ │ - openssl rehash │ │ │ │ │ - command. │ │ │ │ │ - │ │ │ │ │ - See https://docs.asterisk.org/Deployment/STIR-SHAKEN/ for more information. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - Path to a file containing one or more untrusted cert in PEM format used to verify CRLs │ │ │ │ │ - │ │ │ │ │ - If you with to check if the certificate in the X5U Identity header │ │ │ │ │ - parameter has been revoked, you'll need the certificate revocation │ │ │ │ │ - list generated by the issuer. Unfortunately, sometimes the CRLs are signed by a │ │ │ │ │ - different CA than the certificate being verified. In this case, you │ │ │ │ │ - may need to provide the untrusted certificate to verify the CRL. │ │ │ │ │ - See https://docs.asterisk.org/Deployment/STIR-SHAKEN/ for more information. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - Path to a directory containing one or more hashed untrusted certs used to verify CRLs │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - For this option, the individual certificates must be placed in │ │ │ │ │ - the directory specified and hashed using the │ │ │ │ │ - openssl rehash │ │ │ │ │ - command. │ │ │ │ │ - │ │ │ │ │ - See https://docs.asterisk.org/Deployment/STIR-SHAKEN/ for more information. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - Directory to cache retrieved verification certs │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - Maximum time to wait to CURL certificates │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - Number of seconds a cache entry may be behind current time │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - Maximum size to use for caching public keys │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - Number of seconds an iat grant may be behind current time │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - Number of seconds a SIP Date header may be behind current time │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - The default failure action when not set on a profile │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If set to │ │ │ │ │ - continue │ │ │ │ │ - , continue and let │ │ │ │ │ - the dialplan decide what action to take. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If set to │ │ │ │ │ - reject_request │ │ │ │ │ - , reject the incoming │ │ │ │ │ - request with response codes defined in RFC8224. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If set to │ │ │ │ │ - return_reason │ │ │ │ │ - , continue to the │ │ │ │ │ - dialplan but add a │ │ │ │ │ - Reason │ │ │ │ │ - header to the sender in │ │ │ │ │ - the next provisional response. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - RFC9410 uses the STIR protocol on Reason headers │ │ │ │ │ - instead of the SIP protocol │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - Relaxes check for "https" and port 443 or 8443 │ │ │ │ │ - in incoming Identity header x5u URLs. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - Relaxes check for query parameters, user/password, etc. │ │ │ │ │ - in incoming Identity header x5u URLs. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - An existing ACL from acl.conf to use when checking │ │ │ │ │ - hostnames in incoming Identity header x5u URLs. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - An IP or subnet to permit when checking │ │ │ │ │ - hostnames in incoming Identity header x5u URLs. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - An IP or subnet to deny checking │ │ │ │ │ - hostnames in incoming Identity header x5u URLs. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - STIR/SHAKEN profile configuration options │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - Must be of type 'profile'. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 18.22.0 │ │ │ │ │ - 20.7.0 │ │ │ │ │ - 21.2.0 │ │ │ │ │ - │ │ │ │ │ - Actions performed when an endpoint references this profile │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Don't do any STIR/SHAKEN processing. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Attest on outgoing calls. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Verify incoming calls. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Attest outgoing calls and verify incoming calls. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.15.0 │ │ │ │ │ - │ │ │ │ │ - Gets the number of STIR/SHAKEN results or a specific STIR/SHAKEN value from a result on the channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The index of the STIR/SHAKEN result to get. If only 'count' is passed in, gets the number of STIR/SHAKEN results instead. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The value to get from the STIR/SHAKEN result. Only used when an index is passed in (instead of 'count'). Allowable values: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This function will either return the number of STIR/SHAKEN identities, or return information on the specified identity. │ │ │ │ │ - To get the number of identities, just pass 'count' as the only parameter to the function. If you want to get information on a │ │ │ │ │ - specific STIR/SHAKEN identity, you can get the number of identities and then pass an index as the first parameter and one of │ │ │ │ │ - the values you would like to retrieve as the second parameter. │ │ │ │ │ - same => n,NoOp(Number of STIR/SHAKEN identities: ${STIR_SHAKEN(count)}) │ │ │ │ │ - same => n,NoOp(Identity ${STIR_SHAKEN(0, identity)} has attestation level ${STIR_SHAKEN(0, attestation)}) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ SIP Resource using PJProject │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 12.0.0 │ │ │ │ │ │ │ │ │ │ @@ -43748,14 +43248,514 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + STIR/SHAKEN module for Asterisk │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + STIR/SHAKEN attestation options │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + Globally disable verification │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + File path to a certificate │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + URL to the public certificate │ │ │ │ │ + │ │ │ │ │ + Must be a valid http, or https, URL. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + Attestation level │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 20.12.0 │ │ │ │ │ + 21.7.0 │ │ │ │ │ + 22.2.0 │ │ │ │ │ + │ │ │ │ │ + Attestation level to use for unknown TNs │ │ │ │ │ + │ │ │ │ │ + Normally if a callerid TN isn't configured in stir_shaken.conf │ │ │ │ │ + no Identity header will be created. If this option is set, │ │ │ │ │ + however, an Identity header will be sent using this │ │ │ │ │ + attestation level. Since there's no TN object, you must │ │ │ │ │ + ensure that a private_key_file and public_cert_url are │ │ │ │ │ + configured in the attestation or profile objects for │ │ │ │ │ + this to work. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + On load, Retrieve all TN's certificates and validate their dates │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + Send a media key (mky) grant in the attestation for DTLS calls. │ │ │ │ │ + (not common) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + STIR/SHAKEN TN options │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + Must be of type 'tn'. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + File path to a certificate │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + URL to the public certificate │ │ │ │ │ + │ │ │ │ │ + Must be a valid http, or https, URL. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + Attestation level │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + On load, Retrieve all TN's certificates and validate their dates │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + Send a media key (mky) grant in the attestation for DTLS calls. │ │ │ │ │ + (not common) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + STIR/SHAKEN verification options │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + Globally disable verification │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + A boolean indicating whether trusted CA certificates should be loaded from the system │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + Path to a file containing one or more CA certs in PEM format │ │ │ │ │ + │ │ │ │ │ + These certs are used to verify the chain of trust for the │ │ │ │ │ + certificate retrieved from the X5U Identity header parameter. This │ │ │ │ │ + file must have the root CA certificate, the certificate of the │ │ │ │ │ + issuer of the X5U certificate, and any intermediate certificates │ │ │ │ │ + between them. │ │ │ │ │ + See https://docs.asterisk.org/Deployment/STIR-SHAKEN/ for more information. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + Path to a directory containing one or more hashed CA certs │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + For this option, the individual certificates must be placed in │ │ │ │ │ + the directory specified and hashed using the │ │ │ │ │ + openssl rehash │ │ │ │ │ + command. │ │ │ │ │ + │ │ │ │ │ + See https://docs.asterisk.org/Deployment/STIR-SHAKEN/ for more information. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + Path to a file containing one or more CRLs in PEM format │ │ │ │ │ + │ │ │ │ │ + If you with to check if the certificate in the X5U Identity header │ │ │ │ │ + parameter has been revoked, you'll need the certificate revocation │ │ │ │ │ + list generated by the issuer. │ │ │ │ │ + See https://docs.asterisk.org/Deployment/STIR-SHAKEN/ for more information. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + Path to a directory containing one or more hashed CRLs │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + For this option, the individual CRLs must be placed in │ │ │ │ │ + the directory specified and hashed using the │ │ │ │ │ + openssl rehash │ │ │ │ │ + command. │ │ │ │ │ + │ │ │ │ │ + See https://docs.asterisk.org/Deployment/STIR-SHAKEN/ for more information. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + Path to a file containing one or more untrusted cert in PEM format used to verify CRLs │ │ │ │ │ + │ │ │ │ │ + If you with to check if the certificate in the X5U Identity header │ │ │ │ │ + parameter has been revoked, you'll need the certificate revocation │ │ │ │ │ + list generated by the issuer. Unfortunately, sometimes the CRLs are signed by a │ │ │ │ │ + different CA than the certificate being verified. In this case, you │ │ │ │ │ + may need to provide the untrusted certificate to verify the CRL. │ │ │ │ │ + See https://docs.asterisk.org/Deployment/STIR-SHAKEN/ for more information. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + Path to a directory containing one or more hashed untrusted certs used to verify CRLs │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + For this option, the individual certificates must be placed in │ │ │ │ │ + the directory specified and hashed using the │ │ │ │ │ + openssl rehash │ │ │ │ │ + command. │ │ │ │ │ + │ │ │ │ │ + See https://docs.asterisk.org/Deployment/STIR-SHAKEN/ for more information. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + Directory to cache retrieved verification certs │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + Maximum time to wait to CURL certificates │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + Number of seconds a cache entry may be behind current time │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + Maximum size to use for caching public keys │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + Number of seconds an iat grant may be behind current time │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + Number of seconds a SIP Date header may be behind current time │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + The default failure action when not set on a profile │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If set to │ │ │ │ │ + continue │ │ │ │ │ + , continue and let │ │ │ │ │ + the dialplan decide what action to take. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If set to │ │ │ │ │ + reject_request │ │ │ │ │ + , reject the incoming │ │ │ │ │ + request with response codes defined in RFC8224. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If set to │ │ │ │ │ + return_reason │ │ │ │ │ + , continue to the │ │ │ │ │ + dialplan but add a │ │ │ │ │ + Reason │ │ │ │ │ + header to the sender in │ │ │ │ │ + the next provisional response. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + RFC9410 uses the STIR protocol on Reason headers │ │ │ │ │ + instead of the SIP protocol │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + Relaxes check for "https" and port 443 or 8443 │ │ │ │ │ + in incoming Identity header x5u URLs. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + Relaxes check for query parameters, user/password, etc. │ │ │ │ │ + in incoming Identity header x5u URLs. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + An existing ACL from acl.conf to use when checking │ │ │ │ │ + hostnames in incoming Identity header x5u URLs. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + An IP or subnet to permit when checking │ │ │ │ │ + hostnames in incoming Identity header x5u URLs. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + An IP or subnet to deny checking │ │ │ │ │ + hostnames in incoming Identity header x5u URLs. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + STIR/SHAKEN profile configuration options │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + Must be of type 'profile'. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 18.22.0 │ │ │ │ │ + 20.7.0 │ │ │ │ │ + 21.2.0 │ │ │ │ │ + │ │ │ │ │ + Actions performed when an endpoint references this profile │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Don't do any STIR/SHAKEN processing. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Attest on outgoing calls. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Verify incoming calls. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Attest outgoing calls and verify incoming calls. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.15.0 │ │ │ │ │ + │ │ │ │ │ + Gets the number of STIR/SHAKEN results or a specific STIR/SHAKEN value from a result on the channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The index of the STIR/SHAKEN result to get. If only 'count' is passed in, gets the number of STIR/SHAKEN results instead. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The value to get from the STIR/SHAKEN result. Only used when an index is passed in (instead of 'count'). Allowable values: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This function will either return the number of STIR/SHAKEN identities, or return information on the specified identity. │ │ │ │ │ + To get the number of identities, just pass 'count' as the only parameter to the function. If you want to get information on a │ │ │ │ │ + specific STIR/SHAKEN identity, you can get the number of identities and then pass an index as the first parameter and one of │ │ │ │ │ + the values you would like to retrieve as the second parameter. │ │ │ │ │ + same => n,NoOp(Number of STIR/SHAKEN identities: ${STIR_SHAKEN(count)}) │ │ │ │ │ + same => n,NoOp(Identity ${STIR_SHAKEN(0, identity)} has attestation level ${STIR_SHAKEN(0, attestation)}) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ bluetooth │ │ │ │ │ no │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ no