Coturn的默认设置,即过时和频道超时如下所示。
mWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.equals(something)) {
// Do something
}
return super.shouldOverrideUrlLoading(view, url);
}
@RequiresApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
if (request.getUrl().toString().equals(something)) {
// Do something
}
return super.shouldOverrideUrlLoading(view, request);
}
我有自己的用c / c ++开发的webrtc客户端模拟器。在典型的呼叫中,通过选择中继候选者(实际上是根据用户配置强制执行)作为连接检查的一部分,直到10分钟的媒体工作正常。 10分钟后,虽然媒体是从我的模拟器发送的,但Coturn不会将这些媒体数据包转发给另一方。
这是到目前为止我完成的事件/分析的详细顺序。
1)在10分钟结束时,我从模拟器中使用旧的随机数发送了频道刷新请求
2)Coturn给了我438条回复,它表明新的现时和领域
3)我提取了新的现时和领域
4)我重新计算了完整性密钥
5)我再次发送刷新请求
6)我得到刷新成功响应
仍然有我的模拟器发送的其他媒体数据包,coturn不会转发给通话中的另一方。
有人可以帮助我了解这里出了什么问题,以及如何解决这个问题。