Opened 7 years ago

Closed 7 years ago

#1647 closed defect (fixed)

Premature termination of REFER (call transfer) subscription

Reported by: nanang Owned by: bennylp
Priority: normal Milestone: release-2.2
Component: pjsip Version: trunk
Keywords: Cc:
Backport to 1.x milestone: Backported: no

Description

Scenario:

  1. A calls B.
  2. B transfer to C.
  3. C reject the incoming call.
  4. immediately, B transfer to C again.
  5. B will see log line that REFER subscription is terminated, and any NOTIFY messages from A will be responded with 481 (Subscription already terminated). Note: A will send BYE to B after receiving 481/NOTIFY response from B, so if C rejects the transfer again, the original call A-B will be gone, but if C accepts the transfer, call A-C will be established (call transfer succeeds).

After investigation, the new subscription for the second REFER is actually created, while the old one has not been destroyed, but the Event Subscription module somehow sees the old and terminated subscription (instead of the new one) for the second REFER.

Change History (1)

comment:1 Changed 7 years ago by nanang

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

In 4447:

Close #1647: updated subscription lookup in on_new_transaction() to skip subscription with NO_EVENT_ID and already terminated.

Note: See TracTickets for help on using tickets.