Skip to content

[FEATURE] mid-registrar: Add the "reply_expires_mode" #2680

@liviuchircu

Description

@liviuchircu

Is your feature request related to a problem? Please describe.

There are plenty of SIP UAs out there (both open-source and commercial) which get confused when presented with a 200 OK containing both "Expires" and Contact ";expires=" URI params. In the end, they incorrectly choose the "Expires" header value, clearly breaking RFC 3261. The issue is somewhat tied to mid-registrar, in modes such as 1 or 2, where it always presents Contacts with ;expires= parameters to the upstream UA, but most often will also leave the "Expires" header untouched, taken right from the downstream 200 OK reply.

Describe the solution you'd like

A new mid-registrar modparam, reply_expires_mode, which would default to "strip", obviously removing the "Expires" header from upstream-forwarded 200 OK replies. This will make mid-registrar's SIP traffic more visually appealing, eliminating all "Expires vs. ;expires=" confusions of shaky SIP stacks. Other modes can be:

  • "none" ("don't touch the Expires at all", the default if backporting this to 3.1, 3.2)
  • "min-expires" (set the Expires to the minimum expiration across all upstream-presented Contacts)

Implementation

  • Component:
  • Type:
  • Name:

Describe alternatives you've considered

Additional context

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions