New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

ringcentral-softphone

Package Overview
Dependencies
Maintainers
1
Versions
64
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ringcentral-softphone - npm Package Compare versions

Comparing version 0.1.7 to 0.1.8

6

demos/browser.js

@@ -20,6 +20,5 @@ import RingCentral from '@ringcentral/sdk'

await rc.logout() // rc is no longer needed
const inputAudioStream = await navigator.mediaDevices.getUserMedia({ audio: true, video: false })
const audioElement = document.getElementById('audio')
softphone.on('INVITE', sipMessage => {
softphone.answer()
softphone.on('INVITE', async sipMessage => {
softphone.on('track', e => {

@@ -29,2 +28,3 @@ audioElement.srcObject = e.streams[0]

})
await softphone.answer(inputAudioStream)
})

@@ -31,0 +31,0 @@ softphone.on('BYE', () => {

import RingCentral from '@ringcentral/sdk'
import fs from 'fs'
import { nonstandard } from 'wrtc'
import { nonstandard, MediaStream } from 'wrtc'
import RTCAudioSource from 'node-webrtc-audio-source'

@@ -9,2 +10,4 @@ import Softphone from '../src/index'

const rtcAudioSource = new RTCAudioSource()
const rc = new RingCentral({

@@ -32,4 +35,3 @@ server: process.env.RINGCENTRAL_SERVER_URL,

}
softphone.on('INVITE', sipMessage => {
softphone.answer()
softphone.on('INVITE', async sipMessage => {
softphone.on('track', e => {

@@ -42,4 +44,10 @@ audioSink = new RTCAudioSink(e.track)

})
const stream = new MediaStream()
const track = rtcAudioSource.createTrack()
stream.addTrack(track)
await softphone.answer(stream)
rtcAudioSource.start()
})
softphone.on('BYE', () => {
rtcAudioSource.stop()
audioSink.stop()

@@ -46,0 +54,0 @@ audioStream.end()

@@ -152,3 +152,3 @@ "use strict";

async answer() {
async answer(inputAudioStream = undefined) {
const sdp = this.inviteSipMessage.body;

@@ -159,3 +159,3 @@ const remoteRtcSd = new _isomorphicWebrtc.RTCSessionDescription({

});
const rtcpc = new _isomorphicWebrtc.RTCPeerConnection({
const pc1 = new _isomorphicWebrtc.RTCPeerConnection({
iceServers: [{

@@ -165,8 +165,14 @@ urls: 'stun:74.125.194.127:19302'

});
rtcpc.addEventListener('track', e => {
pc1.addEventListener('track', e => {
this.emit('track', e);
});
rtcpc.setRemoteDescription(remoteRtcSd);
const localRtcSd = await rtcpc.createAnswer();
rtcpc.setLocalDescription(localRtcSd);
pc1.setRemoteDescription(remoteRtcSd);
if (inputAudioStream) {
const track = inputAudioStream.getAudioTracks()[0];
pc1.addTrack(track, inputAudioStream);
}
const localRtcSd = await pc1.createAnswer();
pc1.setLocalDescription(localRtcSd);
await this.send(new _ResponseSipMessage.default(this.inviteSipMessage, 200, 'OK', {

@@ -173,0 +179,0 @@ Contact: `<sip:${this.fakeEmail};transport=ws>`,

{
"name": "ringcentral-softphone",
"version": "0.1.7",
"version": "0.1.8",
"license": "MIT",

@@ -32,5 +32,8 @@ "main": "dist/index.js",

"jest": "^24.9.0",
"mic": "^2.1.2",
"node-webrtc-audio-source": "^0.1.1",
"ramda": "^0.26.1",
"standard": "^14.2.0",
"webpack": "^4.40.2",
"webpack-cli": "^3.3.9",
"webpack-dev-server": "^3.8.1",

@@ -37,0 +40,0 @@ "wrtc": "^0.4.2",

# RingCentral Softphone SDK for JavaScript
## Experimental
This project is still in its early stage. It is not ready for production yet!
## What are the differences between ringcentral-web-phone and this project?

@@ -41,8 +36,11 @@

await rc.logout()
// const stream = <input-audio-stream-from-microphone>
softphone.on('INVITE', sipMessage => {
softphone.answer()
softphone.answer(stream)
softphone.on('track', e => {
// phone call connected
const { track, streams } = e
// you can audio data from track and streams
// you can get audio data from track and streams
})

@@ -129,3 +127,2 @@ })

- state machine
- make outbound call

@@ -110,12 +110,16 @@ import uuid from 'uuid/v4'

async answer () {
async answer (inputAudioStream = undefined) {
const sdp = this.inviteSipMessage.body
const remoteRtcSd = new RTCSessionDescription({ type: 'offer', sdp })
const rtcpc = new RTCPeerConnection({ iceServers: [{ urls: 'stun:74.125.194.127:19302' }] })
rtcpc.addEventListener('track', e => {
const pc1 = new RTCPeerConnection({ iceServers: [{ urls: 'stun:74.125.194.127:19302' }] })
pc1.addEventListener('track', e => {
this.emit('track', e)
})
rtcpc.setRemoteDescription(remoteRtcSd)
const localRtcSd = await rtcpc.createAnswer()
rtcpc.setLocalDescription(localRtcSd)
pc1.setRemoteDescription(remoteRtcSd)
if (inputAudioStream) {
const track = inputAudioStream.getAudioTracks()[0]
pc1.addTrack(track, inputAudioStream)
}
const localRtcSd = await pc1.createAnswer()
pc1.setLocalDescription(localRtcSd)
await this.send(new ResponseSipMessage(this.inviteSipMessage, 200, 'OK', {

@@ -122,0 +126,0 @@ Contact: `<sip:${this.fakeEmail};transport=ws>`,

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc