[asterisk-dev] [Code Review] 2475: Fix SIP Notify / BLF Stop Working, after packet loss and 10 retries
Alec Davis
reviewboard at asterisk.org
Fri Apr 26 04:58:59 CDT 2013
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/2475/
-----------------------------------------------------------
(Updated April 26, 2013, 9:58 a.m.)
Review request for Asterisk Developers.
Changes
-------
Instead of duplicating code in retrans_pkt, and potentially breaking other notifiers.
Only in transmit_state_notify() change the send_request() to XMIT_CRITICAL instead of XMIT_RELIABLE.
This meets RFC6665 requirement to remove subscription on failed transaction after retires.
Bugs: ASTERISK-21677
https://issues.asterisk.org/jira/browse/ASTERISK-21677
Repository: Asterisk
Description
-------
The notify subsystem relies on a NOTIFY 200OK response to come back to clear the SIP_PAGE2_STATECHANGEQUEUE flag and p->pendinginvite.
If the response never arrives, then any future NOTIFYs cannot EVER be sent, they just 'queue' up by replacing the previous queued notify.
The fix: Follow RFC6665 4.2.2 more closely, after failed NOTIFY transaction remove the subscription.
Then after a period of time the client will (re-)subscribe, which will create a new subscription.
For minimum BLF 'not working' time maxexpiry in sip.conf needs to be around 300, not the default of 3600 seconds.
Diffs (updated)
-----
branches/1.8/channels/chan_sip.c 380212
Diff: https://reviewboard.asterisk.org/r/2475/diff/
Testing
-------
as per bug report ASTERISK-21677
Asterisk 1.8 will NOT update it's status when the client re-subscribes, but will on the next event.
Asterisk 11, WILL update it's status when the client re-subscribes.
Thanks,
Alec Davis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20130426/3ebd195a/attachment.htm>
More information about the asterisk-dev
mailing list