- Dec 18, 2024
-
-
Guilherme Gazzo authored
-
- Nov 19, 2024
-
-
Douglas Fabris authored
Co-authored-by:
Gustavo Reis Bauer <gustavoreisbauer@gmail.com> Co-authored-by:
Pierre Lehnen <55164754+pierre-lehnen-rc@users.noreply.github.com> Co-authored-by:
Marcos Spessatto Defendi <marcos.defendi@rocket.chat> Co-authored-by:
Pierre <pierre.lehnen@rocket.chat> Co-authored-by:
Rafael Tapia <rafael.tapia@rocket.chat> Co-authored-by:
matheusbsilva137 <matheus_barbosa137@hotmail.com> Co-authored-by:
Kevin Aleman <kaleman960@gmail.com> Co-authored-by:
Tasso <tasso.evangelista@rocket.chat>
-
- Oct 17, 2024
-
-
Kevin Aleman authored
Co-authored-by:
Guilherme Gazzo <guilhermegazzo@gmail.com> Co-authored-by:
Matheus Barbosa Silva <36537004+matheusbsilva137@users.noreply.github.com>
-
- Sep 19, 2024
-
-
Júlia Jaeger Foresti authored
Co-authored-by:
Guilherme Gazzo <5263975+ggazzo@users.noreply.github.com>
-
- Aug 23, 2024
-
-
Diego Sampaio authored
-
- Jun 22, 2024
-
-
Yash Rajpal authored
-
- Apr 28, 2023
-
-
Tasso Evangelista authored
Co-authored-by:
gabriellsh <gabriel.henriques@rocket.chat>
-
- Mar 15, 2023
-
-
Tasso Evangelista authored
-
- Feb 15, 2023
-
-
Kevin Aleman authored
Co-authored-by:
Martin Schoeler <martin.schoeler@rocket.chat> Co-authored-by:
Cauê Felchar <11652381+cauefcr@users.noreply.github.com> Co-authored-by:
Aleksander Nicacio da Silva <aleksander.silva@rocket.chat> Co-authored-by:
Tiago Evangelista Pinto <tiago.evangelista@rocket.chat> Co-authored-by:
Diego Sampaio <chinello@gmail.com> Co-authored-by:
Murtaza Patrawala <34130764+murtaza98@users.noreply.github.com> Co-authored-by:
Filipe Marins <filipe.marins@rocket.chat> Co-authored-by:
murtaza98 <murtaza.patrawala@rocket.chat>
-
- Feb 08, 2023
-
-
Murtaza Patrawala authored
Co-authored-by:
Kevin Aleman <11577696+KevLehman@users.noreply.github.com>
-
- Jan 16, 2023
-
-
Rodrigo Nascimento authored
Co-authored-by:
Diego Sampaio <8591547+sampaiodiego@users.noreply.github.com>
-
- Aug 17, 2022
-
-
Yash Rajpal authored
-
- Jul 01, 2022
-
-
Douglas Fabris authored
Co-authored-by:
Pierre Lehnen <55164754+pierre-lehnen-rc@users.noreply.github.com> Co-authored-by:
Tasso Evangelista <2263066+tassoevan@users.noreply.github.com> Co-authored-by:
Guilherme Gazzo <5263975+ggazzo@users.noreply.github.com>
-
- Jun 13, 2022
-
-
Pierre Lehnen authored
<!-- This is a pull request template, you do not need to uncomment or remove the comments, they won't show up in the PR text. --> <!-- Your Pull Request name should start with one of the following tags [NEW] For new features [IMPROVE] For an improvement (performance or little improvements) in existing features [FIX] For bug fixes that affect the end-user [BREAK] For pull requests including breaking changes Chore: For small tasks Doc: For documentation --> <!-- Checklist!!! If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code. - I have read the Contributing Guide - https://github.com/RocketChat/Rocket.Chat/blob/develop/.github/CONTRIBUTING.md#contributing-to-rocketchat doc - I have signed the CLA - https://cla-assistant.io/RocketChat/Rocket.Chat - Lint and unit tests pass locally with my changes - I have added tests that prove my fix is effective or that my feature works (if applicable) - I have added necessary documentation (if applicable) - Any dependent changes have been merged and published in downstream modules --> ## Proposed changes (including videos or screenshots) <!-- CHANGELOG --> <!-- Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. If it fixes a bug or resolves a feature request, be sure to link to that issue below. This description will appear in the release notes if we accept the contribution. --> <!-- END CHANGELOG --> ## Issue(s) <!-- Link the issues being closed by or related to this PR. For example, you can use #594 if this PR closes issue number 594 --> ## Steps to test or reproduce <!-- Mention how you would reproduce the bug if not mentioned on the issue page already. Also mention which screens are going to have the changes if applicable --> ## Further comments <!-- If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc... -->
-
- Jun 06, 2022
-
-
Marcos Spessatto Defendi authored
* refactor: refactor matrix bridge to support testing + unit tests * fix: fix conflict * fix: types on test * fix: fix tests * chore: rename bridged to federated * chore: remove duplicated config * fix: fix yarn.lock * chore: add migration for the renamed field * chore: fix lint * fix: type
-
- May 23, 2022
-
-
Marcelo Schmidt authored
Co-authored-by:
Guilherme Gazzo <guilhermegazzo@gmail.com>
-
- Apr 22, 2022
-
-
Alan Sikora authored
Implement alpha support for Matrix Federation Co-authored-by:
Aaron Ogle <aaron@geekgonecrazy.com> Co-authored-by:
Marcos Defendi <marcos.defendi@ulbra.inf.br> Co-authored-by:
Rodrigo Nascimento <rodrigoknascimento@gmail.com>
-
- Apr 06, 2022
-
-
Diego Sampaio authored
-
- Feb 22, 2022
-
-
Kevin Aleman authored
* Initial voip support and services creation * remove livechat references * remove livechat references * [NEW] SIP Integration (#23142) * Initial commit for SIP code * Adding SIP library framework for doing VoIP. * Clickup Tasks : https://app.clickup.com/t/7qdnh4 Description : Adding sip.js node dependency. Hence committing package.json and package-lock.json * Clicup Task : https://app.clickup.com/t/7qdnh4 Description : 1. Added level based logging class. 2. Added necessary logs in different files. 3. Added comments on important functions. * Update client/components/voip/RegisterHandlerDelegate.ts Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> * Clickup Tasks : https://app.clickup.com/t/7qdnh4 Description: Handling code-review comments. 1. Renamed delegate interface classes and files. Prefixed I before the name. 2. Removed unused files. 3. Renamed User.ts to VoIPUser.ts to avoid confusion. 4. Added interface for voip configuration. 5. Side effect changes in VoIPLayout.ts because of the above changes. * Clickup Tasks : https://app.clickup.com/t/7qdnh4 Description : Converting javascript files to typescript files. * Clickup Tasks : https://app.clickup.com/t/7qdnh4 Description : Added missing return type for a function. Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> * [NEW] Voip: Permissions (#23134) * Create new set of livechat permissions for voip * Update app/authorization/server/startup.js Co-authored-by:
Renato Becker <renato.augusto.becker@gmail.com> * Move EE permissions to EE * Apply suggestions from CR Co-authored-by:
Renato Becker <renato.augusto.becker@gmail.com> * [NEW] Sidebar section with VOIP call-available icon (#23203) * create voip call icon in omnichannel section * upgrade fuselage version * remove success prop * phone-disabled icon * [NEW] Add new Endpoints to manage VoIP server configs (#23239) * create voip server config collection in DB + modify interfaces * Add new endpoints to fetch management and server-config info * Add new endpoints to add or update voip server configs * Add translations + move serverName property to IVoipServerConfig interface * Remove VoipServerConfiguration DB model and rely on DB Raw module to create collection * archive server configs instead of completely deleting them upon update/insert * Add comment for future scope * Apply suggestions from code review Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> * Apply suggestions from code review * remove deactive logic from endpoint Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> * [NEW] Framework for connecting to asterisk (#23251) * Clickup task : https://app.clickup.com/t/7qerzq Description: 1. Adding connector framework 2. interface for connecting to asterisk manager interface. 3. Added Endpoint handling command which can query list of endpoints and details of a single endpoint. 4. Added REST APIs to access the connecter. 6. Moved logger to ./lib and changed the corresponding paths * Clickup task : https://app.clickup.com/t/7qerzq Description: 1. Fixed lint error in Logger. 2. Commented hardcoded server path for timebeing as this code will not be used directly. * Clickup task : https://app.clickup.com/t/7qerzq Description: 1. Added new API in asterisk-connector to get the registration information. 2. Used this API for registering the demo endpoint. 3. Added a new interface for the return types of the connector. 4. Modified Command and PJSIPEndpoint to add a declaration for the multiple return types as a result of executeCommand 5. Modified CommandHandler to to add a declaration for the multiple return types as a result of executeCommand * Clickup task : https://app.clickup.com/t/7qerzq Description: Deleting unnecessary code. * Clickup task: https://app.clickup.com/t/7qerzq Description: 1. Handled code review comments. 2. Modified client side logging classname and file name. Imported new classname and filename in the client code. 3. Moved server side logging to Pino based logging. Earlier it was using the same logger that was used in the client. 4. Removed optional methods from the interfaces and removed unnecessary |undefined| checks from the method calls. * Clickup task: https://app.clickup.com/t/7qerzq Description: Fixed some old style logging statements. They were missed to be replaced in the previous commit. * [NEW] Adding Queue management code for fetching ACD queue summary, queue details and calls waiting in the queue (#23371) * Clickup task : https://app.clickup.com/t/7qex83 Description: 1. This commit, at its base, adds a functionality to fetch the calls waiting in the queue for a given extension. For this, it adds a new command object in server/services/voip/connector/asterisk/ami called |ACDQueue|. ACD queue is capable of fetching various queue parameters such as queue summary, details of a particular queue (Members of a given queue) It also provides a set of new APIs for fetching queue summary |queues.getSummary| and fetching the calls waiting in the queue |queues.getCallWaitingInQueuesForThisExtension|. 2. Beyond this it also modifies the connector architecture a bit. The reason for this change is that, it was observed that the AMI library does not have a way to turn off event handling. Event handling gets turned off only when the connection to Asterisk AMI socket is disconnected. That may not be desirable. So to avoid this, the architecture is changed as follows : a. Connection registers for all management events. b. Each command object registers the callback context for each manager event that it is interested in. c. Connection (AMIConnection) goes thru the list of registered callbacks for a particular event. If it finds an array of registered Callback contexts, it goes on calling each callback in the array. d. Once the expected data is received, the command object unregisters the callback context. It is removed from the handler list for a particular event.As a result of this design change existing command objects |PJSIPEndpoint| have been changed too to adapt to this arch change. 3. Removed hardcoding from extensions.ts. Now it reads the callserver information from the database, which was hardcoded earlier. * Clickup task : https://app.clickup.com/t/7qex83 Description: 1. Fixed review comments. 2. Simplified some nested ifs suggested in review comments. 3. Added new consolidated type IVoipConnectorResult to contain either of the result to avoid growing function signature as suggested in the comment. 4. Made necessary changes in REST API files which were necessary as above changes created some side-effects. * Clickup task : https://app.clickup.com/t/7qex83 Description: 1. Fixed code-review comments. * Update app/api/server/v1/voip/extensions.ts Fixed. Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> * Update app/api/server/v1/voip/extensions.ts Fixed Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> * [NEW] Making connector as a part of VoipService and removing earlier hardcoding for management server (#23571) * Clickup Task : https://app.clickup.com/t/7qeq76 Description : Some background : Issue#1 : CommandHandler class is an entry point to a connector to Asterisk. This command handler had hardcoded values till the APIs and database for the management API was getting ready. Once it got ready there was a need to change it and use the database values. This design change is triggered by this need. The aim for the re-design was that all the API access should happen via voip service. It was realised that |CommandHandler| gets created (Because it is declared globally in REST APIs) before the Voip service gets initialised. And because of this fact, CommandHandler does not get to read the values as the service has not yet started and initialised |VoipServerConfiguration|. To fix this issue, |CommandHandler| has to be created after service and should be accessible only via service. So it has been moved to Voip service. Few more points to consider here is that CommandHandler::initConnection may not work always. When Voip is getting used for the first time, the server values (management and callserver) will be empty. One has to add those values using the admin interface. So CommandHandler::initConnection failure should not cause server to crash. So errors from CommandHandler::initConnection should be written in logs and the code should move ahead. Issue#2 : Some design refinements have been done. The intelligence in the REST APIs have been reduced. While building the code connector was exposed outside. Now connector is contained within the service. Service contains all necessary implementation. The necessary changes have been done to support this architectural change. Considering these points, following changes have been done. 1. Voip rest APIs which use CommandHandler (Queue and extension APIs) now query for the CommandHandler instead of creating it. 2. server-config.ts REST API for adding management interface reinitialises the connection after adding a management interface. 3. On the server side, Voip Service interface has been changed, to have new methods. Voip service and CommandHandler is changed to adapt to the design mentioned above. 4. Log level change in AMIConnection file. 5. Modified the IVoipService interface to contain all the necessary methods and changed service.ts to have the implementation. * Update server/services/voip/service.ts Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> * Clickup Task : https://app.clickup.com/t/7qeq76 Description : Fixing review comments. * Clickup task : https://app.clickup.com/t/7qeq76 Description: Fixing review comments. Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> * [NEW] : Registering SIP user agent on click event of the phone button on sidebar (#23550) * Clickup task : https://app.clickup.com/t/du0e8p Description : This code manages the registering of SIP endpoint on a button click on the side bar. To achieve this, following things needs to be considered. 1. Voip User Object will be used by multiple UI components. e.g Register and Incoming call component need to use this component. 2. Once initialised, it will remain in the context till the Agent UI is active. 3. Voip user object uses callback mechanism to notify about different events such as incoming call, call establishment and call termination. Design alternatives and decisions: 1. Placement of Voip User Object : It was earlier thought that it might make sense to add this object in its own Context and be managed by its own context provider. Voip object makes REST API calls. The requirement is also that, it must get initialised before sidebar/sections/Omnichannel.tsx comes to life. Hence (Considering my current knowledge of code), it must have got created before Omnichannel provider. Which means that OmnichannelProvider must be a child for Voip, which is not true as Omnichannel provider is not dependent on the creation of VoIP. So for timebeing, the Voip user object has been placed in |OmnichannelContext| and initialised in |OmnichannelProvider|. 2. Callbacks vs waiting on Promise: Most of the code in the repository is written without use of any callbacks. So there was a thought on if we could write this code without using callback. But considering the nature of voip calls and the way of using sip.js, it was more natural to write it using emitters and callbacks. There are multiple events happen when the call is received or dialed out. e.g Call getting established (This is must to handle becuase the call may fail because of some codec mismatch), call getting terminated. etc. Waiting for each of such promise and managing the state on UI client would have been a tricky job. Current Design : 1. A simple wrapper |SimpleVoipUser| is written on top of more feature rich class |VoIPUser|. This class should be able to provide what we need in our omnichannel voip. 2. This |SimpleVoipUser| class is a part of |OmnichannelContext| and gets initialised in |OmnichannelProvider|. |OmnichannelContext| also contains |extensionConfig|, which is the necessary information needed for registering the extension. 3. In |OmnichannelProvider|, function initVoipLib is used for fetching necessary values using the REST API. |extensionConfig| and |SimpleVoipUser| objects get initialised there and they are ready to be used when |OmnichannelProvider| is loaded. 4. Media elements for rendering local and remote streams have been pulled out from |VoIPUserConfiguration|. They are converted in to a type |IMediaStreamRenderer|. The reason is that the configuration is passed when the component gets initialised. But because the calling component is going to be different, media elements will not be available during the creation of |SimpleVoipUser| (Which in turns needs these media elements for creating |VoIPUser|). So instead of passing it as a part of |VoIPUserConfiguration|, it can be passed as an argument to the constructor of |VoIPUser| if that information is available during the creation time, or can be passed in acceptCall function. Newly passed |IMediaStreamRenderer| replaces the old value if the old one is passed in the constructor. 5. |VoIPLayout| uses this new way of creating the Voip user objects and demonstrates how it will be used. * Update client/components/voip/SimpleVoipUser.ts Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> * Update client/components/voip/SimpleVoipUser.ts Fixed. Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> * Clickup task : https://app.clickup.com/t/du0e8p Description : Fixing code review comments. * Clickup task : https://app.clickup.com/t/du0e8p Description: Fixing review comments. * Clickup task: https://app.clickup.com/t/du0e8p Description: Remove the hardcoding for ICE servers. Now we pull it from the admin settings. The setting Id is 'WebRTC_Servers'. * Clickup task: https://app.clickup.com/t/du0e8p Description: Fixing LGTM issue. * Clickup task : https://app.clickup.com/t/du0e8p Description : Fixing the issues post merging. Few thing were changed in the parent repo. This workspace is for taking those changes in account. * Clickup task : https://app.clickup.com/t/du0e8p Description : Fixing review comments. 1. Toggled the logic for the register icon. when it is registered, icon should be green. i.e success and grayed out when not registered. 2. When it is registered, the icon should be of a phone. On clicking this, it would unregister, which will change the icon to striked out phone. Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> * [NEW] VoIP admin section (#23837) Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> * Fixing merge related issues with develop branch. (#23893) * [NEW] : API endpoints for Agent-Extension Association and Database changes (#23736) * Clickup task : https://app.clickup.com/t/7qee1v Description : This commit adds the required APIs and permissions to run these APIs for following : 1. Create agent-extension association. (Access to admin) 2. Get extension associated with given agent name. (Access to agent, admin and manager) 3. Delete extension of a given agent. (Access to admin) 4. List all free extensions. (Access to admin) 5. Get the list of agent-extension association. (Access to admin) It adds necessary functions in the omnichannel-voip service and adds corresponding types. In the database, it adds a new field |extension| to existing meteor |users| document. * Update server/services/omnichannel-voip/service.ts Co-authored-by:
Murtaza Patrawala <34130764+murtaza98@users.noreply.github.com> * Clickup task : https://app.clickup.com/t/7qee1v Description: Fixing code review comments. * Clickup task : https://app.clickup.com/t/7qee1v Description : Review comments. Removed the Voip code from traditional model and put it in raw model for user. Changed the REST layer accordingly. * Update server/services/omnichannel-voip/service.ts Fixing review comment Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> * Update app/api/server/v1/voip/omnichannel.ts Makes sense. Fixed. Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> * Clickup task : https://app.clickup.com/t/7qee1v Description : Review comments. * Clickup task : https://app.clickup.com/t/7qee1v Description : Review comments. * Clickup task : https://app.clickup.com/t/7qee1v Description : This commit adds a new api omnichannel/extension?type=available&username=<username> This API returns the all the available extensions for a given username. Which mean, if the user has extesion allocated, available list will also contain this associated extension. * Clickup task : https://app.clickup.com/t/7qee1v Description: Fixing review comments. * Clickup task : https://app.clickup.com/t/7qee1v Description: Fixing review comments. Co-authored-by:
Murtaza Patrawala <34130764+murtaza98@users.noreply.github.com> Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> * fix eslint issues * fix lgtm alert * Fix permission style * create migration to add voip permissions * fix pipeline * [NEW] Livechat voip/contexts providers and components(#23801) * Wip * WIP on Call Component * Add disabled state component * Paused and timer components * Lint * Toolbox Button Colors * Tooltips * Use Sidebar components * WIP Refactor * small refactor * Refactor voip Layout to use Fuselage Components * Fix lint/ts * Bump * Fix wrong section name * Lint * voip endpoint ts * Created Call Context * WIO * fix visual * Fix after merge develop * Create an Error handler * Fix TS * Fix martin * Fix stringtoice function * Fix wrong type * Reject call button * Update fuselage * Use Portal for AudioTag and small improvements * fix lint * Lint * Improvements to audio element and media ref usage * Code cleanup Revamp file structure, remove some loggers, remove some test files, and fix linting * Fix TS and remove more loggers * Lint * Fix reviews, remove test code and comments * wip * Lint & Prettier * Lint * fix error Co-authored-by:
Guilherme Gazzo <guilhermegazzo@gmail.com> * [NEW] Implementation of a call feature Hold-unhold (#24140) * Clickup task : https://app.clickup.com/t/7qdt7t Description : This commit handles hold-unhold call feature. When the call gets hold, the far-end should hear music on hold. The agent should not hear the agent. Hold-unhold feature results in the renegotiation of call. The media direction is changed to sendonly and recvonly. Following files have been changed 1. client/lib/voip/VoIPUser.ts : This file implements core logic of hold-unhold. Call hold is possible only when the call is currently going on or the answer is sent. Function handleHoldUnhold implements reinvite, which is sent to the far end for handling the hold-unhold. 2. client/lib/voip/Helper.ts : This is a new file which implements enabling/disabling the media streams when the call is put on hold. 3. definition/voip/CallStates.ts : ON_HOLD state is added to existing call states. 4. definition/voip/VoIpCallerInfo.ts : VoIpCallerInfo type is extended for the ON_HOLD state. 5. definition/voip/VoipEvents.ts : hold, holderror, unhold, unholderror events have been added to communicate the call hold state. 6. packages/rocketchat-i18n/i18n/en.i18n.json : Held_call translation has been added. This will be used when the call is put on hold. 7. client/providers/CallProvider/CallProvider.tsx : pause resume actions have been associated with the correct functions from voipClient. * adjust some types * small fix VoiceController * fix typeguards * Clickup task : https://app.clickup.com/t/7qdt7t Description: Removing unused translation for hold-unhold Co-authored-by:
Tiago Evangelista Pinto <tiago.evangelista@rocket.chat> * [FIX] Return correct registration state in connector.extension.list API (#24129) * [FIX] Workaround for use of the default settings collection (#24095) * [FIX] Cleaning up some hard coding in the Voip code. (#24247) Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> * Chore: Code quality changes to extension management * [NEW] VoIP buttons to mute and hold the call (#24421) * mute and hold * fix stories * popover => tooltips Co-authored-by:
Martin <martin.schoeler@rocket.chat> * [NEW] Composer not available on phone calls component (#23475) * [NEW] Create voip room on call received (#23897) Co-authored-by:
pierre-lehnen-rc <55164754+pierre-lehnen-rc@users.noreply.github.com> Co-authored-by:
amolghode <amol.ghode@gmail.com> Co-authored-by:
amolghode1981 <86001342+amolghode1981@users.noreply.github.com> Co-authored-by:
Pierre Lehnen <pierre.lehnen@rocket.chat> * [NEW] Livechat Voip RoomType (#24484) * [NEW] VoIP room chat header (#24510) * voip room * visitor logic * fix noo js * end * fix build errors * fix * room start header * \n * [NEW] Livechat voip/queue events (#24180) * Draft workspace for call server monitor. * Draft workspace for call server monitor. Using Event notification mechanism to notify the clients. Implements strategy for notifying source queue (While the agent is riniging) and Calls in queue * Fix issue with duplicated notifications on client * Started adding support for 3 more events, QueueMemeberAdded, QueueMemberRemoved and QueueCallerAbandon * Fixing errors. * Use user extension to fetch queue details * Clickup Task : https://app.clickup.com/t/21fekdx Description: This PR implements continuous monitor in the asterisk connector. Asterisk continuously generates a stream of events on various activities. Management server user defined in asterisk's manager.conf determines the events to be sent on this user. This PR's main focus is to find out calls in the queue and source queue of a call. To do this, it monitors following events queuecallerjoin (For finding out the source queue of a call) agentcalled (for calls in the queue) agentconnect (for calls in the queue) queuememberadded (for calls in the queue) queuememberremoved (for calls in the queue) queuecallerabandon (for calls in the queue) The client is going to create an aggregator which will be responsible for the events which cause change in |calls waiting in the queue| The aggregator will always have the latest 'calls waiting in the queue' * Clickup Task : https://app.clickup.com/t/21fekdx Description : Fixing build issues. * Clickup Task : https://app.clickup.com/t/21fekdx Description : Adding agentconnect event. Refactored some duplicated code. * QoL changes * Remove endpoints for call server management * remove import to old server mgmnt endpoints * Clickup Task : https://app.clickup.com/t/21fekdx Description : Handling review comments. 1. Added database object as compulsory field to Command's constructor. 2. Resetting handlers for new events. * https://app.clickup.com/t/21fekdx Description: 1. Added queue wait time to the agentconnect event. 2. Fixed the socket disconnection issue happening after 30 seconds. Asterisk closes the socket after 30 seconds if it does not receive any message. Added some code in client/lib/voip/VoIPUser.ts which will send SIP OPTIONS message. After sending this message, there is no disconnection. * Listen to asterisk events and store them on DB for validation * Fix type error on storepbxevent Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> * [IMPROVE] Add pagination and extra info to extensions endpoint (#24473) Co-authored-by:
amolghode <amol.ghode@gmail.com> * fix available extension fetching when user doesnt have extension associated * [NEW] Voip rooms endpoint (#24527) * Add OTR sysmessages to Imessage enum * Fix issue with date params affecting end results * [NEW] Detect the abrupt disconnection of agent's client while in call to close the room (#24563) * Clickup Task : https://app.clickup.com/t/22c968v Description : When the agent disconnects abruptly, the room should be closed. But because the agent is sitting on browser, agent will not be able to do these things gracefully. The reason is that the browser may just crash or the agent just forces the tab close or refresh (Even though we prevent it on client side) So the solution is to detect this scenario on server and close the associated room. When such forceful tab close happens, Asterisk sends AMI event 'ContactStatus' where the field contactstatus = 'Removed' We will handle the ContactStatus event and if the contactstatus is removed, we will gracefully close the room on server. Changes 1. Added new Event definition for ContactStatus event. 2. Added event handling function for this event in ContinuousMonitor.ts * Handle agent unexpected disconnection events Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> * Fix server crashing on sending events before room init * Listen and broadcast hangup event (#24571) * [NEW] Voip Wrap Up Modal (#24566) * [NEW] Connectivity check between RC and asterisk (#24408) Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> * [NEW] Voip settings (#24535) Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> Co-authored-by:
amolghode <amol.ghode@gmail.com> Co-authored-by:
amolghode1981 <86001342+amolghode1981@users.noreply.github.com> Co-authored-by:
Tiago Evangelista Pinto <tiago.evangelista@rocket.chat> * [NEW] voip contact center (#24561) * Prep work: Type files needed for the feature * Auto stash before merge of "new/livechat-voip-contact-center" and "origin/new/livechat-voip" * Wip * Wrapping up * No console logs * Fix ts * fix types * remove unnecessary commented code * Fix conflicts with v.phone prop * Fix ts signature * Update client/views/omnichannel/directory/calls/Call.tsx Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> * Fix issues with rooms endpoints * Fix reviews * Fix storing and calculation of some timers * Its late toniight Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> * [NEW] SidebarFooter Calls in Queue counter (#24543) * calls in queue * Fix lint && ts Co-authored-by:
Martin Schoeler <martin.schoeler@rocket.chat> * [NEW] Introduce CallInfo component in contextual-bar for VoIP (#24257) * wip * voip room * visitor logic * fix noo js * end * fix build errors * fix en * fix * wip * events * Update app/livechat/server/api/v1/visitor.ts Co-authored-by:
Martin Schoeler <martin.schoeler@rocket.chat> * fixes * add moment * fix duplicate type * almost there * fix * Fix events relation to call * Create VoipRoomType server file * Remove logs and stale code Co-authored-by:
Martin Schoeler <martin.schoeler@rocket.chat> Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> * [FIX] Conflicts between develop and new/livechat-voip (#24582) Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by:
dougfabris <devfabris@gmail.com> Co-authored-by:
Tasso Evangelista <tasso.evangelista@rocket.chat> Co-authored-by:
Robot LingoHub <robot@lingohub.com> Co-authored-by:
Diego Sampaio <chinello@gmail.com> Co-authored-by:
Júlia Jaeger Foresti <60678893+juliajforesti@users.noreply.github.com> Co-authored-by:
Douglas Gubert <douglas.gubert@gmail.com> Co-authored-by:
lingohub[bot] <69908207+lingohub[bot]@users.noreply.github.com> Co-authored-by:
Murtaza Patrawala <34130764+murtaza98@users.noreply.github.com> * well * Fix todos, create migration, remove stale code and comments Co-authored-by:
amolghode1981 <86001342+amolghode1981@users.noreply.github.com> Co-authored-by:
Renato Becker <renato.augusto.becker@gmail.com> Co-authored-by:
Tiago Evangelista Pinto <tiago.evangelista@rocket.chat> Co-authored-by:
Murtaza Patrawala <34130764+murtaza98@users.noreply.github.com> Co-authored-by:
Martin Schoeler <martin.schoeler@rocket.chat> Co-authored-by:
amolghode <amol.ghode@gmail.com> Co-authored-by:
Guilherme Gazzo <guilhermegazzo@gmail.com> Co-authored-by:
pierre-lehnen-rc <55164754+pierre-lehnen-rc@users.noreply.github.com> Co-authored-by:
Pierre Lehnen <pierre.lehnen@rocket.chat> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by:
dougfabris <devfabris@gmail.com> Co-authored-by:
Tasso Evangelista <tasso.evangelista@rocket.chat> Co-authored-by:
Robot LingoHub <robot@lingohub.com> Co-authored-by:
Diego Sampaio <chinello@gmail.com> Co-authored-by:
Júlia Jaeger Foresti <60678893+juliajforesti@users.noreply.github.com> Co-authored-by:
Douglas Gubert <douglas.gubert@gmail.com> Co-authored-by:
lingohub[bot] <69908207+lingohub[bot]@users.noreply.github.com>
-
- Nov 09, 2021
-
-
Renato Becker authored
* Fix Omnichannel job queue dispatcher. * Keep settings validation. * Remove console.log. * Review requests. * Fix default setting value.
-
- Nov 08, 2021
-
-
Renato Becker authored
* Fix Omnichannel job queue dispatcher. * Keep settings validation. * Remove console.log. * Review requests. * Fix default setting value.
-
- Sep 24, 2021
-
-
Douglas Gubert authored
* Add new fields to IOmnichannelRoom and adapt livechat bridge to them * Add source information to places that create livechat rooms * Add deprecation warning to unused livechat methods and remove source from native facebook integration * Remove unnecesary alias for widget * Update app/lib/server/lib/deprecationWarningLogger.ts * Update Apps-Engine version * frontend part * Change way of identifying when a chat is coming through widget * Update deprecationlogger to new logger interface * Fix usage of source.type as key * sms icon * [NEW] Add Channel Source details to room info panel (#23224) * Add Source icon/text to room info * Fix TS error and styling * Change order * Typing and style fix * Use source.id instead of email object * useEndpoint * Revert "Merge branch 'develop' into new/omnichannel-source-fields" This reverts commit 7fea2ad1, reversing changes made to dbbcaf46. * Removing unnecesary changes from branch * why github, why? * Bump icons & fuselage to latest versions Co-authored-by:
Kevin Aleman <kevin.aleman@rocket.chat> Co-authored-by:
Tiago Evangelista Pinto <tiago.evangelista@rocket.chat> Co-authored-by:
Martin Schoeler <martin.schoeler@rocket.chat>
-
- Sep 13, 2021
-
-
Diego Sampaio authored
-
- Jun 30, 2021
-
-
Guilherme Gazzo authored
Co-authored-by:
Diego Sampaio <chinello@gmail.com>
-
- May 31, 2021
-
-
Rafael Ferreira authored
* department not being showed at chat-info panel * prevent chat info break if the actual department of the chat is removed. * pt br translation typo Co-authored-by:
Rafael Ferreira <rafael.ferreira@rocket.chat> Co-authored-by:
Renato Becker <renato.augusto.becker@gmail.com>
-
- May 15, 2021
-
-
Guilherme Gazzo authored
* WIP * Bump * ContactContetualBar -> TS * Opss * méeeee * done * fix * ?? * TS fix * remove tabId from quickactions component * Fix onhold missing * prevent error with no contact * prepare directory chatinfo to use the the endpoint instead the hook useOmnichannelRoom * Canelada * fix identation * fix stream issues * fix resume chat onhold * remove unnecessary import * missed fields chat info panel * ChatsContextualBar reactive * Allow agents to edit rooms on contact center. Co-authored-by:
Tiago Evangelista Pinto <tiago.evangelista@rocket.chat> Co-authored-by:
Rafael <rafaelblink@gmail.com> Co-authored-by:
Renato Becker <renato.augusto.becker@gmail.com>
-
- Mar 24, 2021
-
-
gabriellsh authored
-
- Mar 22, 2021
-
-
Murtaza Patrawala authored
* Add settings for on-hold feature * Add On-Hold Section within Sidebar * On hold room UI * OnHold - Automatic * Add Manual on-hold button UI * OnHold - manual - Start manual On-Hold timer after agent reply - Stop manual On-Hold timer on visitor message - Show manual On-Hold Option when timer expires * Handle manual On-Hold event * Add permissions to manual on-hold feature * [New] Auto-Close On hold chats * Routing chat when an on-hold get is resumed * Apply suggestions from code review * Apply suggestions from code review * Add migration * Add new endpoint - livechat/placeChatOnHold * Move Resume Button login within livechatReadOnly file * Remove timeout on Manual On-Hold feature - From now on, the On-Hold option will appear within visitor Info panel, provided the agent has sent the last message * Apply suggestions from code review * Move resume On-Hold chat logic inside Queue Manager * Apply suggestions from code review Co-authored-by:
Renato Becker <renato.augusto.becker@gmail.com> * Apply suggestions from code review * Use takeInquiry() to resume On-Hold chats * Fix failing test case * Minor improvements. * [Regression] Omnichannel On Hold feature - handle following impacted events - Returning chat to the queue - Forwarding chats - Closing chats * Fix failing test cases * Revert "[Regression] Omnichannel On hold Queue" * Prevent on hold chat from being returned or forwarded (cherry picked from commit 2edcb8234224ebad2b479282da3f9be6a5626db6) * Move checks to Livechat methods * Add releaseOnHoldChat() method * Fix callback returning promise. Co-authored-by:
Renato Becker <renato.augusto.becker@gmail.com>
-
- Jan 29, 2021
-
-
Diego Sampaio authored
This reverts commit 97311da8.
-
- Jan 23, 2021
-
-
Diego Sampaio authored
Co-authored-by:
Gabriel Thomé <gabrielallan.thome@gmail.com> Co-authored-by:
Pierre Lehnen <pierre.lehnen@rocket.chat> Co-authored-by:
Rodrigo Nascimento <rodrigoknascimento@gmail.com>
-
- Oct 29, 2020
-
-
Renato Becker authored
-
- Oct 28, 2020
-
-
Diego Sampaio authored
Co-authored-by:
Rodrigo Nascimento <rodrigoknascimento@gmail.com> Co-authored-by:
Alan Sikora <alansikora@gmail.com>
-