____ _             ______                _____               _____
| UAC | ______ | P1     | _______ | P2   | _______ | UAS |
|_____|            |______|              |_____|              |_____|

Consider the above configuration -
  1. UAC doesn't insert Session-Expires header in Initial INVITE.
  2. RFC 4028 section 8.1 says that "A proxy MAY insert a Session-Expires header field in the request before forwarding it if none was present in the request."
  3. P1 inserts Session-Expires header.
  4. P2 receives INVITE with Session-Expires header and forwards it to UAS.
  5. UAS doesn't support Session-Expires so it doen't insert this header in the response.
  6. The response arrives at P2. Now RFC 4028 section 8.2 says "
    When the final response to the request arrives, it is examined by the
       proxy.
    
       If the response does not contain a Session-Expires header field but
       the proxy remembers that it requested a session timer in the request
       (by inserting, modifying, or examining and accepting the
       Session-Expires header field in the proxied request), this means that
       the UAS did not support the session timer.  If the proxy remembers
       that the UAC did not support the session timer either, the proxy
       forwards the response upstream normally.  There is no session
       expiration for this session.  If, however, the proxy remembers that
       the UAC did support the session timer, additional processing is
       needed.
    
       Because there is no Session-Expires or Require header field in the
       response, the proxy knows that it is the first session-timer-aware
       proxy to receive the response.  This proxy MUST insert a
       Session-Expires header field into the response with the value it
       remembered from the forwarded request.  It MUST set the value of the
       'refresher' parameter to 'uac'.
    ".
  7. That essentially means neither UAC nor UAS supports RFC 4028 but P1 and P2 run the session expiration timers as a result when the timer times out both P1 and P2 release their calls/ resources. In certain cases this could be potential revenue loss scenario.
Is it a bug or some gap in understanding?

Dushyant P S Dhalia
Rancore Technologies,
Gurgaon, INDIA
-- 
"When work is a pleasure, life is a joy! When work is duty, life is slavery." 

<<attachment: dushyant_dhalia.vcf>>

_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to