Fax reINVITE Handling
During established T.38 fax sessions, by default the Oracle Enterprise Session Border Controller applies codec policies when handling reINVITEs, which can result in interrupted fax sessions. You can configure the Enterprise SBC to allow refresh reINVITEs and non-refresh reINVITEs that modify SDP without applying codec policies for fax continuity.
You allow reINVITEs in both transcoded T.38-G.711 sessions and non-transcoded T.38-T.38 sessions by setting the fax-continue-session parameter as follows:
- None: When any reINVITE is received, non-refresh or refresh, the Enterprise SBC applies ingress and egress codec policies while processing it, which may result in an interrupted fax session.
- faxToVoice:
- When a refresh reINVITE (no SDP change) is received, the Enterprise SBC accepts it.
- When a non-refresh reINVITE with SDP changes is received:
- If you have also enabled fax-conti-sess-ext, the Enterprise SBC accepts some non-refresh reINVITEs that modify SDP without interrupting fax continuity. This includes reINVITEs with session version only changes, T.38 bit-rate and buffer changes, and SDP attribute reordering, addition, or removal.
-
If you have not enabled fax-conti-sess-ext, and the SDP changes include a non-faxable codec, such as AMR or G729, the Enterprise SBC switches the call from fax to voice.
- faxToVoiceNotAllowed:
- When a refresh reINVITE (no SDP change) is received, the Enterprise SBC accepts it.
- When a non-refresh reINVITE with SDP changes is received, the Enterprise SBC rejects it with 488 Not Acceptable Here and maintains the established fax session.
The fax-conti-sess-ext parameter does not apply when fax-continue-session is set to faxToVoiceNotAllowed.
- Fax sessions converted from audio sessions on tone detection
- G.711 to G.711 fax calls
- G.711 to G.711 fax calls that later receive a T.38 reINVITE. Because the Enterprise SBC cannot determine whether the original call was fax or audio, the Enterprise SBC processes and routes the reINVITE as normal, including applying codec policies.
- Fax sessions with multiple m-lines
The Enterprise SBC handles offerless invites as normal, and rejected offerless reINVITEs do not block subsequent valid refresh reINVITEs.
Permitted SDP Changes on Fax reINVITE
When you set fax-continue-session to faxToVoice and fax-conti-sess-ext to enabled, the Enterprise SBC accepts reINVITEs containing SDP changes that do not alter the established fax media.
Permitted changes include:
- Session version increments: Treated as refresh reINVITEs when no other SDP changes are present.
- Reordered SDP attributes:
- In transcoded calls, the Enterprise SBC preserves the requester's SDP media ordering, and increments the response o-line version, if SDP changed.
- In non-transcoded calls, the Enterprise SBC forwards the valid T.38 SDP without applying codec policies, incrementing the outgoing session version for requests and relaying as-is for answers.
- Added or removed SDP attributes: The Enterprise SBC preserves the updated SDP in the response, and increments the o-line version.
- T.38 bit rate or buffer parameter modifications: The Enterprise SBC applies the change on the requester-facing side while preserving the peer leg's last negotiated fax SDP.
- Extra codecs alongside the negotiated fax codec: The Enterprise SBC prunes the non-negotiated extra codecs and retains the previously negotiated faxable codec.
- o-line user or session name changes: The Enterprise SBC ignores non-media identity or name changes for refresh detection and derives the response version from the SDP previously sent in that direction.
- Invalid media changes:
- In transcoded calls, the Enterprise SBC rejects the reINVITE with 488 and restores the internal state so that the established fax call continues and later valid refresh re-INVITEs are not blocked.
- In non-transcoded calls, the Enterprise SBC rejects the reINVITE according to your configured media handling.
In non-transcoded calls, you configure session version incrementing behavior by setting the unique-sdp-id option on the media-manager. If this option is configured, the Enterprise SBC increments the session version when it receives the reINVITE. If this option is not configured, the Enterprise SBC passes the reINVITE on without changing the session version.
- Two or more m-lines
- Changes to the negotiated fax codecs
- Only non-faxable audio codecs received when fax-to-audio transitions are not enabled
- C-line IP address changes
- Media port changes
- Fallback answer attempts to answer G711FB fallback with T.38 (rejected according to normal error handling)