Linux 星号CDR向MSSQL报告

Linux 星号CDR向MSSQL报告,linux,centos,asterisk,unixodbc,Linux,Centos,Asterisk,Unixodbc,我应该从我们的Asterisk SIP服务器为CDR报告实现一个后端Microsoft SQL连接。披露:我是Asterisk的新手,我不熟悉它最初是如何设置的,并且我在Linux(CentOS)环境中的经验有限 我一直在关注这里的链接: 我已安装FreeTDS驱动程序,并已通过以下命令验证它们是否可见: ]# odbcinst -q -d [FreeTDS] 在/etc/odbc.ini中,我定义了以下连接器: [asterisk-connector] Description = MSSQL

我应该从我们的Asterisk SIP服务器为CDR报告实现一个后端Microsoft SQL连接。披露:我是Asterisk的新手,我不熟悉它最初是如何设置的,并且我在Linux(CentOS)环境中的经验有限

我一直在关注这里的链接:

我已安装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
当我输入命令并在命令行指定用户名和密码时,它就可以连接了

]# isql -v asterisk-connector <username here> <password here>
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>
]#isql-v星号连接器
+---------------------------------------+
|连接|
|                                       |
|sql语句|
|帮助[表格名称]|
|退出|
|                                       |
+---------------------------------------+
SQL>
我的问题: 为什么它不能获取odbc.ini中定义的用户名和密码

此外,之后的步骤是重新编译asterisk源文件,但服务器上没有asterisk 1.8的源文件。正如我前面提到的,我不知道Asterisk最初是如何安装和安装在这台服务器上的

是否有一种方法可以获取Asterisk的源文件,并重新编译它们以处理已安装并正在运行的文件? 如果是的话,它是否会删除我们电话系统中当前定义的所有内容,如分机、铃声组、IVR等

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

Freetds驱动程序与mssql配合正常

但是您需要注意的是,对于不同的mssql版本,它有不同的驱动程序模式(参见freetds.conf)

星号也适用于mssql,我做了两次

你可以用这篇文章

有用的选项是跟踪文件

最有可能的情况是你需要使用UID而不是用户名之类的东西

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


重新编译不会影响您的任何设置,除非您“制作示例”或不编译所需的模块。

我已尝试将“用户名”字段更改为:USER、Userid、UID。。。这些措施都没有奏效。我在星号文件夹中没有res_config_odbc.conf或cdr_odbc.conf或任何其他相关文件。显然,我需要重新编译以填充这些文件,但我没有要重新编译的源文件。我可以简单地下载Asterisk 1.8.20(这是正在运行的版本)并编译它吗?如何工作?您需要星号模块res_odbc.so才能在星号中使用odbc。是的,您还需要该模块的配置。否则,您认为asterisk将如何选择odbc.ini节?
]# isql -v asterisk-connector <username here> <password here>
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>