3.7.5.1 SIP Proxy Operation

When a SIP proxy receives a mid-dialog request and it extracts references to the state information, such as transport connection identifier, security association, or endpoint registration information, that it previously encoded into the dialog route set, as described in section 3.7.1.1, the SIP proxy SHOULD check if the corresponding state information is available and valid for request processing and routing. If the information is no longer available or cannot be used to process and route the mid-dialog request, the proxy MUST perform the following steps:

  1. Check if the Ms-Dialog-Route-Set-Update option tag is present in the Supported header field of the request. If the Ms-Dialog-Route-Set-Update option tag is NOT present, the SIP proxy SHOULD reject the request with a 481 Call Leg Does Not Exist response and stop further processing.

  2. If the Ms-Dialog-Route-Set-Update option tag is present, the SIP proxy MUST reject the request with a 430 Flow Failed response and add a P-Dialog-Recovery-Action header field. The value of the P-Dialog-Recovery-Action header field indicates the actions that either the source or destination endpoint of the currently processed mid-dialog request needs to take to make processing or routing possible for subsequent requests in the dialog. The value of the P-Dialog-Recovery-Action header field MUST be set as follows:

    Dialog-Route-Set-Update: The proxy can recover if the source endpoint of the mid-dialog request performs a dialog recovery procedure, as described in section 3.7.5.3.4.

    Registration-Route-Set-Update, Dialog-Route-Set-Update: The proxy determines that it can recover if the source endpoint of the current request first refreshes its registration, as described in [RFC3261] section 10.2.4, and then performs a dialog recovery procedure, as described in section 3.7.5.3.4.

    Wait-For-Session-Update: The proxy determines that it can recover if the destination endpoint of the current request in the dialog either refreshes its registration or sends the target refresh request in the dialog.