@exotel-npm-dev/webrtc-client-sdk 1.0.6 → 1.0.8

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.
Binary file
Binary file
@@ -1,19 +1,22 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
+
3
4
  <head>
4
- <title>WebPhone</title>
5
+ <title>WebPhone</title>
5
6
 
6
- <script type="text/javascript" src="./dist/exotelsdk.js"></script>
7
- <script type="text/javascript" src="phone.js"></script>
8
- <script type="text/javascript" src="demo.js"></script>
7
+ <script type="text/javascript" src="./dist/exotelsdk.js"></script>
8
+ <script type="text/javascript" src="phone.js"></script>
9
+ <script type="text/javascript" src="demo.js"></script>
9
10
 
10
11
  </head>
11
- <body >
12
+
13
+ <body>
12
14
 
13
15
  <b>Register Status : </b>
14
16
  <b id="status"> unregister</b>
15
17
  <br />
16
18
  <br />
19
+ <button id="sdkStatusButton" onclick="sdkReady()">SDK Status</button>
17
20
  <button id="registerButton" onclick="registerToggle()">REGISTER</button>
18
21
  <br />
19
22
  <br />
@@ -21,11 +24,12 @@
21
24
  <b id="call_status"> </b>
22
25
  <br />
23
26
  <br />
24
- <button onclick="acceptCall()">Accept Call</button>
27
+ <button onclick="acceptCall()">Accept Call</button>
25
28
  <button onclick="rejectCall()">END CALL</button>
26
29
  <button id="muteButton" onclick="toggleMuteButton()">MUTE</button>
27
30
  <button id="holdButton" onclick="toggleHoldButton()">HOLD</button>
28
31
 
29
-
32
+
30
33
  </body>
34
+
31
35
  </html>
@@ -0,0 +1,28 @@
1
+ -----BEGIN PRIVATE KEY-----
2
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDks953etyaeo1S
3
+ pyY9mXMUtYiSJyOoGfKw27Tp8Pq15J5jdgJaBjpfkypol+GqIHBuwu1jBv1xu5f0
4
+ 8hiAsiqPITC/Kf7KiZV6FxJUdAr3CFgF0Aec1h10V9N7dpAxFEMmwqiRIpYj+if2
5
+ kkrOT08OliiH42g4RlZTxUWc2HQzrnfXm3lqqJ6C1g0xcYFCGJwLyh+YpY9uTY4G
6
+ KJQStRsK4ku6Czl6JkXpVVM+4POjEg8qolZJ9txpdGpTaRHA/dH2dDhgwi+EqIeZ
7
+ wc2ZkTiiNsIe8G3Xc2SR4M270Z4709ZbzqHHEDCD13YR7NtAtz3zickd04dB/Ib5
8
+ Z5944FnzAgMBAAECggEAIcdjSK26iY0nnxlAWlbLcDfuck/E7MjbAejhdrAjXNw7
9
+ J0uVxgAnfQL6f4pMnVkUjMzOTRMKOf3QJYXgZ+8TaXfTKwOj4Kb45Jh7GkLYH8Ek
10
+ EcULwCFr0PRBMHoZiqDd2OAQD6erxKfntnvIVWJ8tcB96gbaLNL5YH7Bl7dB/86H
11
+ NP7WWZiqUwg2wTN+4t6gNBUSBYj8O8Vk2J5kPpLKelqXAgBB+KozAwYr8nHPNH8A
12
+ CzXbN+ENf7qhzVMwcF4a0gyztIiTm7htAUK9TtQBRBx+qwbv+L/D8RSWzE9xRvJn
13
+ yoZQDjXc5csTCGQkm59ic1j3JO8gNizoCAiyI35cMQKBgQD4dmx4v0O0U1iz6PZj
14
+ Cix2S+7pnOJ5Rf0wSZ9maMVlFnMP1x2ZA2CeyXcvNDoHlRpslkxWgERgOzjl8INx
15
+ QGOopnCBuniuSnKJ8cExPdZRC+I1TCnOiKxFCRHYsTkM1jR5uM6aRVLaMl7Qti1Y
16
+ zpxeQJD5oyoVgHUqYTwnopkrWQKBgQDro/zwERwU0UwFhdBs8SvmoLG66J02I3mi
17
+ R0fE7xGCSDDjaezg0iJAxJf35M3BfjHpEH/TyWhuh+KPqat+U6Cpk81uxMg35itt
18
+ lItEZcfTdTUDY9Kcmcw+lmWlzup6HPZ8YAz7Xw+IPfQ4ewoOLmZ+RBOfrJHFMFtk
19
+ Zd2aXz5iKwKBgBLDNpvDrcQvSxKC9CA0g3kHcOo5S6zmySDdXmkoXkes81Ft6DFG
20
+ 3QQAqLxq0DsEWnN6whcCJqexsTFEAVkLCLuSngpd34Eh5BZgqDsktUt3f0SRFNMg
21
+ 5QltjuhzMaCziFDs0MU7mO8bQKe4KiJ7r7k6XPhNBv+KrM5fe2Bu2ew5AoGBAI+o
22
+ 26U0mS0r6LAZQ9eXNQ+W+qQb+vStrhM8Z8ntgnwuLPgIdS0fj1hzQr8UFEkZ+a3A
23
+ rF3fFbcFSyAQ7gfHTlT0UjNs7y/9OI7HGBzr/Gazt01Ix3dH4Jhrsq7itlsaWz+6
24
+ g0+hRePm+YSRprC8oynpsRkQ6ZIRiDZuUCs0U+EfAoGAbsyggoqK5JhY5zUwgjkP
25
+ KDUJLNW9E5K0FsYNuWgOiUWWW+i3IiT8s9nJsBXwwk4M1uaoQhCFXfE7SoIdBJd1
26
+ gyFCAhcu1i6FLujAh6RcvM0OmRRORtC5PUJbGKTA6KAnrTJXqLdRrxM7fnOIg++F
27
+ PYhRHb4zrpZT9v9Ps7lJtq4=
28
+ -----END PRIVATE KEY-----
@@ -1,11 +1,11 @@
1
1
  phone = '[\
2
2
  {\
3
3
  "Username":"vijayk0aa794fd",\
4
- "DisplayName":"vijay",\
4
+ "DisplayName":"Ashish",\
5
5
  "HostServer":"voip.in1.exotel.com",\
6
6
  "Domain":"siptrunkingpoc1m.voip.exotel.com",\
7
- "Port":5071,\
8
- "Password":"exotel321",\
7
+ "Port":443,\
8
+ "Password":"abcd1234",\
9
9
  "CallTimeout":1000,\
10
10
  "Security": "wss",\
11
11
  "EndPoint": "wss",\
package/dist/exotelsdk.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * WebRTC CLient SIP version 1.0.6
3
+ * WebRTC CLient SIP version 1.0.7
4
4
  *
5
5
  */
6
6
  (function webpackUniversalModuleDefinition(root, factory) {
@@ -1705,6 +1705,49 @@ class ExotelWebClient {
1705
1705
  */
1706
1706
  intervalIDMap.set(userName, intervalId);
1707
1707
  };
1708
+ checkClientStatus = callback => {
1709
+ // using this function , first it will check mic permission is given or not
1710
+ // then it will check if transport is intialize or not
1711
+ // then it will check if user is registered or not
1712
+ // based on this we can evaludate SDK is ready for call
1713
+ var constraints = {
1714
+ audio: true,
1715
+ video: false
1716
+ };
1717
+ navigator.mediaDevices.getUserMedia(constraints).then(function (mediaStream) {
1718
+ var transportState = _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_9__.webrtcSIPPhone.getTransportState();
1719
+ transportState = transportState.toLowerCase();
1720
+ switch (transportState) {
1721
+ case "":
1722
+ callback("not_intialized");
1723
+ break;
1724
+ case "unknown":
1725
+ case "connecting":
1726
+ callback(transportState);
1727
+ break;
1728
+ default:
1729
+ var registerationState = _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_9__.webrtcSIPPhone.getRegistrationState();
1730
+ registerationState = registerationState.toLowerCase();
1731
+ switch (registerationState) {
1732
+ case "":
1733
+ callback("websocket_connection_failed");
1734
+ break;
1735
+ case "registered":
1736
+ if (transportState != "connected") {
1737
+ callback("disconnected");
1738
+ } else {
1739
+ callback(registerationState);
1740
+ }
1741
+ break;
1742
+ default:
1743
+ callback(registerationState);
1744
+ }
1745
+ }
1746
+ }).catch(function (error) {
1747
+ console.log("something went wrong during checkClientStatus ", error);
1748
+ callback("media_permission_denied");
1749
+ });
1750
+ };
1708
1751
  }
1709
1752
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ExotelWebClient);
1710
1753
 
@@ -7727,6 +7770,8 @@ __webpack_require__.r(__webpack_exports__);
7727
7770
 
7728
7771
  var SIP = __webpack_require__(/*! ./sip-0.20.0.js */ "../webrtc-core-sdk/src/sip-0.20.0.js");
7729
7772
 
7773
+ var lastTransportState = "";
7774
+ var lastRegistererState = "";
7730
7775
  var videoRemote, videoLocal, audioRemote;
7731
7776
  var initializeComplete = false;
7732
7777
  var webRTCStatus = "offline"; // ready -> registered, offline -> unregistered,
@@ -8057,6 +8102,7 @@ function postInit(onInitDoneCallback) {
8057
8102
  onInitDoneCallback();
8058
8103
  }
8059
8104
  function sipRegister() {
8105
+ lastRegistererState = "";
8060
8106
  cleanupRegistererTimer();
8061
8107
  try {
8062
8108
  ctxSip.config = {
@@ -8104,6 +8150,7 @@ function sipRegister() {
8104
8150
  register_flag = false;
8105
8151
  }
8106
8152
  let registererStateEventListner = newState => {
8153
+ lastRegistererState = newState;
8107
8154
  if (ctxSip.phone && ctxSip.phone.transport && ctxSip.phone.transport.isConnected()) {
8108
8155
  sipPhoneLogger("debug", "", "", "sipjslog registerer new state " + newState);
8109
8156
  switch (newState) {
@@ -8126,6 +8173,7 @@ let registererWaitingChangeListener = b => {
8126
8173
  }
8127
8174
  };
8128
8175
  let transportStateChangeListener = newState => {
8176
+ lastTransportState = newState;
8129
8177
  sipPhoneLogger("debug", "", "", "sipjslog transport new state " + newState);
8130
8178
  switch (newState) {
8131
8179
  case SIP.TransportState.Connecting:
@@ -8669,10 +8717,17 @@ const SIPJSPhone = {
8669
8717
  getWSSUrl: () => {
8670
8718
  console.log("Returning txtWebsocketURL:", txtWebsocketURL);
8671
8719
  return txtWebsocketURL;
8672
- }
8720
+ },
8673
8721
  /* NL Additions - End */
8722
+ getTransportState: () => {
8723
+ console.log("Returning Transport State : ", lastTransportState);
8724
+ return lastTransportState;
8725
+ },
8726
+ getRegistrationState: () => {
8727
+ console.log("Returning Registration State : ", lastRegistererState);
8728
+ return lastRegistererState;
8729
+ }
8674
8730
  };
8675
-
8676
8731
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SIPJSPhone);
8677
8732
 
8678
8733
  /***/ }),
@@ -8820,10 +8875,26 @@ const webrtcSIPPhone = {
8820
8875
  } catch (e) {
8821
8876
  console.log("getWSSUrl: Exception ", e);
8822
8877
  }
8823
- }
8878
+ },
8824
8879
  /* NL Addition - End */
8825
- };
8826
8880
 
8881
+ getTransportState() {
8882
+ try {
8883
+ return _sipjsphone__WEBPACK_IMPORTED_MODULE_0__["default"].getTransportState();
8884
+ } catch (e) {
8885
+ console.log("getTransportState: Exception ", e);
8886
+ return "unknown";
8887
+ }
8888
+ },
8889
+ getRegistrationState() {
8890
+ try {
8891
+ return _sipjsphone__WEBPACK_IMPORTED_MODULE_0__["default"].getRegistrationState();
8892
+ } catch (e) {
8893
+ console.log("getTransportState: Exception ", e);
8894
+ return "unknown";
8895
+ }
8896
+ }
8897
+ };
8827
8898
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (webrtcSIPPhone);
8828
8899
 
8829
8900
  /***/ }),