Summary: | ASTERISK-16736: SIP session timers do not transmit session expiry or refresher timer in 200 OK | ||
Reporter: | Jimmy le Grange (legranjl) | Labels: | |
Date Opened: | 2010-09-27 00:34:43 | Date Closed: | 2011-07-27 13:56:51 |
Priority: | Major | Regression? | No |
Status: | Closed/Complete | Components: | Channels/chan_sip/Interoperability |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) timer_sipdebug.log ( 1) timer_wireshark.cap | |
Description: | When acting as uac the 200ok replay to uas does not include the sessoin expiry and refresher timer. This turns the timer off. RFC4028, chapter 7.2: "If the 2xx response did not contain a Session-Expires header field, there is no session expiration. In this case, no refreshes need to be sent. A 2xx without a Session-Expires can come for both initial and subsequent session refresh requests. This means that the session timer can be 'turned-off' in mid dialog by receiving a response without a Session-Expires header field. ****** ADDITIONAL INFORMATION ****** Config as follow: Values are low for testing session-timers=originate session-expires=95 session-minse=90 session-refresher=uas | ||
Comments: | By: Leif Madsen (lmadsen) 2010-09-28 10:51:49 I think it would be useful to have some logging of this happening between Asterisk and the client showing it clearly. Please provide SIP debug traces along with SIP history as enabled in sip.conf. You can log this to a separate file using logger.conf and then attach the resulting log to this issue. Thanks! By: Jimmy le Grange (legranjl) 2010-10-05 04:11:03 Hi, Attached I have the requested info. For Clarity Endpoint 192.168.8.234 to Asterisk 192.168.8.144 to Intrerconnect customer 192.168.250.127. The timer between endpoint and Asterisk are working fine execpt that it is still incorrect. Below is my evaluation In packet 6 the Interconnect side receives INVITE message from Asterisk side with Session-Expires headers. In packet 11 the Interconnect side answers with 200OK with "Session-Expires: 95;refresher=uas", means interconnect side is (UAS) will refresh the session after 95/2=47,5 seconds. At packet 19 (47.5 sec. later) Interconnect side is sending reINVITE for session refresh with"Session-Expires: 95;refresher=uac", means Interconnect side (now UAC) will refresh the session. At packet 21 the asterisk side answers with 200OK without any Session-Expires field. This effectively means terminate timer. The correct responce should be to coppy the Session-Expires: 95;refresher=uac" header in the reINVITE and add it in the 200ok response. By: Russell Bryant (russell) 2011-07-27 13:56:46.733-0500 Per the Asterisk maintenance timeline page at http://www.asterisk.org/asterisk-versions maintenance (bug) support for the 1.4 and 1.6.x branches has ended. For continued maintenance support please move to the 1.8 branch which is a long term support (LTS) branch. For more information about branch support, please see https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions If this is still an issue, please open a new issue so it can be re-triaged appropriately. Thanks! |