Kamailio和Asterisk集成

时间:2014-07-20 06:39:36

标签: sip asterisk kamailio


我使用本教程成功安装了kamailio 4.0.1和asterisk 11.11.0 http://kb.asipto.com/asterisk:realtime:kamailio-4.0.x-asterisk-11.3.0-astdb 但是没有星号的kamailio在x.x.x.50上,asterisk在x.x.x.60上,我在kamailio中创建了数据库,并授予了星号服务器的权限。当我使用cli>星号-r 所以用户没有显示哪个插入kamailio服务器作为样本 请帮助我在哪里做错了

kamailio.cfg文件是

......
!define DBURL "mysql://openser:openserrw@localhost/openser"
!ifdef WITH_ASTERISK
!define DBASTURL "mysql://asterisk:asterisk_password@x.x.x.50/asterisk"
......
!ifdef WITH_ASTERISK
asterisk.bindip = "x.x.x.60" desc "Asterisk IP Address"
asterisk.bindport = "5060" desc "Asterisk Port"
kamailio.bindip = "x.x.x.50" desc "Kamailio IP Address"
kamailio.bindport = "5060" desc "Kamailio Port"
endif
......

2 个答案:

答案 0 :(得分:0)

实时配置sip show peers仅显示sip用户/对等方已加载到内存中。 在有人注册电话和/或拨打电话之前,它将是空的。 另外,您可以在sip.conf的常规部分添加rtcachefriends=yes,以便加载的sip好友留在sip show peers输出中。

答案 1 :(得分:0)

您必须签入asterisk cli并运行以下命令,它将检查asterisk和kamailio数据库之间的dsn连接。

asterisk*CLI> odbc show all

ODBC DSN Settings
-----------------

  Name:   asterisk
  DSN:    MySQL-asterisk
    Last connection attempt: 1970-01-01 05:00:00
  Pooled: No
  Connected: Yes

如果它显示上述输出,则表示已建立连接。如果上面的输出显示然后验证您的连接配置,如果可以的话,请检查asterisk cli中的模块,如下所述。

asterisk*CLI> module show like odbc
Module                         Description                              Use Count  Status      Support Level
cdr_adaptive_odbc.so           Adaptive ODBC CDR backend                0          Running              core
cdr_odbc.so                    ODBC CDR Backend                         0          Running          extended
cel_odbc.so                    ODBC CEL backend                         0          Running              core
func_odbc.so                   ODBC lookups                             0          Running              core
res_config_odbc.so             Realtime ODBC configuration              0          Running              core
res_odbc.so                    ODBC resource                            0          Running              core
6 modules loaded

我们需要包含以下行/etc/asterisk/res_odbc.conf

ODBCSYSINI => /etc
ODBCINI    => /etc/odbc.ini

有关DSN连接的进一步确认,您可以使用以下命令。

root@asterisk# isql -v MySQL-asterisk asterisk asterisk
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>

我知道这个帖子已经过时但我通过上面的方法解决了这个问题。