新闻资讯

【医院病人紧急呼叫系统厂家】STUN协议和VoIP

2023-10-21 09:13

STUN代表通过网络地址转换器(NAT)对用户数据报协议(UDP)的简单遍历。通常,它用于几种不同的网络实现和方案,其中之一是在VoIP实现中。由于基于SIP的VoIP呼叫中使用的协议的工作方式,在NAT设备(如路由器或防火墙)后面运行的两个SIP实体之间进行呼叫(家庭和企业网络中的常见方案),用户通常会遇到几个问题,例如电话呼叫期间的单向音频或尝试注册到VoIP提供商或IPPBX时电话注册失败不驻留在同一网络上。STUN是一种协议,有助于解决此类VoIP实现中的问题。从v10开始,名科云电话系统在端口5060上充当STUN服务器。
STUN协议的用途 STUN协议的主要目的是使在NAT设备后面运行的设备能够发现其公共IP以及在其连接到的网关上运行的NAT类型。它还使网关后面连接的设备能够发现网关本身(NAT)完成的端口转换;即,其他设备可以使用哪个端口从网络外部连接到它。请注意,网关和路由器并不总是进行端口转换。这取决于它们正在运行的NAT类型及其配置方式。例如,完整的锥形NAT配置不会转换端口。

STUN还可用于刷新NAT绑定;作为使用受限锥体NAT或端口受限锥体NAT时的保持活动机制。通过此类NAT配置传递流量时,内部地址和端口将映射到特定的外部地址和端口。但是,如果在特定时间(取决于设备的配置)后未使用此类地址转换,则会删除此类地址映射。因此,当内部设备尝试使用相同的内部IP和端口再次连接到外部实体(可能是以前连接到的同一实体)时,路由器仍将分配不同的地址映射,即与先前分配的IP和端口不同的IP和端口。
STUN协议 STUN是一种服务器-客户端协议。STUN服务器通常在TCP和UDP上运行,并在端口3478上进行侦听。客户端通常通过特定的IP和端口(3478)联系STUN服务器,但服务器可以提示客户端对备用IP地址和端口号执行测试,因为这样的端口和IP是任意的。
STUN请求和响应方案 在下图中,我们可以看到典型的STUN请求和响应是如何工作的:

阶段1:计算机A通过网关192.168.1.1向网络外部的STUN服务器发送STUN请求,使用源端口5060侦听64.25.58.65。
阶段2:网关(192.168.1.1)将请求转发到STUN服务器(64.25.58.65),并将端口5060更改为端口15060。
阶段3:STUN服务器(64.25.58.65)通过公共IP为212.128.56.125的网关将响应发送回计算机A,指定请求是从IP212.128.56.125和端口15060接收的
当计算机A建立会话时,例如与外部实体进行基于SIP的VoIP呼叫;它可以通知外部实体在IP212.128.56.125和端口15060上将响应发送回它。如上所述,STUN协议在帮助在配置有NAT的网络网关后面运行的两个设备建立UDP连接方面起着非常重要的作用。

STUN也有其缺点;它不能与使用对称NAT的网络正常工作,因为每次内部主机尝试连接到外部主机时,对称NAT都会创建新的地址和端口映射,因此STUN不是这种情况的良好解决方案。在下一篇文章中,我们将看到来自VoIP设备的STUN请求的示例捕获,并将解释它如何帮助解决VoIP环境中的连接建立问题。

STUN使在NAT后面运行的SIP实体能够发现其公共IP以及在其连接到的网关上运行的NAT类型。它还使SIP实体能够发现外部SIP实体可以连接到哪些端口,以建立连接。由于SIP使用UDP作为传输协议,而UDP不是面向连接的协议,因此根据传输协议,无法轻松建立2个SIP实体之间的连接,这就是为什么STUN在基于SIP的VoIP环境中广泛使用的原因。下面我们将看到基于SIP的VoIP电话的捕获,该电话尝试注册到在其网络外部运行的IPPBX,以及基于SIP的VoIP电话是否使用STUN协议会发生什么情况。

在不使用STUN协议的情况下发送SIP消息
以下是SIP注册消息的捕获;在NAT后面运行的基于SIP的VoIP电话,该电话尝试注册为分机101,其IPPBX(侦听主机名voipproducts.org)在其网络外部运行,而无需使用STUN协议。

REGISTERsip:voipproducts.orgSIP/2.0
Via:SIP/2.0/UDP192.168.2.14:7214;branch=z9hG4bK-d8754z;rport
Max-Forwards:70
Contact::<sip:101@192.168.2.14:7214;rinstance=0639bae5043c66ac>
To:"account1"<sip:101@voipproducts.org>
From:"account1"<sip:101@voipproducts.org>;tag=0a75d76e
Call-ID:OTcxMDU5MGNhNTAxNzgzYjZkODVkY2I3MmE3NDhlNzQ.
CSeq:1REGISTER
Expires:3600
Content-Length:0
Fromtheabovewecanseethat:
Contact:<sip:101@192.168.2.14:7214;rinstance=0639bae5043c66ac>


在“联系人”字段中,我们可以看到基于SIP的VoIP电话正在指定自己的专用IP地址(192.168.2.14)和端口7214。因此,它请求其网络外部的远程IPPBX尝试通过将SIP消息发送回IP地址192.168.2.14和端口7214来建立连接。在这种情况下,IPPBX将尝试建立连接,但由于这是一个专用IP地址,因此它在互联网上不可路由,因此IPPBX尝试发送的响应通常由路由器或互联网网关丢弃。由于数据包被丢弃,因此无法建立连接。

STUN分辨率说明
如果基于SIP的VoIP电话启用了STUN解析并指定了STUN服务器,则VoIP电话会向STUN服务器发送STUN解析请求,并等待STUN服务器回复。此类请求通常在VoIP电话启动期间或在尝试与外部SIP实体通信之前完成。以下是典型STUN服务器响应的捕获:
上一篇:【全数字ICU探视系统厂家】如何使用门禁或对讲呼叫系统发送组播
返回
下一篇:【医院ICU对讲系统厂家】IP电话系统远程电话本制作
Baidu
map