History-Info to Diversion Header Interworking

When configured for this interworking, the ESBC performs the following steps for all History-Info headers except the last in the incoming initial INVITE:

  1. Create a new diversion header.
  2. If there is a subsequent HI header, extract the cause parameter, map it to the corresponding reason parameter, and add this reason parameter to the interworked Diversion header, using the following conversion table.
    History-Info Cause Diversion Reason
    404 Unknown (default value)
    302 unconditional
    486 user-busy
    408 no-answer
    480 deflection
    487 deflection
    503 unavailable
  3. If an HI entry includes a cause that is not in the list of valid causes, per RFC 7544, use the default value Unknown for the reason parameter.
  4. If the History-Info header contains a privacy parameter, add a Privacy parameter to the Diversion header, using the following conversion table.
    History-Info Privacy Diversion Privacy
    history full
    Field absent or none Off (default value)
  5. If there is no privacy parameter, use the default value Off in the Diversion header.
  6. Add a counter parameter with the value 1.
  7. Delete the History-Info header.

The diagram below provides an example flow and the header text used for this example.