Opened 11 years ago

Closed 11 years ago

#641 closed defect (fixed)

Assertion error when late 200/OK is received after call has been disconnected (thanks Dan Åberg for the report)

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

Description (last modified by bennylp)

Scenario (pjsua as UAC):

 pjsua                  UAS
-----------------------------
  INVITE          -->
  200/OK (INVITE) <--
  BYE             -->
  ACK             -->
  200/OK (BYE)    <--
  200/OK (INVITE) <--
  ACK             -->

This scenario happens when the SDP in 200/OK is not acceptable hence pjsua sends BYE to disconnect the call.

Upon sending ACK for the 200/OK retransmission, pjsip incorrectly sets the invite session state back to CONFIRMED after it has been DISCONNECTED, causing assertion and possibly crash.

Thank you Dan Åberg for the report.

To reproduce the error

Sample scenario: pjsua is configured with mandatory SRTP, and the SDP in 200/OK answer doesn't contain valid SRTP description.

  • run pjsua with:
    --null-audio --local-port 0 --use-srtp 2 --srtp-secure 0
    
  • run SIPp as UAS with the attached scenario

Attachments (1)

uas-srtp.xml (5.2 KB) - added by bennylp 11 years ago.
SIPp scenario file

Download all attachments as: .zip

Change History (4)

comment:1 Changed 11 years ago by bennylp

  • Description modified (diff)

Changed 11 years ago by bennylp

SIPp scenario file

comment:2 Changed 11 years ago by bennylp

  • Description modified (diff)

comment:3 Changed 11 years ago by bennylp

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

Fixed in r2306

Note: See TracTickets for help on using tickets.