2015-02-17 29 views
0

我应该从我们的Asterisk SIP服务器实施CDR报告的后端Microsoft SQL连接。披露:我是Asterisk的新手,我不熟悉它是如何设置的,我在Linux(CentOS)环境中的经验有限。星号CDR报告到MSSQL

我一直在这里的链接如下:http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/installing_configuring_odbc.html

我已经安装了freetds的司机和已经验证它们与命令可见:

]# odbcinst -q -d 
[FreeTDS] 

里面/etc/odbc.ini我有以下定义的连接器:

[asterisk-connector] 
Description = MSSQL connection to 'asterisk' database 
Driver = FreeTDS 
Database = Asterisk 
Address = x.x.x.x 
Port = 52199 
UserName = <username here> 
Password = <password here> 
Trace = No 
TDS_Version = 7.0 

之后的步骤是验证您可以使用'isq连接到指定连接器的数据库L”命令......不过,当我只需键入‘ISQL -v星型连接器’我收到的错误:

]# isql -v asterisk-connector 
[S1000][unixODBC][FreeTDS][SQL Server]Unable to connect to data source 
[28000][unixODBC][FreeTDS][SQL Server]Login incorrect. 
[][unixODBC][FreeTDS][SQL Server]Login failed for user ''. The user is not associated with a trusted SQL Server connection. 
[ISQL]ERROR: Could not SQLConnect 

当我在命令中输入并指定在命令行中的用户名和密码,它能够连接!

]# isql -v asterisk-connector <username here> <password here> 
+---------------------------------------+ 
| Connected!       | 
|          | 
| sql-statement       | 
| help [tablename]      | 
| quit         | 
|          | 
+---------------------------------------+ 
SQL> 

我的问题:为什么 它会不会拿起我的用户名和密码在odbc.ini中定义的?

此外,其后的步骤是重新编译星号的源文件,但也有在服务器上为Asterisk 1.8没有源文件。就像我之前提到的,我不知道Asterisk最初是如何在该服务器上安装和设置的。

有没有一种方法,我可以得到源文件Asterisk和重新编译他们与什么是已安装并运行工作? 如果是,是否会删除我们电话系统中当前定义的所有内容,如分机,振铃组,IVR等?

任何帮助将不胜感激! 如果您需要更多信息,请让我知道,我可以检索它。我不知道这需要多少信息。

回答

0

freetds的驱动程序的工作只是MSSQL确定

但你必须注意到,它有不同的版本mssql的不同的驱动程序模式(见freetds.conf)

的Asterisk也工作正常与MSSQL,我这样做两次。

您可以使用此一文

https://technet.microsoft.com/en-us/library/hh568454%28v=sql.110%29.aspx

有用的选项是跟踪文件。

大多数likly你需要使用UID代替的用户名或类似的东西。

注意,星号在res_config_odbc.conf文件中也有用户名&密码。所以你可以尝试使用它(并在使用后检查跟踪)

重新编译不会影响你的任何设置,除非你“做样品”或不编译需要的模块。

+0

我已经尝试将“UserName”字段更改为:USER,Userid,UID ...这些都不起作用。 我没有res_config_odbc.conf或cdr_odbc.conf或Asterisk文件夹中的任何其他相关文件。显然我需要重新编译这些才能填充,但我没有源文件来重新编译。 我可以简单地下载Asterisk 1.8.20(这是运行的版本)并编译它吗?这个怎么用? – user1515928 2015-02-17 20:44:18

+0

您需要使用asterisk模块res_odbc.so才能在您的星号中使用odbc。是的,您还需要该模块的配置。否则,你如何认为星号将选择odbc.ini部分? – arheops 2015-02-18 01:06:43