When a call is forwarded multiple times (e.g., Alice forwards a call to Bob, Bob forwards the call to Carol), a new diversion header is added with each forward.
Some vendor equipment is unable to process INVITE requests correctly when they include multiple diversion headers. As a result, calls forwarded multiple times are not connected.
Therefore PortaSwitch allows the removal of all but the last diversion header from INVITE requests.
An administrator configures a service policy for an outgoing connection that instructs PortaSwitch to preserve only one (added last) diversion header.
When multiple call forwarding occurs, PortaSwitch removes all but the last diversion header from the INVITE requests sent to this connection.
For example, there is an incoming call to Alice’s number, 12027810003. She is not at her desk so the call is forwarded to Bob’s number, 12027810004. The following line is added to the INVITE request:
When Bob does not answer the call it is forwarded to Carol’s number, 12027810005. The INVITE request to number 12027810005 includes:
Diversion: <sip: email@example.com>;reason=Forward Diversion: <sip: firstname.lastname@example.org>;reason=Forward
Carol’s office phone is configured to forward calls to her mobile number. According to the connection settings, only the newest diversion header is preserved. The INVITE request to Carol’s mobile number includes only the following diversion header:
The INVITE request is correctly processed on the vendor side and the call is connected successfully.
This ensures that vendors properly handle multiple call forwarding scenarios