Handle IP change scenario for calls that are not yet confirmed (draft)#3288
Closed
Handle IP change scenario for calls that are not yet confirmed (draft)#3288
Conversation
- Add check keep_inv_after_tsx_timeout applied to INVITE message - Remove reverting keep_inv_after_tsx_timeout when IP change progress is completed.
Member
|
Made some modifications:
Notes:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Handle IP change scenario for calls that are not yet on confirmed state.
The PR is still in draft stage.
List of changes in the patch:
And we will automatically use UPDATE for those calls, because otherwise app will be forced to set reinv_use_update to PJ_TRUE, which may not be desirable if it still prefers to use reinvite for established calls.
What still doesn't work:
a. pjsip_inv_answer() will use pjsip_tx_data_clone() of the last answer.
b. sending 487 after call being cancelled also uses inv->invite_tsx->last_tx.
Attempt to fix a) is in progress, by replacing the Via with the ones from the last incoming UPDATE. But this still doesn't work because transaction lookup will later fail due to the Via branch change. An idea to solve this is by keeping the branch param when updating the Via. Not sure if this is feasible, but the RFC doesn't seem to prohibit this.
TODO:
update wiki