【问题标题】:Does Kamailio provide API for other program to creating sip accountKamailio 是否为其他程序提供 API 来创建 sip 帐户
【发布时间】:2013-06-13 14:04:21
【问题描述】:

我正在使用 SIP 协议栈开发 IOS VoIP 应用程序。我将使用 Kamailio 作为 sip 服务器。

但是每个 VoIP 客户端都需要一个 sip 地址(sip 帐户)才能进行 VoIP 呼叫,这意味着我应该手动注册一个 sip 帐户并在客户端进行配置。现在我想让这更容易。我想做的是,当用户使用应用程序注册到我的用户帐户服务器时,我的用户帐户服务器可以调用一些 API(可能由 Kamailio 提供)来创建与该用户关联的 sip 帐户,并将其传递回客户端,然后客户端使用此 sip 帐户自动配置自己。

但是,我没有从 Kamailio 找到任何 API 来做这样的事情。 Kamailio 是否提供这样的 API,或者其他开源 sip 服务器允许我这样做吗?

我在谷歌上发现 Kamailio 可以使用“kamctl add”命令添加用户,我可以使用 RPC 从我的用户帐户服务器调用类似的功能。如果是这样,我可以调用 Kamailio 的哪个 RPC 函数?提前致谢!

【问题讨论】:

    标签: ios sip voip kamailio


    【解决方案1】:

    如果您使用 auth_db 与 mysql 后端(db_mysql 模块)进行用户身份验证,就像在 kamailio 的默认配置文件中一样,那么最简单的方法是连接到 kamailio 数据库并将记录添加到订阅者表。

    以下是使用域“test.com”进行身份验证(域与域相同)添加用户“101@test.com”和密码“test123”的示例:

    INSERT INTO subscriber (username, domain, password, ha1, ha1b) VALUES 
      '101', 'test.com', 'test123',
      MD5('101:test.com:test123'), MD5('101@test.com:test.com:test123')
    );
    

    这里的特殊值是针对 ha1 和 ha1b 列的,它们必须是:

    • ha1 = md5(用户名:领域:密码)
    • ha1b = md5(username@domain:realm:password)

    【讨论】:

      【解决方案2】:

      您可以设置 kamailio 以使用来自任何数据库的任何 sql 查询。

      您也可以使用 http 身份验证,您可以实施任何其他身份验证。

      http://kamailio.org/docs/modules/stable/modules/auth_db.html

      http://kamailio.org/docs/modules/stable/modules/avpops.html

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-30
      • 2014-01-26
      • 1970-01-01
      • 2022-11-05
      • 1970-01-01
      • 1970-01-01
      • 2015-10-25
      • 1970-01-01
      相关资源
      最近更新 更多