ringcentral-softphone 1.1.8 → 1.1.9
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.
- package/README.md +35 -0
- package/dist/cjs/index.js +1 -1
- package/dist/esm/index.js +1 -1
- package/package.json +6 -5
package/README.md
CHANGED
|
@@ -6,6 +6,9 @@ the
|
|
|
6
6
|
|
|
7
7
|
Users are recommended to use this SDK instead of the JavaScript SDK.
|
|
8
8
|
|
|
9
|
+
This SDK allows you to create a softphone without GUI that runs on server-side
|
|
10
|
+
without a web browser.
|
|
11
|
+
|
|
9
12
|
## Installation
|
|
10
13
|
|
|
11
14
|
```
|
|
@@ -30,8 +33,28 @@ Please note that, "SIP Domain" name should come without port number. I don't
|
|
|
30
33
|
know why it shows a port number on the page. This SDK requires a "domain" which
|
|
31
34
|
is "SIP Domain" but without the port number.
|
|
32
35
|
|
|
36
|
+
Please also note that, not every device/phone can be used with the softphone
|
|
37
|
+
SDK. Some phones/devices with type "RingCentral Phone app" cannot be used with
|
|
38
|
+
the softphone SDK. You will need to have a device/phone with type **"Exsting
|
|
39
|
+
Phone"**.
|
|
40
|
+
|
|
33
41
|
### Programmatically
|
|
34
42
|
|
|
43
|
+
Invoke this API to list all devices under an extension:
|
|
44
|
+
https://developers.ringcentral.com/api-reference/Devices/listExtensionDevices
|
|
45
|
+
|
|
46
|
+
Please note that, not every device can be used for this softphone SDK. You will
|
|
47
|
+
need to find an device with **`type: 'OtherPhone'`**. Devices with
|
|
48
|
+
`type: 'SoftPhone'` can **NOT** be used for this softphone SDK.
|
|
49
|
+
|
|
50
|
+
I know this is confusing. `type: 'SoftPhone'` in API response is the same as
|
|
51
|
+
`type = "RingCentral Phone app"` in the GUI (mentioned in the Manually section
|
|
52
|
+
above). `type: 'OtherPhone'` in API response is the same as
|
|
53
|
+
`type = "Exiting Phone"` in the GUI.
|
|
54
|
+
|
|
55
|
+
If you cannot find an appropriate device, you will need to create a device
|
|
56
|
+
manually. Please refer to the previous section.
|
|
57
|
+
|
|
35
58
|
Invoke this RESTful API:
|
|
36
59
|
https://developers.ringcentral.com/api-reference/Devices/readDeviceSipInfo
|
|
37
60
|
|
|
@@ -246,6 +269,18 @@ However, for inbound calls, the server doesn't tell us anything about the
|
|
|
246
269
|
Telephony Session ID. Here is a workaround solution:
|
|
247
270
|
https://github.com/tylerlong/rc-softphone-call-id-test
|
|
248
271
|
|
|
272
|
+
## Troubleshooting (Common issues)
|
|
273
|
+
|
|
274
|
+
### `SIP/2.0 486 Busy Here` for outbound call
|
|
275
|
+
|
|
276
|
+
First of all, make sure that the target number is valid. If the target number is
|
|
277
|
+
invalid, you will get `SIP/2.0 486 Busy Here`.
|
|
278
|
+
|
|
279
|
+
Secondly, make sure that the device has a "Emergency Address" configured and
|
|
280
|
+
there is no complains about Emergency address by checking the details of the
|
|
281
|
+
device on https://service.ringcentral.com. It is an known issue that, if the
|
|
282
|
+
Emergency Address is not configured properly, outbound call will not work.
|
|
283
|
+
|
|
249
284
|
---
|
|
250
285
|
|
|
251
286
|
## Dev Notes
|
package/dist/cjs/index.js
CHANGED
|
@@ -89,7 +89,7 @@ class Softphone extends node_events_1.default {
|
|
|
89
89
|
await sipRegister();
|
|
90
90
|
this.intervalHandle = setInterval(() => {
|
|
91
91
|
sipRegister();
|
|
92
|
-
},
|
|
92
|
+
}, 30 * 1000);
|
|
93
93
|
this.on("message", (inboundMessage) => {
|
|
94
94
|
if (!inboundMessage.subject.startsWith("INVITE sip:")) {
|
|
95
95
|
return;
|
package/dist/esm/index.js
CHANGED
|
@@ -84,7 +84,7 @@ class Softphone extends EventEmitter {
|
|
|
84
84
|
await sipRegister();
|
|
85
85
|
this.intervalHandle = setInterval(() => {
|
|
86
86
|
sipRegister();
|
|
87
|
-
},
|
|
87
|
+
}, 30 * 1000);
|
|
88
88
|
this.on("message", (inboundMessage) => {
|
|
89
89
|
if (!inboundMessage.subject.startsWith("INVITE sip:")) {
|
|
90
90
|
return;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ringcentral-softphone",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.9",
|
|
4
4
|
"homepage": "https://github.com/ringcentral/ringcentral-softphone-ts",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"types": "dist/esm/index.d.ts",
|
|
@@ -34,10 +34,11 @@
|
|
|
34
34
|
"werift-rtp": "^0.8.4"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@types/node": "^22.
|
|
37
|
+
"@types/node": "^22.15.18",
|
|
38
38
|
"dotenv-override-true": "^6.2.2",
|
|
39
|
-
"tsx": "^4.19.
|
|
40
|
-
"typescript": "^5.8.
|
|
39
|
+
"tsx": "^4.19.4",
|
|
40
|
+
"typescript": "^5.8.3",
|
|
41
41
|
"yarn-upgrade-all": "^0.7.5"
|
|
42
|
-
}
|
|
42
|
+
},
|
|
43
|
+
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
|
|
43
44
|
}
|