Git Product home page Git Product logo

lhama-phone's Introduction

Lhama Phone

Softphone for llamas.

Deployed demo: https://lhama-phone.herokuapp.com/

Setting up for development mode

This project was bootstrapped with Create React App. You'll need Node +10 (hint: use nvm) and had used npm install in this project directory once. A few scripts will be available.

Using on browser

Runs the app in the development mode and opens http://localhost:3000 on Chrome:

npm run start:web

Note that only Chrome is really supported, because the app main goal is to run as an Electron desktop app. But you probably won't face much issues on Firefox or other browser that decently implemented WebRTC API.

And as a desktop app

Instead of doing the above, just start the web server using this terminal command:

npm run start:no-browser

Once the output says that you can view the page, go to another terminal tab/window/pane and run:

npm run electron

You can still also open http://localhost:3000 to view it in the browser.

Setting up a local hosted telephony platform

When you first open the app, there'll be a Default profile with some telephony settings and an existing contact for Flowroute demo number.

But... if you know what you're doing (or it's curious enough to try anything) (and it's not using a MacOS), you can have yourself a dockerized FreeSWITCH:

docker-compose up -d freeswitch

And just use the container's running FS to discover your settings data:

docker-compose exec freeswitch sh
fs_cli
sofia status profile internal

Considering that the app is served by npm run start:web or start:no-browser (which is using http and not https), the important data here is the IP and port found in WS-BIND-URL data (and do not mistake with WSS-BIND-URL which is for access with SSL). For example, mine is currently 192.168.0.103:5066 (yours will be similar, likely with the same port but with different IP), so my server is ws://192.168.0.103:5066 and I can put it in Lhama Phone's Custom settings mode. By default, user can be anything from 1000 to 1019, the host is not important here and the password is 1234. Pick two different users with these settings (if you're running in the browser, the second one should be in a Incognito window), then both Lhama Phones can call each other.

While making calls with yourself, take care with a possible whistling deafening sound!

local settings example

Running tests

There's a npm test tbat launches the test runner in the interactive watch mode, but they aren't implemented yet.

See the CRA's section about running tests for more information and open an issue if you'd like to implement them.

lhama-phone's People

Contributors

mazuh avatar wasnio avatar

Watchers

 avatar

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.