2

我刚刚(第一次)按照指南编译并安装了 kamailio。对于配置,我正在关注文档here

我正在尝试测试一个新的 SIP 用户。我创建了它:

» kamctl add test testpasswd

用户在那里:

» kamctl db show subscriber
|----+----------+--------------------+------------+---------------+----------------------------------+----------------------------------+------|
| id | username | domain             | password   | email_address | ha1                              | ha1b                             | rpid |
|----+----------+--------------------+------------+---------------+----------------------------------+----------------------------------+------|
|  5 | test     | tethys.wavilon.net | testpasswd |               | 5cf40781f33c6f43a26244046564b67e | eb898de815bc16092e4c2e8c04bfe188 | NULL |
|----+----------+--------------------+------------+---------------+----------------------------------+----------------------------------+------|

我尝试连接我的 sip 客户端,但注册超时 ( Request Timeout (408))。我试图通过执行以下操作来验证发生了什么:

» kamailio -l <my-ip> -E -ddddd -D 1

我看到很多信息,其中一条很有趣:

0(15818) DEBUG: auth [api.c:86]: pre_auth(): auth:pre_auth: Credentials with realm '<my-ip>' not found

但我不知道如何解决这个问题。如何验证<my-ip>配置了哪些与领域关联的凭据?什么是“境界”?我没有找到任何初学者指南kamailio。是否有关于如何设置简单kamailio配置的简单方法?

4

3 回答 3

4

您在问题中粘贴的日志消息用于调试目的(因此是 DEBUG 级别),并且可以为没有凭证的第一个 SIP 请求打印它(例如,第一个 REGISTER)——在这种情况下,一切正常。这些请求通过 401 回复进行身份验证,然后通过电话重新发送,并带有 Autorization 标头中的凭据。

如果对于那些带有凭据的请求,您没有获得与质询函数参数中使用的相同领域(例如,www_challenge()、auth_challenge()...),那么 SIP 电话可能配置错误。通常,该领域与 SIP 域相同,以确保它是唯一的,但这不是必须的。使用默认 kamailio 配置,领域是 From 标头 URI 域。

但是,您说注册时出现 408 超时,那么问题可能是其他问题。当找不到与领域匹配的凭据时,将返回 401reply,而不是 408。

超时的原因可能是 REGISTER 没有到达 kamailio 或 kamailio 试图将其发送到其他地方。您应该查看 kamailio 服务器上的 SIP 流量,看看会发生什么。您可以为此目的使用 ngrep,例如:

ngrep -d any -qt -W byline . port 5060

观察 REGISTER 是否到达 kamailio 服务器以及是否尝试将其发送到另一个 IP。

于 2013-07-05T20:57:41.303 回答
0

我遇到了同样的问题。我在 kamailio.cfg 中添加了别名记录,它运行良好。

alias="tethys.wavilon.net"
于 2014-01-01T11:04:23.510 回答
-1

Kamailio 是一个代理。这并不简单,所以如果你想要一些简单的东西,请尝试使用Asterisk。Kamailio 配置需要SIP 知识。

对于这个问题:您在某个地方(在配置文件或数据库中)设置了领域,但没有使用它进行注册。可能的解决方案是:

  1. 删除领域或将其设置为正确的域名(并使用它!)。在默认配置中,这意味着禁用域。
  2. tethys.wavilon.net按照您在订阅者表中的描述使用。

有关更多信息,请访问 Kamailio 网站并阅读此文档

于 2013-07-01T21:31:22.837 回答