首页 > 解决方案 > PJSIP 中本地帐户的用途是什么?

问题描述

我发现有两个本地帐户,ID 为 0(IPv4 地址)和 ID 为 1(IPv6 地址)。因此,当我注册时,该用户帐户使用 id 2 注册。我想知道这些本地帐户的目的是什么。在我注册之前,用户 id 1 被用作默认帐户。

在 PJSIP 中,他们提到了这一点:

必须在应用程序中创建至少一个帐户,因为任何传出请求都需要帐户上下文。如果不需要用户关联,应用程序可以通过调用 Account.create() 创建一个无用户帐户。无用户帐户标识本地端点而不是特定用户,它对应于特定的传输 ID。

还必须设置一个账户为默认账户,当pjsua使用更严格的匹配规则无法将传入请求与任何账户匹配时,该账户将用作账户标识。

当应用程序终止时,账号id 0 的账号被删除,id 2(我们注册的账号)被删除。将来电与无用户帐户匹配的目的是什么?为什么帐号 id 1 没有被删除?PJSIP 如何将请求匹配到无用户帐户?我对这个概念感到困惑。任何线索都会对我有所帮助。提前致谢。

标签: iosaccountpjsip

解决方案


SIP 协议允许直接呼叫指定的 IP。如果您想允许您的应用程序处理定向到您的设备 IP 地址的呼叫,那么您可以使用本地帐户。在这种情况下,IPv4 的 SIP URI 可以如下所示:sip:192.168.1.100(而不是 sip:someuser@somelocation),您无需在任何地方注册任何用户,即可处理指向此 URI 的呼叫。


推荐阅读