Przeglądaj źródła

更新授权方式,是否录音写入配置文件

baiwenju 5 lat temu
rodzic
commit
72a8d7668b

+ 5 - 1
FreeSWITCH-linux/Config.cpp

@@ -50,7 +50,7 @@ bool CConfig::write()
50 50
 	root["gateWayPrefix"] = "9";
51 51
 	root["gateWayCaller"] = "58558810";
52 52
 	root["gateWayAccount"] = "hykj";
53
-	 
53
+	root["autoRecord"] = true;
54 54
 	const std::string json_file = Json::writeString(builder, root);
55 55
 	std::ofstream ofs;
56 56
 	ofs.open(CFGPATH);
@@ -141,4 +141,8 @@ std::string CConfig::gateWayAccount()
141 141
 	//return "hykj";
142 142
 	return root["gateWayAccount"].asString();
143 143
 }
144
+bool CConfig::isAutoRecord()
145
+{
146
+	return root["autoRecord"].asBool();
147
+}
144 148
 CConfig CConfig::cfg;

+ 1 - 0
FreeSWITCH-linux/Config.h

@@ -27,6 +27,7 @@ public:
27 27
 	std::string gateWayPrefix();   // 出局字冠
28 28
 	std::string gateWayCaller();   // 网关号码/底号
29 29
 	std::string gateWayAccount();  // 网关名字
30
+	bool isAutoRecord();           // 是否自动录音
30 31
 	static CConfig* GetInstance() { return &cfg; }
31 32
 private:
32 33
 	static CConfig cfg;

+ 12 - 1
FreeSWITCH-linux/FsProxy.cpp

@@ -9,6 +9,7 @@
9 9
 #include "JsonStringMaker.h"
10 10
 #include <string>
11 11
 #include <string.h>
12
+#include "SoftAuth.h"
12 13
 
13 14
 CFsProxy::CFsProxy() : m_Gateway(this)
14 15
 {
@@ -776,7 +777,9 @@ void CFsProxy::__freeExten(void)
776 777
 
777 778
 void CFsProxy::__initTrunkChan(void)
778 779
 {
779
-	for (int i = 1; i <= CConfig::GetInstance()->trunkCount(); ++i)
780
+
781
+	/*for (int i = 1; i <= CConfig::GetInstance()->trunkCount(); ++i)*/
782
+	for (int i = 1; i <= SoftAuth::GetInstance()->trunkNum(); ++i)
780 783
 	{
781 784
 		ChanTrunk* pTrunk = new ChanTrunk(this, i);
782 785
 		m_ArrayTrunk.emplace_back(pTrunk);
@@ -1027,6 +1030,14 @@ void CFsProxy::__recvMsgFun(websocketpp::connection_hdl hdl, string msg)
1027 1030
 	}
1028 1031
 	if ("Login" == type) {   // 签入
1029 1032
 
1033
+		if (SoftAuth::GetInstance()->acdNum() <= m_MapAgent.size())
1034
+		{
1035
+			Format fmt("ACD授权数量已达上限,Agent = %s,Exten = %d");
1036
+			fmt % AgentID % AgentExten;
1037
+			LOG_INFO_S(fmt.str());
1038
+			m_Server.sendMsg(hdl, creatJson(type, std::string("签入失败,ACD授权数量已达上限")));
1039
+			return;
1040
+		}
1030 1041
 		if (getExten(ExtenNo) == nullptr)
1031 1042
 		{
1032 1043
 			Format fmt("分机不存在,Agent = %s,Exten = %d");

+ 3 - 3
FreeSWITCH-linux/Session.cpp

@@ -5,6 +5,7 @@
5 5
 #include "JsonStringMaker.h"
6 6
 #include "Util.h"
7 7
 #include "SqlWrite.h"
8
+#include "Config.h"
8 9
 
9 10
 Session::Session(CFsProxy* pParent, string Id) : m_pParent(pParent), m_Id(Id), m_IsSaveDb(true), m_AtionId(0)
10 11
 {
@@ -424,11 +425,10 @@ void Session::__onRecord(VirtualChan * pChan, PCHAN_EVENT_NOTIFY pNotify)
424 425
 			if (!result->next())   // 数据库查不到记录,进行录音
425 426
 			{
426 427
 				LOG_DEBUG("操作标识:%ld", pNotify->ChanOpInstance);
427
-				if (pNotify->ChanOpInstance == 0)  // 会议不进行再次录音
428
+				//if (pNotify->ChanOpInstance == 0)  // 会议不进行再次录音
429
+				if(CConfig::GetInstance()->isAutoRecord())
428 430
 					COperationReactor::GetInstance()->procOperation(-1, LINE_OP_RECORD, pChan->no(), nullptr);  // 执行录音
429 431
 			}
430
-
431 432
 		}, NULL);
432 433
 	}
433
-	 
434 434
 }

+ 129 - 54
FreeSWITCH-linux/SoftAuth.cpp

@@ -2,6 +2,7 @@
2 2
 #include <boost/archive/iterators/base64_from_binary.hpp>
3 3
 #include <boost/archive/iterators/binary_from_base64.hpp>
4 4
 #include <boost/archive/iterators/transform_width.hpp>
5
+#include <boost/algorithm/string.hpp>
5 6
 #include <iostream>
6 7
 #include <sstream>
7 8
 #include <regex>
@@ -26,42 +27,91 @@ bool SoftAuth::MakeAuth(std::string machCode)
26 27
 	return ret;
27 28
 }
28 29
 
30
+bool SoftAuth::MakeAuthV2(std::string machCode)
31
+{
32
+	std::string data; // 
33
+	std::cout << "输入授权日期如:20200715" << std::endl;
34
+	std::cin >> data;
35
+
36
+	std::string trunkNum;
37
+	std::cout << "输入授权中继数量(输入整数):" << std::endl;
38
+	std::cin >> trunkNum;
39
+
40
+	std::string acdNum;
41
+	std::cout << "输入授权ACD坐席数量(输入整数):" << std::endl;
42
+	std::cin >> acdNum;
43
+
44
+	std::string out;
45
+	bool ret = Base64Encode(machCode + data + "#" + trunkNum + "#" + acdNum, out);
46
+
47
+	std::cout << "授权码如下:" << std::endl;
48
+	std::cout << out << std::endl;
49
+	return ret;
50
+}
51
+
29 52
 bool SoftAuth::Auth()
30 53
 {
31 54
 	ifstream is(MSHY, ios_base::in | ios_base::binary);
32 55
 	if (is) {
33 56
 		//is.read(reinterpret_cast<char *>(&aInfo), sizeof(aInfo));
34
-		char str[200] = { 0 };
35
-		/*is.read(str, sizeof(str));*/
36
-		is.read(str, 200);
57
+		char str[200];
58
+		is.read(str, sizeof(str));
37 59
 		is.close();
38 60
 		std::string out;  // 解密后
39
-		//std::cout << "解密前" << str << std::endl;
40
-		Base64Decode(std::string(str),out);
61
+		Base64Decode(str, out);
41 62
 		std::string machcode1;  // 机器码-本机
42 63
 		__getdiskid(machcode1);
43
-		if (machcode1.empty())
64
+		std::string data = std::regex_replace(out, std::regex(machcode1), "");
65
+		std::string machcode2;  // 授权文件中的机器码
66
+		machcode2 = std::regex_replace(out, std::regex(data), "");
67
+		if (machcode2 != machcode1)
44 68
 		{
45
-			LOG_ERROR_S("机器码获取失败,请用root权限运行!");
46 69
 			return false;
47 70
 		}
48
-		//std::cout << "解密后" << out << std::endl;
49
-		//std::cout << "machcode1" << machcode1 << std::endl;
50
-		const std::string data = std::regex_replace(out, std::regex(machcode1), "");
51
-	//	std::cout << "data" << data << std::endl;
52
-		 std::string machcode2;   // 授权文件中的机器码
71
+		aInfo.data = data;
72
+		aInfo.code = machcode1;
73
+		return true;
74
+	}
75
+
76
+	return false;
77
+}
78
+
79
+bool SoftAuth::AuthV2()
80
+{
81
+	ifstream is(MSHY, ios_base::in | ios_base::binary);
82
+	if (is) {
83
+		char str[1024];
84
+		is.read(str, sizeof(str));
85
+		is.close();
86
+	//	std::cout << "解密前:" << str << std::endl;
87
+		std::string out;  // 解密后
88
+		Base64Decode(str, out);
89
+	//	std::cout << "解密后:" << out << std::endl;
90
+		std::string machcode1;  // 机器码-本机
91
+		__getdiskid(machcode1);
92
+	//	std::cout << machcode1 << std::endl;
93
+		std::string data = std::regex_replace(out, std::regex(machcode1), "");
94
+	//	std::cout << data << std::endl;
95
+		std::string machcode2;  // 授权文件中的机器码
96
+		//machcode2 = std::regex_replace(out, std::regex(data), "");
53 97
 		machcode2 = out.substr(0, out.find(data));
54
-		//std::cout << "machcode1" << machcode1 << std::endl;
55
-		//std::cout << "machcode2" << machcode2 << std::endl;
98
+	//	std::cout << machcode2 << std::endl;
56 99
 		if (machcode2 != machcode1)
57 100
 		{
58 101
 			return false;
59 102
 		}
60
-		aInfo.data = data;
103
+		std::vector<std::string> vects;
104
+		boost::split(vects, data, boost::is_any_of("#"));
105
+		if (vects.size() < 3)
106
+			return false;
107
+
108
+		aInfo.data = vects[0];
109
+		aInfo.trunkNum = atoi(vects[1].c_str());
110
+		aInfo.agentNum = atoi(vects[2].c_str());
61 111
 		aInfo.code = machcode1;
62 112
 		return true;
63 113
 	}
64
-	
114
+
65 115
 	return false;
66 116
 }
67 117
 
@@ -72,18 +122,13 @@ bool SoftAuth::Auth(std::string& encode)
72 122
 		return false;
73 123
 	ofstream os(MSHY, ios_base::out | ios_base::binary);
74 124
 	//os.write(reinterpret_cast<char *>(&employee1), sizeof(employee1));
75
-	os.write(encode.c_str(),encode.length());
125
+	os.write(encode.c_str(), encode.length());
76 126
 	os.close();
77
-	
127
+	/*AuthInfo* aInfo = (AuthInfo*)out.c_str();*/
128
+	// aInfo = (AuthInfo*)out.c_str();
78 129
 	std::string hardc;
79 130
 	__getdiskid(hardc);
80
-	/*std::cout << "encode--" << encode << std::endl;
81
-	std::cout << "out--" << out << std::endl;
82
-	std::cout << "hardc--" << hardc << std::endl;
83
-	std::cout << "out.find(hardc)" << out.find(hardc) << std::endl;
84
-	std::cout << "strstr(out.c_str(),hardc.c_str())" << strstr(out.c_str(), hardc.c_str()) << std::endl;*/
85 131
 	if (out.find(hardc) == string::npos)
86
-	//if(strstr(out.c_str(),hardc.c_str())==NULL)
87 132
 	{
88 133
 		std::cout << "机器码和授权码中不相符" << std::endl;
89 134
 		return false;
@@ -97,11 +142,41 @@ bool SoftAuth::Auth(std::string& encode)
97 142
 	return true;
98 143
 }
99 144
 
100
-bool SoftAuth::isExpire()
145
+bool SoftAuth::AuthV2(std::string & encode)
101 146
 {
102
-	if (aInfo.data.empty())
147
+	std::string out;
148
+	if (!Base64Decode(encode, out))
103 149
 		return false;
104
-	//std::cout << "aInfo.data" << aInfo.data << std::endl;
150
+	ofstream os(MSHY, ios_base::out | ios_base::binary);
151
+	os.write(encode.c_str(), encode.length());
152
+	os.close();
153
+
154
+	std::string hardc;
155
+	__getdiskid(hardc);
156
+	if (out.find(hardc) == string::npos)
157
+	{
158
+		std::cout << "机器码和授权码中不相符" << std::endl;
159
+		return false;
160
+	}
161
+	std::string data = std::regex_replace(out, std::regex(hardc), "");
162
+	std::vector<std::string> vects;
163
+	boost::split(vects, data, boost::is_any_of("#"));
164
+	if (vects.size() < 3)
165
+		return false;
166
+
167
+	aInfo.data = vects[0];
168
+	aInfo.trunkNum = atoi(vects[1].c_str());
169
+	aInfo.agentNum = atoi(vects[2].c_str());
170
+	aInfo.code = hardc;
171
+	if (aInfo.code != hardc || hardc.empty())
172
+	{
173
+		return false;
174
+	}
175
+	return true;
176
+}
177
+
178
+bool SoftAuth::isExpire()
179
+{
105 180
 	boost::gregorian::date curData = Util::CurData();
106 181
 	boost::gregorian::date dData = boost::gregorian::from_undelimited_string(aInfo.data);
107 182
 	/*boost::gregorian::date dData = boost::gregorian::from_undelimited_string("20200716");*/
@@ -109,7 +184,7 @@ bool SoftAuth::isExpire()
109 184
 	{
110 185
 		return false;
111 186
 	}
112
-	return dData>curData;
187
+	return dData > curData;
113 188
 }
114 189
 
115 190
 bool SoftAuth::getMachineCode(std::string & code)
@@ -137,7 +212,7 @@ int SoftAuth::__getdiskid(std::string & hardc)
137 212
 			if (strstr(buff, "/dev/sda1: UUID=") != NULL)       //  /dev/sda1: UUID="1a2dffc7-a5c4-49a0-8158-147b3fa07f78" TYPE="ext4" PARTUUID="b48e27f0-01"
138 213
 			{
139 214
 				hardc = buff;
140
-				hardc = std::regex_replace(hardc, std::regex("(/)|( )|(\")|(\\n)"), "");     //  devsda1:UUID=1a2dffc7-a5c4-49a0-8158-147b3fa07f78TYPE=ext4PARTUUID=b48e27f0-01
215
+				hardc = std::regex_replace(hardc, std::regex("(/)|( )|(\")|(\\n)"), "");      //  devsda1:UUID=1a2dffc7-a5c4-49a0-8158-147b3fa07f78TYPE=ext4PARTUUID=b48e27f0-01
141 216
 				hardc = std::regex_replace(hardc, std::regex("devsda1:UUID=(.*)TYPE=(.*)PARTUUID=(.*)"), "$1");
142 217
 				pclose(file);
143 218
 				return 0;
@@ -150,35 +225,35 @@ int SoftAuth::__getdiskid(std::string & hardc)
150 225
 
151 226
 bool SoftAuth::Base64Encode(const string & input, string & output)
152 227
 {
153
-		typedef base64_from_binary<transform_width<string::const_iterator, 6, 8>> Base64EncodeIterator;
154
-		stringstream result;
155
-		try {
156
-			copy(Base64EncodeIterator(input.begin()), Base64EncodeIterator(input.end()), ostream_iterator<char>(result));
157
-		}
158
-		catch (...) {
159
-			return false;
160
-		}
161
-		size_t equal_count = (3 - input.length() % 3) % 3;
162
-		for (size_t i = 0; i < equal_count; i++)
163
-		{
164
-			result.put('=');
165
-		}
166
-		output = result.str();
167
-		return output.empty() == false;
228
+	typedef base64_from_binary<transform_width<string::const_iterator, 6, 8>> Base64EncodeIterator;
229
+	stringstream result;
230
+	try {
231
+		copy(Base64EncodeIterator(input.begin()), Base64EncodeIterator(input.end()), ostream_iterator<char>(result));
232
+	}
233
+	catch (...) {
234
+		return false;
235
+	}
236
+	size_t equal_count = (3 - input.length() % 3) % 3;
237
+	for (size_t i = 0; i < equal_count; i++)
238
+	{
239
+		result.put('=');
240
+	}
241
+	output = result.str();
242
+	return output.empty() == false;
168 243
 }
169 244
 
170 245
 bool SoftAuth::Base64Decode(const string &  input, string & output)
171 246
 {
172
-		typedef transform_width<binary_from_base64<string::const_iterator>, 8, 6> Base64DecodeIterator;
173
-		stringstream result;
174
-		try {
175
-			copy(Base64DecodeIterator(input.begin()), Base64DecodeIterator(input.end()), ostream_iterator<char>(result));
176
-		}
177
-		catch (...) {
178
-			return false;
179
-		}
180
-		output = result.str();
181
-		return output.empty() == false;
247
+	typedef transform_width<binary_from_base64<string::const_iterator>, 8, 6> Base64DecodeIterator;
248
+	stringstream result;
249
+	try {
250
+		copy(Base64DecodeIterator(input.begin()), Base64DecodeIterator(input.end()), ostream_iterator<char>(result));
251
+	}
252
+	catch (...) {
253
+		return false;
254
+	}
255
+	output = result.str();
256
+	return output.empty() == false;
182 257
 }
183 258
 
184 259
 SoftAuth SoftAuth::instance;

+ 13 - 8
FreeSWITCH-linux/SoftAuth.h

@@ -5,7 +5,7 @@
5 5
 #include <string>
6 6
 using namespace std;
7 7
 //#define  MSHY   "/etc/mshy.so"      // 验证权限文件
8
-#define  MSHY   "./mshy.so"      // 验证权限文件
8
+#define  MSHY   "mshy.so"      // 验证权限文件
9 9
 typedef struct {
10 10
 	std::string code;  // 机器码
11 11
 	std::string data;  // 到期时间
@@ -18,27 +18,32 @@ class SoftAuth
18 18
 public:
19 19
 
20 20
 	bool MakeAuth(std::string machCode);
21
+	bool MakeAuthV2(std::string machCode);
21 22
 	bool Auth();
23
+	bool AuthV2();
22 24
 	bool Auth(std::string& encode);    // 解码
25
+	bool AuthV2(std::string& encode);    // 解码
23 26
 	bool isExpire();
27
+	int trunkNum() { return aInfo.trunkNum; }
28
+	int acdNum() { return aInfo.agentNum; }
24 29
 	bool getMachineCode(std::string& code);
25
-
30
+	void getAuthInfo(AuthInfo &authInfo) { authInfo = aInfo; }
26 31
 	static SoftAuth* GetInstance() { return &instance; }
27 32
 
28 33
 private:
29
-	SoftAuth() { /*aInfo = nullptr; */};
34
+	SoftAuth() { /*aInfo = nullptr; */ };
30 35
 	~SoftAuth() {};
31 36
 	SoftAuth(const SoftAuth&) = default;
32 37
 	SoftAuth& operator=(const SoftAuth&) = delete;
33 38
 
34 39
 	int __getdiskid(std::string& hardc);
35
-	
40
+
36 41
 	bool Base64Encode(const string & input, string & output);
37 42
 	bool Base64Decode(const string & input, string & output);
38
-	
43
+
39 44
 private:
40
-  static SoftAuth instance;
41
-  /*AuthInfo* aInfo;*/
42
-  AuthInfo aInfo;
45
+	static SoftAuth instance;
46
+	/*AuthInfo* aInfo;*/
47
+	AuthInfo aInfo;
43 48
 };
44 49
 

BIN
FreeSWITCH-linux/bin/x64/Release/middleware


+ 1 - 1
FreeSWITCH-linux/log4cpp.conf

@@ -18,7 +18,7 @@ log4cpp.appender.console.layout=PatternLayout
18 18
  log4cpp.appender.TESTAppender=RollingFileAppender
19 19
  
20 20
  #当日志文件到达maxFileSize大小时,将会自动滚动
21
- log4cpp.appender.TESTAppender.maxFileSize=1024*1024*10
21
+ log4cpp.appender.TESTAppender.maxFileSize=1024*1024*1024*10
22 22
  
23 23
  #maxBackupIndex指定可以产生的滚动文件的最大数
24 24
  log4cpp.appender.TESTAppender.maxBackupIndex=100

+ 35 - 7
FreeSWITCH-linux/main.cpp

@@ -6,12 +6,14 @@
6 6
 #include "TtsBaidu.h"
7 7
 #include "SqlWrite.h"
8 8
 #include "SoftAuth.h"
9
+#include <string>
9 10
 
10 11
 void AuthFun()
11 12
 {
12 13
 	bool isStop = false;
13 14
 	while (!isStop)
14 15
 	{
16
+		std::this_thread::sleep_for(std::chrono::hours(1));
15 17
 		if (!SoftAuth::GetInstance()->isExpire())  // 授权到期,关闭程序
16 18
 		{
17 19
 			LOG_WARN("授权到期,自动关闭程序!");
@@ -19,7 +21,6 @@ void AuthFun()
19 21
 			CFsProxy::GetInstance().release();
20 22
 			exit(EXIT_SUCCESS);
21 23
 		}
22
-		std::this_thread::sleep_for(std::chrono::hours(1));
23 24
 	}
24 25
 }
25 26
 int main()
@@ -27,19 +28,37 @@ int main()
27 28
 	MYLog::instance()->Init("log4cpp.conf");
28 29
 	LOG_INFO_S("程序开始启动...");
29 30
 
30
-	if (!SoftAuth::GetInstance()->Auth())
31
+	//if (!SoftAuth::GetInstance()->Auth())
32
+	//{
33
+	//	std::cout << "该机器未授权,请授权后使用" << std::endl;
34
+	//	std::string hardc;
35
+	//	SoftAuth::GetInstance()->getMachineCode(hardc);
36
+	//	//std::cout << SoftAuth::GetInstance()->getMachineCode(hardc) << std::endl;
37
+	//	std::cout << "机器码:" << hardc << std::endl;
38
+	//	//SoftAuth::GetInstance()->MakeAuth(hardc);
39
+	//	
40
+	//	std::string code;// = "MWEyZGZmYzctYTVjNC00OWEwLTgxNTgtMTQ3YjNmYTA3Zjc4CjIwMjAwNzE2";
41
+	//	std::cout << "请输入授权码:" << std::endl;
42
+	//	std::cin >> code;
43
+	//	if (!SoftAuth::GetInstance()->Auth(code))
44
+	//	{
45
+	//		LOG_WARN("授权验证失败,自动关闭程序!");
46
+	//		CFsProxy::GetInstance().release();
47
+	//		//exit(EXIT_SUCCESS);
48
+	//		return 0;
49
+	//	}
50
+	//}
51
+	if (!SoftAuth::GetInstance()->AuthV2())
31 52
 	{
32 53
 		std::cout << "该机器未授权,请授权后使用" << std::endl;
33 54
 		std::string hardc;
34 55
 		SoftAuth::GetInstance()->getMachineCode(hardc);
35
-		//std::cout << SoftAuth::GetInstance()->getMachineCode(hardc) << std::endl;
36 56
 		std::cout << "机器码:" << hardc << std::endl;
37
-		//SoftAuth::GetInstance()->MakeAuth(hardc);
38
-		
57
+
39 58
 		std::string code;// = "MWEyZGZmYzctYTVjNC00OWEwLTgxNTgtMTQ3YjNmYTA3Zjc4CjIwMjAwNzE2";
40 59
 		std::cout << "请输入授权码:" << std::endl;
41 60
 		std::cin >> code;
42
-		if (!SoftAuth::GetInstance()->Auth(code))
61
+		if (!SoftAuth::GetInstance()->AuthV2(code))
43 62
 		{
44 63
 			LOG_WARN("授权验证失败,自动关闭程序!");
45 64
 			CFsProxy::GetInstance().release();
@@ -47,7 +66,16 @@ int main()
47 66
 			return 0;
48 67
 		}
49 68
 	}
50
-
69
+	AuthInfo aInfo;
70
+	SoftAuth::GetInstance()->getAuthInfo(aInfo);
71
+	LOG_INFO_S("授权到期时间:" + aInfo.data);
72
+	LOG_INFO_S("授权中继数量:" + std::to_string(aInfo.trunkNum));
73
+	LOG_INFO_S("授权坐席数量:" + std::to_string(aInfo.agentNum));
74
+	if (!SoftAuth::GetInstance()->isExpire())  // 授权到期,关闭程序
75
+	{
76
+		LOG_WARN("授权到期,自动关闭程序!");
77
+		return 0;
78
+	}
51 79
 	std::thread(std::bind(AuthFun)).detach();
52 80
 	
53 81
 	

Plik diff jest za duży
+ 7 - 7
FreeSWITCH-linux/obj/x64/Release/-2104221788.CompileUpToDateFile.tlog


+ 8 - 8
FreeSWITCH-linux/obj/x64/Release/-2104221788.CopySourcesUpToDateFile.tlog

@@ -2,17 +2,17 @@ C:\Project\Middlewares-Linux\FreeSWITCH-linux\Agent.cpp|637322427291729188|~/pro
2 2
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\AutoCall.cpp|637322441488183541|~/projects/FreeSWITCH-linux|
3 3
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\CallStringMaker.cpp|637293000196977222|~/projects/FreeSWITCH-linux|
4 4
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\ChanExten.cpp|637297149664233116|~/projects/FreeSWITCH-linux|
5
-C:\Project\Middlewares-Linux\FreeSWITCH-linux\Config.cpp|637297424506432857|~/projects/FreeSWITCH-linux|
5
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\Config.cpp|637324042192222136|~/projects/FreeSWITCH-linux|
6 6
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\JsonStringMaker.cpp|637293703737315683|~/projects/FreeSWITCH-linux|
7 7
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\OpAutoCall.cpp|637322436438179212|~/projects/FreeSWITCH-linux|
8 8
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\OpHangup.cpp|637311162276998365|~/projects/FreeSWITCH-linux|
9 9
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\OpHoldon.cpp|637305760263197326|~/projects/FreeSWITCH-linux|
10 10
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\EslGateway.cpp|637322386778580805|~/projects/FreeSWITCH-linux|
11
-C:\Project\Middlewares-Linux\FreeSWITCH-linux\FsProxy.cpp|637322422529968198|~/projects/FreeSWITCH-linux|
11
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\FsProxy.cpp|637324040431026967|~/projects/FreeSWITCH-linux|
12 12
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\ChanTrunk.cpp|637291981012635660|~/projects/FreeSWITCH-linux|
13 13
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\JdbcHelper.cpp|637322251479454832|~/projects/FreeSWITCH-linux|
14 14
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\Log.cpp|637280686304488048|~/projects/FreeSWITCH-linux|
15
-C:\Project\Middlewares-Linux\FreeSWITCH-linux\main.cpp|637322372333780878|~/projects/FreeSWITCH-linux|
15
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\main.cpp|637324036872540293|~/projects/FreeSWITCH-linux|
16 16
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\Md5.cpp|637280998994034399|~/projects/FreeSWITCH-linux|
17 17
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\Operation.cpp|637292164167520236|~/projects/FreeSWITCH-linux|
18 18
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\OperationReactor.cpp|637320715197914939|~/projects/FreeSWITCH-linux|
@@ -26,8 +26,8 @@ C:\Project\Middlewares-Linux\FreeSWITCH-linux\OpMute.cpp|637310113257882737|~/pr
26 26
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\OpMyd.cpp|637305201854065451|~/projects/FreeSWITCH-linux|
27 27
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\OpRecord.cpp|637308341755624735|~/projects/FreeSWITCH-linux|
28 28
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\OpTransfer.cpp|637305107133879856|~/projects/FreeSWITCH-linux|
29
-C:\Project\Middlewares-Linux\FreeSWITCH-linux\Session.cpp|637322407883385777|~/projects/FreeSWITCH-linux|
30
-C:\Project\Middlewares-Linux\FreeSWITCH-linux\SoftAuth.cpp|637321360076650066|~/projects/FreeSWITCH-linux|
29
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\Session.cpp|637324043432056044|~/projects/FreeSWITCH-linux|
30
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\SoftAuth.cpp|637324037483357343|~/projects/FreeSWITCH-linux|
31 31
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\SqlWrite.cpp|637298176092937654|~/projects/FreeSWITCH-linux|
32 32
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\TimeScheduler.cpp|637292236462926004|~/projects/FreeSWITCH-linux|
33 33
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\TtsBaidu.cpp|637312070891685050|~/projects/FreeSWITCH-linux|
@@ -39,7 +39,7 @@ C:\Project\Middlewares-Linux\FreeSWITCH-linux\AutoCall.h|637321336072060353|~/pr
39 39
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\CalllDetaillnc.h|637293918120798402|~/projects/FreeSWITCH-linux|
40 40
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\CallStringMaker.h|637290320107726902|~/projects/FreeSWITCH-linux|
41 41
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\ChanExten.h|637297149664353064|~/projects/FreeSWITCH-linux|
42
-C:\Project\Middlewares-Linux\FreeSWITCH-linux\Config.h|637297424117067595|~/projects/FreeSWITCH-linux|
42
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\Config.h|637324041188545186|~/projects/FreeSWITCH-linux|
43 43
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\ICdr.h|637293918120953832|~/projects/FreeSWITCH-linux|
44 44
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\JsonStringMaker.h|637293703751006002|~/projects/FreeSWITCH-linux|
45 45
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\OpAutoCall.h|637320678289571539|~/projects/FreeSWITCH-linux|
@@ -67,7 +67,7 @@ C:\Project\Middlewares-Linux\FreeSWITCH-linux\OpMyd.h|637298859025196829|~/proje
67 67
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\OpRecord.h|637296466203442231|~/projects/FreeSWITCH-linux|
68 68
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\OpTransfer.h|637305055019778701|~/projects/FreeSWITCH-linux|
69 69
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\Session.h|637321390960583220|~/projects/FreeSWITCH-linux|
70
-C:\Project\Middlewares-Linux\FreeSWITCH-linux\SoftAuth.h|637305092377643390|~/projects/FreeSWITCH-linux|
70
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\SoftAuth.h|637324025896536105|~/projects/FreeSWITCH-linux|
71 71
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\SqlWrite.h|637293959295927923|~/projects/FreeSWITCH-linux|
72 72
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\TimeScheduler.h|637292236463075955|~/projects/FreeSWITCH-linux|
73 73
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base.h|637280979871215577|~/projects/FreeSWITCH-linux|
@@ -86,5 +86,5 @@ C:\Project\Middlewares-Linux\FreeSWITCH-linux\TtsBaidu.h|637281005027335202|~/pr
86 86
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\Util.h|637304070714988694|~/projects/FreeSWITCH-linux|
87 87
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\VirtualChan.h|637281766633219182|~/projects/FreeSWITCH-linux|
88 88
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\WebSocketServer.h|637292044459111356|~/projects/FreeSWITCH-linux|
89
-C:\Project\Middlewares-Linux\FreeSWITCH-linux\log4cpp.conf|637280686305113041|~/projects/FreeSWITCH-linux|
89
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\log4cpp.conf|637323969849594653|~/projects/FreeSWITCH-linux|
90 90
 C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\README.md|636725202100000000|~/projects/FreeSWITCH-linux|

+ 78 - 0
FreeSWITCH-linux/obj/x64/Release/FreeSWITCH-linux.log

@@ -3,6 +3,84 @@
3 3
   Validating architecture
4 4
   Starting remote build
5 5
   Compiling sources:
6
+  Agent.cpp
6 7
   AutoCall.cpp
8
+  CallStringMaker.cpp
9
+  ChanExten.cpp
10
+  Config.cpp
11
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\Config.cpp(71,29): warning : conversion to ‘short int’ from ‘Json::Value::Int {aka int}’ may alter its value [-Wconversion]
12
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\Config.cpp(71,29): warning :   return root["fsPort"].asInt();
13
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\Config.cpp(71,29): warning :          ~~~~~~~~~~~~~~~~~~~~^~
14
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\Config.cpp(82,30): warning : conversion to ‘uint16_t {aka short unsigned int}’ from ‘Json::Value::UInt {aka unsigned int}’ may alter its value [-Wconversion]
15
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\Config.cpp(82,30): warning :   return root["wsPort"].asUInt();
16
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\Config.cpp(82,30): warning :          ~~~~~~~~~~~~~~~~~~~~~^~
17
+  JsonStringMaker.cpp
18
+  OpAutoCall.cpp
19
+  OpHangup.cpp
20
+  OpHoldon.cpp
21
+  EslGateway.cpp
22
+  FsProxy.cpp
23
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\FsProxy.cpp(1033,41): warning : comparison between signed and unsigned integer expressions [-Wsign-compare]
24
+  ChanTrunk.cpp
25
+  JdbcHelper.cpp
26
+  Log.cpp
27
+  main.cpp
28
+  Md5.cpp
29
+  Operation.cpp
30
+  OperationReactor.cpp
31
+  OpInsert.cpp
32
+  OpInstead.cpp
33
+  OpIntercept.cpp
34
+  OpListen.cpp
35
+  OpMakeCall.cpp
36
+  OpMeeting.cpp
37
+  OpMute.cpp
38
+  OpMyd.cpp
39
+  OpRecord.cpp
40
+  OpTransfer.cpp
41
+  Session.cpp
42
+  SoftAuth.cpp
43
+  SqlWrite.cpp
44
+  TimeScheduler.cpp
45
+  TtsBaidu.cpp
46
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(50,67): warning : conversion to ‘unsigned char’ from ‘int’ may alter its value [-Wconversion]
47
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(50,67): warning :                  char_array_4[1] = ((char_array_3[0] & 0x03) << 4) + ((char_array_3[1] & 0xf0) >> 4);
48
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(50,67): warning :                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(51,67): warning : conversion to ‘unsigned char’ from ‘int’ may alter its value [-Wconversion]
50
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(51,67): warning :                  char_array_4[2] = ((char_array_3[1] & 0x0f) << 2) + ((char_array_3[2] & 0xc0) >> 6);
51
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(51,67): warning :                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
52
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(70,63): warning : conversion to ‘unsigned char’ from ‘int’ may alter its value [-Wconversion]
53
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(70,63): warning :              char_array_4[1] = ((char_array_3[0] & 0x03) << 4) + ((char_array_3[1] & 0xf0) >> 4);
54
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(70,63): warning :                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(71,63): warning : conversion to ‘unsigned char’ from ‘int’ may alter its value [-Wconversion]
56
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(71,63): warning :              char_array_4[2] = ((char_array_3[1] & 0x0f) << 2) + ((char_array_3[2] & 0xc0) >> 6);
57
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(71,63): warning :                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
58
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(102,56): warning : conversion to ‘unsigned char’ from ‘std::__cxx11::basic_string<char>::size_type {aka long unsigned int}’ may alter its value [-Wconversion]
59
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(102,56): warning :                      char_array_4[i] = base64_chars.find(char_array_4[i]);
60
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(102,56): warning :                                        ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
61
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(104,58): warning : conversion to ‘unsigned char’ from ‘int’ may alter its value [-Wconversion]
62
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(104,58): warning :                  char_array_3[0] = (char_array_4[0] << 2) + ((char_array_4[1] & 0x30) >> 4);
63
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(104,58): warning :                                    ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(105,66): warning : conversion to ‘unsigned char’ from ‘int’ may alter its value [-Wconversion]
65
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(105,66): warning :                  char_array_3[1] = ((char_array_4[1] & 0xf) << 4) + ((char_array_4[2] & 0x3c) >> 2);
66
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(105,66): warning :                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(106,66): warning : conversion to ‘unsigned char’ from ‘int’ may alter its value [-Wconversion]
68
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(106,66): warning :                  char_array_3[2] = ((char_array_4[2] & 0x3) << 6) + char_array_4[3];
69
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(106,66): warning :                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
70
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(119,52): warning : conversion to ‘unsigned char’ from ‘std::__cxx11::basic_string<char>::size_type {aka long unsigned int}’ may alter its value [-Wconversion]
71
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(119,52): warning :                  char_array_4[j] = base64_chars.find(char_array_4[j]);
72
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(119,52): warning :                                    ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
73
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(121,54): warning : conversion to ‘unsigned char’ from ‘int’ may alter its value [-Wconversion]
74
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(121,54): warning :              char_array_3[0] = (char_array_4[0] << 2) + ((char_array_4[1] & 0x30) >> 4);
75
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(121,54): warning :                                ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(122,62): warning : conversion to ‘unsigned char’ from ‘int’ may alter its value [-Wconversion]
77
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(122,62): warning :              char_array_3[1] = ((char_array_4[1] & 0xf) << 4) + ((char_array_4[2] & 0x3c) >> 2);
78
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(122,62): warning :                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(123,62): warning : conversion to ‘unsigned char’ from ‘int’ may alter its value [-Wconversion]
80
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(123,62): warning :              char_array_3[2] = ((char_array_4[2] & 0x3) << 6) + char_array_4[3];
81
+C:\Project\Middlewares-Linux\FreeSWITCH-linux\ttsapi\base\base64.h(123,62): warning :                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
82
+  Util.cpp
83
+  VirtualChan.cpp
84
+  WebSocketServer.cpp
7 85
   Linking objects
8 86
   FreeSWITCH-linux.vcxproj -> C:\Project\Middlewares-Linux\FreeSWITCH-linux\bin\x64\Release\middleware