美文网首页
【Freeswitch】【媒体NAT穿越案例一】通过stun服务

【Freeswitch】【媒体NAT穿越案例一】通过stun服务

作者: 安安爸Chris | 来源:发表于2020-11-17 11:54 被阅读0次

    NAT有多种类型,每一种是什么样的工作原理,请自行google,在这里不在介绍

    这里只介绍媒体(rtp)NAT穿越的案例,信令层的处理不在此范围

    为什么需要媒体NAT穿越

    所有的通话,实质上是点对点的信息传输。(P2P, point to point)
    这里的点是指网路上的点,每一个点是有公网IP的;但是实际情况是,很多节点隐藏在NAT之后,它们只有内网地址。那么之前点之前的连接是无法直连的。

    为了能实现点对点的传输,所以内网地址的节点必须获取到它可以使用的公网地址。

    案例

    下面的例子是讨论FS在NAT后的情况,如下图所示


    拓扑结构

    那么FS怎么样才能获取到公网IP呢

    有两种方案,

    1. 如果已知网络环境,并且明确可知FS可用的公网IP,可以在配置中直接写入公网IP地址
    2. 如果在不确定的网络环境,或者公网地址可变的情况下,可以使用stun服务来动态获取

    配置参考

    配置项都是一样,在external.xml中(因为作者只使用external.xml所以在此配置,各位根据实际需要)
    配置项为ext-rtp-ip

    像上图样例中,可以配置


    external.xml

    注意同样有一个项叫ext-sip-ip,它是走sip的,是信令层使用的。这里我们只讨论RTP,所以配置ext-rtp-ip。

    同样,可以配置为stun服务器地址,如


    external.xml

    配置完毕后,可以登陆FS控制台,输入sofia status profile external来查看配置情况

    sofia status profile external

    有关stun server

    网路上有很多免费的stun server地址可以使用,那么是否可以工作呢?

    有两个检查办法,

    配置stun后实战结果如何检测?

    因为这个ext-rtp-ip是写入SDP中的,所以最直接的方式就是抓包,然后看信令中的SDP消息。下面是SDP样例如

    SDP信息

    相关文章

      网友评论

          本文标题:【Freeswitch】【媒体NAT穿越案例一】通过stun服务

          本文链接:https://www.haomeiwen.com/subject/iakxiktx.html