SkillAgentSearch skills...

Webphone

Lightweight SIP based webphone over WebSocket, & essential call features (4-Lines, Mute, Hold, DND).

Install / Use

/learn @soh-kaz/Webphone
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Overview

A full featured Webphone using JsSIP.

  • 4 Lines for Call
  • Easy to use and powerful API of JsSIP library
  • SIP over WebSocket
  • Lightweight!
  • Feature like Mute, Hold, Transfer and DND (Do not Call)
  • Attractive UI

Technology Used

Docker Support

This project comes with Docker support, making it easy to deploy the Webphone in a containerized environment.

Prerequisites

  • Docker installed on your machine

Setup and Running with Docker

  1. Pull the Docker image from Docker Hub:
docker pull aghasuhail96/webphone
  1. Run the container:
docker run -p 80:80 aghasuhail96/webphone
  1. Access the Webphone app at http://localhost:80.

Usage


const phone = new PhoneLib(SIP_USER, SIP_PASS, URL_WEBRTC, PORT_NO_WEBRTC)

//Connect to the SIP Server
phone.connect()


Events


//On Incoming Call
phone.on('incoming', (data)=>{
  console.log(data)
})

//On Outgoing Call
phone.on('outgoing', (data)=>{
  console.log(data)
})

//On Line Change
phone.on('changeLine', (data)=>{
  console.log(data)
})

//On Call Transfered
phone.on('transfer', (data)=>{
  console.log(data)
})

//On Calls Rejected while DND is enable
phone.on('dndRejected', (data)=>{
  console.log(data)
})

//On Line Hold
phone.on('hold', (data)=>{
  console.log(data)
})

//On Line UnHold
phone.on('unhold', (data)=>{
  console.log(data)
})

//On Line Muted
phone.on('mute', (data)=>{
  console.log(data)
})

//On Line UnMuted
phone.on('unmute', (data)=>{
  console.log(data)
})

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Please make sure to update tests as appropriate.

Screenshot

Webphone Image

View on GitHub
GitHub Stars4
CategoryDevelopment
Updated1mo ago
Forks2

Languages

JavaScript

Security Score

75/100

Audited on Mar 3, 2026

No findings