Coder Social home page Coder Social logo

amitiyer / fusionpbx-webrtc Goto Github PK

View Code? Open in Web Editor NEW
6.0 2.0 4.0 3.02 MB

WebRTC Dialer for FusionPBX

License: GNU General Public License v3.0

HTML 0.71% PHP 4.74% CSS 4.87% JavaScript 78.79% Less 5.41% SCSS 5.48%
asterisk browser-phone communication dialer freeswitch fusionpbx telephony voip webrtc web-sockets

fusionpbx-webrtc's Introduction

Fusionpbx-WEBRTC

WebRTC Dialer for FusionPBX. A fully featured browser based WebRTC SIP phone for FusionPBX.

*NOTE this is a custom made WebRTC client for Fusionpbx and i have used Browser-Phone which is a repo of Mr. Conrad de Wet. I have just made changes on the Browser-Phone code and created few php files to make it work with FusionPBX.

Description

This web application for FusionPBX. When installed you won't have to enter the extension username / password or do any other configuration on FusionPBX for this to work. You just have to assign a user to the extension and then open the webphone. The application will automatically fetch your domain / username / password and callerID and it will register automatically.

Features

  • SIP Audio Calling
  • SIP Video Calling
  • XMPP Messaging
  • Call Transfer (Both Blind & Attended)
  • 3rd Party Conference Call
  • Call Detail Records
  • Call Recording (Audio & Video)
  • Screen Share during Video Call
  • Scratchpad Share during Video Call
  • Video/Audio File Share during Video Call
  • SIP (text/plain) Messaging
  • SIP Message Accept Notification (not delivery)
  • Buddy (Contact) Management
  • Useful debug messages sent to console.
  • Works on: Chrome (all features work), Edge (same as Chrome), Opera (same as Chrome), Firefox (Most features work), Safari (Most feature work)
  • Asterisk SFU - Including talker notification and Caller ID
  • Dark Mode & Light Mode - System Setting Detects

XMPP Features v0.2.x

  • User Login & Auth (Use SIP credentials)
  • Buddy List (Roster) Saved on Server
  • Buddy vCard
  • Buddy Picture Upload
  • Message Typing Indication
  • Message Delivery & Read Notification
  • Offline Message History (If supported by server)
  • Tested to work with Openfire

WebRTC

Requirements.

  1. You need to have a Valid SSL Certificate. You can get one from Certbot which will be free for 3 months, or you can get your own SSL certificate and install it on the FusionPBX server.

  2. You need to have a valid Domain and you need to make sure the Domain's DNS A record points to the FusionPBX server.

  3. Required Freeswitch Version 1.8+

  4. Optional : Openfire XMPP Server.

Installation Guide.

cd /usr/src/
git clone https://github.com/amitiyer/Fusionpbx-WEBRTC.git
cd Fusionpbx-WEBRTC
cp -R Browser-Phone /var/www/fusionpbx/
cp -R core/phone  /var/www/fusionpbx/core/

Certificates.

As mentioned above, you can get a certbot certificate or have your own. Now you need to copy the certificates to freeswitch directory.

Copy your certificates like below.

cat fullchain.pem > /etc/freeswitch/tls/all.pem
cat privkey.pem >> /etc/freeswitch/tls/all.pem

Then restart Freeswitch.

service freeswitch restart

Configuring FusionPBX.

Login to your FusionPBX Admin go to Advance -> SIP Profiles and edit Internal, Make sure the value for ws-binding is :5066 and wss-binding is :7443 and both are Enabled.

Internal-Profile

Confirm if your freeswitch has =ws and =wss on your internal profile. Profile-Status

Restart freeswitch if necessary.

Create a user from Accounts -> Users. Create or edit the extension on which you want to enable WebRTC and assign the user on the extension. User-Assign

Adding Phone on the Menu

Edit the default menu from Advance -> Menu Manager. Add a new menu. You can keep the title whatever you want. Link : /core/phone/index.php Target : Internal Icon : anything you want. Parent Menu Blank Groups : superadmin,admin,users,agents Protected : True Order : 101

Menu-Item

Once done. log out and login with the user on which you have enabled the WebRTC and you will get a phone option on FusionPBX menu. Click on it and you will be able to make calls.

fusionpbx-webrtc's People

Contributors

amitiyer avatar wouam31200 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

fusionpbx-webrtc's Issues

Clear Browser LocalStorage Info upon logout

Dear,

Think there might be a small issue. I noticed the LocalStorage of the browser still holds the information of the last login extension.

Might need to adjust the script to clear the storages in the use case where a PC is shared and another agents needs to login.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.