res_pjsip: return all codecs on a re-INVITE without SDP

Currently chan_pjsip on receiving a re-INVITE without SDP will only
return the codecs that are previously negotiated and not offering
all enabled codecs.

This causes interoperability issues with different equipment (e.g.
from Cisco) for some of our customers and probably also in other
scenarios involving 3PCC infrastructure.

According to RFC 3261, section 14.2 we SHOULD return all codecs
on a re-INVITE without SDP

The PR proposes a new parameter to configure this behaviour:
all_codecs_on_empty_reinvite. It includes the code, documentation,
alembic migrations, CHANGES file and example configuration additions.

ASTERISK-30193 #close

Change-Id: I69763708d5039d512f391e296ee8a4d43a1e2148
This commit is contained in:
Henning Westerholt
2022-08-26 08:59:16 +00:00
committed by Friendly Automation
parent 05a7b4132a
commit a6aebab79b
7 changed files with 131 additions and 12 deletions

View File

@@ -1336,6 +1336,13 @@
; creating an implicit subscription (see RFC 4488).
; (default: "yes")
;all_codecs_on_empty_reinvite=yes
; On reception of a re-INVITE without SDP Asterisk will send an SDP
; offer in the 200 OK response containing all configured codecs on the
; endpoint, instead of simply those that have already been negotiated.
; RFC 3261 specifies this as a SHOULD requirement.
; (default: "no")
;allow_sending_180_after_183=yes ; Allow Asterisk to send 180 Ringing to an endpoint
; after 183 Session Progress has been send.
; If disabled Asterisk will instead send only a