ToB企服应用市场:ToB评测及商务社交产业平台

标题: FreeSwitch数据库详解 [打印本页]

作者: 冬雨财经    时间: 2024-11-10 02:52
标题: FreeSwitch数据库详解
第一步: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 模块的设置项:
  1. <!-- <load module="mod_mdb_sqlite"/> -->
复制代码
禁用 mod_callcenter 模块中的 SQLite 设置
 设置文件: /usr/local/freeswitch/conf/autoload_configs/callcenter.conf.xml
  1.     <!--<param name="odbc-dsn" value=""sqlite:///usr/local/freeswitch/db/callcenter.db""/>-->
复制代码

第二步:SqlLite数据库管理工具下载与安装
下载地点:SQLiteStudio
安装:








第三步:Java链接FreeSwitch数据库
载入sqlLite驱动
  1.         <dependency>
  2.             <groupId>org.xerial</groupId>
  3.             <artifactId>sqlite-jdbc</artifactId>
  4.             <version>3.41.2.1</version>
  5.         </dependency>
复制代码
编写数据库链接代码:
 
  1. import java.sql.*;
  2. /**
  3. * FreeSwitchSqliteDemo
  4. *
  5. * @author 赵海洋
  6. * @date 2024/08/30
  7. */
  8. public class FreeSwitchSqliteDemo {
  9.     public static void main(String[] args) throws ClassNotFoundException, SQLException {
  10.         Class.forName("org.sqlite.JDBC");
  11.         //SQLite 数据库文件
  12.         String dbFile = "C:\\Program Files\\FreeSWITCH\\db\\core.db";
  13.         String url = "jdbc:sqlite:" + dbFile;
  14.         Connection conn = DriverManager.getConnection(url);
  15.         String sql = "select * from registrations";
  16.         Statement statement = conn.createStatement();
  17.         ResultSet rs = statement.executeQuery(sql);
  18.         ResultSetMetaData md = rs.getMetaData();
  19.         int columnCount = md.getColumnCount();
  20.         while (rs.next()) {
  21.             for (int i = 1; i <= columnCount; i++) {
  22.                 String Column = md.getColumnName(i);
  23.                 Object obj = rs.getObject(i);
  24.                 System.out.println(Column+"\t-->\t"+obj);
  25.             }
  26.             System.out.println("------------------------------------------");
  27.         }
  28.         conn.close();
  29.     }
  30. }
复制代码
实行结果:
  1. "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
  2. reg_user        -->        1004
  3. realm        -->        192.168.1.8
  4. token        -->        YjVkMzU3NzMxOWMxZDQ5MzQwNGNmNGFhYTFlZjBkOGQ.
  5. url        -->        sofia/internal/sip:1004@192.168.1.8:34004;rinstance=02cc6f3b1473ca2d
  6. expires        -->        1725006845
  7. network_ip        -->        192.168.1.8
  8. network_port        -->        34004
  9. network_proto        -->        udp
  10. hostname        -->        HIAPAD-X20AB365
  11. metadata        -->        null
  12. ------------------------------------------
  13. reg_user        -->        1002
  14. realm        -->        192.168.1.8
  15. token        -->        eFAXTMD3Af_CguT9ibDwEg..
  16. url        -->        sofia/internal/sip:1002@192.168.1.3:46015;rinstance=aeb37a9d4e6d339f;transport=tcp
  17. expires        -->        1725006472
  18. network_ip        -->        192.168.1.3
  19. network_port        -->        37741
  20. network_proto        -->        tcp
  21. hostname        -->        HIAPAD-X20AB365
  22. metadata        -->        null
  23. ------------------------------------------
  24. Process finished with exit code 0
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4