Hi all,
I have some doubts regarding the handling of "Expires" field in SIP
stack implementations.
By SIP stack implementation, I mean it is a toolkit using which
applications can be developed.
For SUBSCRIBE or REGISTER or any requests, who is the ideal party to
handle the "Expires" field, i.e., Starting a "Expires" timer and
Handling the timeout.
Whether Application has to handle it? OR
SIP toolkit has to handle it.
In the RFCs, Nothing has been said about the "Expires" timer as such.
But, it has been said that after the "Expires" time, the Subscription or
Registration is INVALID. So, I interpreted this as the responsibility of
the SIP stack. Am I wrong here?
I have given my explanation regarding what I think of this issue. Please
clarify or correct me wherever I am wrong.
1. I think SIP toolkit has to handle it. Because, "Expires" field is
being interpreted by the core SIP stack.
i.e., it has to start the timer and in case of TIMEOUT, update its
state and Notify the application. Anyhow, Handling the TIMEOUT is the
responsibility of the Application.
If SIP toolkit does NOT handle it, I think "Expires" field itself
does NOT have any relevance.
2. If this is handled at the application, then you do not have to send
"Expires" header in the SIP message because "Expires" field is a dumb
field for SIP in this case.
Also, here if application does NOT refresh OR terminate the
subscription after the "Expires" time OR has not got the NOTIFY for
termination, the SIP toolkit state for the REGISTRATION or SUBSCRIPTION
would be in a INVALID state (i.e., they would still be ACTIVE) which is
wrong.
So, I think Option 1 is the most appropriate.
Best Regards,
Vasu
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors