大佬们, 自建完 Synapse 发现语音呼叫在大部分时候连接都非常慢. - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
YamatoRyou
V2EX    问与答

大佬们, 自建完 Synapse 发现语音呼叫在大部分时候连接都非常慢.

  •  
  •   YamatoRyou 2022 年 1 月 3 日 3192 次点击
    这是一个创建于 1493 天前的主题,其中的信息可能已经有所发展或是发生改变。

    概况:
    电信家宽, 有公网 IP (v4 + v6);
    Synapse 在群晖的 Docker 上, Matrix 服务通过端口转发的方式暴露在公网 (IPv4, IPv6 则是直接暴露指定的端口).
    客户端: Element for Android

    连接慢体现在 2 个手机之间. 即使这 2 个手机都用移动数据, A 打给 B, B 以第一时间接听, A 此时知道对方已接, 于是接下来就是漫长的等待, 10 次呼叫大概只有一两次能秒通, 剩下的至少 30 秒甚至 1 分钟, 偶尔会长时间卡在连接中. 不知道为什么.

    我以为是没有中继导致的, 于是又在 Docker 上弄了个 coturn, 也按官方的说明文档开放了端口. 然而问题依旧.
    开着中继的情况下用以下 2 个网站进行测试:
    https://test.voip.librepush.net/
    https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
    我看不懂测试结果, 只能看出来其中一个测试失败了.

    诡异的是, 无论用手机测试还是用以上网站测试, cotrun 似乎都有反应, 主要体现在日志上 (用手机的移动数据测试, 日志能打印出手机的 IP 地址).
    也试过让域名只保留解析后的 v4 或 v6 地址的其中一种, 也不行.
    折腾了大概两三天还是这样, 现在已经没办法了.

    附上配置文件:
    turnserver.conf

    cert=/etc/cert.pem log-binding log-file=/etc/turn.log no-multicast-peers no-rfc5780 no-sslv3 no-stun-backward-compatibility no-tcp-relay no-tlsv1 no-tlsv1_1 no-tlsv1_2 pkey=/etc/pkey.pem realm=example.com response-origin-only-with-rfc5780 server-name=example.com static-auth-secret={B8A60FEC-FB0B-9094-BECF-5D1E8E59153E} total-quota=1200 use-auth-secret verbose 

    homeserver.yaml

    turn_uris: [ "turns:example.com?transport=udp", "turns:example.com?transport=tcp" ] turn_shared_secret: "{B8A60FEC-FB0B-9094-BECF-5D1E8E59153E}" turn_user_lifetime: 86400000 turn_allow_guests: true 
    8 条回复    2023-03-12 16:10:25 +08:00
    fucker
        1
    fucker  
       2022 年 1 月 3 日
    看到 4 处域名配错了
    另外可能要映射一段端口
    其他地方没看出区别
    我两个手机语音和视频在 4G 网络下非常流畅
    YamatoRyou
        2
    YamatoRyou  
    OP
       2022 年 1 月 3 日
    @fucker 我重新检查了一遍配置文件里的域名, 都是一样的 (只是在公示配置段的时候改成了别的). 所需的端口也已经打开, 包括 49152~65535 这种. 我这里也是, 除了连接慢, 真正接通后的流畅度也还可以.
    fucker
        3
    fucker  
       2022 年 1 月 4 日
    那我就不清楚了
    我这边后来把 homeserver 放到了公网
    turns 用家里的映射了端口
    语音接通前等待时间大概两三秒的样子
    YamatoRyou
        4
    YamatoRyou  
    OP
       2022 年 1 月 6 日   1
    @fucker 今天重新测试了若干个回合, 发现已经恢复了正常 (大多数尝试能在 3 秒内开始说话), 但是我什么都没动. 不知道为什么.
    Gary666666
        5
    Gary666666  
       2023 年 3 月 7 日
    两位大佬,我也碰到了这个问题,我是甲骨文 vps 建立的,docker 拉了官方的 coturn ,Synapse 已经 ok 了,就差 coturn ,配置文件按照上面贴出来的换成自己的 ip 也不行,希望给予指导帮助,配置文件,我直接启动映射到本机下:coturn 正常启动!
    use-auth-secret
    static-auth-secret=t4Sjw2Qn2qAPOQTPCNqeP8uzkW60EzPBRQFlgLmpx6x6dqtMPenPMwiJ7fh80x8KK
    realm=*****.top
    syslog
    # VoIP traffic is all UDP. There is no reason to let users connect to arbitrary TCP endpoints via the relay.
    no-tcp-relay

    # don't let the relay ever try to connect to private IP address ranges within your network (if any)
    # given the turn server is likely behind your firewall, remember to include any privileged public IPs too.
    denied-peer-ip=10.0.0.0-10.255.255.255
    denied-peer-ip=192.168.0.0-192.168.255.255
    denied-peer-ip=172.16.0.0-172.31.255.255

    # special case the turn server itself so that client->TURN->TURN->client flows work
    allowed-peer-ip=172.17.0.1

    # consider whether you want to limit the quota of relayed streams per user (or total) to avoid risk of DoS.
    user-quota=12 # 4 streams per video call, so 12 streams = 3 simultaneous relayed calls per user.
    total-quota=1200

    # TLS certificates, including intermediate certs.
    # For Let's Encrypt certificates, use `fullchain.pem` here.
    cert=/etc/turn_server_cert.pem #这个我在本机下生成,cp 到容器里相应文件夹

    # TLS private key file
    pkey=/etc/turn_server_pkey.pem#这个我在本机下生成,cp 到容器里相应文件夹
    external-ip=131.186.26.***
    Gary666666
        6
    Gary666666  
       2023 年 3 月 7 日
    如果可以,我希望加入您们的通迅工具,十分荣幸!我的电报:@hanigege
    YamatoRyou
        7
    YamatoRyou  
    OP
       2023 年 3 月 7 日
    @Gary666666
    1. 检查 coturn 进程有没有带 "--external-ip" 参数 (可能不是主要原因);
    2. 连接慢除了配置原因, WebRTC 被禁用也会导致长时间连接 (浏览器能通过扩展禁用 WebRTC, 手机客户端应该不存在此问题);
    3. 检查 3478 / 5349 端口的开放状态.
    Gary666666
        8
    Gary666666  
       2023 年 3 月 12 日
    已解决,谢谢, 如果客户端各方面有支持来电提醒等等,那就完美了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2671 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 05:01 PVG 13:01 LAX 21:01 JFK 00:01
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86