asterisk1.8 拨号方案 mysql存储(动态)

来源:互联网 发布:网络组策略 编辑:程序博客网 时间:2024/05/16 23:59

1. 在asterisk库中创建下表

DROP TABLE IF EXISTS extensions;

CREATE TABLE `extensions` (
    `id` int(11) NOT NULL auto_increment,
    `context` varchar(20) NOT NULL default '',
    `exten` varchar(20) NOT NULL default '',
    `priority` tinyint(4) NOT NULL default '0',
    `app` varchar(20) NOT NULL default '',
    `appdata` varchar(128) NOT NULL default '',
    PRIMARY KEY(`context`, `exten`, `priority`),
    KEY `id`(`id`)

)ENGINE=MyISAM;


2. 修改extconfig.conf文件

在[settings]增加下面一行

extensions => mysql,general,extensions


3. 修改extensions.conf文件

在账号对应的拨号方案中增加下面一行

[test]

switch => Realtime/@extensions

这样在此账号呼叫时就会自动去数据库里查询名为test的拨号方案了。


注意:当账号的拨号方案名称和数据库里拨号方案的名称一致时,可以按上面的写法。

如果不一致,比如,账号的拨号方案test1,数据库里叫test2.需要这样写

[test1]

switch => Realtime/test2@extensions

可以看出test1对应的是账号的拨号方案,test2对应的是数据里的拨号方案。

因此可以看出这句话是用来引导主叫方去数据库里查询对应的拨号方案的。所以extensions.conf配置文件里的

这个配置是必不可少的,并不是有个数据库就不需要extensions.conf文件了。



4. 在数据库里插入test拨号方案

insert into extensions(id,context,exten,priority,app) values ('','test','8002','1','NoOp');

insert into extensions(id,context,exten,priority,app,appdata) values ('','test','8002','1','NoOp','test');

0 0
原创粉丝点击