Final response 2xx not retransmitted when transport is closed #3828
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When transport is closed before sending 2xx final response, the message will fail to be sent.
However, it is not retransmitted.
When the transport is closed, the response will be sent using
pjsip_endpt_send_response()
pjproject/pjsip/src/pjsip/sip_transaction.c
Line 2532 in e9771e2
with
TSX_HAS_PENDING_TRANSPORT
set and later will prevent the retransmit timer from being scheduled and instead settingTSX_HAS_PENDING_RESCHED
.pjproject/pjsip/src/pjsip/sip_transaction.c
Line 3086 in e9771e2
This patch will check if
TSX_HAS_PENDING_RESCHED
is set, and schedule the timer in the case that the send failed.