Asterisk Realtime Mode

    在 Asterisk 1.8 的實作

    1. res_config_mysql.so, res_realtime.so
    2. res_config_mysql.conf
    3. extconfig.conf
    4. Table sip_buddies
    檢查需要的模組

    // 檢查 asterisk 有無啟動以下的模組,res_config_mysql.so, res_realtime.so

    $ asterisk -rx "module show like res"
    Module                         Description                              Use Count
    ...
    res_config_mysql.so            MySQL RealTime Configuration Driver      0
    res_realtime.so                Realtime Data Lookup/Rewrite             0
    
    編輯 res_config_mysql.conf
    [ast18]
    dbhost = 127.0.0.1
    dbname = asterisk
    dbuser = astuser
    dbpass = mypass
    dbport = 3306
    dbsock = /var/run/mysqld/mysql.sock ;for ubuntu
    requirements=warn ; or createclose or createchar
    
    編輯 extconfig.conf
    [settings]
    ;This is used for Asterisk realtime mode
    sipusers => mysql,ast18,sip_buddies
    sippeers => mysql,ast18,sip_buddies
    
    Table sip_buddies
    #
    # Table structure for table `sip_buddies`
    #
    
    CREATE TABLE `sip_buddies` (
    `id` int(11) NOT NULL auto_increment,
    `name` varchar(80) NOT NULL default '',
    `host` varchar(31) NOT NULL default '',
    `nat` varchar(5) NOT NULL default 'no',
    `type` enum('user','peer','friend') NOT NULL default 'friend',
    `accountcode` varchar(20) default NULL,
    `amaflags` varchar(13) default NULL,
    `call-limit` smallint(5) unsigned default NULL,
    `callgroup` varchar(10) default NULL,
    `callerid` varchar(80) default NULL,
    `cancallforward` char(3) default 'yes',
    `canreinvite` char(3) default 'yes',
    `context` varchar(80) default NULL,
    `defaultip` varchar(15) default NULL,
    `dtmfmode` varchar(7) default NULL,
    `fromuser` varchar(80) default NULL,
    `fromdomain` varchar(80) default NULL,
    `insecure` varchar(4) default NULL,
    `language` char(2) default NULL,
    `mailbox` varchar(50) default NULL,
    `md5secret` varchar(80) default NULL,
    `deny` varchar(95) default NULL,
    `permit` varchar(95) default NULL,
    `mask` varchar(95) default NULL,
    `musiconhold` varchar(100) default NULL,
    `pickupgroup` varchar(10) default NULL,
    `qualify` char(3) default NULL,
    `regexten` varchar(80) default NULL,
    `restrictcid` char(3) default NULL,
    `rtptimeout` char(3) default NULL,
    `rtpholdtimeout` char(3) default NULL,
    `secret` varchar(80) default NULL,
    `setvar` varchar(100) default NULL,
    `disallow` varchar(100) default 'all',
    `allow` varchar(100) default 'g729;ilbc;gsm;ulaw;alaw',
    `fullcontact` varchar(80) NOT NULL default '',
    `ipaddr` varchar(15) NOT NULL default '',
    `port` smallint(5) unsigned NOT NULL default '0',
    `regserver` varchar(100) default NULL,
    `regseconds` int(11) NOT NULL default '0',
    `lastms` int(11) NOT NULL default '0',
    `username` varchar(80) NOT NULL default '',
    `defaultuser` varchar(80) NOT NULL default '',
    `subscribecontext` varchar(80) default NULL,
    `useragent` varchar(20) default NULL,
    PRIMARY KEY (`id`),
    UNIQUE KEY `name` (`name`)
    ) ENGINE=MyISAM ROW_FORMAT=DYNAMIC;

    其他補充

    • 增加 rtcachefriends=yes 在 sip.conf,如此才能使用 sip show [users|peers] 等指令。用戶端要先註冊後,主機才會有顯示。
    標籤 (Edit tags)
    • No tags
    您必須 登入 才能發佈評論。
    Powered by MindTouch Core