Opened 8 years ago

Closed 8 years ago

#1491 closed defect (fixed)

Failed to refresh (presence) subscription if Subscription-State header contains no "expires" parameter

Reported by: bennylp Owned by: bennylp
Priority: normal Milestone: release-1.14
Component: pjsip Version: common
Keywords: Cc:
Backport to 1.x milestone: Backported:

Description

PJSIP UAC failed to refresh (presence) subscription timely if the NOTIFY request from the peer contains "Subscription-State" header without "expires" parameter, and if peer sends more of this NOTIFY requests at later time during the subscription lifetime. This is because every time NOTIFY request is received, PJSIP resets the expiration timer to the value found in Expires header in the 200/OK response to SUBSCRIBE due to lack of "expires" parameter.

Note though that sending Subscription-State header without expires parameter is not strictly compliant with the spec either. Quoting http://tools.ietf.org/html/rfc3265#section-3.2.2:

If the value of the "Subscription-State" header is "active" or "pending", the notifier SHOULD also include in the "Subscription-State" header an "expires" parameter which indicates the time remaining on the subscription.

Having said that, PJSIP should be able to cope with lack of this parameter.

Change History (2)

comment:1 Changed 8 years ago by bennylp

  • Summary changed from Failed to refresh presence subscription if Subscription-State header contains no "expires" parameter to Failed to refresh (presence) subscription if Subscription-State header contains no "expires" parameter

comment:2 Changed 8 years ago by bennylp

  • Resolution set to fixed
  • Status changed from new to closed

(In [4064]) Fixed #1491: Failed to refresh (presence) subscription if Subscription-State header contains no "expires" parameter

Note: See TracTickets for help on using tickets.