@subiz/wsclient 4.0.1 → 4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/webrtc.js +14 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@subiz/wsclient",
3
- "version": "4.0.1",
3
+ "version": "4.0.3",
4
4
  "main": "realtime.js",
5
5
  "scripts": {
6
6
  "test": "node realtime.test.js"
package/webrtc.js CHANGED
@@ -144,15 +144,28 @@ function WebRTCConn(options) {
144
144
  if (!callid || callid == '*' || callid == '-') {
145
145
  let calls = Object.assign({}, activeCalls)
146
146
  Object.keys(dialingRequest).map((callid) => {
147
- let call = activeCalls[callid]
147
+ let call = calls[callid]
148
148
  if (!call && dialingRequest[callid]) {
149
149
  calls[callid] = dialingRequest[callid]
150
150
  }
151
151
  })
152
+
153
+ Object.keys(calls).map((callid) => {
154
+ let call = calls[callid]
155
+ if (!endRequest[callid]) return
156
+ if (!call || call.status == 'ended') return
157
+ calls[callid] = Object.assign({}, call, {
158
+ call_id: callid,
159
+ ended: endRequest[callid],
160
+ status: 'ended',
161
+ hangup_code: 'cancel',
162
+ })
163
+ })
152
164
  return calls
153
165
  }
154
166
 
155
167
  let call = activeCalls[callid]
168
+ if (!call && dialingRequest[callid]) call = dialingRequest[callid]
156
169
  if (endRequest[callid] && call && call.status != 'ended') {
157
170
  return Object.assign({}, call, {
158
171
  call_id: callid,
@@ -161,7 +174,6 @@ function WebRTCConn(options) {
161
174
  hangup_code: 'cancel',
162
175
  })
163
176
  }
164
- if (!call && dialingRequest[callid]) return dialingRequest[callid]
165
177
  return call
166
178
  }
167
179