STIR/SHAKEN (#1160)

* [core] Add SWITCH_CAUSEs for STIR/SHAKEN.
[mod_sofia] Add sofia_verify_identity dialplan APP as a STIR/SHAKEN verification service.  Set sip_hangup_on_verify_identity_fail=true to end calls that fail verification, otherwise check sip_verstat and sip_verstat_detailed channel variables for verification result.

* [mod_sofia] Fix stir shaken implementation issues on fail.

* fix build

* Fix given comments

* stir_shaken_passport_get_grant return does not require to be freed.

* reworked things

* [core] add switch_rfc822_datetime_to_epoch()

* [mod_sofia] fix test return code

* [mod_sofia] Add Date header when signing Identity

* [mod_sofia] Check Date - WIP doesn't work

* [mod_sofia] STIR/SHAKEN check SIP Date header

* Try to give time for sofia to clean up calls

Co-authored-by: Andrey Volk <andywolk@gmail.com>
This commit is contained in:
Chris Rienzo
2021-04-27 15:54:32 -04:00
committed by GitHub
parent b7316ba557
commit deecaae870
16 changed files with 742 additions and 9 deletions
+6 -1
View File
@@ -2235,7 +2235,12 @@ typedef enum {
SWITCH_CAUSE_DECLINE = 616,
SWITCH_CAUSE_DOES_NOT_EXIST_ANYWHERE = 617,
SWITCH_CAUSE_NOT_ACCEPTABLE = 618,
SWITCH_CAUSE_UNWANTED = 619
SWITCH_CAUSE_UNWANTED = 619,
SWITCH_CAUSE_NO_IDENTITY = 620,
SWITCH_CAUSE_BAD_IDENTITY_INFO = 621,
SWITCH_CAUSE_UNSUPPORTED_CERTIFICATE = 622,
SWITCH_CAUSE_INVALID_IDENTITY = 623,
SWITCH_CAUSE_STALE_DATE = 624
} switch_call_cause_t;
typedef enum {