Opened 6 years ago
Closed 6 years ago
#2175 closed defect (fixed)
Delayed sending of ACK request (using on_send_ack() ) may prematurely send the ACK
Reported by: | ming | Owned by: | bennylp |
---|---|---|---|
Priority: | normal | Milestone: | release-2.9 |
Component: | pjsip | Version: | trunk |
Keywords: | Cc: | ||
Backport to 1.x milestone: | Backported: | no |
Description
Scenario:
- send INVITE
- recv 200/OK
- app implements on_send_ack() and calls pjsip_inv_create_ack(), but have not sent it.
- recv retransmission of 200/OK
- PJSIP auto answers the ACK
The doc of on_send_ack() says:
* Application creates the ACK request * * Once it has sent the ACK request, the framework will keep * this ACK request in the cache. Subsequent receipt of 2xx response * will not cause this callback to be called, and instead automatic * retransmission of this ACK request from the cache will be done * by the framework.
But actually pjsip_inv_create_ack() is the one that saves inv->last_ack. So the auto transmission already happens in inv_send_ack() of sip_inv.c, even though app hasn't sent the ACK.
Change History (1)
comment:1 Changed 6 years ago by ming
- Resolution set to fixed
- Status changed from new to closed
Note: See
TracTickets for help on using
tickets.
In 5931: