Skip to content

Conversation

@nvidmar
Copy link

@nvidmar nvidmar commented Sep 18, 2025

Changes were made to enable more transfer options. These changes have been implemented, tested, and are currently in use in an enterprise-grade project.

We needed options to transfer a chat to:

  • the same or a different workgroup
  • an agent in the same workgroup
  • an agent in a different workgroup

An offer is sent to the agent (either explicitly selected by the inviter or assigned by the plugin if only a workgroup is selected).
If the invitee accepts the offer, an MUC invitation is sent to him, and the inviter is kicked from the MUC room.
If the inviter cancels the transfer request, a notification that he left the queue is sent to him (the same logic already exists in the UserRequest class).

This covers all edge cases and allows both the client and agent side to successfully handle transfer acceptance, cancellation, and timeout scenarios.


// Only send muc invites to a particular user.
if (true) {
if (false) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if (false) ?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We needed to always have an offer sent to invitee. From the first commit back in 2008 this was set to "if(true)" so when selecting transfer to agent it was always set to just sending invite to agent (without offer). Maybe we can add system parameter or select scenario (offer or direct invoke) by workgroup configuration attributes.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since TransferRequest class change history has only one real fix since 2008, it seems to me that is not used so much. Maybe I'm wrong. Sending invite directly to agent without an offer seems strange when implementing service desk (or similar) agent side app.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants