{"id":13403445,"url":"https://github.com/vialer/vialer-js","last_synced_at":"2025-04-13T04:59:02.786Z","repository":{"id":143826780,"uuid":"87069784","full_name":"vialer/vialer-js","owner":"vialer","description":"Pluggable WebRTC softphone and communication platform.","archived":false,"fork":false,"pushed_at":"2019-03-13T13:32:10.000Z","size":7822,"stargazers_count":1004,"open_issues_count":21,"forks_count":60,"subscribers_count":34,"default_branch":"develop","last_synced_at":"2025-04-13T04:58:53.823Z","etag":null,"topics":["chrome","electron","sip","softphone","vue","webextension","webrtc"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vialer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-04-03T12:08:42.000Z","updated_at":"2025-04-12T06:16:50.000Z","dependencies_parsed_at":"2023-04-05T19:17:09.543Z","dependency_job_id":null,"html_url":"https://github.com/vialer/vialer-js","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vialer%2Fvialer-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vialer%2Fvialer-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vialer%2Fvialer-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vialer%2Fvialer-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vialer","download_url":"https://codeload.github.com/vialer/vialer-js/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248665759,"owners_count":21142123,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chrome","electron","sip","softphone","vue","webextension","webrtc"],"created_at":"2024-07-30T19:01:30.068Z","updated_at":"2025-04-13T04:59:02.767Z","avatar_url":"https://github.com/vialer.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","其它 \u003ca name=\"other\"\u003e\u003c/a\u003e","Support"],"sub_categories":["Video Conference"],"readme":"**NOTE: THIS PRODUCT IS NO LONGER MAINTAINED. UPDATES ABOUT THE FUTURE OF THIS REPO WILL FOLLOW**\n\nTake me to the [quickstart guide](https://vialer-js.io/developer/introduction)\n\n\n# The Vialer-js project\nVialer-js is a free, pluggable, open-source communication platform that\nfocusses on **customization**, **development pace** and **platform reach**.\nIts philosophy is to empower developers and vendors to build their own\ncommunication tools at a fast pace, while maintaining flexibility of\nthe most opinionated implementation details.\n\n\n## Customization\nFrom application functionality to the documentation look-and-feel; all parts\nabout Vialer-js can be styled, branded to fit a corporate identity or customized\nthrough the use of plugins that hook into the core functionality. The build system\naccomodates this branding flexibility and offers an easy way to customize\nnaming, testing, default configurations and more.\n\n\u003cimg align=\"left\" src=\"https://vialer-js.io/screens/alice-1-login.png\" height=\"200\"\u003e\n\u003cimg align=\"left\" src=\"https://vialer-js.io/screens/alice-6-wizard-devices.png\" height=\"200\"\u003e\n\u003cimg align=\"left\" src=\"https://vialer-js.io/screens/alice-8-dialpad-call.png\" height=\"200\"\u003e\n\u003cimg src=\"https://vialer-js.io/screens/bob-2-calldialog-incoming-accepted.png\" height=\"200\"\u003e\n\n\n## Development pace\nThe *Bologna* Vialer-js brand uses [SIP-over-websockets](https://sipjs.com/)\nand relies on a suitable [SRTP backend](https://github.com/sipwise/rtpengine)\nto tap in to all of the call features a PBX like [Asterisk](https://www.asterisk.org/)\nor [Freeswitch](https://freeswitch.com/oss/) has to offer: PSTN connectivity,\non-hold, waiting music, transfers, queues, IVR and callgroups. Besides dealing\nwith audio calls, video [through a PBX](https://blogs.asterisk.org/2017/09/20/asterisk-15-multi-stream-media-sfu/)\nmay be another interesting application to your end-users. However, having a\nPBX in-between a call may not always be the desired situation.\n\nA decentralized approach with a custom WebRTC signalling protocol and p2p\nconnections between call participants may be more appropriate in situations\nwhere scalability and/or privacy concerns dictate that (video) data needs to\nflow between peers instead of through a centralized service. Another reason to\nuse a custom signalling protocol, would be that features like\n[chat and file transfers](https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel)\nare much easier to implement without having to deal with the complexity of\nthe SIP protocol.\n\nThe purpose of Vialer-js is not only to facilitate different use-cases,\nbut also to be able to integrate them in one unified communication experience\nfor your end-users. In our view, a user will be entirely free to use a\nVoIP-service provider with Vialer-js, while at the same time being able to\ncommunicate p2p with their friends over a decentralized signalling network.\n\n\n## Platform reach\nVialer-js is a readable environment-agnostic ES2017 codebase that uses a simple\nbut powerful reactive data-oriented design. This allows it to run on several\nsuitable JavaScript runtimes. At the moment, this includes:\n* Blink-compatible WebExtension browsers (Opera, Chrome, Chromium)\n* Electron desktop app\n\nHeadless Node.js support is implemented partially, to be able to run\nunit tests without having to mock data. Calling from Node.js is not supported\nyet though.\n\n\n## Want to learn more?\nGreat! Nice to have you interested in this project. Head over to the [quickstart guide](https://vialer-js.io/developer/introduction)\nto learn more about how to work with Vialer-js. Are you interested in contributing or\nwould you like to see some feature implemented? Please read our [code of conduct](https://github.com/vialer/vialer-js/blob/develop/.github/CODE_OF_CONDUCT.md)\nand [contributing guide](https://github.com/vialer/vialer-js/blob/develop/.github/CONTRIBUTING.md) first.\nHave any non-technical questions? Feel free to [contact us](mailto:vialer@wearespindle.com).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvialer%2Fvialer-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvialer%2Fvialer-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvialer%2Fvialer-js/lists"}