On 02/21/2012 12:38 PM, Andrew Pogrebennyk wrote:
The BYE follows the loose routing path, proxy gets 481 from the sbc and forwards that response back to PSTN gw, which somehow breaks it. AFAICS it's not specified in RFC what should the behavior look like when getting both a 200 and error-class response for the INVITE (quotes are most welcome!).
One more thing: since RFC section 15 allows UAC to terminate a specific early dialog with BYE after receiving 200 OK on the other dialog:
"The BYE request is used to terminate a specific session or attempted session. In this case, the specific session is the one with the peer UA on the other side of the dialog. (...). The caller’s UA MAY send a BYE for either confirmed or early dialogs, and the callee’s UA MAY send a BYE on confirmed dialogs, but MUST NOT send a BYE on early dialogs."
..the UAC should probably follow the procedure for terminating a session with a BYE request also specified in section 15 which says:
"If the response for the BYE is a 481 (Call/Transaction Does Not Exist) or a 408 (Request Timeout) or no response at all is received for the BYE (that is, a timeout is returned by the client transaction), the UAC MUST consider the session and the dialog terminated."
Should this be interpreted in such way that both dialogs must be considered terminated or only the early one which we tried to terminate? I'm not sure on that one and would appreciate any hints.