提交 c7c92071 authored 作者: Leon de Rooij's avatar Leon de Rooij

Initial commit



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk/scripts/contrib@13846 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 e0fa2a99
BASE=../../../..
include $(BASE)/build/modmake.rules
LOCAL_CFLAGS += `if test -f $(BASE)/.libs/libfreeswitch_la-switch_odbc.o ; then echo -DSWITCH_HAVE_ODBC; fi ;`
差异被折叠。
CREATE TABLE `dir_domains` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL,
PRIMARY KEY (`id`),
KEY `dir_domains_name` (`name`)
);
CREATE TABLE `dir_domain_params` (
`id` INT NOT NULL AUTO_INCREMENT,
`dir_domain_id` INT NOT NULL,
`name` VARCHAR(255) NOT NULL,
`value` VARCHAR(255) NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`dir_domain_id`) REFERENCES `dir_domains` (`id`)
);
CREATE TABLE `dir_domain_variables` (
`id` INT NOT NULL AUTO_INCREMENT,
`dir_domain_id` INT NOT NULL,
`name` VARCHAR(255) NOT NULL,
`value` VARCHAR(255) NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`dir_domain_id`) REFERENCES `dir_domains` (`id`)
);
CREATE TABLE `dir_groups` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE `dir_groups_users` (
`dir_group_id` INT NOT NULL,
`dir_user_id` INT NOT NULL,
FOREIGN KEY (`dir_group_id`) REFERENCES `dir_groups` (`id`),
FOREIGN KEY (`dir_user_id`) REFERENCES `dir_users` (`id`)
);
CREATE TABLE `dir_users` (
`id` INT NOT NULL AUTO_INCREMENT,
`dir_domain_id` INT NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`dir_domain_id`) REFERENCES `dir_domains` (`id`)
);
CREATE TABLE `dir_user_attrs` (
`id` INT NOT NULL AUTO_INCREMENT,
`dir_user_id` INT NOT NULL,
`name` VARCHAR(255) NOT NULL,
`value` VARCHAR(255) NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`dir_user_id`) REFERENCES `dir_users` (`id`),
KEY `dir_user_attrs_name` (`name`),
KEY `dir_user_attrs_value` (`value`)
);
CREATE TABLE `dir_user_params` (
`id` INT NOT NULL AUTO_INCREMENT,
`dir_user_id` INT NOT NULL,
`name` VARCHAR(255) NOT NULL,
`value` VARCHAR(255) NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`dir_user_id`) REFERENCES `dir_users` (`id`)
);
CREATE TABLE `dir_user_variables` (
`id` INT NOT NULL AUTO_INCREMENT,
`dir_user_id` INT NOT NULL,
`name` VARCHAR(255) NOT NULL,
`value` VARCHAR(255) NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`dir_user_id`) REFERENCES `dir_users` (`id`)
);
INSERT INTO `dir_domains` (`id`, `name`) VALUES (1, '172.31.0.76');
INSERT INTO `dir_domain_params` (`id`, `dir_domain_id`, `name`, `value`) VALUES (1, 1, 'dom_param_name', 'dom_param_value');
INSERT INTO `dir_domain_variables` (`id`, `dir_domain_id`, `name`, `value`) VALUES (1, 1, 'dom_variable_name', 'dom_variable_value');
INSERT INTO `dir_groups` (`id`, `name`) VALUES (1, 'prepay'), (2, 'annoying_customers');
INSERT INTO `dir_groups_users` (`dir_group_id`, `dir_user_id`) VALUES (1, 1), (2, 1);
INSERT INTO `dir_users` (`id`, `dir_domain_id`) VALUES (1, 1);
INSERT INTO `dir_user_attrs` (`id`, `dir_user_id`, `name`, `value`) VALUES (1, 1, 'id', 'someuser'), (2, 1, 'mailbox', '1234');
INSERT INTO `dir_user_params` (`id`, `dir_user_id`, `name`, `value`) VALUES (1, 1, 'password', 'topsecret'), (2, 1, 'vm-password', '0000');
INSERT INTO `dir_user_variables` (`id`, `dir_user_id`, `name`, `value`) VALUES (1, 1, 'accountcode', '1234'), (2, 1, 'user_context', 'default'), (3, 1, 'vm_extension', '1234');
<configuration name="xml_odbc.conf" description="XML ODBC Configuration">
<bindings>
<binding name="directory">
<param name="odbc-dsn" value="freeswitch:freeswitch:secret"/>
<param name="query-domain-key-user" value="SELECT
dir_domains.id AS domain_id,
dir_users.id AS user_id
FROM
dir_domains,
dir_users,
dir_user_attrs
WHERE
dir_domains.name = '%q' AND
dir_user_attrs.name = '%q' AND
dir_user_attrs.value = '%q' AND
dir_domains.id = dir_users.dir_domain_id AND
dir_users.id = dir_user_attrs.dir_user_id;"/>
<param name="query-domain-params" value="SELECT name, value FROM dir_domain_params WHERE dir_domain_id = '%q';"/>
<param name="query-domain-variables" value="SELECT name, value FROM dir_domain_variables WHERE dir_domain_id = '%q';"/>
<param name="query-user-attrs" value="SELECT name, value FROM dir_user_attrs WHERE dir_user_id = '%q';"/>
<param name="query-user-params" value="SELECT name, value FROM dir_user_params WHERE dir_user_id = '%q';"/>
<param name="query-user-variables" value="SELECT name, value FROM dir_user_variables WHERE dir_user_id = '%q';"/>
<param name="query-groups" value="SELECT dir_groups.name FROM dir_groups, dir_groups_users
WHERE dir_groups_users.dir_user_id = '%q' AND dir_groups_users.dir_group_id = dir_groups.id;"/>
</binding>
</bindings>
</configuration>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论