Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#SipManager注销仅使用断点工作_C#_Android_Xamarin_Sip - Fatal编程技术网

C#SipManager注销仅使用断点工作

C#SipManager注销仅使用断点工作,c#,android,xamarin,sip,C#,Android,Xamarin,Sip,我已经在XamarinAndroid中使用本机sip创建了一个sip应用程序。 当我注销帐户时,我的sip服务器不会收到che unregistered消息,但如果我在unregistered方法上放置断点,服务器会收到unregistered消息。 我注意到我的registrationListener在相同的情况下出现了一个错误数据\u连接\u丢失 方法CloseLocalProfile 注销方法 有人能帮我吗? 提前感谢。您的应用程序是否会在实际发送注册请求之前关闭连接?在收到最终响应之前,

我已经在XamarinAndroid中使用本机sip创建了一个sip应用程序。 当我注销帐户时,我的sip服务器不会收到che unregistered消息,但如果我在unregistered方法上放置断点,服务器会收到unregistered消息。 我注意到我的registrationListener在相同的情况下出现了一个错误数据\u连接\u丢失

方法CloseLocalProfile

注销方法

有人能帮我吗?
提前感谢。

您的应用程序是否会在实际发送注册请求之前关闭连接?在收到最终响应之前,请尝试保持连接处于活动状态。我在执行登录操作时会立即收到注册响应。我想这是因为您在登录后不会关闭应用程序/连接,但在注销时会关闭。使用数据包嗅探器(如wireshark)并检查在注销时是否确实发送了注册请求……注册响应receivedI在我的服务器上接收到注册请求,我也在设备上的注册侦听器中接收到响应。我也使用了wireshark,但问题发生在注销请求时。
public void CloseLocalProfile()
    {
        if (MainActivity.mSipManager == null)
        {
            return;
        }

        try
        {

            if (MainActivity.mSipProfile != null)
            {
                Log.Info("Unregistering profile", "Un registering profile ");
                MainActivity.mSipManager.Unregister(MainActivity.mSipProfile, null);

              Log.Info("Closing profile", "Closing current profile ");
                MainActivity.mSipManager.Close(MainActivity.mSipProfile.UriString);
                                   MainActivity.mSipManager.UnregisterFromRuntime();
                MainActivity.mSipProfile.UnregisterFromRuntime();
                if (MainActivity.mSipProfile != null)
                {
                    MainActivity.mSipManager = null;
                    MainActivity.mSipProfile = null;
                }
            }

        }
        catch (Exception ee)
        {

            Log.Debug("onDestroy", "Failed to close local profile.", ee.Message);

        }
    }
  private async Task DoLogout()
        {

            _sipPlatformManager.CloseLocalProfile();
//RESET user information
            await _navigationService.NavigateAsync("Login");
        }