第一步:FreeSwitch数据库
FreeSwitch默认使用 SQLITE嵌入式数据库,因而不需要任何设置就能工作。
默认的数据库存储位置:安装目录下的db目录
默认的核心数据库名称:core.db。
freeswitch默认使用sqlite3数据库,但也支持odbc使用其它数据库,或者PostgreSQL支持的三类数据库类型:
switch_core_db.c实现sqlite核心数据库,
switch_odbc.c实现例如MySQL的数据库,
switch_pgsql.c实现PostgreSQL数据库。
Tables下令会显示数据库中全部的表,各表的作用如下:
Core数据库的全部表:
使用数据库会低沉FreeSwitch的性能,固然禁用 FreeSWITCH 中的 SQLite 可以进步性能和安全性,但是会增加平台的不稳定性风险。
禁用 SQLite 的步调:
设置文件:/usr/local/freeswitch/conf/autoload_configs/auto_load_config.xml。
注释掉 mod_mdb_sqlite 模块的设置项:
- <!-- <load module="mod_mdb_sqlite"/> -->
复制代码 禁用 mod_callcenter 模块中的 SQLite 设置。
设置文件: /usr/local/freeswitch/conf/autoload_configs/callcenter.conf.xml
- <!--<param name="odbc-dsn" value=""sqlite:///usr/local/freeswitch/db/callcenter.db""/>-->
复制代码
第二步:SqlLite数据库管理工具下载与安装
下载地点:SQLiteStudio
安装:
第三步:Java链接FreeSwitch数据库
载入sqlLite驱动
- <dependency>
- <groupId>org.xerial</groupId>
- <artifactId>sqlite-jdbc</artifactId>
- <version>3.41.2.1</version>
- </dependency>
复制代码 编写数据库链接代码:
- import java.sql.*;
- /**
- * FreeSwitchSqliteDemo
- *
- * @author 赵海洋
- * @date 2024/08/30
- */
- public class FreeSwitchSqliteDemo {
- public static void main(String[] args) throws ClassNotFoundException, SQLException {
- Class.forName("org.sqlite.JDBC");
- //SQLite 数据库文件
- String dbFile = "C:\\Program Files\\FreeSWITCH\\db\\core.db";
- String url = "jdbc:sqlite:" + dbFile;
- Connection conn = DriverManager.getConnection(url);
- String sql = "select * from registrations";
- Statement statement = conn.createStatement();
- ResultSet rs = statement.executeQuery(sql);
- ResultSetMetaData md = rs.getMetaData();
- int columnCount = md.getColumnCount();
- while (rs.next()) {
- for (int i = 1; i <= columnCount; i++) {
- String Column = md.getColumnName(i);
- Object obj = rs.getObject(i);
- System.out.println(Column+"\t-->\t"+obj);
- }
- System.out.println("------------------------------------------");
- }
- conn.close();
- }
- }
复制代码 实行结果:
- "C:\Program Files\Java\jdk1.8.0_271\bin\java.exe" "-javaagent:D:\Program Files\Jetbrains\IntelliJ IDEA 2020.1\lib\idea_rt.jar=61012:D:\Program Files\Jetbrains\IntelliJ IDEA 2020.1\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_271\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\rt.jar;E:\项目\workspace\FSESLManger\FSwitchESL\target\classes;C:\Users\HIAPAD\.m2\repository\io\netty\netty-all\4.1.42.Final\netty-all-4.1.42.Final.jar;C:\Users\HIAPAD\.m2\repository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;C:\Users\HIAPAD\.m2\repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;C:\Users\HIAPAD\.m2\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;C:\Users\HIAPAD\.m2\repository\com\google\guava\guava\23.4-jre\guava-23.4-jre.jar;C:\Users\HIAPAD\.m2\repository\com\google\code\findbugs\jsr305\1.3.9\jsr305-1.3.9.jar;C:\Users\HIAPAD\.m2\repository\com\google\errorprone\error_prone_annotations\2.0.18\error_prone_annotations-2.0.18.jar;C:\Users\HIAPAD\.m2\repository\com\google\j2objc\j2objc-annotations\1.1\j2objc-annotations-1.1.jar;C:\Users\HIAPAD\.m2\repository\org\codehaus\mojo\animal-sniffer-annotations\1.14\animal-sniffer-annotations-1.14.jar;C:\Users\HIAPAD\.m2\repository\org\xerial\sqlite-jdbc\3.41.2.1\sqlite-jdbc-3.41.2.1.jar" org.freeswitch.esl.client.sample.example.inbound.FreeSwitchSqliteDemo
- reg_user --> 1004
- realm --> 192.168.1.8
- token --> YjVkMzU3NzMxOWMxZDQ5MzQwNGNmNGFhYTFlZjBkOGQ.
- url --> sofia/internal/sip:1004@192.168.1.8:34004;rinstance=02cc6f3b1473ca2d
- expires --> 1725006845
- network_ip --> 192.168.1.8
- network_port --> 34004
- network_proto --> udp
- hostname --> HIAPAD-X20AB365
- metadata --> null
- ------------------------------------------
- reg_user --> 1002
- realm --> 192.168.1.8
- token --> eFAXTMD3Af_CguT9ibDwEg..
- url --> sofia/internal/sip:1002@192.168.1.3:46015;rinstance=aeb37a9d4e6d339f;transport=tcp
- expires --> 1725006472
- network_ip --> 192.168.1.3
- network_port --> 37741
- network_proto --> tcp
- hostname --> HIAPAD-X20AB365
- metadata --> null
- ------------------------------------------
- Process finished with exit code 0
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |