• FreeSWITCH使用MySQL数据库


    FreeSWITH 默认使用 sqlite 作为数据库,但是很多时候我们需要使用 MySQL 等数据库作为服务器数据库使用,比如集群主备的时候,可以方便从数据库读取信息。这里以 MySQL 为例介绍相关配置

    主备的集群安装见: FreeSwitch高可用解决方案

    1. 安装ODBC库

    yum -y install mysql-connector-odbc.x86_64 unixODBC-devel.x86_64

    2. 配置ODBC

    vi /etc/odbc.ini  #该文件默认没有,直接新建保存

    [freeswitch]
    Description=FreeSwitch MySQL database
    Driver=MySQL
    SERVER =192.168.2.190
    PORT =3306
    DATABASE = freeswitch
    OPTION  =67108864
    CHARSET = UTF8
    USER = root
    PASSWORD = WenFei@123
    Threading = 0

    cat /etc/odbcinst.ini  #ODBC装完后就已经产生

    # Example driver definitions
    
    # Driver from the postgresql-odbc package
    # Setup from the unixODBC package
    [PostgreSQL]
    Description     = ODBC for PostgreSQL
    Driver          = /usr/lib/psqlodbcw.so
    Setup           = /usr/lib/libodbcpsqlS.so
    Driver64        = /usr/lib64/psqlodbcw.so
    Setup64         = /usr/lib64/libodbcpsqlS.so
    FileUsage       = 1
    
    
    # Driver from the mysql-connector-odbc package
    # Setup from the unixODBC package
    [MySQL]
    Description     = ODBC for MySQL
    Driver          = /usr/lib/libmyodbc5.so
    Setup           = /usr/lib/libodbcmyS.so
    Driver64        = /usr/lib64/libmyodbc5.so
    Setup64         = /usr/lib64/libodbcmyS.so
    FileUsage       = 1

    3. 安装数据库

    如果你的服务器没有安装 MySQL 可以按照下述方法安装,如果已经有了数据库,则跳过这个步骤。

    初始化数据库后创建 freeswitch 数据库 create database freeswitch;
    接下来测试 ODBC 是否正常

    isql -v freeswitch

    如果登陆成功,那么就说明是OK的。此时的 MySQL 数据库里面的表还是空的。

    4. 重新编译 FreeSWITCH

    回到编译目录,重新编译,加入 --enable-core-odbc-support 参数。

    ./configure --enable-core-odbc-support
    make && make install

    5. 配置 FreeSWITCH xml

    这里的数据库账号 root 假设密码为 123456

    找到相应的文件按照如下配置:

    <!-- vi conf/autoload_configs/db.conf.xml -->
    <param name="odbc-dsn" value="freeswitch:root:123456"/>
    
    <!-- vi conf/autoload_configs/switch.conf.xml -->
    <param name="core-db-dsn" value="freeswitch:root:123456" />
    <param name="odbc-dsn" value="freeswitch:root:123456"/>
    
    <!-- vi conf/autoload_configs/voicemail.conf.xml -->
    <param name="odbc-dsn" value="freeswitch:root:123456"/>
    
    <!-- vi conf/autoload_configs/callcenter.conf.xml -->
    <param name="odbc-dsn" value="freeswitch:root:123456"/>
    
    <!-- vi conf/sip_profiles/external.xml -->
    <param name="odbc-dsn" value="freeswitch:root:123456"/>
    
    <!-- vi conf/sip_profiles/internal.xml -->
    <param name="odbc-dsn" value="freeswitch:root:123456"/>
    
    <!-- vi conf/sip_profiles/internal-ipv6.xml -->
    <param name="odbc-dsn" value="freeswitch:root:123456"/>
    
    <!-- vi conf/sip_profiles/external-ipv6.xml -->
    <param name="odbc-dsn" value="freeswitch:root:123456"/>
    
    <!-- vi conf/autoload_configs/fifo.conf.xml -->
    <settings>
        <param name="delete-all-outbound-member-on-startup" value="false"/>
        <param name="odbc-dsn" value="freeswitch:root:123456"/>
    </settings>
    
    <!-- vi conf/vars.xml -->
    <X-PRE-PROCESS cmd="set" data="json_db_handle=odbc://freeswitch:root:123456"/>

    重启 FreeSWITCH 基本流程就完成了。 

    6. 验证FreeSWITCH

    程序起来后,发现数据库有表有信息了,这里埋藏着一个巨大的坑!!!

  • 相关阅读:
    原型链
    computed>watch>methods;methods>watch
    rem
    Cookie、Session、Token
    :(){:|:&};:
    js匹配多选框选中项
    sass自备了一系列的函数功能。
    字符串
    ECMAScript6 入门教程记录之-编程风格
    const命令
  • 原文地址:https://www.cnblogs.com/cash/p/13331299.html
Copyright © 2020-2023  润新知