60 likes | 264 Vues
This document presents a significant overhaul of the SIP session timer functionality, detailing how it differs from previous versions. It addresses the dynamics of UAS and UAC support for session timers, particularly in scenarios where only one entity is aware of the session timer extension. Key call flow adjustments are highlighted, along with the behavior of proxies in these transactions. The document further discusses challenges related to reinvites and the impact on call handling, providing clarity on supported and unsupported scenarios.
E N D
SIP Session Timer Jonathan Rosenberg dynamicsoft
Significant overhaul from previous version Motivation: list discussion on supporting function when only one of UAS/UAC knows extension Works since you don’t need to support it to receive re-invites Want either side to perform reinvites Changes
UAC supports, UAS doesn’t 200 OK won’t have S-T Last proxy that inserted S-T inserts S-T value + Require into response Requires stateful S-T proxies Call Flow INV; k:timer S-T: 500 INV; k:timer 200 OK Require: timer S-T: 500 200 OK ACK ACK INV; k:timer S-T: 500 INV; k:timer UAC Proxy UAS
UAS supports, UAC doesn’t No Supported in INVITE Proxy inserts S-T anyway UAS reflects S-T, no Require, knows it is doing re-INVITES Call Flow INV S-T: 500 INV 200 OK S-T: 500 200 OK S-T: 500 ACK ACK INV; k:timer S-T: 500 INV; k:timer S-T: 500 UAC Proxy UAS
Neither Supports Proxy inserts S-T timer even though no Supported No S-T in response Proxy doesn’t insert S-T or Require Call Flow INV S-T: 500 INV 200 OK 200 OK ACK ACK UAC Proxy UAS
Both Support Same as previous drafts UAC will perform timer Open issues reinvite issues? Call Flow INVk:timer S-T: 500 INVk:timer 200 OK S-T: 500 Require: timer 200 OK S-T: 500 Require: timer ACK ACK INV; k:timer S-T: 500 INV; k:timer UAC Proxy UAS