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

[1.x] Wrong username after receiving an atttended transfer (Sip Plugin) #3482

Open
Jonbeckas opened this issue Nov 28, 2024 · 5 comments
Open
Labels
multistream Related to Janus 1.x

Comments

@Jonbeckas
Copy link

Jonbeckas commented Nov 28, 2024

What version of Janus is this happening on?
version: 1.3.0
commit: dfd86e3

Have you tested a more recent version of Janus too?
No, most recent release

Was this working before?
No, also broken on 1.2.2

Is there a gdb or libasan trace of the issue?

Additional context
If someone someone is being transfered to you via attended transfer, the username and displayname are not being updated to the now current callee. I guess the problem lies within janus_sip.c somewhere near line 5445, the callee never gets updated there.

Is this the intended behaviour?

@Jonbeckas Jonbeckas added the multistream Related to Janus 1.x label Nov 28, 2024
@Jonbeckas Jonbeckas changed the title [1.x] [1.x] Wrong username after receiving an atttended transfer (Sip Plugin) Nov 28, 2024
@lminiero
Copy link
Member

You mean in the demo UI, or in the events the plugin sends from that point on?

@lminiero
Copy link
Member

As a side note, call transfers envisage separate handles (typically with helper sessions in the SIP plugin). As such, even when you are transferred, as far as the plugin is concerned that's an entirely new call on a separate resource (the previous call is closed). This means that we don't reuse callers/callees I think.

@Jonbeckas
Copy link
Author

In our own application we use "autoaccept_reinvites": false, if we receicve an attended transfer we just get the 'updatingcall' event with a reinvite from the plugin

@lminiero
Copy link
Member

I'm not sure I understand. Transfers are done via the REFER method, so when Janus gets it we'll send a transfer event to the application, not updatingcall, as shown here. As a recipient of the refer, you then need to open another handle (e.g., helper session) to originate the new call: trying to update the existing call will fail. As such, I suspect you're using the plugin API incorrectly.

You can find more info in #1815, which is the PR where we first added support for transfers. I also made a presentation (video here) that should help better understand the process.

@Jonbeckas
Copy link
Author

We only get an "update" event via the websocket, not a new call on a helper session. We currently initialize the attended transfer directly using the app client of our phone-system 3cx. We also implement helper sessions to accept calls using the replace attribute. I am currently not sure if I've configured janus incorrectly or if its a behaviour of our phone system. The audio does get transferred correctly, just the user- and displayname seem to be wrong.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
multistream Related to Janus 1.x
Projects
None yet
Development

No branches or pull requests

2 participants