-
Notifications
You must be signed in to change notification settings - Fork 10.9k
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
[FIX] Client disconnection on network loss #25170
Merged
Merged
Conversation
This file contains 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
Description: Agent gets disconnected (or Unregistered) from asterisk in multiple ways. The goal is that agent should remain online unless agent explicitly logs off. Agent can stop receiving calls in multiple ways due to network loss. Network loss can happen in following ways. 1. User tries to switch the network. User experiences a glitch of disconnectivity. This can be simulated by turning the network off in the network tab of chrome's dev tool. This can disconnect the UA if the disconnection happens just before the registration refresh. 2. Second reason is when computer goes in sleep mode. 3. Third reason is that when asterisk is crashed/in maintenance mode/explicitly stopped. Solution: The idea is to detect the network disconnection and start the start the attempts to reconnect. The detection of the disconnection does not happen in case#1. The SIPUA's UserAgent transport does not call onDisconnected when network loss of such kind happens. To tackle this problem, window's online and offline event handlers are used. The number of retries is configurable but ideally it is to be kept at -1. Whenever disconnection happens, it should keep on trying to reconnect with increasing backoff time. This behaviour is useful when the asterisk is stopped. When the server is disconnected, it should be indicated on the phone button.
Description: 1. Replaced complex state handling in OmnichannelCallToggleReady.tsx. This was creating lot of erros. Added simple network status check and the phone button displays the latest state of things. 2. Some files were overwriting the changes in develop branch. Replaced that with correct changes.
Description: Adding semi-colon to fix error.
KevLehman
requested changes
Apr 18, 2022
apps/meteor/client/sidebar/sections/components/OmnichannelCallToggleReady.tsx
Outdated
Show resolved
Hide resolved
And there's some conflicts :( |
Description : Fixing review commnts.
KevLehman
previously approved these changes
Apr 19, 2022
sampaiodiego
requested changes
Apr 19, 2022
Description: Renaming file to correct the spelling. Making necessary changes in index.ts
sampaiodiego
previously approved these changes
Apr 20, 2022
Description: Fixing incorrect spelling.
KevLehman
previously approved these changes
Apr 20, 2022
sampaiodiego
previously approved these changes
Apr 20, 2022
amolghode1981
dismissed stale reviews from sampaiodiego and KevLehman
via
April 20, 2022 17:56
f3b528c
KevLehman
approved these changes
Apr 20, 2022
gabriellsh
added a commit
that referenced
this pull request
Apr 20, 2022
…cting * 'develop' of github.com:RocketChat/Rocket.Chat: Regression: Show username and real name on the message system (#25254) [IMPROVE] Performance for some Omnichannel features (#25217) [FIX] room creation fails if app framework is disabled (#25200) [IMPROVE] Add OTR Room States (#24565) [FIX] Client disconnection on network loss (#25170) [FIX] Read receipts show with color gray when not read yet (#25244) [FIX] VoIP disabled/enabled sequence puts voip agent in error state (#25230) [NEW] Add expire index to integration history (#25087)
gabriellsh
added a commit
that referenced
this pull request
Apr 20, 2022
…essagePreference * 'develop' of github.com:RocketChat/Rocket.Chat: Regression: Show username and real name on the message system (#25254) [IMPROVE] Performance for some Omnichannel features (#25217) [FIX] room creation fails if app framework is disabled (#25200) [IMPROVE] Add OTR Room States (#24565) [FIX] Client disconnection on network loss (#25170) [FIX] Read receipts show with color gray when not read yet (#25244) [FIX] VoIP disabled/enabled sequence puts voip agent in error state (#25230) [NEW] Add expire index to integration history (#25087) Chore: update OTR icon (#24521) [IMPROVE] Add support for filters on omnichannel/extensions endpoint
gabriellsh
added a commit
that referenced
this pull request
Apr 20, 2022
…veNull * 'develop' of github.com:RocketChat/Rocket.Chat: Regression: Show username and real name on the message system (#25254) [IMPROVE] Performance for some Omnichannel features (#25217) [FIX] room creation fails if app framework is disabled (#25200) [IMPROVE] Add OTR Room States (#24565) [FIX] Client disconnection on network loss (#25170) [FIX] Read receipts show with color gray when not read yet (#25244) [FIX] VoIP disabled/enabled sequence puts voip agent in error state (#25230) [NEW] Add expire index to integration history (#25087) Chore: update OTR icon (#24521) [IMPROVE] Add support for filters on omnichannel/extensions endpoint
Merged
d-gubert
added a commit
that referenced
this pull request
May 4, 2022
* Bump version to 4.7.0-develop * Language update from LingoHub 🤖 (#25043) Project Name: Rocket.Chat Project Link: https://translate.lingohub.com/rocketchat/dashboard/rocket-dot-chat User: Robot LingoHub Easy language translations with LingoHub 🚀 Co-authored-by: Robot LingoHub <robot@lingohub.com> * Bump body-parser from 1.19.2 to 1.20.0 in /ee/server/services (#25042) Bumps [body-parser](https://github.com/expressjs/body-parser) from 1.19.2 to 1.20.0. - [Release notes](https://github.com/expressjs/body-parser/releases) - [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md) - [Commits](expressjs/body-parser@1.19.2...1.20.0) --- updated-dependencies: - dependency-name: body-parser dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump template-file from 6.0.0 to 6.0.1 (#25002) Bumps [template-file](https://github.com/gsandf/template-file) from 6.0.0 to 6.0.1. - [Release notes](https://github.com/gsandf/template-file/releases) - [Commits](https://github.com/gsandf/template-file/commits) --- updated-dependencies: - dependency-name: template-file dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump minimist from 1.2.5 to 1.2.6 in /ee/server/services (#24991) Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6. - [Release notes](https://github.com/substack/minimist/releases) - [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6) --- updated-dependencies: - dependency-name: minimist dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Chore: TS conversion folder client (#25031) * [FIX] UserAutoComplete not rendering UserAvatar correctly (#25055) * [FIX] Upgrade Tab showing for a split second (#25050) * Update pino and pino-pretty (#25052) * Chore: Remove Alpine image deps after using them (#25053) * Bump ejson from 2.2.1 to 2.2.2 (#25057) Bumps [ejson](https://github.com/primus/ejson) from 2.2.1 to 2.2.2. - [Release notes](https://github.com/primus/ejson/releases) - [Commits](primus/ejson@2.2.1...2.2.2) --- updated-dependencies: - dependency-name: ejson dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Chore: Missing keys in APIsDisplay (#24464) * Chore: organize test files and fix code coverage (#24900) Co-authored-by: montini.ext tiago <tiago.montini.ext@sodexo.com> Co-authored-by: Rodrigo Nascimento <rodrigoknascimento@gmail.com> Co-authored-by: Weslley de Campos <weslley.campos.ext@sodexo.com> Co-authored-by: Guilherme Gazzo <guilhermegazzo@gmail.com> * Chore: Cancel running jobs if PR is updated (#24708) Co-authored-by: Thassio Victor <tvmcarvalho@gmail.com> Signed-off-by: Debdut Chakraborty <debdut.chakraborty@rocket.chat> Co-authored-by: Diego Sampaio <chinello@gmail.com> * [FIX] Full error message is visible (#24856) * Full error message is visible * Remove `RawText` usage Co-authored-by: Tasso Evangelista <tasso.evangelista@rocket.chat> * [IMPROVE] Improve active/hover colors in account sidebar (#25024) * [FIX] Prevent sequential messages edited icon to hide on hover #24984 * [FIX] Replace encrypted text to Encrypted Message Placeholder (#24166) * show placeholder in place of cipher text * remove unnecessary line break Co-authored-by: Fábio Albuquerque <fabiosk881@gmail.com> * [IMPROVE] Added tooltip options for message menu (#24431) * Added toolTip Options for Message Menu * Added more options tool tip for menu * [IMPROVE] Add tooltip to sidebar room menu (#24405) Co-authored-by: dougfabris <devfabris@gmail.com> * First move to monorepo * CI using monorepo * Move eslint to meteor * Move husky to root * [FIX] NPS never finishing sending results (#25067) * [FIX] Video and Audio not skipping forward (#19866) * [FIX] Video and Audio not skipping forward * chore: add preload attr to video attachement Co-authored-by: Tasso Evangelista <tasso.evangelista@rocket.chat> Co-authored-by: dougfabris <devfabris@gmail.com> * [FIX] FormData uploads not working (#25069) * fix useEndpointUpload hook * chore: remove log Co-authored-by: dougfabris <devfabris@gmail.com> * change react-i18n deps * Update deps * [NEW] Message Template React Component (#23971) Co-authored-by: Filipe Marins <filipe.marins@rocket.chat> Co-authored-by: gabriellsh <gabriel.henriques@rocket.chat> Co-authored-by: Tasso Evangelista <tasso.evangelista@rocket.chat> Co-authored-by: juliajforesti <juliajforesti@gmail.com> * [FIX] Invitation links don't redirect to the registration form (#25082) * [FIX] Proxy settings being ignored (#25022) Co-authored-by: Diego Sampaio <chinello@gmail.com> * [FIX] Use correct room property for call ended at (#24932) * [FIX] End call button disappearing when on-hold (#24936) * Bump eslint-plugin-anti-trojan-source from 1.0.6 to 1.1.0 (#25076) Bumps [eslint-plugin-anti-trojan-source](https://github.com/lirantal/eslint-plugin-anti-trojan-source) from 1.0.6 to 1.1.0. - [Release notes](https://github.com/lirantal/eslint-plugin-anti-trojan-source/releases) - [Commits](lirantal/eslint-plugin-anti-trojan-source@v1.0.6...v1.1.0) --- updated-dependencies: - dependency-name: eslint-plugin-anti-trojan-source dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * [IMPROVE] Rename upgrade tab routes (#25097) * feat: rename upgrade tab url routes * feat: change getUpgradeTabType test url names * Move files to root * Regression: Fix CI monorepo build (#25107) * Regression: CI build fix * Chore: Convert Mailer to TS (#25121) Co-authored-by: Diego Sampaio <chinello@gmail.com> * Chore: Remove unused files (#25124) * Chore: Convert LivechatAgentActivity to raw model and TS (#25123) * Chore: Migrate oauth2server to typescript (#25126) * Chore: Convert admin custom sound to tsx (#25128) * Chore: Remove old files from removed Omnichannel feature (#25129) * Chore: Tests with Playwright (task: All works) (#25122) * [FIX] Message menu action not working on legacy messages. (#25148) * fix action call * Fix lint * Chore: Convert NotificationStatus to TS (#25125) Co-authored-by: Guilherme Gazzo <guilhermegazzo@gmail.com> * Fix CI (#25168) * Chore: move definitions to packages (#25085) * [FIX] UserCard sanitization (#25089) * fix: UserCard sanitization * chore: fix customStatus margin * Regression: Fix services Docker build on CI (#25181) * [FIX] Deactivating user not working if user is the only room owner (#24933) * Chore: TS migration SortList (#25167) * Chore: Remove duplicated useUserRoom (#25180) * [IMPROVE] Rewrite Admin Permissions to Typescript Co-authored-by: gabriellsh <gabriel.henriques@rocket.chat> * Regression: Fix micro services Docker build (#25193) Co-authored-by: Guilherme Gazzo <guilhermegazzo@gmail.com> * Chore: Template to generate packages (#25174) Co-authored-by: Diego Sampaio <chinello@gmail.com> * Chore: Tests with Playwright (task: ROC-28, 09-channels) (#25196) * [FIX] Added invalid password error message (#24714) * Added invalid password error message * Added new password error message Co-authored-by: dougfabris <devfabris@gmail.com> * Regression: yarn dev triggers build dependencies (#25208) Co-authored-by: Diego Sampaio <chinello@gmail.com> * [FIX] Close room when dismiss wrap up call modal (#25056) * [FIX] AgentOverview analytics wrong departmentId parameter (#25073) * Chore: Update Livechat version (#25130) * Chore: Add error boundary to message component (#25223) * Fix add reaction (#25222) * fix: check if message unread to show read receipts (#25216) * fix: is own message on broadcast receipts (#25175) * [FIX] Desktop notification on multi-instance environments (#25220) * [IMPROVE] Added MaxNickNameLength and MaxBioLength constants (#25231) * Added MaxNickNameLength and MaxBioLength constants added above mentioned constants to remove magic numbers in a simple manner * code style fixes Co-authored-by: gabriellsh <40830821+gabriellsh@users.noreply.github.com> * Change alignment (#25237) * [IMPROVE] Add support for filters on omnichannel/extensions endpoint * Chore: update OTR icon (#24521) * Replace shredder icon by stopwatch icon * stopwatch icon for otr msg * remove old otr css * remove some unnecessary files Co-authored-by: yash-rajpal <rajpal.yash03@gmail.com> Co-authored-by: Yash Rajpal <58601732+yash-rajpal@users.noreply.github.com> Co-authored-by: Tasso Evangelista <tasso.evangelista@rocket.chat> * [NEW] Add expire index to integration history (#25087) * [FIX] VoIP disabled/enabled sequence puts voip agent in error state (#25230) * Clickup Task: https://app.clickup.com/t/22rjza5 Description: The issue occurs because when client turns on VoIP, server starts the connector in apps/meteor/app/voip/server/startup.ts. While the AMI connection is not established, client makes a call to API api/v1/connector.extension.getRegistrationInfoByUserId?id=<userId>. This requires the connection to be up. But because the connection establishment is not yet complete, apps/meteor/server/services/voip/connector/asterisk/CommandHandler.ts thrown an error. Solution : In apps/meteor/app/voip/server/startup.ts add await for Voip.init(). Once the init is done (Which internally waits for socket establishment), broadcast connector.statuschanged with the setting value (Enabled = true/false) In apps/meteor/client/providers/CallProvider/hooks/useVoipClient.ts make voipEnabled as a setting. And change it in the event listener for voip.statuschanged * change place where event was fired Co-authored-by: Kevin Aleman <kaleman960@gmail.com> * [FIX] Read receipts show with color gray when not read yet (#25244) * fix: show read receipts with color gray instead of hidden * fix: rename function * review Co-authored-by: gabriellsh <gabriel.henriques@rocket.chat> * [FIX] Client disconnection on network loss (#25170) * Clickup Task: https://app.clickup.com/t/245c0d8 Description: Agent gets disconnected (or Unregistered) from asterisk in multiple ways. The goal is that agent should remain online unless agent explicitly logs off. Agent can stop receiving calls in multiple ways due to network loss. Network loss can happen in following ways. 1. User tries to switch the network. User experiences a glitch of disconnectivity. This can be simulated by turning the network off in the network tab of chrome's dev tool. This can disconnect the UA if the disconnection happens just before the registration refresh. 2. Second reason is when computer goes in sleep mode. 3. Third reason is that when asterisk is crashed/in maintenance mode/explicitly stopped. Solution: The idea is to detect the network disconnection and start the start the attempts to reconnect. The detection of the disconnection does not happen in case#1. The SIPUA's UserAgent transport does not call onDisconnected when network loss of such kind happens. To tackle this problem, window's online and offline event handlers are used. The number of retries is configurable but ideally it is to be kept at -1. Whenever disconnection happens, it should keep on trying to reconnect with increasing backoff time. This behaviour is useful when the asterisk is stopped. When the server is disconnected, it should be indicated on the phone button. * Clickup Task: https://app.clickup.com/t/245c0d8 Description: 1. Replaced complex state handling in OmnichannelCallToggleReady.tsx. This was creating lot of erros. Added simple network status check and the phone button displays the latest state of things. 2. Some files were overwriting the changes in develop branch. Replaced that with correct changes. * Clickup Task: https://app.clickup.com/t/245c0d8 Description: Adding semi-colon to fix error. * Clickup Task : https://app.clickup.com/t/245c0d8 Description : Fixing review commnts. * removing unused files * Clickup Task: https://app.clickup.com/t/245c0d8 Description: Renaming file to correct the spelling. Making necessary changes in index.ts * Clickup Task: https://app.clickup.com/t/245c0d8 Description: Fixing incorrect spelling. * Add description to setting Co-authored-by: Kevin Aleman <kaleman960@gmail.com> * [IMPROVE] Add OTR Room States (#24565) * WIP: OTR Room States * lint * remove logs * new OTR components, remove modals * updating stories * convert js files to ts * correct a type * add missing translation * fix review * chore: remove OTRModal * fix: review Co-authored-by: dougfabris <devfabris@gmail.com> * [FIX] room creation fails if app framework is disabled (#25200) * [IMPROVE] Performance for some Omnichannel features (#25217) * Regression: Show username and real name on the message system (#25254) * Regression: Avatar not loading on first direct message (#25211) * refactor: load from server all chatsubscription before open room * Fix review Co-authored-by: Guilherme Gazzo <guilhermegazzo@gmail.com> * [FIX] Custom sound error toast messages (#24515) Co-authored-by: dougfabris <devfabris@gmail.com> * Chore: Update Livechat to the last version (#25257) * [FIX] Add katex render to new message react template (#25239) * feat: add katex render to message react * fix: add boolean to type * fix Review * fix: review Co-authored-by: Guilherme Gazzo <guilhermegazzo@gmail.com> Co-authored-by: dougfabris <devfabris@gmail.com> * [FIX] Add select message to system message, thread preview and allow select on legacy template (#25251) * feat: add export message to system message and thread preview * fix: enable select on export message at legacy message template * Update apps/meteor/client/views/room/contextualBar/ExportMessages/MailExportForm.tsx * chore: update fuselage Co-authored-by: Guilherme Gazzo <guilhermegazzo@gmail.com> Co-authored-by: gabriellsh <gabriel.henriques@rocket.chat> Co-authored-by: dougfabris <devfabris@gmail.com> * [FIX] Showing Blank Message Inside Report (#25007) * [FIX] Incorrect websocket url in livechat widget (#25261) * Chore: Bump Fuselage packages (#25259) * [NEW] Alpha Matrix Federation (#23688) 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> * [FIX] Message preview not available for queued chats (#25092) Co-authored-by: Kevin Aleman <kaleman960@gmail.com> * Regression: Fix federation Matrix bridge startup (#25273) * [NEW] Expand Apps Engine's environment variable allowed list (#23870) * Swap installed app page with marketplace apps page * Update app/apps/server/bridges/environmental.ts Co-authored-by: Debdut Chakraborty <debdut.chakraborty@rocket.chat> * Fix cannot use dash in environment variable name Co-authored-by: Debdut Chakraborty <debdut.chakraborty@rocket.chat> Co-authored-by: dougfabris <devfabris@gmail.com> * Chore: Fix return type warnings (#25275) * feat: remove 'Company' email label on setup wiz (#25260) * Chore: Remove package-lock.json from houston files (#25280) * Chore: Add yarn plugin to check node and yarn version (#25224) * Chore: Minor dependency updates (#25269) * Chore: Add root package.json to houston files (#25286) * Bump version to 4.7.0-rc.0 * Regression: Use exact Node version on micro services Docker images (#25287) * Regression: Shows error if micro service cannot connect to Mongo (#25301) * Regression: Add isPending status to message (#25299) * Update CODEOWNERS * Regression: eslint not running on packages (#25305) * Regression: eslint not running on packages Co-authored-by: Guilherme Gazzo <guilhermegazzo@gmail.com> * Bump version to 4.7.0-rc.1 * Regression: Revert Bugsnag version (#25313) * Chore: ensure scripts use cross-env and ignore some dirs (ROC-54) (#25218) * Regression: Add eslint package to micro services Dockerfile (#25311) * Regression: Fix reply button not working when hideFlexTab is enabled (#25306) * fix: add stop propagation on open thread * Fix type Co-authored-by: gabriellsh <gabriel.henriques@rocket.chat> * Regression: Change preference to be default legacy messages (#25255) * Regression: Fix the alpine image and dev UX installing matrix-rust-sdk-bindings (#25319) * Switch to forked version of matrix-appservice-bridge package * change yarn lock * add dependency that is installed indirectly but depended on directly * fix missing reference * fix lockfile Co-authored-by: Douglas Gubert <douglas.gubert@gmail.com> * Bump version to 4.7.0-rc.2 * Regression: Validate empty fields for Message template (#25250) * Remove null values from messa list * fix order * Fix * Fix type * review * Regression: Better MongoDB connection management for micro services (#25323) * Regression: Messages in new message template Crashing. (#25327) * Bump version to 4.7.0-rc.3 * Regression: Parser message when notify ephemeral message * Chore: Create README.md for Rest Typings (#25335) * Regression: bump onboarding-ui version (#25320) * fix: bump onboarding-ui version * fix: update adminData types * Regression: Fix multi line is not showing an empty line between lines (#25317) * fix: render empty line * remove style * add small comment Co-authored-by: gabriellsh <gabriel.henriques@rocket.chat> * Regression: Rocket.Chat Webapp not loading. (#25349) Co-authored-by: gabriellsh <gabriel.henriques@rocket.chat> * Regression: Fix English i18n react text (#25368) * Chore: Add options to debug stdout and rate limiter (#25336) * Bump version to 4.7.0-rc.4 * Chore: Bump fuselage (#25371) * Regression: Fix size of custom emoji and render emoji on thread message preview (#25314) * fix: custom emoji size * fix: emoji rendering undefined * fix: add parser to message thread preview * refactor: replace css property to css in js * fix: lint * refactor: change to is span * refactor: add message render component * update emoji component * fix: remove duplicate css import * fix: remove disable emoji props and add custom style * fix: remove unsued props * fix: render emoji render if not find emoji * fix: replace conditional * fix: remove conditional * fix: undo changes on big * Use fuselage * Add missing changes Co-authored-by: gabriellsh <gabriel.henriques@rocket.chat> * Regression: Fix clicking on visitor's chat in the sidebar does not display the chat window (#25380) * Bump version to 4.7.0-rc.5 * Bump version to 4.7.0 Co-authored-by: Diego Sampaio <chinello@gmail.com> Co-authored-by: lingohub[bot] <69908207+lingohub[bot]@users.noreply.github.com> Co-authored-by: Robot LingoHub <robot@lingohub.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Guilherme Gazzo <guilhermegazzo@gmail.com> Co-authored-by: Douglas Fabris <devfabris@gmail.com> Co-authored-by: gabriellsh <40830821+gabriellsh@users.noreply.github.com> Co-authored-by: Tiago Ulisses Montini <tmontini@gmail.com> Co-authored-by: montini.ext tiago <tiago.montini.ext@sodexo.com> Co-authored-by: Rodrigo Nascimento <rodrigoknascimento@gmail.com> Co-authored-by: Weslley de Campos <weslley.campos.ext@sodexo.com> Co-authored-by: Debdut Chakraborty <debdut.chakraborty@rocket.chat> Co-authored-by: Thassio Victor <tvmcarvalho@gmail.com> Co-authored-by: Himanshu Malviya <76220055+Himanshu664@users.noreply.github.com> Co-authored-by: Tasso Evangelista <tasso.evangelista@rocket.chat> Co-authored-by: Yash Rajpal <58601732+yash-rajpal@users.noreply.github.com> Co-authored-by: Fábio Albuquerque <fabiosk881@gmail.com> Co-authored-by: Martin Schoeler <martin.schoeler@rocket.chat> Co-authored-by: Filipe Marins <filipe.marins@rocket.chat> Co-authored-by: gabriellsh <gabriel.henriques@rocket.chat> Co-authored-by: juliajforesti <juliajforesti@gmail.com> Co-authored-by: Pierre Lehnen <55164754+pierre-lehnen-rc@users.noreply.github.com> Co-authored-by: Tiago Evangelista Pinto <tiago.evangelista@rocket.chat> Co-authored-by: Guilherme Jun Grillo <48109548+guijun13@users.noreply.github.com> Co-authored-by: Júlia Jaeger Foresti <60678893+juliajforesti@users.noreply.github.com> Co-authored-by: Aaron Ogle <geekgonecrazy@users.noreply.github.com> Co-authored-by: Kevin Aleman <kaleman960@gmail.com> Co-authored-by: Weslley Campos <30299972+weslley543@users.noreply.github.com> Co-authored-by: Jean Brito <jeanfbrito@gmail.com> Co-authored-by: Sidharth Mohanty <sidmohanty11@gmail.com> Co-authored-by: Paulo Bernardo <paulo.bernardo@weni.ai> Co-authored-by: aakash-gitdev <f20200981@goa.bits-pilani.ac.in> Co-authored-by: Gabriel Freitas <gabriel120026@hotmail.com> Co-authored-by: yash-rajpal <rajpal.yash03@gmail.com> Co-authored-by: amolghode1981 <86001342+amolghode1981@users.noreply.github.com> Co-authored-by: Nishant Patel <53515714+nishant23122000@users.noreply.github.com> Co-authored-by: Alan Sikora <alansikora@gmail.com> Co-authored-by: Aaron Ogle <aaron@geekgonecrazy.com> Co-authored-by: Marcos Defendi <marcos.defendi@ulbra.inf.br> Co-authored-by: Murtaza Patrawala <34130764+murtaza98@users.noreply.github.com> Co-authored-by: Cuong Huu Nguyen <cuonghuunguyen98@gmail.com> Co-authored-by: souzaramon <souzaramon.dev@gmail.com>
Merged
Merged
Merged
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.
Proposed changes (including videos or screenshots)
Agent gets disconnected (or Unregistered) from asterisk in multiple ways. The goal is that agent should remain online
unless agent explicitly logs off.
Agent can stop receiving calls in multiple ways due to network loss. Network loss can happen in following ways.
in the network tab of chrome's dev tool. This can disconnect the UA if the disconnection happens just before the registration refresh.
Solution:
The idea is to detect the network disconnection and start the start the attempts to reconnect.
The detection of the disconnection does not happen in case#1. The SIPUA's UserAgent transport does not
call onDisconnected when network loss of such kind happens. To tackle this problem, window's online and offline event handlers are
used.
The number of retries is configurable but ideally it is to be kept at -1. Whenever disconnection happens, it should keep on trying to
reconnect with increasing backoff time. This behaviour is useful when the asterisk is stopped.
When the server is disconnected, it should be indicated on the phone button.
Issue(s)
https://app.clickup.com/t/245c0d8
It is ambiguous on what should happen when the disconnection happens while the agent is on call.
Steps to test or reproduce
There are atleast 4 known ways to reproduce the problem
Further comments
Default expiration time of Asterisk is 600 seconds. So unregistration/re-registration will happen only after 10 minutes.
There are several test-cases. This feature should be tested in following scenarios.
Testcase#1
Testcase#2.
Testcase#3
Tasecase#4.
Testcase#5