基于sip负载均衡实现高清视频多链路传输的方法_2

文档序号:9381123阅读:来源:国知局
查。选路策略有多种:简单循环,加权循环,链路最少流量,最少会话数等,本发明描述的方法都可适合。会话保持也有多种:Call -1D, Callee,源地址等,本发明描述的方法都可适合。
[0079]图6是本发明中的SIP代理服务器健康检查模块的逻辑设计流程图。如果SIP代理服务器处于离线状态,SIP负载均衡器在视频选路时不选择此链路。因而多链路的备份功能就可以实现,整个视频系统具备高可靠性。链路健康检查的协议有多种:ICMP,SIPMESSAGE心跳等,本发明描述的方法都可适合。
[0080]结合本发明,视频会话建立的过程及负载均衡对数据包的修改在以下的过程中进行说明。
[0081]图7是本发明中的视频会话建立请求流程图。当Alice客户端对Bob视频头请求建立会话时,下面步骤描述了流程及本发明的数据包修改方案。以下是描述了会话建立时数据包修改过程,但是这个修改过程同样也应用于会话断开等交易过程。
[0082]为了描述方便,各部件赋予了一个IP地址。Alice客户端地址是172.16.1.202,负载均衡器地址是172.16.1.203,后置SIP代理服务器地址是172.16.1.200/172.16.1.201,前置SIP代理服务器地址是192.168.2.200/192.168.2.201,Bob视频头地址是192.168.2.202。
[0083]第701步=Alice客户端(172.16.1.202)视频会话请求(INVITE)数据包送到SIP负载均衡器(172.16.1.203)。
[0084]INVITE sip:bobil72.16.1.203SIP/2.0
[0085]Via:SIP/2.0/UDP172.16.1.202 ;branch = z9hG4bK776asdhds
[0086]Max-Forwards:70
[0087]To:Bob<sip:bobil72.16.1.203〉
[0088]From:Alice<sip:aliceil72.16.1.202〉;tag = 1928301774
[0089]Call-1D:a84b4c76e66710il72.16.1.202
[0090]CSeq:1INVITE
[0091]Contact:<sip:aliceil72.16.1.202〉
[0092]Content-Type: applicat1n/sdp
[0093]Content-Length:142
[0094]v = 0
[0095]o = aliceOOIN IP4172.16.1.202
[0096]s = Play
[0097]c = IN IP4172.16.1.202
[0098]t = 00
[0099]m = video55000RTP/AVP969897
[0100]a = recvonly
[0101]a = rtpmap:96PS/90000
[0102]a = rtpmap:98MPEG4/90000
[0103]a = rtpmap:97H264/90000
[0104]y = 0000000106
[0105]f = v//2//4//25//l//a//l//8//l
[0106]第702步:当两个链路都在线时,采用负载均衡简单循环的策略,智能选择了第一条链路(172.16.1.201),SIP负载均衡器(172.16.1.203)修改请求(INVITE)数据包。修改 FROM/CONTACT 头,原来的地址(172.16.1.202)代替为(172.16.1.203);修改 TO 头,原来的地址(172.16.1.203)代替为(172.16.1.201)。然后将修改后的数据包送到后置SIP代理服务器(172.16.1.201)。如果负载均衡选择第二条链路(172.16.1.202),那么TO头中需要把原来的地址(172.16.1.203)代替为(172.16.1.202),然后将修改后的数据包送到后置SIP代理服务器(172.16.1.200)。SDP中的o/c值不必修改。
[0107]INVITE sip:bobil72.16.1.201SIP/2.0
[0108]Via:SIP/2.0/UDP172.16.1.201 ;branch = z9hG4bK776asdhds
[0109]Max-Forwards:70
[0110]To:Bob<sip:bobil72.16.1.201〉
[0111]From:Alice<sip:aliceil72.16.1.203〉;tag = 1928301774
[0112]Call-1D:a84b4c76e66710il72.16.1.202
[0113]CSeq:1 INVITE
[0114]Contact: <sip: aliceil72.16.1.201〉
[0115]Content-Type: applicat1n/sdp
[0116]Content-Length:142
[0117]v = 0
[0118]o = aliceOOIN IP4172.16.1.202
[0119]s = Play
[0120]c = IN IP4172.16.1.202
[0121]t = 00
[0122]m = video55000RTP/AVP969897
[0123]a = recvonly
[0124]a = rtpmap:96PS/90000
[0125]a = rtpmap:98MPEG4/90000
[0126]a = rtpmap:97H264/90000
[0127]y = 0000000106
[0128]f = v//2//4//25//l//a//l//8//l
[0129]第703步:后置SIP代理服务器(172.16.1.201)同样将修改SIP数据包发送到相匹配的前置SIP代理服务器(192.168.2.201)。后置SIP代理服务器从私云(PrivateCloud)转发代理RTP数据包到公共云(Public Cloud),因而需要修改SDP的o/c值。后置SIP代理服务器(172.16.1.201)修改FROM/CONTACT头,原来的地址(172.16.1.203)代替为(172.16.1.201);修改 TO 头,原来的地址(172.16.1.201)代替为(192.168.2.201);修改SDP的o/c地址,原来的(172.16.1.202)代替为(172.16.1.201)。然后将修改后的数据包送到前置SIP代理服务器(192.168.2.201)。修改后的数据包为:
[0130]INVITE sip:bobil92.168.2.201SIP/2.0
[0131]Via:SIP/2.0/UDP192.168.2.201 ;branch = z9hG4bK776asdhds
[0132]Max-Forwards:70
[0133]To:Bob<sip:bobil92.168.2.201〉
[0134]From:Alice<sip:aliceil72.16.1.201〉;tag = 1928301774
[0135]Call-1D:a84b4c76e66710il72.16.1.202
[0136]CSeq:1 INVITE
[0137]Contact: <sip: aliceil72.16.1.201〉
[0138]Content-Type: applicat1n/sdp
[0139]Content-Length:142
[0140]v = 0
[0141]ο = aliceOOIN IP4172.16.1.201
[0142]s = Play
[0143]c = IN IP4172.16.1.201
[0144]t = OO
[0145]m = video55000RTP/AVP969897
[0146]a = recvonly
[0147]a = rtpmap:96PS/90000
[0148]a = rtpmap:98MPEG4/90000
[0149]a = rtpmap:97H264/90000
[0150]y = 0000000106
[0151]f = v//2//4//25//l//a//l//8//l
[0152]第704步:前置SIP代理服务器(192.168.2.201)从公共云(Public Cloud)转发代理RTP数据包到私云(Private Cloud)中,因而需要修改SDP的o/c值。前置SIP代理服务器(192.168.2.201)修改FROM/CONTACT头,原来的地址(172.16.1.201)代替为(192.168.2.201);修改 TO 头,原来的地址(192.168.2.201)代替为(192.168.2.202);修改SDP的o/c地址,原来的(172.16.1.201)代替为(192.168.2.201)。然后将修改后的数据包送到Bob视频头(192.168.2.202)。修改后的数据包为:
[0153]INVITE sip:bobil92.168.2.202SIP/2.0
[0154]Via:SIP/2.0/UDP192.168.2.202 ;branch = z9hG4bK776asdhds
[0155]Max-Forwards:70
[0156]To:Bob<sip:bobil92.168.2.202〉
[0157]From:Alice<sip:aliceil92.168.2.201〉;tag = 1928301774
[0158]Call-1D:a84b4c76e66710il72.16.1.202
[0159]CSeq:1 INVITE
[0160]Contact: <sip: aliceil92.168.2.201〉
[0161]Content-Type: applicat1n/sdp
[0162]Content-Length:142
[0163]v = 0
[0164]o = aliceOOIN IP4192.168.2.201
[0165]s = Play
[0166]c = IN IP4192.168.2.201
[0167]t = 00
[0168]m = video55000RTP/AVP969897
[0169]a = recvonly
[0170]a = rtpmap:96PS/90000
[0171]a = rtpmap:98MPEG4/90000
[0172]a = rtpmap:97H264/90000
[0173]y = 0000000106f = v//2//4//25//l//a//l//8//l
[0174]当Bob视频头同意建立会话时,Bob视频头需要送“SIP/2.02000K”数据包给Alice客户端,下面步骤描述了该流程及本发明的数据包修改方案。图8是本发明的视频会话建立同意请求流程图。
[0175]第801步:Bob视频头(192.168.2.202)返回数据包到前置SIP代理服务器(192.168.2.201)。
[0176]SIP/2.02000K
[0177]Via:SIP/2.0/UDP
[0178]192.168.2.201:5060 ;branch = z9hG4bK76
[0179]From:<sip:aliceil92.168.2.201:5060〉;tag = 1928301774
[0180]To:<sip:bobil92.168.2.202:5060〉;tag = 21600
[0181]Call-1D:a84b4c76e66710il72.16.1.202
[0182]CSeq:1 INVITE
[0183]Contact:〈sip:bobil92.168.2.202:5060〉
[0184]Content-Type
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1