code: private void disconnect() {
          localStream = null;
          localRender = null;
          remoteRender = null;
  
          if (peerConnection != null) {
              peerConnection.dispose();
              peerConnection = null;
          }
  
          if (videoSource != null) {
              videoSource.dispose();
              videoSource = null;
          }
  
          if (null != directConnection) {
              directConnection.setListener(null);
              directConnection = null;
          }
  
          if (null != signalingChannel) {
              RespokeSignalingChannel.Listener signalingChannelListener = signalingChannel.GetListener();
              if (null != signalingChannelListener) {
                  signalingChannelListener.callTerminated(this);
              }
          }
  
          listenerReference = null;
          endpoint = null;
          toEndpointId = null;
          toType = null;
          signalingChannel = null;
      }
docs: ** Private methods