Fax reINVITE Handling
During established T.38 fax sessions, by default the Oracle Communications Session Border Controller applies codec policies when handling reINVITEs, which can result in interrupted fax sessions. You can configure the 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 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 SBC accepts it.
- When a non-refresh reINVITE with SDP changes is received:
- If you have also enabled fax-conti-sess-ext, the 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 SBC switches the call from fax to voice.
- faxToVoiceNotAllowed:
- When a refresh reINVITE (no SDP change) is received, the SBC accepts it.
- When a non-refresh reINVITE with SDP changes is received, the 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 SBC cannot determine whether the original call was fax or audio, the SBC processes and routes the reINVITE as normal, including applying codec policies.
- Fax sessions with multiple m-lines
The 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 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 SBC preserves the requester's SDP media ordering, and increments the response o-line version, if SDP changed.
- In non-transcoded calls, the 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 SBC preserves the updated SDP in the response, and increments the o-line version.
- T.38 bit rate or buffer parameter modifications: The 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 SBC prunes the non-negotiated extra codecs and retains the previously negotiated faxable codec.
- o-line user or session name changes: The 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 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 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 SBC increments the session version when it receives the reINVITE. If this option is not configured, the 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)