Skip to content

Add mod_sofia DIV PASSporT integration for libstirshaken#3014

Open
thehunmonkgroup wants to merge 1 commit into
signalwire:masterfrom
apartmentlines:feature-div-passport-libshaken-integration
Open

Add mod_sofia DIV PASSporT integration for libstirshaken#3014
thehunmonkgroup wants to merge 1 commit into
signalwire:masterfrom
apartmentlines:feature-div-passport-libshaken-integration

Conversation

@thehunmonkgroup
Copy link
Copy Markdown

Summary

This integrates DIV PASSporT support into mod_sofia for single-diversion STIR/SHAKEN flows for libstirshaken.

Outbound INVITEs can now generate a DIV PASSporT Identity header from an existing SHAKEN Identity header when sip_stir_shaken_div=true is set. The DIV signing path supports profile defaults and channel overrides for the DIV x5u, destination, original destination selection, reason, and hi.

Inbound verification now understands supported Identity header sets containing SHAKEN and DIV PASSporTs, verifies the SHAKEN/DIV chain together, validates DIV destination claims against the SIP request target, and preserves the existing sip_verstat behavior for successful or failed validation.

Configuration

Adds mod_sofia profile defaults for DIV signing:

  • stir-shaken-div-as-url
  • stir-shaken-div-reason
  • stir-shaken-div-hi

Also documents the related channel variables in the sample Sofia config.

Tests

Adds Sofia tests covering DIV Identity generation from sip_h_identity or an explicit SHAKEN Identity, fail-closed behavior for missing/invalid DIV inputs, valid SHAKEN/DIV chain verification, and destination mismatch rejection.

Modernizes the test certificate server wrapper to work with Python 3.

Dependency

This depends on the pending libstirshaken DIV PASSporT API changes in:

signalwire/libstirshaken#143

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant