[asterisk-dev] [svn-commits] mjordan: branch certified-1.8.11 r375024 - in /certified/branches/1.8.11: ./ ...

Olle E. Johansson oej at edvina.net
Mon Oct 15 13:54:15 CDT 2012


15 okt 2012 kl. 16:11 skrev SVN commits to the Digium repositories <svn-commits at lists.digium.com>:

> Properly handle UAC/UAS roles for SIP session timers
> 
> The SIP session timer mechanism contains a mandatory 'refresher' parameter
> (included in the Session-Expires header) which is used in the session timer
> offer/answer signaling within a SIP Invite dialog. It looks like asterisk is
> interpreting the uac resp. uas role only as the initial role of client and
> server (caller is uac, callee is uas). The standard rfc 4028 however assigns
> the client role to the ((RE)-Invite) requester, the server role to the
> ((RE)-Invite) responder.
> 
> This patch has Asterisk track the actual refresher as "us" or "them" as opposed
> to relying on just the configured "uas" or "uac" properties.

I don't think Asterisk even after this patch is correct. I did send mail to Terry about it 
earlier when he started working with it.

If Asterisk gets an INVITE and activate session timers, it needs to be in a require header
in the response. If we send an invite we need to check if the other end activates
timers by checking the require header.

If we do not add a require header in the response, the other end runs SIP session timers
alone, without bothering with Asterisk.

I noticed this in my PRACK work, which also is a sip extension. In that branch you'll find code
for Require header usage and I've added a hook for the session timers there as well as
a reminder.

A bit surprised that this patch goes into "certified" without testing properly. How certified
is certified, really? ;-)

Cheers,
/O


More information about the asterisk-dev mailing list