>데이터 베이스 >MySQL 튜토리얼 >怎么得到Asterisk中MYSQL里存放的所有用户的分机号

怎么得到Asterisk中MYSQL里存放的所有用户的分机号

WBOY
WBOY원래의
2016-06-07 16:27:181026검색

如何得到Asterisk中MYSQL里存放的所有用户的分机号 如何得到Asterisk中MYSQL里存放的所有用户的分机号 ? 最近有这样的一个场景,在打电话的系统中需要得到Asterisk中MYSQL里存放的所有用户的分机号, 因为从其它途径得到的电话号码可能不准确. 具体使用场景是:

如何得到Asterisk中MYSQL里存放的所有用户的分机号

如何得到Asterisk中MYSQL里存放的所有用户的分机号

?

最近有这样的一个场景,在打电话的系统中需要得到Asterisk中MYSQL里存放的所有用户的分机号, 因为从其它途径得到的电话号码可能不准确. 具体使用场景是:当使用者找到自己要联系的员工后, 系统通过员工姓名到Asterisk服务器上找到相应的员工所对应的电话号码,并将当前电话与所找员工的电话进行联通.

?

1,找到Asterisk服务器上的***.conf配置文件,好像叫res_odbc_additional.conf. 因为当时没有记录这个文件,现在也想不起名字了.自己可以去慢慢找一下. 它里面有下面这样的配置.

hostname = 10.17.64.10
dbname=asteriskcdrdb 
password = AbQdmjiuo8D1
user = freepbxuser
userfield=1
port=3306 
sock=/tmp/mysql.sock

2,通过上面的配置信息,使用MYSQL客户端去连接. 如果出现错误:错误码:1130 Host 'xxx' is not allowed to connect to this MySQL server,?请参考另一文章:http://jerval.iteye.com/admin/blogs/2101747 去解决.

3,连接成功后,会看到如下两个有关的数据库.

asterisk
asteriskcdrdb

?其中asterisk是Asterisk的核心配置信息.而asteriskcdrdb则是用于记录通话记录的. 这里我们打开asterisk数据库,找到devices表,打开表就能看到所有用户的分机号了. 表结构如下:

Field	Type	Null	Key	Default	Extra
id	varchar(20)	NO			
tech	varchar(10)	NO			
dial	varchar(50)	NO			
devicetype	varchar(5)	NO			
user	varchar(50)	YES		NULL	
description	varchar(50)	YES		NULL	
emergency_cid	varchar(100)	YES		NULL	

?到此就可以通过JDBC或者其它数据访问代码来对这些信息进行访问了.

?

?

?

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.