weixin_30072103 2024-05-16 17:55 采纳率: 50%
浏览 3
已结题

SIP RTP无法正常传输

SIP客户端A在10端的内网,客户端B在192段的内网,A和B能访问外网,都注册了外网服务器。
A发送会话邀请消息如下:

INVITE sip:101@mySIPserver SIP/2.0               
Via: SIP/2.0/UDP 10.123.74.60:5060;branch=z9hG4bKl92pcKYh
Max-Forwards: 70                                         
To: sip:101@mySIPserver                         
From: 102 <sip:102@mySIPserver>;tag=19283        
Call-ID: 88454318                                        
User-Agent: MYVOIPAPP SIP Phone (Jan  5 2023)            
CSeq: 2 INVITE                                           
Contact: 102 <sip:102@10.123.74.60:5060>                 
Content-Type: application/sdp                            
Content-Length: 120                                      
                                                         
c=IN IP4 10.123.74.60                                    
m=audio 54875 RTP/AVP 0                                  
a=rtpmap:0 PCMU/8000                                     

A收到的响应如下:

SIP/2.0 200 OK                                                                                  
Via: SIP/2.0/UDP 10.123.74.60:5060;branch=z9hG4bKl92pcKYh                              
From: 102 <sip:102@mySIPserver>;tag=19283                                      
To: sip:101@mySIPserver;tag=d5bbe635d159c566                                   
CSeq: 2 INVITE                                                                         
Call-ID: 88454318                                                                      
Allow: ACK,BYE,CANCEL,INFO,INVITE,MESSAGE,NOTIFY,OPTIONS,PRACK,REFER,REGISTER,SUBSCRIBE
Contact: <sip:101@192.168.30.103>                                                      
Content-Type: application/sdp                                                          
Content-Length: 142                                                                    
                                                                                       
v=0                                                                                    
o=- 1715831092 1715831092 IN IP4 192.168.30.103                                        
s=mss                                                                                  
c=IN IP4 192.168.30.103                                                                
t=0 0                                                                                  
m=audio 10026 RTP/AVP 0                                                                
a=sendrecv                                                                             
a=ptime:20 

现在A侦听本地端口54875,然后向B的地址192.168.30.103 10026 发送RTP数据.
抓包发现A发给B的数据,B无法收到,在A抓包数据中,Source 是10.123.74.60 (端口54875) Destination是192.168.30.103(端口10026)
B向A发的数据A也无法收到,在B抓包数据中,Source是192.168.30.103(端口10026) Destination是10.123.74.60(端口54875)

对比其他可以发送数据的两个客户端,发现A1和B1都是将数据发往服务器的对应流媒体端口。而不是两个内网之间传输RTP数据。

想了解下,在什么情况下,要让服务器对RTP数据进行转发,在SIP消息中需要添加什么内容吗?为什么A端和B断模仿A1和B1通信,将数据发往服务器的流媒体端口,还是不能正常传输?

  • 写回答

2条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-05-16 18:00
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    在什么情况下,要让服务器对RTP数据进行转发? 在两个内网之间通信时,如果两个客户端无法直接通信,需要通过服务器进行转发。这种情况下,客户端需要在SIP消息中添加相应的媒体描述信息(如SDP)以便服务器知道如何将数据转发给对应的客户端。 在SIP消息中需要添加什么内容? 在SIP消息中需要添加SDP(Session Description Protocol)信息,它描述了媒体参与者之间的媒体类型、相关连接信息,例如RTP端口、传输协议、编解码等。 为什么A端和B端模仿A1和B1通信,将数据发往服务器的流媒体端口,还是不能正常传输? 可能的原因如下:
    1. 客户端的SDP信息配置错误,导致服务器无法正确将数据转发给对应的客户端。
    2. 客户端配置的RTP端口被防火墙或路由器所阻塞。
    3. 客户端配置的IP地址或端口错误,导致服务器无法正确将数据转发给对应的客户端。
    4. 服务器配置错误,无法正确处理客户端发送的数据。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月31日
  • 已采纳回答 5月23日
  • 创建了问题 5月16日

悬赏问题

  • ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
  • ¥15 C语言使用vscode编码错误
  • ¥15 用KSV5转成本时,如何不生成那笔中间凭证
  • ¥20 ensp怎么配置让PC1和PC2通讯上
  • ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
  • ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
  • ¥15 请各位帮我看看是哪里出了问题
  • ¥15 vs2019的js智能提示
  • ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
  • ¥15 uniapp的h5项目写一个抽奖动画