【问题标题】:Using RTC to disable profile on server?使用 RTC 禁用服务器上的配置文件?
【发布时间】:2012-03-14 13:51:57
【问题描述】:

我遇到了 RTC 中的配置文件漫游问题。所以让我描述一下我的程序以便更好地理解它。

我基于 sip 协议编写软电话,为了使用 Sip,我决定使用 RTC 库进行通信。这款软电话完美地完成了这些功能,例如保持、重定向、接听、挂断等。我使用 C# 和 Interop.RTCCORELib dll 进行 RTC。在将这款手机与任何类型的 PBX 服务器(如星号、星号窗口和 Elestisk)一起使用太多时间后,我的软电话遇到了神秘的问题。

问题: 当操作员登录并使用电话时,我创建IRTCProfile2 Propety 以在服务器上注册此配置文件。接线员用电话完成他/她的工作后,接线员关闭电话。在这一刻,我运行方法来禁用服务器上的配置文件。我检查了个人资料,个人资料状态更改为“未注册”。 但是 sip 用户仍然在服务器上登录。我检查了 msdn 并找到了这个article

在这篇文章中描述了如何在服务器上禁用配置文件。我也这样做。这是我的代码:

  public void unregisterProfile()
    {
        if (_rtcProvisioning.Profiles.Count > 0 && 
           ((IRTCProfile)_rtcProvisioning.Profiles[1]).State == RTC_REGISTRATION_STATE.RTCRS_REGISTERED)
        {
            _rtcProvisioning.DisableProfile(_rtcProfile);
            _rtcPresence.DisablePresence();
            _rtcClient.PrepareForShutdown();
            Thread.Sleep(2000);
            _rtcClient.Shutdown();
        }
    }

在这篇文章中还说调用IRTCClientPresence2.DisablePresence 方法。

那么有什么解决办法吗?有小费吗?我错过了什么吗?

【问题讨论】:

    标签: c# voip sip


    【解决方案1】:

    是的,我想你错过了 IRTCClientPresence2,它有实际的DisablePresence() 电话。

    来自文档;

    IRTCClientPresence2 接口派生自 IRTCClientPresence 界面。它为存在添加了漫游和分组功能 对象给客户。该接口可以通过调用获取 IRTCClientPresence 接口上的 QueryInterface。

    编辑:您还在调用 DisableProfile 后立即调用 RTCClient::Shutdown() (以及添加时的 DisablePresence),the documentation for ShutDown() 状态;

    让 SIP 堆栈有机会从 注册商和取消订阅观察者,客户端应该调用 调用 Shutdown 之前的异步方法 PrepareForShutdown。

    【讨论】:

    • @Rev 你确定对_rtcProvisioning.DisableProfile(_rtcProfile); 的实际调用已经完成了吗?
    • @Rev 自从我进行 COM 互操作以来已经有一段时间了,所以我的数组映射可能已关闭,但 Profiles[1] 真的是检查状态的正确元素,而不是 Profiles[0] 如果 Count > 0?
    • 首先是的,因为_rtcProfile state 在这一行之后发生变化,其次:我认为是的。 profile[1] 仅在 if 条件下使用,_rtcProfile 是在服务器上注册的同一对象,此对象用于禁用方法。
    • @Rev 为答案添加了一些额外信息。
    • @Rev 不知道为什么你没有评论为什么 PrepareForShutdown 信息没有帮助就取消投票。它完全解决了您所说的问题。
    猜你喜欢
    • 1970-01-01
    • 2012-03-15
    • 2016-03-09
    • 1970-01-01
    • 2012-02-03
    • 2019-07-02
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    相关资源
    最近更新 更多