Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some callbacks not invoked in call replace in PJSUA2 #3059

Merged
merged 4 commits into from
Apr 26, 2022
Merged

Conversation

nanangizz
Copy link
Member

Currently in call replace scenario, the new PJSUA2 Call instance can only be created in onCallReplaced() callback, which cause application to miss some callbacks such as onCallSdpCreated() and onCreateMediaTransport(). This PR allows application to create the new Call instance earlier, i.e: in onCallReplaceRequest(), so it won't miss the onCallSdpCreated() & onCreateMediaTransport() callbacks.

Thanks to Johannes Westhuis for the report.

Note: this PR also bumps up log level of some warnings from 4 to 3 (when app does not create a new Call instance for call transfer & replace).

@sauwming
Copy link
Member

Better to change the sample pjsua2_demo to use the new callback onCallReplaceRequest() instead.

1 similar comment
@sauwming
Copy link
Member

Better to change the sample pjsua2_demo to use the new callback onCallReplaceRequest() instead.

…should follow the spec) in call transfer request.
…s Account should be the same as the replaced-call's account, but just found that the PJSUA is not inline with the spec.

Update behavior of incoming call replace, the new call should use the same account as the replaced call.
Warning: potential backward incompatibility issue, previously the replacing call can use any account (selected using pjsua_acc_find_for_incoming() and app may override via callback), now it is forced to use the same account.
Pro: this may maintain the call environments including security level, simpler handling in PJSUA2.
Cons: app no longer has control to select the account.
Also note that the call transfer also forcefully use the same account as the original one.
@nanangizz nanangizz merged commit 41023da into master Apr 26, 2022
@nanangizz nanangizz deleted the call-replace branch April 26, 2022 06:30
arunmitel pushed a commit to mitel-networks/pjproject that referenced this pull request Aug 17, 2022
Warning: potential backward incompatibility issue, previously the replacing call can use any account (selected using pjsua_acc_find_for_incoming() and app may override via callback), now it is forced to use the same account.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants