[asterisk-dev] [Code Review] SIP session timers: Add Require: timer to appropriate responses

Olle E Johansson reviewboard at asterisk.org
Wed Oct 31 11:58:36 CDT 2012


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/2172/#review7345
-----------------------------------------------------------


@matt: I did not require anything or refer to any policy. Please calm down.

Now, do we parse incoming Require: headers to our INVITE? That part is also in my code. If the other side does NOT add a Require header we're running stand-alone mode, but can still activate session timers. If the other side adds a Require header, we're in the play.

- Olle E


On Oct. 31, 2012, 11:05 a.m., Mark Michelson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/2172/
> -----------------------------------------------------------
> 
> (Updated Oct. 31, 2012, 11:05 a.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Summary
> -------
> 
> This patch makes it so Asterisk adds Require: timer when appropriate when sending INVITE responses.
> 
> If session timers are in use, then there are two situations under which we'll add the header:
> 
> 1) We are sending a 200 OK with a Session-Expires header that has a refresher parameter of "uac"
> 2) We are sending a 200 OK with a Session-Expires header that has a refresher parameter of "uas" and the INVITE to which we are responding had a Supported: timer header in it.
> 
> This patch also introduces another change. Prior to this change, the only way we would add a Session-Expires header in an INVITE response was if the inbound INVITE had a Supported: timer header in it. Now we always add this header if Asterisk using session-timers=originate. This is based on a table in section 9 of RFC 4028. It indicates that if the UAC does not support Session-Timers but the UAS does, then the UAS should send a Session-Expires header with a refresher parameter of "uas".
> 
> 
> This addresses bug ASTERISK-20570.
>     https://issues.asterisk.org/jira/browse/ASTERISK-20570
> 
> 
> Diffs
> -----
> 
>   /branches/1.8/channels/chan_sip.c 375481 
>   /branches/1.8/channels/sip/include/sip.h 375481 
> 
> Diff: https://reviewboard.asterisk.org/r/2172/diff
> 
> 
> Testing
> -------
> 
> Tried the following three scenarios that should have resulted in Asterisk sending a 200 OK with a Require: timer:
> 
> 1. INVITE with refresher=uac
> 2. INVITE with refresher=uas
> 3. INVITE with no Session-Expires but with Supported: timer
> 
> I also tried the following scenario that should result in a 200 OK with a Session-Expires (refresher=uas) but no Require: timer header:
> 
> INVITE with no Supported: timer header present.
> 
> I plan on turning this into a testsuite test as well.
> 
> 
> Thanks,
> 
> Mark
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20121031/3032a10f/attachment.htm>


More information about the asterisk-dev mailing list