CN102546644B - 实现sip呼叫的方法、设备和*** - Google Patents
实现sip呼叫的方法、设备和*** Download PDFInfo
- Publication number
- CN102546644B CN102546644B CN201210013827.7A CN201210013827A CN102546644B CN 102546644 B CN102546644 B CN 102546644B CN 201210013827 A CN201210013827 A CN 201210013827A CN 102546644 B CN102546644 B CN 102546644B
- Authority
- CN
- China
- Prior art keywords
- media
- address information
- calling party
- message
- equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000000977 initiatory effect Effects 0.000 title claims abstract description 6
- 230000011664 signaling Effects 0.000 claims abstract description 24
- 230000004044 response Effects 0.000 claims description 76
- 230000008569 process Effects 0.000 abstract description 17
- 230000005540 biological transmission Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供实现SIP呼叫的方法及设备、***。本发明能够解决现有技术中在SIP呼叫过程中,由于NAT设备只能够转换SIP报文的报文头中的信令IP地址信息,而无法转换SIP报文的报文头中的媒体IP地址信息而导致的在主叫方设备的媒体报文没有到达SBC之前,被叫方设备的媒体报文则不会通过SBC发送给主叫方设备的问题,采用本发明实施例提供的技术方案,能够成功完成SIP呼叫,从而能够有效提高SIP呼叫的可靠性。
Description
技术领域
本发明涉及通信技术,尤其涉及实现会话初始化协议(Session InitiationProtocol,简称SIP)呼叫的方法、设备和***。
背景技术
在互联网协议(Internet Protocol,简称IP)多媒体子***(IP MultimediaSubsystem,简称IMS)网络中,通过在IMS网络边界部署会话边界控制器(Session Border Controller,简称SBC)可以完成拓扑隐藏,即对接入网侧隐藏核心网侧的地址信息,对核心网侧隐藏接入网侧的地址信息。为了解决合法IP地址的不足,终端可以通过网络地址转换(Network AddressTranslation,简称NAT)设备接入IMS网络,由NAT设备将终端的一组IP址信息转换到另一组IP地址信息,例如:将一组局域网络的私有IP地址和私网端口号转换到互联网络的合法IP地址和公网端口号。
然而,在SIP呼叫过程中,由于NAT设备只能够转换SIP报文的报文头中的信令IP地址信息,而无法转换SIP报文的报文体中的媒体IP地址信息,使得在主叫方设备的媒体报文没有到达SBC之前,被叫方设备的媒体报文则不会通过SBC发送给主叫方设备,无法完成SIP呼叫,从而导致了SIP呼叫的可靠性的降低。
发明内容
本发明提供实现SIP呼叫的方法及设备、***,用以提高SIP呼叫的可靠性。
一方面提供了一种实现SIP呼叫的方法,应用于主叫方设备穿越NAT设备进行SIP呼叫的场景,包括:
所述主叫方设备向所述NAT设备发送SIP邀请报文,以使所述NAT设备对所述SIP邀请报文的报文头的信令地址信息转换后发送给SBC;所述SIP邀请报文包含所述主叫方设备的第一媒体地址信息;
所述SBC接收所述NAT设备发送的所述SIP邀请报文,对所述SIP邀请报文进行拓扑隐藏,将进行拓扑隐藏的SIP邀请报文发送给被叫方设备,所述进行拓扑隐藏的SIP邀请报文中包含所述主叫方设备的第三媒体地址信息,所述主叫方设备的第三媒体地址信息为所述SBC为所述主叫方设备分配的媒体地址信息;
所述SBC接收被叫方设备发送的SIP应答报文,对所述SIP应答报文进行拓扑隐藏并添加指示信息,向所述NAT设备发送包含所述指示信息的拓扑隐藏的SIP应答报文;所述拓扑隐藏的SIP应答报文包含所述被叫方设备的第一媒体地址信息;所述被叫方设备的第一媒体地址信息为所述SBC为所述被叫方设备分配的媒体地址信息;所述指示信息用以指示所述主叫方设备根据所述指示信息发送第一媒体报文,所述第一媒体报文为RTP静音报文,所述RTP静音报文中的源地址为所述主叫方设备的第一媒体地址信息,目的地址为被叫方设备的第一媒体地址信息;
所述SBC根据所述SIP邀请报文和所述SIP应答报文,获得所述主叫方设备的第三媒体地址信息与所述被叫方设备的第一媒体地址信息的对应关系;
所述SBC接收第二媒体报文,所述第二媒体报文为所述第一媒体报文经所述NAT设备转换得到,所述第二媒体报文中包含所述主叫方设备的第二媒体地址信息和所述被叫方设备的第一媒体地址信息,所述主叫方设备的第二媒体地址信息为所述NAT设备对所述主叫方设备的第一媒体地址信息进行转换获得;
所述SBC根据所述主叫方设备的第二媒体地址信息和所述被叫方设备的第一媒体地址信息,以及已获得的所述主叫方设备的第三媒体地址信息与所述被叫方设备的第一媒体地址信息的对应关系,获得所述主叫方设备的第二媒体地址信息与所述主叫方设备的第三媒体地址信息的对应关系;
所述SBC接收被叫方设备发送的第三媒体报文,所述第三媒体报文中包含所述主叫方设备的第三媒体地址信息;
所述SBC根据所述主叫方设备的第二媒体地址信息与所述主叫方设备的第三媒体地址信息的对应关系,获得与所述第三媒体报文中所述主叫方设备的第三媒体地址信息对应的所述主叫方设备的第二媒体地址信息,并向所述NAT设备发送第四媒体报文,所述第四媒体报文中包含所述主叫方设备的第二媒体地址信息,以使得所述NAT设备向所述主叫方设备发送第五媒体报文,所述第五媒体报文中包含所述主叫方设备的第一媒体地址信息。
另一方面提供了一种实现SIP呼叫的方法,应用于主叫方设备穿越NAT设备进行SIP呼叫的场景,包括:
所述主叫方设备接收所述NAT设备发送的包含指示信息的第一SIP应答报文;所述第一SIP应答报文是所述NAT设备对从所述SBC接收到的第二SIP应答报文的报文头的信令地址信息转换后得到的,所述第二SIP应答报文是所述SBC对从被叫方设备接收到的SIP应答报文进行拓扑隐藏并添加所述指示信息后得到的;所述第一SIP应答报文包含所述被叫方设备的第一媒体地址信息;所述被叫方设备的第一媒体地址信息为所述SBC为所述被叫方设备分配的媒体地址信息;
所述主叫方设备根据所述指示信息,发送第一媒体报文,所述第一媒体报文为RTP静音报文,所述RTP静音报文中的源地址为所述主叫方设备的第一媒体地址信息,目的地址为被叫方设备的第一媒体地址信息,以使得所述SBC接收第二媒体报文,并根据所述主叫方设备的第二媒体地址信息和所述被叫方设备的第一媒体地址信息,以及根据所述主叫方设备的第三媒体地址信息与所述被叫方设备的第一媒体地址信息的对应关系,获得所述主叫方设备的第二媒体地址信息与所述主叫方设备的第三媒体地址信息的对应关系,所述第二媒体报文为所述第一媒体报文经所述NAT设备转换得到,所述第二媒体报文中包含所述主叫方设备的第二媒体地址信息和所述被叫方设备的第一媒体地址信息,所述主叫方设备的第二媒体地址信息为所述NAT设备对所述主叫方设备的第一媒体地址信息进行转换获得,所述主叫方设备的第三媒体地址信息为所述SBC为所述主叫方设备分配的媒体地址信息;
所述主叫方设备接收第五媒体报文,所述第五媒体报文中包含所述主叫方设备的第一媒体地址信息,所述第五媒体报文由所述NAT设备接收到第四媒体报文后发送,所述第四媒体报文中包含所述主叫方设备的第二媒体地址信息,所述第四媒体报文由所述SBC接收被叫方设备发送的第三媒体报文后,根据所述主叫方设备的第二媒体地址信息与所述主叫方设备的第三媒体地址信息的对应关系,获得与所述第三媒体报文中所述主叫方设备的第三媒体地址信息对应的所述主叫方设备的第二媒体地址信息后向所述NAT设备发送,所述第三媒体报文中包含所述主叫方设备的第三媒体地址信息。
另一方面提供了一种SBC,应用于主叫方设备穿越NAT设备进行SIP呼叫的场景,包括:
第一接收单元,用于接收所述NAT设备将从所述主叫方设备接收的SIP邀请报文的报文头的信令地址信息转换后的得到的SIP邀请报文;所述SIP邀请报文包含所述主叫方设备的第一媒体地址信息;
对所述SIP邀请报文进行拓扑隐藏,将进行拓扑隐藏的SIP邀请报文发送给被叫方设备,所述进行拓扑隐藏的SIP邀请报文中包含所述主叫方设备的第三媒体地址信息,所述主叫方设备的第三媒体地址信息为所述SBC为所述主叫方设备分配的媒体地址信息;
第一发送单元,用于接收被叫方设备发送的SIP应答报文,对所述SIP应答报文进行拓扑隐藏并添加指示信息,向所述NAT设备发送包含所述指示信息的拓扑隐藏的SIP应答报文;所述拓扑隐藏的SIP应答报文包含所述被叫方设备的第一媒体地址信息;所述被叫方设备的第一媒体地址信息为所述SBC为所述被叫方设备分配的媒体地址信息;所述指示信息用以指示所述主叫方设备根据所述指示信息发送第一媒体报文,所述第一媒体报文为RTP静音报文,所述RTP静音报文中的源地址为所述主叫方设备的第一媒体地址信息,目的地址为所述被叫方设备的第一媒体地址信息,所述被叫方设备的第一媒体地址信息为所述SBC为所述被叫方设备分配的媒体地址信息;
第二接收单元,用于接收第二媒体报文,所述第二媒体报文为所述第一媒体报文经所述NAT设备转换得到,所述第二媒体报文中包含所述主叫方设备的第二媒体地址信息和所述被叫方设备的第一媒体地址信息,所述主叫方设备的第二媒体地址信息为所述NAT设备对所述主叫方设备的第一媒体地址信息进行转换获得;
获得单元,用于根据所述主叫方设备的第二媒体地址信息和所述被叫方设备的第一媒体地址信息,以及已获得的所述主叫方设备的第三媒体地址信息与所述被叫方设备的第一媒体地址信息的对应关系,获得所述主叫方设备的第二媒体地址信息与所述主叫方设备的第三媒体地址信息的对应关系,其中,所述主叫方设备的第三媒体地址信息与所述被叫方设备的第一媒体地址信息的对应关系为所述SBC根据所述SIP邀请报文和所述SIP应答报文获得的;
第三接收单元,用于接收被叫方设备发送的第三媒体报文,所述第三媒体报文中包含所述主叫方设备的第三媒体地址信息;
第二发送单元,用于根据所述主叫方设备的第二媒体地址信息与所述主叫方设备的第三媒体地址信息的对应关系,获得与所述第三媒体报文中所述主叫方设备的第三媒体地址信息对应的所述主叫方设备的第二媒体地址信息,并向所述NAT设备发送第四媒体报文,所述第四媒体报文中包含所述主叫方设备的第二媒体地址信息,以使得所述NAT设备向所述主叫方设备发送第五媒体报文,所述第五媒体报文中包含所述主叫方设备的第一媒体地址信息。
另一方面提供了一种主叫方设备,应用于主叫方设备穿越NAT设备进行SIP呼叫的场景,包括:
第一接收单元,用于接收所述NAT设备发送的包含指示信息的第一SIP应答报文;所述第一SIP应答报文是所述NAT设备对从所述SBC接收到的第二SIP应答报文的报文头的信令地址信息转换后得到的,所述第二SIP应答报文是所述SBC对从被叫方设备接收到的SIP应答报文进行拓扑隐藏并添加所述指示信息后得到的;所述第一SIP应答报文包含所述被叫方设备的第一媒体地址信息;所述被叫方设备的第一媒体地址信息为所述SBC为所述被叫方设备分配的媒体地址信息;
发送单元,用于根据所述指示信息,发送第一媒体报文,所述第一媒体报文为RTP静音报文,所述RTP静音报文中的源地址为所述主叫方设备的第一媒体地址信息,目的地址为被叫方设备的第一媒体地址信息,以使得所述SBC接收第二媒体报文,并根据所述主叫方设备的第二媒体地址信息和所述被叫方设备的第一媒体地址信息,以及根据所述主叫方设备的第三媒体地址信息与所述被叫方设备的第一媒体地址信息的对应关系,获得所述主叫方设备的第二媒体地址信息与所述主叫方设备的第三媒体地址信息的对应关系,所述第二媒体报文为所述第一媒体报文经所述NAT设备转换得到,所述第二媒体报文中包含所述主叫方设备的第二媒体地址信息和所述被叫方设备的第一媒体地址信息,所述主叫方设备的第二媒体地址信息为所述NAT设备对所述主叫方设备的第一媒体地址信息进行转换获得,所述主叫方设备的第三媒体地址信息为所述SBC为所述主叫方设备分配的媒体地址信息;
第二接收单元,用于接收第五媒体报文,所述第五媒体报文中包含所述主叫方设备的第一媒体地址信息,所述第五媒体报文由所述NAT设备接收到第四媒体报文后发送,所述第四媒体报文中包含所述主叫方设备的第二媒体地址信息,所述第四媒体报文由所述SBC接收被叫方设备发送的第三媒体报文后,根据所述主叫方设备的第二媒体地址信息与所述主叫方设备的第三媒体地址信息的对应关系,获得与所述第三媒体报文中所述主叫方设备的第三媒体地址信息对应的所述主叫方设备的第二媒体地址信息后向所述NAT设备发送,所述第三媒体报文中包含所述主叫方设备的第三媒体地址信息。
一方面提供了一种实现SIP呼叫的***,应用于主叫方设备穿越NAT设备进行SIP呼叫的场景,包括NAT设备、如上所述的会话边界控制器SBC和如上所述的主叫方设备
由上述技术方案可知,本发明实施例能够解决现有技术中在SIP呼叫过程中,由于NAT设备只能够转换SIP报文的报文头中的信令IP地址信息,而无法转换SIP报文的报文头中的媒体IP地址信息而导致的在主叫方设备的媒体报文没有到达SBC之前,被叫方设备的媒体报文则不会通过SBC发送给主叫方设备的问题,采用本发明实施例提供的技术方案,能够成功完成SIP呼叫,从而能够有效提高SIP呼叫的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的实现SIP呼叫的方法的流程示意图;
图2为本发明另一实施例提供的实现SIP呼叫的方法的流程示意图;
图3为本发明另一实施例提供的实现SIP呼叫的方法的流程示意图;
图4为本发明另一实施例提供的SBC的结构示意图;
图5为本发明另一实施例提供的主叫方设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一实施例提供的实现SIP呼叫的方法的流程示意图,应用于主叫方设备穿越NAT设备进行SIP呼叫的场景,如图1所示,所述方法可以包括:
101、在SIP呼叫建立过程中,SBC向上述主叫方设备发送指示信息,上述指示信息用以指示上述主叫方设备根据上述指示信息发送第一媒体报文,上述第一媒体报文中包含上述主叫方设备的第一媒体地址信息和被叫方设备的第一媒体地址信息,上述被叫方设备的第一媒体地址信息为上述SBC为上述被叫方设备分配的媒体地址信息。
其中,上述指示信息可以用于指示上述主叫方设备发送所述第一媒体报文。
在本发明实施例的一个应用场景中,上述SBC可以向上述主叫方设备发送第一SIP应答报文,上述第一SIP振铃报文中包含上述指示信息。其中,上述第一SIP振铃报文由上述SBC根据接收到的上述被叫方设备发送的第二SIP振铃报文发送。其中,上述第一应答报文或第二应答报文可以包括但不限于振铃(Ring)报文(180报文)、183报文或200OK报文。例如:主叫方设备通过NAT设备和SBC向被叫方设备发送SIP邀请消息;被叫方接收到SIP邀请消息之后,向SBC发送180报文;SBC在180报文中添加上述指示信息,将添加了上述指示信息的180报文发送给主叫方设备。
在本发明实施例的一个应用场景中,上述指示信息还可以进一步用于指示上述主叫方设备发送媒体报文的端口为上述主叫方设备的媒体接收端口;相应地,主叫方设备则可以根据上述指示信息,并在主叫方设备的媒体接收端口,发送第一媒体报文,从而能够有效避免由于发送方终端的媒体接收端口与媒体发送端口不一致而导致的被叫方设备的媒体报文不会通过SBC发送给主叫方设备的问题,从而进一步提高了SIP呼叫的可靠性。
在本发明实施例的一个应用场景中,上述指示信息具体可以用于指示上述主叫方设备发送静音媒体报文,相应地,上述第一媒体报文和上述第二媒体报文为静音媒体报文,能够较少占用网络传输资源,避免了网络传输资源的浪费。
102、上述SBC接收第二媒体报文,上述第二媒体报文为上述第一媒体报文经上述NAT设备转换得到,上述第二媒体报文中包含上述主叫方设备的第二媒体地址信息和上述被叫方设备的第一媒体地址信息,上述主叫方设备的第二媒体地址信息为上述NAT设备对上述主叫方设备的第一媒体地址信息进行转换获得。
103、上述SBC根据上述主叫方设备的第二媒体地址信息和上述被叫方设备的第一媒体地址信息,以及上述主叫方设备的第三媒体地址信息与上述被叫方设备的第一媒体地址信息的对应关系,获得上述主叫方设备的第二媒体地址信息与上述主叫方设备的第三媒体地址信息的对应关系,上述主叫方设备的第三媒体地址信息为上述SBC为上述主叫方设备分配的媒体地址信息。
在本发明实施例的一个应用场景中,上述SBC接收到上述第二媒体报文之后,可以根据上述第二媒体报文中包含的上述主叫方设备的第二媒体地址信息和上述被叫方设备的第一媒体地址信息,以及进而根据SBC在接收主叫方设备发送的SIP邀请消息和被叫方设备发送的SIP应答报文之后,获得的上述主叫方设备的第三媒体地址信息与上述被叫方设备的第一媒体地址信息的对应关系,获得上述主叫方设备的第二媒体地址信息与上述主叫方设备的第三媒体地址信息的对应关系。
104、上述SBC接收被叫方设备发送的第三媒体报文,上述第三媒体报文中包含上述主叫方设备的第三媒体地址信息。
105、上述SBC根据上述对应关系,获得与上述主叫方设备的第三媒体地址信息对应的上述主叫方设备的第二媒体地址信息,并向上述NAT设备发送第四媒体报文,上述第四媒体报文中包含上述主叫方设备的第二媒体地址信息,以使得上述NAT设备向上述主叫方设备发送第五媒体报文,上述第五媒体报文中包含上述主叫方设备的第一媒体地址信息。
本实施例中,在SIP呼叫建立过程中,通过SBC向主叫方设备发送指示信息,该指示信息用以指示上述主叫方设备根据上述指示信息发送第一媒体报文,使得上述SBC能够根据接收到的第二媒体报文中包含的上述主叫方设备的第二媒体地址信息和上述被叫方设备的第一媒体地址信息,以及进而根据SBC之前获得的上述主叫方设备的第三媒体地址信息与上述被叫方设备的第一媒体地址信息的对应关系,获得上述主叫方设备的第二媒体地址信息与上述主叫方设备的第三媒体地址信息的对应关系,并根据该对应关系,将被叫方设备发送的第三媒体报文发送给主叫方设备,能够解决现有技术中在SIP呼叫过程中,由于NAT设备只能够转换SIP报文的报文头中的信令IP地址信息,而无法转换SIP报文的报文头中的媒体IP地址信息而导致的在主叫方设备的媒体报文没有到达SBC之前,被叫方设备的媒体报文则不会通过SBC发送给主叫方设备的问题,采用本发明实施例提供的技术方案,能够成功完成SIP呼叫,从而能够有效提高SIP呼叫的可靠性。
图2为本发明另一实施例提供的实现SIP呼叫的方法的流程示意图,应用于主叫方设备穿越NAT设备进行SIP呼叫的场景,如图2所示,所述方法可以包括:
201、在SIP呼叫建立过程中,上述主叫方设备接收SBC发送的指示信息。
其中,上述指示信息可以用于指示上述主叫方设备发送第一媒体报文。
在本发明实施例的一个应用场景中,上述主叫方设备可以接收上述SBC发送的第一SIP应答报文,上述第一SIP振铃报文中包含上述指示信息。其中,上述第一SIP振铃报文由上述SBC根据接收到的上述被叫方设备发送的第二SIP振铃报文发送。其中,上述第一应答报文或第二应答报文可以包括但不限于振铃(Ring)报文(180报文)、183报文或200OK报文。例如:主叫方设备通过NAT设备和SBC向被叫方设备发送SIP邀请消息;被叫方接收到SIP邀请消息之后,向SBC发送180报文;SBC在180报文中添加上述指示信息,将添加了上述指示信息的180报文发送给主叫方设备。
202、上述主叫方设备根据上述指示信息,发送第一媒体报文,上述第一媒体报文中包含上述主叫方设备的第一媒体地址信息和被叫方设备的第一媒体地址信息,上述被叫方设备的第一媒体地址信息为上述SBC为上述被叫方设备分配的媒体地址信息,以使得上述SBC接收第二媒体报文,并根据上述主叫方设备的第二媒体地址信息和上述被叫方设备的第一媒体地址信息,以及上述主叫方设备的第三媒体地址信息与上述被叫方设备的第一媒体地址信息的对应关系,获得上述主叫方设备的第二媒体地址信息与上述主叫方设备的第三媒体地址信息的对应关系,上述第二媒体报文为上述第一媒体报文经上述NAT设备转换得到,上述第二媒体报文中包含上述主叫方设备的第二媒体地址信息和上述被叫方设备的第一媒体地址信息,上述主叫方设备的第二媒体地址信息为上述NAT设备对上述主叫方设备的第一媒体地址信息进行转换获得,上述主叫方设备的第三媒体地址信息为上述SBC为上述主叫方设备分配的媒体地址信息。
在本发明实施例的一个应用场景中,上述指示信息具体可以用于指示上述主叫方设备发送静音媒体报文,相应地,上述第一媒体报文和上述第二媒体报文为静音媒体报文,能够较少占用网络传输资源,避免了网络传输资源的浪费。
在本发明实施例的一个应用场景中,上述指示信息还可以进一步用于指示上述主叫方设备发送媒体报文的端口为上述主叫方设备的媒体接收端口;相应地,主叫方设备则可以根据上述指示信息,并在主叫方设备的媒体接收端口,发送第一媒体报文,从而能够有效避免由于发送方终端的媒体接收端口与媒体发送端口不一致而导致的被叫方设备的媒体报文不会通过SBC发送给主叫方设备的问题,从而进一步提高了SIP呼叫的可靠性。
在本发明的另一实施例中,上述SBC接收到上述第二媒体报文之后,可以根据上述第二媒体报文中包含的上述主叫方设备的第二媒体地址信息和上述被叫方设备的第一媒体地址信息,以及进而根据SBC在接收主叫方设备发送的SIP邀请消息和被叫方设备发送的SIP应答报文之后,获得的上述主叫方设备的第三媒体地址信息与上述被叫方设备的第一媒体地址信息的对应关系,获得上述主叫方设备的第二媒体地址信息与上述主叫方设备的第三媒体地址信息的对应关系。
203、上述主叫方设备接收第五媒体报文,上述第五媒体报文中包含上述主叫方设备的第一媒体地址信息,上述第五媒体报文由上述NAT设备接收到第四媒体报文后发送,上述第四媒体报文中包含上述主叫方设备的第二媒体地址信息,上述第四媒体报文由上述SBC接收被叫方设备发送的第三媒体报文后,根据上述对应关系,获得与上述主叫方设备的第三媒体地址信息对应的上述主叫方设备的第二媒体地址信息,并发送,上述第三媒体报文中包含上述主叫方设备的第三媒体地址信息。
本实施例中,在SIP呼叫建立过程中,主叫方设备通过接收SBC发送的指示信息,使得上述主叫方设备能够根据上述指示信息发送第一媒体报文,使得上述SBC能够根据接收到的第二媒体报文中包含的上述主叫方设备的第二媒体地址信息和上述被叫方设备的第一媒体地址信息,以及进而根据SBC之前获得的上述主叫方设备的第三媒体地址信息与上述被叫方设备的第一媒体地址信息的对应关系,获得上述主叫方设备的第二媒体地址信息与上述主叫方设备的第三媒体地址信息的对应关系,并根据该对应关系,将被叫方设备发送的第三媒体报文发送给主叫方设备,能够解决现有技术中在SIP呼叫过程中,由于NAT设备只能够转换SIP报文的报文头中的信令IP地址信息,而无法转换SIP报文的报文体中的媒体IP地址信息而导致的在主叫方设备的媒体报文没有到达SBC之前,被叫方设备的媒体报文则不会通过SBC发送给主叫方设备的问题,采用本发明实施例提供的技术方案,能够成功完成SIP呼叫,从而能够有效提高SIP呼叫的可靠性。
需要说明的是:本发明实施例涉及的NAT设备就是具有网络地址转换功能的网络设备,可以包括但不限于路由器、防火墙、交换机或服务器,本发明实施例对此不进行限定。
在本发明实施例的一个应用场景中,上述主叫方设备可以通过上述NAT设备接收上述SBC发送的第一SIP振铃(Ring)报文,上述第一SIP应答报文中包含上述指示信息,上述第一SIP应答报文由上述SBC根据接收到的上述被叫方设备发送的第二SIP应答报文发送。其中,上述第一应答报文或第二应答报文可以包括但不限于振铃(Ring)报文(180报文)、183报文或200OK报文。例如:主叫方设备通过NAT设备和SBC向被叫方设备发送SIP邀请消息;被叫方接收到SIP邀请消息之后,向SBC发送180报文;SBC在180报文中添加上述指示信息,将添加了上述指示信息的180报文通过NAT设备发送给主叫方设备。
在NAT设备接收到上述第一媒体报文之后,上述NAT设备可以对上述第一媒体报文中包含的上述主叫方设备的第一媒体地址信息进行转换,获得上述主叫方设备的第二媒体地址,并向SBC发送第二媒体报文,该第二媒体报文中包含上述主叫方设备的第二媒体地址信息和上述被叫方设备的第一媒体地址信息。
上述SBC接收到上述第二媒体报文之后,可以学习到该第二媒体报文中包含的上述主叫方设备的第二媒体地址信息和上述被叫方设备的第一媒体地址信息,以及获得SBC在接收主叫方设备发送的SIP邀请消息和被叫方设备发送的SIP应答报文之后,获得的上述主叫方设备的第三媒体地址信息与上述被叫方设备的第一媒体地址信息的对应关系,并进而根据上述信息,获得上述主叫方设备的第二媒体地址信息与上述主叫方设备的第三媒体地址信息的对应关系。
至此,SBC能够根据获得的上述主叫方设备的第二媒体地址信息与上述主叫方设备的第三媒体地址信息的对应关系,将被叫方设备发送的第三媒体报文发送给主叫方设备,能够解决现有技术中在SIP呼叫过程中,由于NAT设备只能够转换SIP报文的报文头中的信令IP地址信息,而无法转换SIP报文的报文头中的媒体IP地址信息而导致的在主叫方设备的媒体报文没有到达SBC之前,被叫方设备的媒体报文则不会通过SBC发送给主叫方设备的问题,采用本发明实施例提供的技术方案,能够成功完成SIP呼叫,从而能够有效提高SIP呼叫的可靠性。
可以理解的是:上述本发明实施例中涉及的第一媒体报文、第二媒体报文、第三媒体报文、第四媒体报文和第五媒体报文可以包括但不限于实时传送协议(Real-time Transport Protocol,简称RTP)报文。
需要说明的是:本发明实施例涉及的SBC进行的拓扑隐藏不是必须要进行的,也就是说,SBC可以对发送方设备和接收方设备发送的报文不进行拓扑隐藏,即主叫方设备的第二媒体地址信息与主叫方设备的第三媒体地址信息相同,以及被叫方设备的第一媒体地址信息与被叫方设备的第二媒体地址信息相同,本发明实施例对此不进行限定。
举例来说,如图3所示,为本发明另一实施例提供的实现SIP呼叫的方法的流程示意图。其中,SIP报文的报文体是通过会话描述协议(SessionDescription Protocol,简称SDP)协议描述的。如图3所示,本实施例的实现SIP呼叫的方法可以包括:
301、主叫方设备向NAT设备发送SIP邀请(Invite)报文;
例如:主叫方设备向NAT设备发送SIP邀请报文,该SIP邀请报文的报文体中包含主叫方设备的媒体IP地址192.168.1.2和主叫方设备的媒体接收端口号3008。
302、NAT设备转换SIP邀请报文的报文头中的信令地址信息,而不转换SIP邀请报文的报文体中的NAT设备为主叫方设备分配的媒体地址信息,并将转换后的SIP邀请报文发送给SBC;
例如:NAT设备不转换SIP邀请报文的报文体中的NAT设备为主叫方设备分配的媒体地址信息,所以NAT设备向SBC发送的SIP邀请报文的报文体中仍然包含主叫方设备的媒体IP地址192.168.1.2和主叫方设备的媒体接收端口号3008。
303、SBC对上述SIP邀请报文进行拓扑隐藏,并将进行拓扑隐藏的SIP邀请报文发送给被叫方设备;
例如:SBC接收到来自SBC的SIP邀请报文之后,可以按照现有技术中的拓扑隐藏方案,转换接收到的SIP邀请报文的路由(VIA)头域中的NAT设备为主叫方设备转换的信令地址信息,以及转换SIP邀请报文的SDP体中的主叫方设备的媒体地址信息,以进行拓扑隐藏,并将进行拓扑隐藏的SIP邀请报文发送给被叫方设备。例如:SBC向被叫方设备发送的SIP邀请报文的报文体中包含SBC进行拓扑隐藏为主叫方设备分配的媒体IP地址20.1.3.8和SBC进行拓扑隐藏为主叫方设备分配的媒体端口号5007。
可以理解的是:为了简化流程,本实施例涉及的流程中,省略了被叫方设备与SBC之间的网元SIP报文的交互,详细流程可以参见现有技术中的相关描述。
304、被叫方设备向SBC发送SIP应答报文;
305、SBC对上述SIP应答报文进行拓扑隐藏,并在进行拓扑隐藏的SIP应答报文中添加用于指示主叫方设备在上述主叫方设备的媒体接收端口发送静音媒体报文的指示信息,并将包含指示信息的SIP应答报文发送给NAT设备;
例如:SBC接收到来自被叫方设备的SIP应答报文之后,可以按照现有技术中的拓扑隐藏方案,转换接收到的SIP应答报文的路由(VIA)头域中的被叫方设备的信令地址信息,以及转换SIP应答报文的SDP体中的被叫方设备的媒体地址信息,以进行拓扑隐藏,以及在进行拓扑隐藏的SIP应答报文中添加上述指示信息,并将进行拓扑隐藏的SIP应答报文发送给NAT设备。例如:SBC向NAT设备发送的SIP应答报文的报文体中包含SBC进行拓扑隐藏为被叫方设备分配的媒体IP地址20.1.3.8和SBC进行拓扑隐藏为被叫方设备分配的媒体端口号7003,该SIP应答报文中还包含上述指示信息a=natpacket。
可以理解的是:SBC还可以进一步根据主叫方设备发送的SIP邀请消息和被叫方设备发送的SIP应答报文,获得SBC为主叫方设备分配的媒体地址信息,即媒体IP地址20.1.3.8和媒体端口号5007,与SBC为被叫方设备分配的媒体地址信息,即媒体IP地址20.1.3.8和媒体端口号7003,的对应关系。
306、NAT设备转换SIP应答报文的报文头中的信令地址信息,而不转换SIP应答报文的报文体中的NAT设备为主叫方设备分配的媒体地址信息,并将转换后的SIP应答报文发送给主叫方设备;
可以理解的是:在306中,上述NAT设备不转换被叫终端的任何地址信息。
例如:NAT设备不转换SIP应答报文的报文体中的主叫方设备的媒体地址信息,所以NAT设备向主叫方设备发送的SIP应答报文的报文体中仍然包含主叫方设备的媒体IP地址192.168.1.2和主叫方设备的媒体接收端口号3008。
307、主叫方设备根据上述指示信息,在主叫方设备的媒体接收端口向NAT设备发送RTP静音报文;
例如:主叫方设备接收到上述SIP应答报文之后,根据上述指示信息,立即在主叫方设备的媒体接收端口向NAT设备发送RTP静音报文,该RTP静音报文中的源地址为主叫方设备的媒体地址信息,即媒体IP地址192.168.1.2和媒体接收端口号3008,目的地址为SBC为被叫方设备分配的媒体地址信息,即媒体IP地址20.1.3.8和媒体接收端口号7003。
308、NAT设备转换RTP静音报文的报文头中的主叫方设备的媒体地址信息,并将转换后的RTP静音报文发送给SBC;
例如:NAT设备向SBC发送的RTP静音报文中的源地址为NAT设备为主叫方设备转换的媒体地址信息,即媒体IP地址20.1.3.8和媒体接收端口号8028,目的地址为SBC为被叫方设备分配的媒体地址信息,即媒体IP地址20.1.3.8和媒体接收端口号7003。
309、SBC根据RTP静音报文中的源地址,即NAT设备为主叫方设备转换的媒体地址信息,和目的地址,即SBC为被叫方设备分配的媒体地址信息,以及之前获得的SBC为主叫方设备分配的媒体地址信息与SBC为被叫方设备分配的媒体地址信息的对应关系,获得NAT设备为主叫方设备转换的媒体地址信息与SBC为主叫方设备分配的媒体地址信息的对应关系;
具体地,上述SBC接收到RTP静音报文之后,可以学习到该RTP静音报文中包含的NAT设备为主叫方设备转换的媒体地址信息和SBC为被叫方设备分配的媒体地址信息,以及获得SBC在接收主叫方设备发送的SIP邀请消息和被叫方设备发送的SIP应答报文之后,获得的SBC为主叫方设备分配的媒体地址信息与SBC为被叫方设备分配的媒体地址信息的对应关系,进而根据上述信息,获得NAT设备为主叫方设备转换的媒体地址信息与SBC为主叫方设备分配的媒体地址信息的对应关系。
例如:SBC根据NAT设备为主叫方设备转换的媒体地址信息,即媒体IP地址20.1.3.8和媒体接收端口号8028,和SBC为被叫方设备分配的媒体地址信息,即媒体IP地址20.1.3.8和媒体接收端口号7003,以及获得的SBC为主叫方设备分配的媒体地址信息,即媒体IP地址20.1.3.8和媒体端口号5007,与SBC为被叫方设备分配的媒体地址信息,即媒体IP地址20.1.3.8和媒体端口号7003,的对应关系,获得NAT设备为主叫方设备转换的媒体地址信息与SBC为主叫方设备分配的媒体地址信息的对应关系,即20.1.3.8:8028与20.1.3.8:5007的对应关系。
310、SBC接收被叫方设备发送的RTP报文,例如彩铃;
例如:SBC接收的RTP报文中的源地址(SRC)为被叫方设备的媒体地址信息(媒体IP地址20.1.5.9和媒体接收端口号9000),目的地址(DST)为SBC为主叫方设备分配的媒体地址信息(媒体IP地址20.1.3.8和媒体接收端口号5007)。
311、SBC根据获得的对应关系,获得与RTP报文中的目的地址,即SBC为主叫方设备分配的媒体地址信息,对应的NAT设备为主叫方设备转换的媒体地址信息,并利用获得的NAT设备为主叫方设备转换的媒体地址信息,向NAT设备发送RTP报文;
可以理解的是:SBC还可以进一步对上述RTP报文进行拓扑隐藏。SBC接收到来自被叫方设备的RTP报文之后,可以按照现有技术中的拓扑隐藏方案,转换接收到的RTP报文中的被叫方设备的媒体地址信息,以进行拓扑隐藏。例如:SBC向NAT设备发送的RTP报文中的源地址为SBC进行拓扑隐藏为被叫方设备分配的媒体地址信息,即媒体IP地址20.1.3.8和媒体接收端口号7003,目的地址为SBC根据获得的对应关系获得,即媒体IP地址20.1.3.8和媒体接收端口号8028。
312、NAT设备转换RTP报文中的媒体地址信息,并将转换后的RTP报文发送给主叫方设备。
可以理解的是:在312中,上述NAT设备不转换被叫终端的任何地址信息。
例如:NAT设备不转换RTP报文中的源地址,所以NAT设备向主叫方设备发送的RTP报文中的源地址仍然为SBC进行拓扑隐藏为被叫方设备分配的媒体地址信息,即媒体IP地址20.1.3.8和媒体接收端口号7003,目的地址为主叫方设备的媒体IP地址192.168.1.2和主叫方设备的媒体接收端口号3008。
至此,主叫方设备接收到被叫方设备发送的RTP报文,后续等待被叫方设备摘机即可以进行SIP呼叫,从而能够成功完成SIP呼叫。
本实施例中,在SIP呼叫建立过程中,SBC通过NAT设备向主叫方设备发送用于指示主叫方设备在上述主叫方设备的媒体接收端口发送静音媒体报文的指示信息,进而通过NAT设备接收主叫方设备发送的RTP静音报文,所述RTP静音报文经过NAT设备之后包含NAT设备为主叫方设备转换的媒体地址信息,并根据该RTP静音报文获得NAT设备为主叫方设备转换的媒体地址信息与SBC为主叫方设备分配的媒体地址信息的对应关系,使得SBC根据获得的对应关系,将被叫方设备的RTP报文发送给主叫方设备,能够解决现有技术中在SIP呼叫过程中,由于NAT设备只能够转换SIP报文的报文头中的信令IP地址信息,而无法转换SIP报文的报文头中的媒体IP地址信息而导致的在主叫方设备的媒体报文没有到达SBC之前,被叫方设备的媒体报文则不会通过SBC发送给主叫方设备的问题,采用本发明实施例提供的技术方案,能够成功完成SIP呼叫,从而能够有效提高SIP呼叫的可靠性。由于指示信息能够指示主叫方设备发送媒体报文的端口为主叫方设备的媒体接收端口,所以能够有效避免由于发送方终端的媒体接收端口与媒体发送端口不一致而导致的被叫方设备的媒体报文不会通过SBC发送给主叫方设备的问题,从而进一步提高了SIP呼叫的可靠性。
需要说明的是:对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图4为本发明另一实施例提供的SBC的结构示意图,应用于主叫方设备穿越NAT设备进行SIP呼叫的场景,如图4所示,本实施例的SBC可以包括第一发送单元41、第一接收单元42、获得单元43、第二接收单元44和第二发送单元45。其中,第一发送单元41用于在SIP呼叫建立过程中,向所述主叫方设备发送指示信息,所述指示信息用以指示所述主叫方设备根据所述指示信息发送第一媒体报文,所述第一媒体报文中包含所述主叫方设备的第一媒体地址信息和被叫方设备的第一媒体地址信息,所述被叫方设备的第一媒体地址信息为所述SBC为所述被叫方设备分配的媒体地址信息;第一接收单元42用于接收第二媒体报文,所述第二媒体报文为所述第一媒体报文经所述NAT设备转换得到,所述第二媒体报文中包含所述主叫方设备的第二媒体地址信息和所述被叫方设备的第一媒体地址信息,所述主叫方设备的第二媒体地址信息为所述NAT设备对所述主叫方设备的第一媒体地址信息进行转换获得;获得单元43用于根据所述主叫方设备的第二媒体地址信息和所述被叫方设备的第一媒体地址信息,以及所述主叫方设备的第三媒体地址信息与所述被叫方设备的第一媒体地址信息的对应关系,获得所述主叫方设备的第二媒体地址信息与所述主叫方设备的第三媒体地址信息的对应关系,所述主叫方设备的第三媒体地址信息为所述SBC为所述主叫方设备分配的媒体地址信息;第二接收单元44用于接收被叫方设备发送的第三媒体报文,所述第三媒体报文中包含所述主叫方设备的第三媒体地址信息;第二发送单元45用于根据所述对应关系,获得与所述主叫方设备的第三媒体地址信息对应的所述主叫方设备的第二媒体地址信息,并向所述NAT设备发送第四媒体报文,所述第四媒体报文中包含所述主叫方设备的第二媒体地址信息,以使得所述NAT设备向所述主叫方设备发送第五媒体报文,所述第五媒体报文中包含所述主叫方设备的第一媒体地址信息。
其中,上述指示信息可以用于指示上述主叫方设备发送所述第一媒体报文。
在本发明实施例的一个应用场景中,第一发送单元41具体可以向上述主叫方设备发送第一SIP应答报文,上述第一SIP应答报文中包含上述指示信息。
在本发明实施例的一个应用场景中,上述指示信息具体可以用于指示上述主叫方设备发送静音媒体报文,相应地,上述第一媒体报文和上述第二媒体报文为静音媒体报文,能够较少占用网络传输资源,避免了网络传输资源的浪费。
在本发明实施例的另一个应用场景中,上述指示信息还可以进一步用于指示上述主叫方设备发送媒体报文的端口为上述主叫方设备的媒体接收端口;相应地,主叫方设备则可以根据上述指示信息,并在主叫方设备的媒体接收端口,发送第一媒体报文,从而能够有效避免由于发送方终端的媒体接收端口与媒体发送端口不一致而导致的被叫方设备的媒体报文不会通过SBC发送给主叫方设备的问题,从而进一步提高了SIP呼叫的可靠性。
本实施例中,在SIP呼叫建立过程中,SBC通过第一发送单元向主叫方设备发送指示信息,该指示信息用以指示上述主叫方设备根据上述指示信息发送第一媒体报文,使得获得单元能够根据第一接收单元接收到的第二媒体报文中包含的上述主叫方设备的第二媒体地址信息和上述被叫方设备的第一媒体地址信息,以及进而根据SBC之前获得的上述主叫方设备的第三媒体地址信息与上述被叫方设备的第一媒体地址信息的对应关系,获得上述主叫方设备的第二媒体地址信息与上述主叫方设备的第三媒体地址信息的对应关系,并由第二发送单元根据获得单元获得的对应关系,将第二接收单元接收到的被叫方设备发送的第三媒体报文发送给主叫方设备,能够解决现有技术中在SIP呼叫过程中,由于NAT设备只能够转换SIP报文的报文头中的信令IP地址信息,而无法转换SIP报文的报文头中的媒体IP地址信息而导致的在主叫方设备的媒体报文没有到达SBC之前,被叫方设备的媒体报文则不会通过SBC发送给主叫方设备的问题,采用本发明实施例提供的技术方案,能够成功完成SIP呼叫,从而能够有效提高SIP呼叫的可靠性。
图5为本发明另一实施例提供的主叫方设备的结构示意图,应用于主叫方设备穿越NAT设备进行SIP呼叫的场景,如图5所示,本实施例的主叫方设备可以包括第一接收单元51、发送单元52和第二接收单元53。其中,
所述第一接收单元51用于在SIP呼叫建立过程中,接收会话边界控制器SBC发送的指示信息;
所述发送单元52用于根据所述指示信息,发送第一媒体报文,所述第一媒体报文中包含所述主叫方设备的第一媒体地址信息和被叫方设备的第一媒体地址信息,所述被叫方设备的第一媒体地址信息为所述SBC为所述被叫方设备分配的媒体地址信息,以使得所述SBC接收第二媒体报文,并根据所述主叫方设备的第二媒体地址信息和所述被叫方设备的第一媒体地址信息,以及所述主叫方设备的第三媒体地址信息与所述被叫方设备的第一媒体地址信息的对应关系,获得所述主叫方设备的第二媒体地址信息与所述主叫方设备的第三媒体地址信息的对应关系,所述第二媒体报文为所述第一媒体报文经所述NAT设备转换得到,所述第二媒体报文中包含所述主叫方设备的第二媒体地址信息和所述被叫方设备的第一媒体地址信息,所述主叫方设备的第二媒体地址信息为所述NAT设备对所述主叫方设备的第一媒体地址信息进行转换获得,所述主叫方设备的第三媒体地址信息为所述SBC为所述主叫方设备分配的媒体地址信息;
所述第二接收单元53用于接收第五媒体报文,所述第五媒体报文中包含所述主叫方设备的第一媒体地址信息,所述第五媒体报文由所述NAT设备接收到第四媒体报文后发送,所述第四媒体报文中包含所述主叫方设备的第二媒体地址信息,所述第四媒体报文由所述SBC接收被叫方设备发送的第三媒体报文后,根据所述对应关系,获得与所述主叫方设备的第三媒体地址信息对应的所述主叫方设备的第二媒体地址信息,并发送,所述第三媒体报文中包含所述主叫方设备的第三媒体地址信息。
其中,上述指示信息可以用于指示上述主叫方设备发送第一媒体报文。
在本发明实施例的一个应用场景中,第一接收单元51具体可以接收上述SBC发送的第一SIP应答报文,上述第一SIP振铃报文中包含上述指示信息。
在本发明实施例的一个应用场景中,上述指示信息具体可以用于指示上述主叫方设备发送静音媒体报文,相应地,上述第一媒体报文和上述第二媒体报文为静音媒体报文,能够较少占用网络传输资源,避免了网络传输资源的浪费。
在本发明实施例的另一个应用场景中,上述指示信息还可以进一步用于指示上述主叫方设备发送媒体报文的端口为上述主叫方设备的媒体接收端口;相应地,发送单元52则可以根据上述指示信息,并在主叫方设备的媒体接收端口,发送第一媒体报文,从而能够有效避免由于发送方终端的媒体接收端口与媒体发送端口不一致而导致的被叫方设备的媒体报文不会通过SBC发送给主叫方设备的问题,从而进一步提高了SIP呼叫的可靠性。
本实施例中,在SIP呼叫建立过程中,主叫方设备通过第一接收单元接收SBC发送的指示信息,使得发送单元能够根据该指示信息发送第一媒体报文,使得上述SBC能够根据接收到的第二媒体报文中包含的上述主叫方设备的第二媒体地址信息和上述被叫方设备的第一媒体地址信息,以及进而根据SBC之前获得的上述主叫方设备的第三媒体地址信息与上述被叫方设备的第一媒体地址信息的对应关系,获得上述主叫方设备的第二媒体地址信息与上述主叫方设备的第三媒体地址信息的对应关系,并根据该对应关系,将被叫方设备发送的第三媒体报文发送给主叫方设备,能够解决现有技术中在SIP呼叫过程中,由于NAT设备只能够转换SIP报文的报文头中的信令IP地址信息,而无法转换SIP报文的报文头中的媒体IP地址信息而导致的在主叫方设备的媒体报文没有到达SBC之前,被叫方设备的媒体报文则不会通过SBC发送给主叫方设备的问题,采用本发明实施例提供的技术方案,能够成功完成SIP呼叫,从而能够有效提高SIP呼叫的可靠性。
本发明另一实施例还提供了一种实现SIP呼叫的***,应用于主叫方设备穿越NAT设备进行SIP呼叫的场景,包括图4对应的实施例中的SBC和图5对应的实施例中的主叫方设备,实现了在SIP呼叫建立过程中,通过SBC向主叫方设备发送指示信息,该指示信息用以指示上述主叫方设备根据上述指示信息发送第一媒体报文,使得上述SBC能够根据接收到的第二媒体报文中包含的上述主叫方设备的第二媒体地址信息和上述被叫方设备的第一媒体地址信息,以及进而根据SBC之前获得的上述主叫方设备的第三媒体地址信息与上述被叫方设备的第一媒体地址信息的对应关系,获得上述主叫方设备的第二媒体地址信息与上述主叫方设备的第三媒体地址信息的对应关系,并根据该对应关系,将被叫方设备发送的第三媒体报文发送给主叫方设备,能够解决现有技术中在SIP呼叫过程中,由于NAT设备只能够转换SIP报文的报文头中的信令IP地址信息,而无法转换SIP报文的报文头中的媒体IP地址信息而导致的在主叫方设备的媒体报文没有到达SBC之前,被叫方设备的媒体报文则不会通过SBC发送给主叫方设备的问题,采用本发明实施例提供的技术方案,能够成功完成SIP呼叫,从而能够有效提高SIP呼叫的可靠性。
进一步地,本实施例提供的***,还可以进一步包括所述NAT设备。
需要说明的是:本发明实施例涉及的NAT设备就是具有网络地址转换功能的网络设备,可以包括但不限于路由器、防火墙、交换机或服务器,本发明实施例对此不进行限定。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行转换,或者对其中部分技术特征进行等同替换;而这些转换或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种实现会话初始化协议SIP呼叫的方法,应用于主叫方设备穿越网络地址转换NAT设备进行SIP呼叫的场景,其特征在于,包括:
所述主叫方设备向所述NAT设备发送SIP邀请报文,以使所述NAT设备对所述SIP邀请报文的报文头的信令地址信息转换后发送给会话边界控制器SBC;所述SIP邀请报文包含所述主叫方设备的第一媒体地址信息;
所述SBC接收所述NAT设备发送的所述SIP邀请报文,对所述SIP邀请报文进行拓扑隐藏,将进行拓扑隐藏的SIP邀请报文发送给被叫方设备,所述进行拓扑隐藏的SIP邀请报文中包含所述主叫方设备的第三媒体地址信息,所述主叫方设备的第三媒体地址信息为所述SBC为所述主叫方设备分配的媒体地址信息;
所述SBC接收被叫方设备发送的SIP应答报文,对所述SIP应答报文进行拓扑隐藏并添加指示信息,向所述NAT设备发送包含所述指示信息的拓扑隐藏的SIP应答报文;所述拓扑隐藏的SIP应答报文包含所述被叫方设备的第一媒体地址信息;所述被叫方设备的第一媒体地址信息为所述SBC为所述被叫方设备分配的媒体地址信息;所述指示信息用以指示所述主叫方设备根据所述指示信息发送第一媒体报文,所述第一媒体报文为RTP静音报文,所述RTP静音报文中的源地址为所述主叫方设备的第一媒体地址信息,目的地址为所述被叫方设备的第一媒体地址信息;
所述SBC根据所述SIP邀请报文和所述SIP应答报文,获得所述主叫方设备的第三媒体地址信息与所述被叫方设备的第一媒体地址信息的对应关系;
所述SBC接收第二媒体报文,所述第二媒体报文为所述第一媒体报文经所述NAT设备转换得到,所述第二媒体报文中包含所述主叫方设备的第二媒体地址信息和所述被叫方设备的第一媒体地址信息,所述主叫方设备的第二媒体地址信息为所述NAT设备对所述主叫方设备的第一媒体地址信息进行转换获得;
所述SBC根据所述主叫方设备的第二媒体地址信息和所述被叫方设备的第一媒体地址信息,以及已获得的所述主叫方设备的第三媒体地址信息与所述被叫方设备的第一媒体地址信息的对应关系,获得所述主叫方设备的第二媒体地址信息与所述主叫方设备的第三媒体地址信息的对应关系;
所述SBC接收被叫方设备发送的第三媒体报文,所述第三媒体报文中包含所述主叫方设备的第三媒体地址信息;
所述SBC根据所述主叫方设备的第二媒体地址信息与所述主叫方设备的第三媒体地址信息的对应关系,获得与所述第三媒体报文中所述主叫方设备的第三媒体地址信息对应的所述主叫方设备的第二媒体地址信息,并向所述NAT设备发送第四媒体报文,所述第四媒体报文中包含所述主叫方设备的第二媒体地址信息,以使得所述NAT设备向所述主叫方设备发送第五媒体报文,所述第五媒体报文中包含所述主叫方设备的第一媒体地址信息。
2.根据权利要求1所述的方法,其特征在于,所述指示信息还用于指示所述主叫方设备根据所述指示信息,在所述主叫方设备的媒体接收端口,发送第一媒体报文。
3.一种实现会话初始化协议SIP呼叫的方法,应用于主叫方设备穿越网络地址转换NAT设备进行SIP呼叫的场景,其特征在于,包括:
所述主叫方设备接收所述NAT设备发送的包含指示信息的第一SIP应答报文;所述第一SIP应答报文是所述NAT设备对从所述SBC接收到的第二SIP应答报文的报文头的信令地址信息转换后得到的,所述第二SIP应答报文是所述SBC对从被叫方设备接收到的SIP应答报文进行拓扑隐藏并添加所述指示信息后得到的;所述第一SIP应答报文包含所述被叫方设备的第一媒体地址信息;所述被叫方设备的第一媒体地址信息为所述SBC为所述被叫方设备分配的媒体地址信息;
所述主叫方设备根据所述指示信息,发送第一媒体报文,所述第一媒体报文为RTP静音报文,所述RTP静音报文中的源地址为所述主叫方设备的第一媒体地址信息,目的地址为所述被叫方设备的第一媒体地址信息,以使得,所述SBC接收第二媒体报文,并根据所述主叫方设备的第二媒体地址信息和所述被叫方设备的第一媒体地址信息,以及根据所述主叫方设备的第三媒体地址信息与所述被叫方设备的第一媒体地址信息的对应关系,获得所述主叫方设备的第二媒体地址信息与所述主叫方设备的第三媒体地址信息的对应关系,所述第二媒体报文为所述第一媒体报文经所述NAT设备转换得到,所述第二媒体报文中包含所述主叫方设备的第二媒体地址信息和所述被叫方设备的第一媒体地址信息,所述主叫方设备的第二媒体地址信息为所述NAT设备对所述主叫方设备的第一媒体地址信息进行转换获得,所述主叫方设备的第三媒体地址信息为所述SBC为所述主叫方设备分配的媒体地址信息;
所述主叫方设备接收第五媒体报文,所述第五媒体报文中包含所述主叫方设备的第一媒体地址信息,所述第五媒体报文由所述NAT设备接收到第四媒体报文后发送,所述第四媒体报文中包含所述主叫方设备的第二媒体地址信息,所述第四媒体报文由所述SBC接收被叫方设备发送的第三媒体报文后,根据所述主叫方设备的第二媒体地址信息与所述主叫方设备的第三媒体地址信息的对应关系,获得与所述第三媒体报文中所述主叫方设备的第三媒体地址信息对应的所述主叫方设备的第二媒体地址信息后向所述NAT设备发送,所述第三媒体报文中包含所述主叫方设备的第三媒体地址信息。
4.根据权利要求3所述的方法,其特征在于,所述主叫方设备根据所述指示信息,发送第一媒体报文,具体包括:
所述主叫方设备根据所述指示信息,在所述主叫方设备的媒体接收端口,发送第一媒体报文。
5.一种会话边界控制器SBC,应用于主叫方设备穿越网络地址转换NAT设备进行SIP呼叫的场景,其特征在于,包括:
第一接收单元,用于接收所述NAT设备将从所述主叫方设备接收的SIP邀请报文的报文头的信令地址信息转换后的得到的SIP邀请报文;所述SIP邀请报文包含所述主叫方设备的第一媒体地址信息;
对所述SIP邀请报文进行拓扑隐藏,将进行拓扑隐藏的SIP邀请报文发送给被叫方设备,所述进行拓扑隐藏的SIP邀请报文中包含所述主叫方设备的第三媒体地址信息,所述主叫方设备的第三媒体地址信息为所述SBC为所述主叫方设备分配的媒体地址信息;
第一发送单元,用于接收被叫方设备发送的SIP应答报文,对所述SIP应答报文进行拓扑隐藏并添加指示信息,向所述NAT设备发送包含所述指示信息的拓扑隐藏的SIP应答报文;所述拓扑隐藏的SIP应答报文包含所述被叫方设备的第一媒体地址信息;所述被叫方设备的第一媒体地址信息为所述SBC为所述被叫方设备分配的媒体地址信息;所述指示信息用以指示所述主叫方设备根据所述指示信息发送第一媒体报文,所述第一媒体报文为RTP静音报文,所述RTP静音报文中的源地址为所述主叫方设备的第一媒体地址信息,目的地址为所述被叫方设备的第一媒体地址信息,所述被叫方设备的第一媒体地址信息为所述SBC为所述被叫方设备分配的媒体地址信息;
第二接收单元,用于接收第二媒体报文,所述第二媒体报文为所述第一媒体报文经所述NAT设备转换得到,所述第二媒体报文中包含所述主叫方设备的第二媒体地址信息和所述被叫方设备的第一媒体地址信息,所述主叫方设备的第二媒体地址信息为所述NAT设备对所述主叫方设备的第一媒体地址信息进行转换获得;
获得单元,用于根据所述主叫方设备的第二媒体地址信息和所述被叫方设备的第一媒体地址信息,以及已获得的所述主叫方设备的第三媒体地址信息与所述被叫方设备的第一媒体地址信息的对应关系,获得所述主叫方设备的第二媒体地址信息与所述主叫方设备的第三媒体地址信息的对应关系,其中,所述主叫方设备的第三媒体地址信息与所述被叫方设备的第一媒体地址信息的对应关系为所述SBC根据所述SIP邀请报文和所述SIP应答报文获得的;
第三接收单元,用于接收被叫方设备发送的第三媒体报文,所述第三媒体报文中包含所述主叫方设备的第三媒体地址信息;
第二发送单元,用于根据所述主叫方设备的第二媒体地址信息与所述主叫方设备的第三媒体地址信息的对应关系,获得与所述第三媒体报文中所述主叫方设备的第三媒体地址信息对应的所述主叫方设备的第二媒体地址信息,并向所述NAT设备发送第四媒体报文,所述第四媒体报文中包含所述主叫方设备的第二媒体地址信息,以使得所述NAT设备向所述主叫方设备发送第五媒体报文,所述第五媒体报文中包含所述主叫方设备的第一媒体地址信息。
6.根据权利要求5所述的SBC,其特征在于,所述第一发送单元具体用于
向所述主叫方设备发送第一SIP应答报文,所述第一SIP应答报文中包含所述指示信息。
7.一种主叫方设备,应用于所述主叫方设备穿越网络地址转换NAT设备进行SIP呼叫的场景,其特征在于,包括:
第一接收单元,用于接收所述NAT设备发送的包含指示信息的第一SIP应答报文;所述第一SIP应答报文是所述NAT设备对从所述SBC接收到的第二SIP应答报文的报文头的信令地址信息转换后得到的,所述第二SIP应答报文是所述SBC对从被叫方设备接收到的SIP应答报文进行拓扑隐藏并添加所述指示信息后得到的;所述第一SIP应答报文包含所述被叫方设备的第一媒体地址信息;所述被叫方设备的第一媒体地址信息为所述SBC为所述被叫方设备分配的媒体地址信息;
发送单元,用于根据所述指示信息,发送第一媒体报文,所述第一媒体报文为RTP静音报文,所述RTP静音报文中的源地址为所述主叫方设备的第一媒体地址信息,目的地址为所述被叫方设备的第一媒体地址信息,以使得,所述SBC接收第二媒体报文,并根据所述主叫方设备的第二媒体地址信息和所述被叫方设备的第一媒体地址信息,以及根据所述主叫方设备的第三媒体地址信息与所述被叫方设备的第一媒体地址信息的对应关系,获得所述主叫方设备的第二媒体地址信息与所述主叫方设备的第三媒体地址信息的对应关系,所述第二媒体报文为所述第一媒体报文经所述NAT设备转换得到,所述第二媒体报文中包含所述主叫方设备的第二媒体地址信息和所述被叫方设备的第一媒体地址信息,所述主叫方设备的第二媒体地址信息为所述NAT设备对所述主叫方设备的第一媒体地址信息进行转换获得,所述主叫方设备的第三媒体地址信息为所述SBC为所述主叫方设备分配的媒体地址信息;
第二接收单元,用于接收第五媒体报文,所述第五媒体报文中包含所述主叫方设备的第一媒体地址信息,所述第五媒体报文由所述NAT设备接收到第四媒体报文后发送,所述第四媒体报文中包含所述主叫方设备的第二媒体地址信息,所述第四媒体报文由所述SBC接收被叫方设备发送的第三媒体报文后,根据所述主叫方设备的第二媒体地址信息与所述主叫方设备的第三媒体地址信息的对应关系,获得与所述第三媒体报文中所述主叫方设备的第三媒体地址信息对应的所述主叫方设备的第二媒体地址信息后向所述NAT设备发送,所述第三媒体报文中包含所述主叫方设备的第三媒体地址信息。
8.根据权利要求7所述的主叫方设备,其特征在于,所述发送单元具体用于
根据所述指示信息,在所述主叫方设备的媒体接收端口,发送第一媒体报文。
9.一种实现会话初始化协议SIP呼叫的***,应用于主叫方设备穿越网络地址转换NAT设备进行SIP呼叫的场景,其特征在于,包括NAT设备、如权利要求5或6所述的会话边界控制器SBC和如权利要求7或8所述的主叫方设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210013827.7A CN102546644B (zh) | 2012-01-17 | 2012-01-17 | 实现sip呼叫的方法、设备和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210013827.7A CN102546644B (zh) | 2012-01-17 | 2012-01-17 | 实现sip呼叫的方法、设备和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102546644A CN102546644A (zh) | 2012-07-04 |
CN102546644B true CN102546644B (zh) | 2015-03-25 |
Family
ID=46352602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210013827.7A Expired - Fee Related CN102546644B (zh) | 2012-01-17 | 2012-01-17 | 实现sip呼叫的方法、设备和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102546644B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104917717B (zh) * | 2014-03-10 | 2018-09-07 | ***通信集团北京有限公司 | 一种呼叫方法、设备及*** |
CN108848194B (zh) * | 2018-08-20 | 2021-04-27 | 普联技术有限公司 | 内网客户端之间的会话建立方法、路由器以及会话*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1901539A (zh) * | 2005-07-24 | 2007-01-24 | 中兴通讯股份有限公司 | 一种多媒体业务隧道穿越nat的方法 |
CN101119270A (zh) * | 2007-09-14 | 2008-02-06 | 华中科技大学 | 网络边界处理方法 |
CN101902506A (zh) * | 2010-06-21 | 2010-12-01 | 中兴通讯股份有限公司 | 一种sip呼叫穿越网络地址转换的方法和*** |
-
2012
- 2012-01-17 CN CN201210013827.7A patent/CN102546644B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1901539A (zh) * | 2005-07-24 | 2007-01-24 | 中兴通讯股份有限公司 | 一种多媒体业务隧道穿越nat的方法 |
CN101119270A (zh) * | 2007-09-14 | 2008-02-06 | 华中科技大学 | 网络边界处理方法 |
CN101902506A (zh) * | 2010-06-21 | 2010-12-01 | 中兴通讯股份有限公司 | 一种sip呼叫穿越网络地址转换的方法和*** |
Non-Patent Citations (1)
Title |
---|
IMS/SIP会话边界控制器的设计与实现;李广野;《中国科学院沈阳计算技术研究所硕士学位论文》;20100719;第16-20,22-29,38-40页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102546644A (zh) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9137200B2 (en) | Ice based NAT traversal | |
US8861510B1 (en) | Dynamic assignment of media proxy | |
CN106161179B (zh) | 一种基于网页的实时通信的媒体处理方法与装置 | |
CN101860536B (zh) | 一种基于sip软终端的私网穿越***和方法 | |
CN102318323B (zh) | 私网与网外客户端之间呼叫的nat处理方法、设备和*** | |
KR100612252B1 (ko) | 패킷 통신 서비스를 제공하는 시스템 및 그 방법 | |
KR100603562B1 (ko) | 브이오아이피 음성 처리 장치 및 그 방법 | |
US9686709B2 (en) | Method, apparatus and system for guaranteeing QoS of communication service in NAT scenario | |
US9736316B2 (en) | Network address translation traversal system and method for real-time communications | |
WO2015192682A1 (zh) | 一种通信方法以及终端 | |
US9071690B2 (en) | Call transfer processing in SIP mode | |
CN102546644B (zh) | 实现sip呼叫的方法、设备和*** | |
CN106534393B (zh) | 实现nat设备穿越的方法和*** | |
US8644299B2 (en) | Method and apparatus for efficiently routing packets across disparate networks | |
CN103702295A (zh) | 一种来电提醒的方法、装置及*** | |
JP4740898B2 (ja) | 複数のipアドレス体系を持つip通信網における第三者呼制御(3pcc)システム及び3pcc実現方法 | |
CN106921625A (zh) | 多媒体业务处理***、数据发送和接收方法以及终端 | |
KR100726185B1 (ko) | 서로 다른 ip 주소를 사용하는 ip 네트워크 간 연동제공 시스템, 게이트웨이 장치, 서버 및 연동 제공 방법 | |
CN114710821A (zh) | VoLTE中继接入SIP联络中心的方法、***及存储介质 | |
CN103548330B (zh) | 一种网络电话建立呼叫方法、装置和*** | |
Lambrinos et al. | Integrating voice over IP services in IPv4 and IPv6 networks | |
CN115865873B (zh) | 在局域网内显示群组振铃媒体的方法和设备 | |
CN110839008B (zh) | 专网下ims在媒体协商后向用户放音的方法及ims | |
CN105100086B (zh) | 一种基于对称型NAT的VoIP语音监听方法及*** | |
KR101330246B1 (ko) | 인터넷 전화 단말기, 인터넷 전화 단말기에서의 미디어 데이터 전송 방법 및 인터넷 전화를 위한 세션 보더 콘트롤러 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150325 Termination date: 20180117 |
|
CF01 | Termination of patent right due to non-payment of annual fee |