Browse code

removed js/roundpin-signup.js js/roundpin-signup.min.js lang/en.json roundpin-setup.php_sample README.md ChangeLog.txt

DoubleBastionAdmin authored on 09/04/2022 23:06:10
Showing 6 changed files
1 1
deleted file mode 100644
... ...
@@ -1,13 +0,0 @@
1
-
2
-======= CHANGELOG =======
3
-
4
-Versions:
5
-
6
-== 1.0.0 - 2022-1-27 ==
7
-* Initial Release.
8
-
9
-== 1.0.1 - 2022-3-26 ==
10
-* Fixed error message on logout.
11
-
12
-== 1.0.2 - 2022-3-28 ==
13
-* Small text changes in README.md.
14 0
deleted file mode 100644
... ...
@@ -1,182 +0,0 @@
1
-<span style="display:block;height:15px!important"></span>
2
-<p align="center"><img src="https://git.doublebastion.com/roundpin/raw/develop/images/login-logo.png" alt="Roundpin" width="380px" height="108px"/></p>
3
-
4
-<span style="display:block;height:20px!important"></span>
5
-
6
-**A fully featured browser phone that connects to an Asterisk server and implements audio/video calling, video conferencing and text messaging by using SIP over WebSocket and WebRTC.**
7
-
8
-Roundpin allows **video, audio and text conversations** with other extensions configured on the same Asterisk server. It can be also used to make and receive **audio phone calls**
9
-to/from any phone number in the world, if you connect your Asterisk server to a SIP provider, such as Telnyx or Localphone. If you use a SIP account with an attached real phone number, 
10
-you can make very cheap phone calls (prices per minute starting from $0.005 in the US and $1/phone number/month). In the installation instructions mentioned below, we describe in detail
11
-how to configure Asterisk and how to connect it to a Telnyx or Localphone account. We have no affiliation with the two providers. Any SIP provider that allows external Asterisk servers
12
-to connect to their servers, will work.
13
-
14
-Roundpin also implements **video conferencing**. Users can initiate video conferences with other extensions configured in Asterisk but also with external users who don’t have Roundpin
15
-accounts. To participate in a conference, an external user only needs a browser and the link to the conference (supposing they use a device with a video camera).
16
-
17
-Roundpin logs recent phone calls and their duration, it allows pausing/muting and transferring phone calls as well as in-browser call recording for one-to-one audio/video calls.
18
-The underlying Asterisk server can be used to implement **advanced PBX features**, such as **Interactive Voice Response (IVR or voice menu), voicemail, queue management, music on hold,
19
-number blacklisting, call recording**, etc., as we describe in detail in the documentation mentioned below. All these can be done independently of your SIP provider. You only need an
20
-account and a real phone number from the SIP provider, to be able to interface with the Public Switched Telephone Network (PSTN), all the rest is done on your own server, including the
21
-IVR, the voicemail, the call recording, etc. This allows you to have total control over your communications and more privacy than if you were using the SIP provider’s voicemail, call
22
-recording, etc.
23
-
24
-This application includes large parts of “Browser Phone”, developed by Conrad de Wet and licensed under GNU AGPL v3.0 and of “Cyber Mega Phone 2k” developed by Digium, Inc. and
25
-licensed under the MIT License. We thank them for their amazing work and for licensing their software in a way that promotes user freedom and collaboration. To interact with WebRTC,
26
-Roundpin uses two versatile JavaScript libraries: SIP.js (v0.11.6) for regular calls, and JsSIP (v3.7.0) for video conferences. All due copyright notices are listed in the
27
-LICENSE.txt file located in the root directory.
28
-
29
-<span style="display:block;height:20px!important"></span>
30
-
31
-## Main Features
32
-<span style="display:block;height:10px!important"></span>
33
-
34
-- SIP audio calling
35
-- SIP video calling
36
-- SIP video conferences
37
-- Call transfer
38
-- Call statistics
39
-- In-browser call recording for one-to-one audio/video calls
40
-- Screen sharing during video calls and video conferences
41
-- Link-based access to video conferences (for external users)
42
-- SIP messaging with double encryption (end-to-end AES + RSA encryption, in addition to TLS)
43
-- File transfer during text chat
44
-- Roundcube email integration
45
-- Responsive, mobile friendly interface
46
-
47
-<span style="display:block;height:20px!important"></span>
48
-
49
-Audio conversation
50
-<span style="display:block;height:10px!important"></span>
51
-![Image of Roundpin Interface](https://git.doublebastion.com/roundpin/raw/develop/images/roundpin_audio_conversation.png)
52
-<span style="display:block;height:40px!important"></span>
53
-Video conversation
54
-<span style="display:block;height:10px!important"></span>
55
-![Image of Roundpin Interface](https://git.doublebastion.com/roundpin/raw/develop/images/roundpin_video_conversation.png)
56
-<span style="display:block;height:40px!important"></span>
57
-Text conversation
58
-<span style="display:block;height:10px!important"></span>
59
-![Image of Roundpin Interface](https://git.doublebastion.com/roundpin/raw/develop/images/roundpin_text_conversations.png)
60
-<span style="display:block;height:40px!important"></span>
61
-Incoming call and onscreen notifications
62
-<span style="display:block;height:10px!important"></span>
63
-![Image of Roundpin Interface](https://git.doublebastion.com/roundpin/raw/develop/images/roundpin_incoming_call_and_notifications.png)
64
-<span style="display:block;height:40px!important"></span>
65
-Call transfer
66
-<span style="display:block;height:10px!important"></span>
67
-![Image of Roundpin Interface](https://git.doublebastion.com/roundpin/raw/develop/images/roundpin_call_transfer.png)
68
-<span style="display:block;height:40px!important"></span>
69
-User menu
70
-<span style="display:block;height:10px!important"></span>
71
-![Image of Roundpin Interface](https://git.doublebastion.com/roundpin/raw/develop/images/roundpin_logged_in_user_menu.png)
72
-<span style="display:block;height:40px!important"></span>
73
-Main dialpad
74
-<span style="display:block;height:10px!important"></span>
75
-![Image of Roundpin Interface](https://git.doublebastion.com/roundpin/raw/develop/images/roundpin_main_dialpad.png)
76
-<span style="display:block;height:40px!important"></span>
77
-Settings
78
-<span style="display:block;height:10px!important"></span>
79
-![Image of Roundpin Interface](https://git.doublebastion.com/roundpin/raw/develop/images/roundpin_settings.png)
80
-<span style="display:block;height:40px!important"></span>
81
-Edit contact
82
-<span style="display:block;height:10px!important"></span>
83
-![Image of Roundpin Interface](https://git.doublebastion.com/roundpin/raw/develop/images/roundpin_edit_contact.png)
84
-<span style="display:block;height:40px!important"></span>
85
-Check emails
86
-<span style="display:block;height:10px!important"></span>
87
-![Image of Roundpin Interface](https://git.doublebastion.com/roundpin/raw/develop/images/roundpin_checking_emails.png)
88
-<span style="display:block;height:40px!important"></span>
89
-Compose email
90
-<span style="display:block;height:10px!important"></span>
91
-![Image of Roundpin Interface](https://git.doublebastion.com/roundpin/raw/develop/images/roundpin_composing_email.png)
92
-<span style="display:block;height:40px!important"></span>
93
-Video conference
94
-<span style="display:block;height:10px!important"></span>
95
-![Image of Roundpin Interface](https://git.doublebastion.com/roundpin/raw/develop/images/roundpin_video_conference.png)
96
-<span style="display:block;height:40px!important"></span>
97
-Video conference with buttons
98
-<span style="display:block;height:10px!important"></span>
99
-![Image of Roundpin Interface](https://git.doublebastion.com/roundpin/raw/develop/images/roundpin_video_conference_with_buttons.png)
100
-<span style="display:block;height:40px!important"></span>
101
-Call graphs
102
-<span style="display:block;height:10px!important"></span>
103
-![Image of Roundpin Interface](https://git.doublebastion.com/roundpin/raw/develop/images/roundpin_call_graphs.png)
104
-<span style="display:block;height:40px!important"></span>
105
-
106
-
107
-## Browsers
108
-<span style="display:block;height:10px!important"></span>
109
-
110
-Firefox is recommended. It also works with the other major browsers.
111
-
112
-<span style="display:block;height:20px!important"></span>
113
-
114
-## Programming Languages
115
-<span style="display:block;height:10px!important"></span>
116
-
117
-Roundpin only uses PHP, SQL, jQuery, pure JavaScript, CSS and HTML. This means it's robust, efficient, light-weight and easy to maintain and debug.
118
-
119
-<span style="display:block;height:20px!important"></span>
120
-
121
-## Minimum Requirements
122
-<span style="display:block;height:10px!important"></span>
123
-
124
-- **VPS or dedicated server** with **1 CPU core and 1 GB RAM**. The size on disk is about 24 MB. It can work on machines with much lower specifications, but if you want to host video
125
-conferences with many participants, it’s recommended to have at least 1 GB RAM. Some of the best quality VPSs at the lowest prices are offered by Linode and OVH (Double Bastion
126
-doesn’t have any affiliation with the two providers).
127
-
128
-- **The LEMP stack**. It may work with Apache but it has been exclusively tested with Nginx. We recommend Nginx and all the installation instructions mentioned below are for Nginx.
129
-Recommended operating system: Debian 10 or newer.
130
-
131
-- **Asterisk** v18.0.0 (with **chan_pjsip** enabled) and **Coturn** v4.5.1.1 or newer.
132
-
133
-Note: Roundpin is a component of <a rel="noreferrer noopener" href="https://www.doublebastion.com" target="_blank">RED SCARF Suite</a>. You can install and use Roundpin alone, but if 
134
-you want to install all the applications that make up RED SCARF Suite, you will need a VPS or dedicated server with higher specifications: 1 CPU core, 2 GB RAM
135
-and 40 GB storage.
136
-
137
-<span style="display:block;height:20px!important"></span>
138
-
139
-## Installation
140
-<span style="display:block;height:10px!important"></span>
141
-
142
-Complete and detailed instructions on how to install and use Roundpin can be found <a rel="noreferrer noopener" href="https://www.doublebastion.com/install-roundpin/" target="_blank">here</a>.
143
-That documentation also contains the links to the instructions for installing Asterisk and Coturn (Coturn can be used as a STUN server to assist Roundpin in connecting users who are 
144
-behind routers).
145
-
146
-Please note that the installation instructions for Asterisk presents in detail how to implement 4 classes of dial plans, but you should choose only the one that is the closest to your 
147
-situation.
148
-
149
-Asterisk version 18.0.0 is coded such as by default it allows a maximum of 15 video conference participants. However, this number can be increased to around 100 by changing the code 
150
-before compiling, as we explain in detail in the above mentioned documentation.
151
-
152
-If you want to integrate Roundcube with Roundpin, to be able to open a new email window with one click, to easily send emails to your Roundpin contacts, and to be able to check incoming 
153
-emails from inside Roundpin, you will need to install a complete mail server by following the detailed instructions presented 
154
-<a rel="noreferrer noopener" href="https://www.doublebastion.com/install-the-mail-server/" target="_blank">here</a>.
155
-
156
-<span style="display:block;height:20px!important"></span>
157
-
158
-## Contribute
159
-<span style="display:block;height:10px!important"></span>
160
-
161
-This is the official repository of the Roundpin project. The <a rel="noreferrer noopener" href="https://github.com/CoverTowerSuperAdmin/roundpin" target="_blank">GitHub Roundpin
162
-repository</a> is just a pointer to this repository. We don’t use GitHub for developing Roundpin because GitHub is owned by one of the companies that proved their disrespect for
163
-digital freedom over the years and because centralized services create autonomy and privacy issues, in spite of all the benefits.
164
-
165
-If you want to contribute code to this project, please submit <a rel="noreferrer noopener" href="https://git.doublebastion.com/roundpin/pullrequests/contrib" target="_blank">this form</a>, 
166
-mentioning your intended changes. We'll send you the credentials needed to push code to the "contrib" branch of this repository. After we review the changes we can include them in the 
167
-project. We'll list the names of all the contributors, in the Contributors.txt file located in the root directory.
168
-
169
-Please post any bugs that are not security related, or feature requests, on the <a rel="noreferrer noopener" href="https://git.doublebastion.com/roundpin/issues/develop" target="_blank">
170
-issue tracker</a>. If you notice bugs related to security, don’t post them on the issue tracker; instead, send them to manager [at] doublebastion [dot] com .
171
-
172
-<span style="display:block;height:20px!important"></span>
173
-
174
-## License
175
-<span style="display:block;height:10px!important"></span>
176
-
177
-Roundpin as a whole is licensed under the GNU Affero General Public License, version 3 or any later version (See the file COPYING.txt located in the root directory, for the text of the 
178
-license). If you use Roundpin or distribute it in modified or unmodified form, you will need to comply with the terms of the GNU Affero General Public License, either version 3 of the
179
-license or (at your option) any later version.
180
-
181
-Roundpin includes parts from other programs/libraries licensed under different free software licenses. We listed these programs/libraries and their respective copyright notices in
182
-the LICENSE.txt file located in the root directory.
183 0
deleted file mode 100644
... ...
@@ -1,131 +0,0 @@
1
-/**
2
- *  Copyright (C) 2021  Double Bastion LLC
3
- *
4
- *  This file is part of Roundpin, which is licensed under the
5
- *  GNU Affero General Public License Version 3.0. The license terms
6
- *  are detailed in the "LICENSE.txt" file located in the root directory.
7
- */
8
-
9
-$(document).ready(function() {
10
-
11
- $("#emailaddress").focus();
12
- $("#submitmessage").empty();
13
-
14
- $('#emailaddress').on('input', function() {
15
-    if ($(this).val().length != 0) {
16
-        $("#emailaddressLabel").css({'display' : 'block', 'opacity' : '1'});
17
-    } else { $("#emailaddressLabel").css('display','none'); }
18
- });
19
-
20
- $('#login').on('input', function() {
21
-    if ($(this).val().length != 0) {
22
-        $("#regusernameLabel").css({'display' : 'block', 'opacity' : '1'});
23
-    } else { $("#regusernameLabel").css('display','none'); }
24
- });
25
-
26
- $('#password').on('input', function() {
27
-    if ($(this).val().length != 0) {
28
-        $("#regpasswordLabel").css({'display' : 'block', 'opacity' : '1'});
29
-    } else { $("#regpasswordLabel").css('display','none'); }
30
- });
31
-
32
- $('#passwordrepeat').on('input', function() {
33
-    if ($(this).val().length != 0) {
34
-        $("#regpasswordrepLabel").css({'display' : 'block', 'opacity' : '1'});
35
-    } else { $("#regpasswordrepLabel").css('display','none'); }
36
- });
37
-
38
- if (signupCheck == 'true') {
39
-
40
-   $("#signuptab").on("click", function() {
41
-      $("#signintab").removeClass("active");
42
-      $("#signuptab").addClass("active");
43
-   });
44
-
45
-   $("#signupbutton").on("click", function() {
46
-
47
-      // Verify if the email address is correctly formatted
48
-      var getemailaddress = $("#emailaddress").val();
49
-
50
-      if (getemailaddress == '') {
51
-          var messageEmailad = "The email address cannot be empty ! ";
52
-      } else if (/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/.test(getemailaddress)) {
53
-          var messageEmailad = "";
54
-      } else {
55
-          var messageEmailad = "The email address is not valid ! ";
56
-        }
57
-
58
-      // Verify if password meets constraints
59
-      var typedPass = $("#password").val();
60
-
61
-      if (/^((?=.*\d)(?=.*[a-z])(?=.*\W).{10,})$/.test(typedPass)) {
62
-          var messagePass = "";
63
-      } else {
64
-          var messagePass = "The password does not meet the requirements (to be at least 10 characters long, to contain at least one letter, at least one digit and at least one special character). Please choose a different password ! ";
65
-        }
66
-
67
-      // Verify if password is identical in the two password fields
68
-      var typedPassRepeat = $("#passwordrepeat").val();
69
-
70
-      if (typedPassRepeat == typedPass) {
71
-          var messagePass = "";
72
-      } else {
73
-          var messagePass = "Passwords don't match. Please enter your password again ! ";
74
-        }
75
-
76
-      var messageToSend = messageEmailad + messagePass;
77
-
78
-      var getusername = $("#login").val();
79
-      var getuserrole = $("#selectrole option:selected").val();
80
-
81
-      if (messageToSend != '' && (getemailaddress == '' || getusername == '' || typedPass == '' || getuserrole == '')) {
82
-          $("#submitmessage").empty();
83
-          $("#submitmessage").append("<span>"+messageToSend+" All the fields are required !</span>");
84
-          $("#submitmessage").css("color", "#AC1F23");
85
-      } else if (messageToSend != '' && getemailaddress != '' && getusername != '' && typedPass != '' && getuserrole != '') {
86
-          $("#submitmessage").empty();
87
-          $("#submitmessage").append("<span>"+messageToSend+"</span>");
88
-          $("#submitmessage").css("color", "#AC1F23");
89
-      } else if (messageToSend == '' && (getemailaddress == '' || getusername == '' || typedPass == '' || getuserrole == '')) {
90
-          $("#submitmessage").empty();
91
-          $("#submitmessage").append("<span>All the fields are required !</span>");
92
-          $("#submitmessage").css("color", "#AC1F23");
93
-      } else if (messageToSend == '' && getemailaddress != '' && getusername != '' && typedPass != '' && getuserrole != '') {
94
-
95
-          $.ajax({
96
-             type: "POST",
97
-             url: "register-user.php",
98
-             dataType: "JSON",
99
-             data: {
100
-                    emailaddress: getemailaddress,
101
-                    login: getusername,
102
-                    password: typedPass,
103
-                    currentmessage: messageToSend,
104
-                    vd_ajax_call: validateToken
105
-                   },
106
-             success: function(response) {
107
-                     if (response.result == 'success') {
108
-                         $("#submitmessage").empty();
109
-                         $("#submitmessage").append("<span>"+response.messageoninsert+"</span>");
110
-                         $("#submitmessage").css("color", "#10ba65");
111
-                     } else {
112
-                         $("#submitmessage").empty();
113
-                         $("#submitmessage").append("<span>"+response.messageoninsert+"</span>");
114
-                         $("#submitmessage").css("color", "#AC1F23");
115
-                       }
116
-             },
117
-             error: function(response) {
118
-                         $("#submitmessage").empty();
119
-                         $("#submitmessage").append("<span>An error occurred while saving the data !</span>");
120
-                         $("#submitmessage").css("color", "#AC1F23");
121
-             }
122
-          });
123
-      }
124
-    });
125
-
126
- } else {
127
-          $("#signupsec").css("cursor", "default");
128
-          $("#signupsec").attr("href", "");
129
- }
130
-});
131
-
132 0
deleted file mode 100644
... ...
@@ -1 +0,0 @@
1
-$(document).ready(function(){$("#emailaddress").focus();$("#submitmessage").empty();$("#emailaddress").on("input",function(){if($(this).val().length!=0){$("#emailaddressLabel").css({display:"block",opacity:"1"})}else{$("#emailaddressLabel").css("display","none")}});$("#login").on("input",function(){if($(this).val().length!=0){$("#regusernameLabel").css({display:"block",opacity:"1"})}else{$("#regusernameLabel").css("display","none")}});$("#password").on("input",function(){if($(this).val().length!=0){$("#regpasswordLabel").css({display:"block",opacity:"1"})}else{$("#regpasswordLabel").css("display","none")}});$("#passwordrepeat").on("input",function(){if($(this).val().length!=0){$("#regpasswordrepLabel").css({display:"block",opacity:"1"})}else{$("#regpasswordrepLabel").css("display","none")}});if(signupCheck=="true"){$("#signuptab").on("click",function(){$("#signintab").removeClass("active");$("#signuptab").addClass("active")});$("#signupbutton").on("click",function(){var h=$("#emailaddress").val();if(h==""){var g="The email address cannot be empty ! "}else{if(/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/.test(h)){var g=""}else{var g="The email address is not valid ! "}}var b=$("#password").val();if(/^((?=.*\d)(?=.*[a-z])(?=.*\W).{10,})$/.test(b)){var d=""}else{var d="The password does not meet the requirements (to be at least 10 characters long, to contain at least one letter, at least one digit and at least one special character). Please choose a different password ! "}var e=$("#passwordrepeat").val();if(e==b){var d=""}else{var d="Passwords don't match. Please enter your password again ! "}var f=g+d;var c=$("#login").val();var a=$("#selectrole option:selected").val();if(f!=""&&(h==""||c==""||b==""||a=="")){$("#submitmessage").empty();$("#submitmessage").append("<span>"+f+" All the fields are required !</span>");$("#submitmessage").css("color","#AC1F23")}else{if(f!=""&&h!=""&&c!=""&&b!=""&&a!=""){$("#submitmessage").empty();$("#submitmessage").append("<span>"+f+"</span>");$("#submitmessage").css("color","#AC1F23")}else{if(f==""&&(h==""||c==""||b==""||a=="")){$("#submitmessage").empty();$("#submitmessage").append("<span>All the fields are required !</span>");$("#submitmessage").css("color","#AC1F23")}else{if(f==""&&h!=""&&c!=""&&b!=""&&a!=""){$.ajax({type:"POST",url:"register-user.php",dataType:"JSON",data:{emailaddress:h,login:c,password:b,currentmessage:f,vd_ajax_call:validateToken},success:function(i){if(i.result=="success"){$("#submitmessage").empty();$("#submitmessage").append("<span>"+i.messageoninsert+"</span>");$("#submitmessage").css("color","#10ba65")}else{$("#submitmessage").empty();$("#submitmessage").append("<span>"+i.messageoninsert+"</span>");$("#submitmessage").css("color","#AC1F23")}},error:function(i){$("#submitmessage").empty();$("#submitmessage").append("<span>An error occurred while saving the data !</span>");$("#submitmessage").css("color","#AC1F23")}})}}}}})}else{$("#signupsec").css("cursor","default");$("#signupsec").attr("href","")}});
2 0
\ No newline at end of file
3 1
deleted file mode 100644
... ...
@@ -1,314 +0,0 @@
1
-{
2
-    "account_settings" : "Settings",
3
-    "create_group" : "Create Group",
4
-    "add_someone" : "Add Someone",
5
-    "add_contact" : "Add Contact",
6
-    "find_someone" : "Find contact ...",
7
-    "refresh_registration" : "Refresh Registration",
8
-    "configure_extension" : "Configure Extension",
9
-    "configure_account" : "Configure Account",
10
-    "auto_answer" : "Auto Answer",
11
-    "do_not_disturb" : "Do Not Disturb",
12
-    "call_waiting" : "Call Waiting",
13
-    "record_all_calls" : "Record All Calls",
14
-    "log_out" : "Log Out",
15
-    "logged_in_as" : "You are logged in as",
16
-    "extension_number" : "Extension Number",
17
-    "email" : "Email",
18
-    "mobile" : "Mobile",
19
-    "alternative_contact" : "Alternate Contact",
20
-    "full_name" : "Full Name",
21
-    "display_name": "Display Name",
22
-    "eg_full_name" : "Eg: John Doe",
23
-    "eg_display_name" : "Eg: John Doe",
24
-    "title_description" : "Title / Description",
25
-    "eg_general_manager" : "Eg: General Manager",
26
-    "internal_subscribe_extension" : "Extension (Internal)",
27
-    "eg_internal_subscribe_extension" : "eg: 100 or john",
28
-    "mobile_number" : "Mobile Number",
29
-    "eg_mobile_number" : "Eg: +497201234567",
30
-    "eg_email" : "Eg: john.doe@domain.com",
31
-    "contact_number_1" : "Contact Number 1",
32
-    "eg_contact_number_1" : "Eg: +499876543210",
33
-    "contact_number_2" : "Contact Number 2",
34
-    "eg_contact_number_2" : "Eg: +491234567890",
35
-    "add" : "Add",
36
-    "cancel" : "Cancel",
37
-    "save" : "Save",
38
-    "remove": "Remove",
39
-    "reload_required" : "Reload Required",
40
-    "alert_settings" : "In order to apply these settings, the page must reload, OK?",
41
-    "account" : "Account",
42
-    "audio_video" : "Audio & Video",
43
-    "appearance" : "Appearance",
44
-    "notifications" : "Notifications",
45
-    "email_integration": "Email integration",
46
-    "enable_roundcube_integration": "Enable Roundcube email integration (To enable this you need to also enable the plugins 'autologon' and 'autologout' in Roundcube).",
47
-    "roundcube_domain": "Roundcube domain",
48
-    "rc_basic_auth_user": "Roundcube basic authentication username (if basic auth is configured)(basic auth will work in Firefox but not in Chrome)",
49
-    "rc_basic_auth_password": "Roundcube basic authentication password (if basic auth is configured)(basic auth will work in Firefox but not in Chrome)",
50
-    "roundcube_user": "Roundcube user",
51
-    "roundcube_password": "Roundcube password",
52
-    "change_user_password" : "Change Password",
53
-    "current_user_password" : "Current Password",
54
-    "new_user_password" : "New Password",
55
-    "repeat_new_user_password": "Repeat New Password",
56
-    "change_user_email" : "Change Email",
57
-    "current_user_email" : "Current Email",
58
-    "new_user_email" : "New Email",
59
-    "repeat_new_user_email" : "Repeat New Email",
60
-    "close_user_account" : "Close Account",
61
-    "if_you_want_to_close_account" : "If you want to close your Roundpin user account click on the button from below",
62
-    "asterisk_server_address" : "WebSocket Domain",
63
-    "eg_asterisk_server_address" : "Eg: roundpin.example.com",
64
-    "websocket_port" : "WebSocket Port",
65
-    "eg_websocket_port" : "Eg: 8089",
66
-    "websocket_path" : "WebSocket Path",
67
-    "eg_websocket_path" : "Eg: /ws", 
68
-    "sip_username" : "SIP Username",
69
-    "eg_sip_username" : "Eg: 601",
70
-    "sip_password" : "SIP Password",
71
-    "eg_sip_password" : "Eg: y2G5vEz6Q8l9U2RsC",
72
-    "stun_server" : "STUN server domain or IPv4 address, and port number",
73
-    "speaker" : "Speaker",
74
-    "microphone" : "Microphone",
75
-    "camera" : "Camera",
76
-    "frame_rate" : "Frame Rate (per second)",
77
-    "quality" : "Quality",
78
-    "image_orientation" : "Image Orientation",
79
-    "aspect_ratio" : "Aspect Ratio",
80
-    "preview" : "Preview",
81
-    "ringtone" : "Ringtone",
82
-    "ring_device" : "Ring Device",
83
-    "video_conference_extension" : "Video Conference Extension",
84
-    "video_conference_extension_example" : "Eg: 789",
85
-    "video_conference_window_width" : "Percent of screen width that the video conference windows will have",
86
-    "video_conf_window_width_explanation" : "Eg: enter 32 to make windows 32% of screen width",
87
-    "auto_gain_control" : "Auto Gain Control",
88
-    "echo_cancellation" : "Echo Cancellation",
89
-    "noise_suppression" : "Noise Suppression",
90
-    "enable_onscreen_notifications" : "Enabled Onscreen Notifications",
91
-    "alert_notification_permission" : "You need to accept the permission request to allow Notifications",
92
-    "permission" : "Permission",
93
-    "error" : "Error",
94
-    "alert_media_devices" : "MediaDevices was null -  Check if your connection is secure (HTTPS)",
95
-    "alert_error_user_media" : "Error getting User Media.",
96
-    "alert_file_size" : "The file is bigger than 50MB, you cannot upload this file",
97
-    "alert_single_file" : "Select a single file",
98
-    "alert_not_found" : "This item was not found",
99
-    "edit" : "Edit",
100
-    "edit_contact" : "Edit Contact",
101
-    "welcome" : "Welcome",
102
-    "accept" : "Accept",
103
-    "error_user_agant" : "Error creating User Agent",
104
-    "registered" : "Registered",
105
-    "registration_failed" : "Registration Failed",
106
-    "unregistered" : "Unregistered, bye!",
107
-    "connected_to_web_socket" : "Connected to Web Socket!",
108
-    "disconnected_from_web_socket" : "Disconnected from Web Socket!",
109
-    "web_socket_error" : "Web Socket Error",
110
-    "connecting_to_web_socket" : "Connecting to Web Socket...",
111
-    "error_connecting_web_socket" : "Error connecting to the server on the WebSocket port",
112
-    "sending_registration" : "Sending Registration...",
113
-    "unsubscribing" : "Unsubscribing...",
114
-    "disconnecting" : "Disconnecting...",
115
-    "incomming_call" : "Roundpin Incoming Call",
116
-    "incomming_call_from" : "Incoming call from:",
117
-    "answer_call" : "Answer Call",
118
-    "answer_call_with_video" : "Answer Call with Video",
119
-    "reject_call" : "Reject Call",
120
-    "call_failed" : "Call Failed",
121
-    "alert_no_microphone" : "Sorry, you don't have any Microphone connected to this computer. You cannot receive calls.",
122
-    "call_in_progress" : "Call in Progress!",
123
-    "call_rejected" : "Call Rejected",
124
-    "trying" : "Trying...",
125
-    "ringing" : "Ringing...",
126
-    "call_cancelled" : "Call Cancelled",
127
-    "call_ended" : "Call ended, bye!",
128
-    "yes" : "Yes",
129
-    "no" : "No",
130
-    "receive_kilobits_per_second" : "Receive Kilobits per second",
131
-    "receive_packets_per_second" : "Receive Packets per second",
132
-    "receive_packet_loss" : "Receive Packet Loss",
133
-    "receive_jitter" : "Receive Jitter",
134
-    "receive_audio_levels" : "Receive Audio Levels",
135
-    "send_kilobits_per_second" : "Send Kilobits Per Second",
136
-    "send_packets_per_second" : "Send Packets Per Second",
137
-    "state_not_online" : "Not online",
138
-    "state_ready" : "Ready",
139
-    "state_on_the_phone" : "On the phone",
140
-    "state_ringing" : "Ringing",
141
-    "state_on_hold" : "On hold",
142
-    "state_unavailable" : "Unavailable",
143
-    "state_unknown" : "Unknown",
144
-    "alert_empty_text_message" : "Please enter a message in the provided text box or select a file to send, then click the paper plane button on the right, or press Ctrl + Enter, to send the message and/or the file.",
145
-    "no_message" : "No Message",
146
-    "message_from" : "Message from",
147
-    "starting_video_call" : "Starting Video Call...",
148
-    "call_extension" : "Call Extension",
149
-    "call_mobile" : "Call Mobile",
150
-    "call_number" : "Call Number",
151
-    "call_group" : "Call Group",
152
-    "starting_audio_call" : "Starting Audio Call...",
153
-    "call_recording_started" : "Call Recording Started",
154
-    "call_recording_stopped" : "Call Recording Stopped",
155
-    "confirm_stop_recording" : "Are you sure you want to stop recording this call?",
156
-    "dial_number" : "Dial Number",
157
-    "stop_recording" : "Stop Recording?",
158
-    "width" : "Width",
159
-    "height" : "Height",
160
-    "extension" : "Extension",
161
-    "call_blind_transfered" : "Call Blind Transfered",
162
-    "connecting" : "Connecting...",
163
-    "attended_transfer_call_started" : "Attended Transfer Call Started...",
164
-    "attended_transfer_call_cancelled" : "Attended Transfer Call Cancelled",
165
-    "attended_transfer_complete_accepted" : "Attended Transfer Complete (Accepted)",
166
-    "attended_transfer_complete" : "Attended Transfer complete",
167
-    "attended_transfer_call_ended" : "Attended Transfer Call Ended",
168
-    "attended_transfer_call_rejected" : "Attended Transfer Call Rejected",
169
-    "attended_transfer_call_terminated" : "Attended Transfer Call Terminated",
170
-    "launch_video_conference" : "Launch Video Conference",
171
-    "conference_call_started" : "Conference Call Started...",
172
-    "canference_call_cancelled" : "Conference Call Cancelled",
173
-    "conference_call_in_progress" : "Conference Call In Progress",
174
-    "conference_call_ended" : "Conference Call Ended",
175
-    "conference_call_rejected" : "Conference Call Rejected",
176
-    "conference_call_terminated" : "Conference Call Terminated",
177
-    "null_session" : "Session Error, Null",
178
-    "call_on_hold" : "Call on Hold",
179
-    "send_dtmf" : "Sent DTMF",
180
-    "switching_video_source" : "Switching video source",
181
-    "switching_to_canvas" : "Switching to canvas",
182
-    "switching_to_shared_video" : "Switching to Shared Video",
183
-    "switching_to_shared_screeen" : "Switching to Shared Screen",
184
-    "video_disabled" : "Video Disabled",
185
-    "line" : "Line",
186
-    "back" : "Back",
187
-    "send_email" : "Send Email",
188
-    "audio_call" : "Audio Call",
189
-    "video_call" : "Video Call",
190
-    "find_something" : "Find in Message Stream",
191
-    "send_chat_message": "Send Message",
192
-    "save_chat_text": "Save Chat Text",
193
-    "remove" : "Remove",
194
-    "remove_contact" : "Remove Contact",
195
-    "present" : "Present",
196
-    "scratchpad" : "Scratchpad",
197
-    "screen" : "Screen",
198
-    "video" : "Video",
199
-    "blank" : "Blank",
200
-    "show_key_pad" : "Show Key Pad",
201
-    "mute" : "Mute",
202
-    "unmute" : "Unmute",
203
-    "start_call_recording" : "Start Call Recording",
204
-    "stop_call_recording" : "Stop Call Recording",
205
-    "transfer_call" : "Transfer Call",
206
-    "cancel_transfer" : "Cancel Transfer",
207
-    "conference_call" : "Conference Call",
208
-    "cancel_conference" : "Cancel Conference",
209
-    "hold_call" : "Hold Call",
210
-    "resume_call" : "Resume Call",
211
-    "end_call" : "End Call",
212
-    "search_or_enter_number" : "Search or enter number",
213
-    "blind_transfer" : "Blind Transfer",
214
-    "attended_transfer" : "Attended Transfer",
215
-    "complete_transfer" : "Complete Transfer",
216
-    "end_transfer_call" : "End Transfer Call",
217
-    "call" : "Call",
218
-    "cancel_call" : "Cancel Call",
219
-    "join_conference_call" : "Join Conference Call",
220
-    "end_conference_call" : "End Conference Call",
221
-    "microphone_levels" : "Microphone Levels",
222
-    "speaker_levels" : "Speaker Levels",
223
-    "send_statistics" : "Send Statistics",
224
-    "receive_statistics" : "Receive Statistics",
225
-    "find_something_in_the_message_stream" : "Find in message stream ...",
226
-    "type_your_message_here" : "Type the message here, then click the paper plane button on the right or press Ctrl + Enter to send it.",
227
-    "menu" : "Menu",
228
-    "confirm_remove_buddy" : "Are you sure you want to remove this contact from your contacts list and from the database ? This action cannot be undone. Click 'OK' to remove the contact or 'Cancel' to cancel.",
229
-    "remove_buddy" : "Remove Contact",
230
-    "confirm_close_account" : "Are you sure you want to close your Roundpin user account ? Click 'OK' to close your Roundpin user account, or 'Cancel' to cancel.",
231
-    "close_user_account" : "Close Account",
232
-    "close_roundpin_user_account" : "Close Roundpin User Account",
233
-    "read_more" : "Read More",
234
-    "started" : "Started",
235
-    "stopped" : "Stopped",
236
-    "recording_duration" : "Recording Duration",
237
-    "a_video_call" : "a video call",
238
-    "an_audio_call" : "an audio call",
239
-    "you_tried_to_make" : "You tried to make",
240
-    "you_made" : "You made",
241
-    "and_spoke_for" : "and spoke for",
242
-    "you_missed_a_call" : "Missed call",
243
-    "you_recieved" : "You received",
244
-    "second_single" : "second",
245
-    "seconds_plural" : "seconds",
246
-    "minute_single" : "minute",
247
-    "minutes_plural" : "minutes",
248
-    "hour_single" : "hour",
249
-    "hours_plural" : "hours",
250
-    "bytes" : "Bytes",
251
-    "kb" : "KB",
252
-    "mb" : "MB",
253
-    "gb" : "GB",
254
-    "tb" : "TB",
255
-    "pb" : "PB",
256
-    "eb" : "EB",
257
-    "zb" : "ZB",
258
-    "yb" : "YB",
259
-    "call_on_mute" : "Call on Mute",
260
-    "call_off_mute" : "Call off Mute",
261
-    "tag_call" : "Tag Call",
262
-    "clear_flag" : "Clear Flag",
263
-    "flag_call" : "Flag Call",
264
-    "edit_comment" : "Edit Comment",
265
-    "copy_message" : "Copy Message",
266
-    "quote_message" : "Quote Message",
267
-    "select_expression" : "Select Emoticon",
268
-    "send_file": "Send File",
269
-    "dictate_message" : "Dictate Message",
270
-    "alert_speech_recognition" : "Your browser does not support this function, sorry",
271
-    "speech_recognition" : "Speech Recognition",
272
-    "im_listening" : "I'm listening...",
273
-    "msg_silence_detection": "You were quiet for a while so voice recognition turned itself off.",
274
-    "msg_no_speech": "No speech was detected. Try again.",
275
-    "loading": "Loading...",
276
-    "select_video": "Select Video",
277
-    "ok": "OK",
278
-    "device_settings" : "Device Settings",
279
-    "call_stats" : "Call Stats",
280
-    "you_received_a_call_from" : "You received a call from",
281
-    "you_made_a_call_to" : "You made a call to",
282
-    "you_answered_after" : "You answered after",
283
-    "they_answered_after" : "They answered after",
284
-    "with_video" : "with video",
285
-    "you_started_a_blind_transfer_to" : "You started a blind transfer to",
286
-    "you_started_an_attended_transfer_to" : "You started an attended transfer to",
287
-    "the_call_was_completed" : "The call was completed.",
288
-    "the_call_was_not_completed" : "The call was not completed.",
289
-    "you_put_the_call_on_mute" : "You put the call on mute.",
290
-    "you_took_the_call_off_mute" : "You took the call off mute.",
291
-    "you_put_the_call_on_hold" : "You put the call on hold.",
292
-    "you_took_the_call_off_hold" : "You took the call off hold.",
293
-    "call_is_being_recorded" : "Call is being recorded.",
294
-    "now_stopped" : "Now Stopped",
295
-    "you_started_a_conference_call_to" : "You started a conference call to",
296
-    "show_call_detail_record" : "Show Call Detail Record",
297
-    "call_detail_record" : "Call Detail Record",
298
-    "call_direction" : "Call Direction",
299
-    "call_date_and_time" : "Call Date & Time",
300
-    "ring_time" : "Ring Time",
301
-    "talk_time" : "Talk Time",
302
-    "call_duration" : "Call Duration",
303
-    "flagged" : "Flagged",
304
-    "call_tags" : "Call Tags",
305
-    "call_notes" : "Call Notes",
306
-    "activity_timeline" : "Activity Timeline",
307
-    "call_recordings" : "Call Recordings",
308
-    "save_as" : "Save As",
309
-    "right_click_and_select_save_link_as" : "Right click and select Save Link As",
310
-    "send" : "Send",
311
-    "external_conf_users" : "External Video Conference Users",
312
-    "about" : "About",
313
-    "about_text" : "Roundpin is a fully featured browser phone that connects to an Asterisk server and implements audio/video calls, text messaging and video conferencing by using SIP over WebSocket and WebRTC. <br><br>Version 1.0.2<br><br>You can support the continuous maintenance of Roundpin by <a href='https://www.doublebastion.com/donations' target='_blank'>donating</a>.<br>Roundpin is a component of <a href='https://www.doublebastion.com/' target='_blank'>RED SCARF Suite</a>.<br><br> Copyright © 2021 <a href='https://www.doublebastion.com/contact/' target='_blank'>Double Bastion LLC</a> <br> License: <a href='https://www.gnu.org/licenses/agpl-3.0.html' target='_blank'>GNU Affero General Public License v3.0</a><br><br><a href='https://www.doublebastion.com/roundpin/' target='_blank'>Web page<a><br><a href='https://git.doublebastion.com/roundpin/' target='_blank'>Repository</a>"
314
-}
315 0
deleted file mode 100644
... ...
@@ -1,96 +0,0 @@
1
-<?php
2
-/**
3
- *  Copyright (C) 2021  Double Bastion LLC
4
- *
5
- *  This file is part of Roundpin, which is licensed under the
6
- *  GNU Affero General Public License Version 3.0. The license terms
7
- *  are detailed in the "LICENSE.txt" file located in the root directory.
8
- */
9
-
10
-define('RESTRICTED', TRUE);
11
-
12
-include 'install-signup-check.php';
13
-
14
-if ($installcheck == true) {
15
-
16
-if ($_SERVER['REQUEST_SCHEME'] == 'http') { exit("Roundpin cannot be installed on domains using the HTTP protocol. It can only be installed on domains using the HTTPS protocol."); }
17
-
18
- if(isset($_POST['createconfigbttn'])) {
19
-
20
-   if (isset($_POST['databasename']) && $_POST['databasename'] != '' && isset($_POST['databaseuser']) && $_POST['databaseuser'] != '' &&
21
-       isset($_POST['dbuserpassword']) && $_POST['dbuserpassword'] != '') {
22
-
23
-       // Create the configuration file
24
-       $dbname = $_POST['databasename'];
25
-       $dbuser = $_POST['databaseuser'];
26
-       $dbuserpswd = $_POST['dbuserpassword'];
27
-
28
-       // Generate the secret
29
-       $keypassin = substr(sha1(mt_rand()), 0, 32);
30
-       $keysaltin = openssl_random_pseudo_bytes(24);
31
-       $keyLengthin = 80;
32
-       $iterationin = 100;
33
-       $generated_keyin = openssl_pbkdf2($keypassin, $keysaltin, $keyLengthin, $iterationin, 'sha256');
34
-       $keypwd = bin2hex($generated_keyin);
35
-
36
-       $texttofill = "<?php\r\nif(!defined('ACCESSCONST')){die();}\r\n\r\n\$databasename='".$dbname."';\r\n\$username='".$dbuser."';\r\n\$password='".$dbuserpswd."';\r\n\$secret='".$keypwd."';\r\n?>";
37
-
38
-       file_put_contents("roundpin-config.php", $texttofill);
39
-
40
-
41
-       session_start();
42
-
43
-       $_SESSION['validateaccess'] = "accessallowed";
44
-
45
-       header("Location: roundpin-initializedb.php");
46
-   } 
47
- }
48
-
49
-?>
50
-
51
-<html>
52
-
53
-<head>
54
-  <title>Roundpin Setup</title>
55
-
56
-  <link rel="stylesheet" href="css/setup.min.css">
57
-  <script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
58
-  <script type="text/javascript" src="js/roundpin-setup.min.js"></script>
59
-
60
-</head>
61
-
62
-<body>
63
-
64
-  <div id="mainarea">
65
-
66
-    <img class="logosetuppage" src="images/login-logo.svg" />
67
-
68
-    <h3 style="text-align:center;">Roundpin Setup</h3><br>
69
-
70
-    <img class="setupStage" src="images/roundpin-setup-stages-1.svg" />
71
-
72
-    <form id="roundpincredform" action="" method="POST">
73
-
74
-       <label for="databasename" class="fieldlabels">Roundpin database name:</label><br>
75
-       <input type="text" id="databasename" class="textinput" name="databasename"/><br><br>
76
-
77
-       <label for="databaseuser" class="fieldlabels">Roundpin database user:</label><br>
78
-       <input type="text" id="databaseuser" class="textinput" name="databaseuser"/><br><br>
79
-
80
-       <label for="userpassword" class="fieldlabels">Roundpin database user password:</label><br>
81
-       <input type="password" id="dbuserpassword" class="textinput" name="dbuserpassword"/><br><br>
82
-
83
-       <input type="submit" id="createconfigbttn" name="createconfigbttn" value="Next" />
84
-
85
-   </form>
86
-
87
-  </div>
88
-
89
-</body>
90
-
91
-</html>
92
-
93
-<?php
94
-}
95
-
96
-?>