如何在kamailio中配置测试用户?

时间:2013-07-01 15:55:10

标签: sip voip sip-server kamailio

我刚刚(第一次)按照this指南编译并安装了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配置的简单方法吗?

3 个答案:

答案 0 :(得分: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。

答案 1 :(得分:0)

Kamailio是代理人。这并不简单,所以如果您想要简单的事情,请尝试使用Asterisk。 Kamailio配置需要 SIP知识。

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

  1. 删除领域或将其设置为正确的域名(并使用它!)。在默认配置中,这意味着禁用域。
  2. 使用订阅者表中描述的tethys.wavilon.net
  3. 有关详细信息,请访问Kamailio网站并阅读this document

答案 2 :(得分:0)

我遇到了同样的问题。我在kamailio.cfg中添加了别名记录,效果很好。

alias="tethys.wavilon.net"