SIP Session Timer Call Flows

IMG is UAC and does the refresh

IMG requests session timer by including Session-Expires header on the INVITE. IMG receives 422 Session Interval Too Small response with Min-SE header. IMG sends out new INVITE with Min-SE and updated Session-Expires value. IMG receives 200 OK that set session timer to 1800 seconds and IMG as the refresher. IMG starts 900 seconds session refresh timer. After refresh timer expires, IMG sends out refresh request with Session-Expires value set to current value 1800 seconds and refresher to UAC. IMG receives 200 OK and resets the timer. Once again IMG sends out refresh request after session refresh timer expires, but now the remote gateway crashed so that IMG receives 408 Request Timeout. IMG sends out BYE and the call is terminated.

image81.gif

 

IMG is UAC and remote gateway does the refresh

IMG sends INVITE that has Supported header with option tag ‘timer’ and Session-Expires to request session timer. The remote gateway accepts it. The session interval is set to 1800 seconds and refresher is the remote gateway. IMG starts 1768 seconds session end timer. IMG receives session refresh request before the session end timer expires. IMG sends 200 OK back and set refresher to UAC so that the role of refresher doesn’ t change. IMG restarts 1768 seconds session end timer. Now the remote gateway crashes and no refresh request sent. 1768 seconds later the session end timer expires, IMG sends out BYE and terminates the call.

image82.gif

 

IMG is UAS and remote gateway does the refresh

IMG receives INVITE that has Supported header with option tag ‘timer’. IMG sends 200 OK and requests session timer by including Require header with tag ‘timer’ and Session-Expires header. The session interval is set to 1800 seconds and refresher is the remote gateway. IMG starts 1768 seconds session end timer. IMG receives session refresh request before the session end timer expires. IMG sends 200 OK back and set refresher to UAC so that the role of refresher doesn’ t change. IMG restarts 1768 seconds session end timer. Now the remote gateway crashes and no refresh request sent. 1768 seconds later the session end timer expires, IMG sends out BYE and terminates the call.

image83.gif

 

IMG is UAS and does the refresh

IMG receives INVITE that has Supported header with option tag ‘timer’ and Session-Expires header with 90 seconds value. Since IMG’s minimum session timer is configured to 1800 seconds, IMG sends back 422 response with Min-SE header set to 1800. Then the remote gateway sends new INVITE with updated session timer and IMG accepts it. The session interval is set to 1800 seconds and refresher is IMG. IMG starts 900 seconds session refresh timer. After refresh timer expires, IMG sends out refresh request with Session-Expires value set to current value 1800 seconds, refresher is set to UAC so that ensure IMG will always perform refresh. IMG receives 200 OK and resets the timer. Once again IMG sends out refresh request after session refresh timer expires, but now the remote gateway crashed so that IMG receives 408 Request Timeout. IMG sends out BYE and the call is terminated.

image84.gif

 

IMG is UAC and Requests Session Timer

IMG requests session timer by including Session-Expires header on the INVITE. IMG receives 200 OK without Session-Expires header that indicates the remote gateway does no support session timer. Since IMG is configured to enforce session timer, IMG sets session interval to 1800 seconds and refresher to ‘UAC’. IMG starts 900 seconds session refresh timer. After refresh timer expires, IMG sends out refresh request with Session-Expires value set to current value 1800 seconds and refresher to UAC. IMG receives 200 OK and resets the timer. Once again IMG sends out refresh request after session refresh timer expires, but now the remote gateway crashed so that IMG receives 408 Request Timeout. IMG sends out BYE and the call is terminated.

image86.gif

 

IMG is UAS and configured to enforce session timer on INVITE

IMG receives INVITE that the Supported header does not contain tag ‘timer’. IMG sends back 200 OK. Since IMG is configured to enforce session timer, IMG sets session interval to 1800 seconds and refresher is ‘UAS’ IMG starts 900 seconds session refresh timer. After refresh timer expires, IMG sends out refresh request with Session-Expires value set to current value 1800 seconds, refresher is set to UAC so that ensure IMG will always perform refresh. IMG receives 200 OK and resets the timer. Once again IMG sends out refresh request after session refresh timer expires, but now the remote gateway crashed so that IMG receives 408 Request Timeout. IMG sends out BYE and the call is terminated.

image87.gif