首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >星号API SDP处理

星号API SDP处理
EN

Stack Overflow用户
提问于 2013-11-11 22:12:41
回答 1查看 1.6K关注 0票数 0

我有两个SIP客户端( "A“和"B”)连接到一般桥模式上的星号。

"A“的视频正在播放"B”,而“B”的视频是而不是播放的“A”。我向wireshark三次确认,媒体(音频/视频)正在到达“A”的ip地址。音频在双方都运行良好。

我最好的猜测是,这个问题与asterisk的内部SDP处理有关。

所以,让我们深入研究这个问题。

"A“发送以下邀请:

代码语言:javascript
复制
INVITE sip:700@192.168.7.227 SIP/2.0  
Via: SIP/2.0/UDP 192.168.7.225:10074;branch=z9hG4bK-224696310;rport  
From: "danflu-portsip"<sip:danflu-portsip@192.168.7.227>;tag=87652133  
To: <sip:700@192.168.7.227>  
Contact: <sip:danflu-portsip@192.168.7.225:10074;transport=udp>;  
Call-ID: YTc0NDRjNDYtMWRhMS01MzE2LWVlNDEtYmV  
CSeq: 1354707857 INVITE  
Content-Type: application/sdp  
Content-Length: 447  
Max-Forwards: 70  
Authorization: Digest username="danflu-portsip",realm="asterisk",nonce="5ac40c6d",uri="sip:700@192.168.7.227",response="fae8a78ba97    2f6cb0c76846d76f13786",algorithm=MD5
User-Agent: PortSIP SDK for IOS
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, REGISTER, SUBSCRIBE, INFO
P-Preferred-Identity: <sip:danflu-portsip@192.168.7.227>
Supported: 100rel

v=0  
o=portsip 2013 678901 IN IP4 192.168.7.225  
s=-  
c=IN IP4 192.168.7.225  
t=0 0  
m=audio 20554 RTP/AVP 8 0 97 18  
a=ptime:20  
a=rtpmap:8 PCMA/8000  
a=rtpmap:0 PCMU/8000  
a=rtpmap:97 SPEEX/8000  
a=rtpmap:18 g729/8000  
a=fmtp:18 annexb=yes  
a=sendrecv  
a=ssrc:258325709 cname:258325709  
m=video 29350 RTP/AVP 104  
a=rtpmap:104 H264/90000  
a=fmtp:104 profile-level-id=42801E; packetization-mode=1  
a=sendrecv  
a=ssrc:1956389748 cname:1956389748 

并接收星号:的"200 OK“消息。

代码语言:javascript
复制
SIP/2.0 200 OK  
Via: SIP/2.0/UDP 192.168.7.225:10010;branch=z9hG4bK-282879312 received=192.168.7.225;      
rport=10010  
From: "danflu-portsip"<sip:danflu-portsip@192.168.7.227>;tag=539964865  
To: <sip:9993@192.168.7.227>;tag=as1b6086b5  
Call-ID: OTE4MjM3NzUtMDIzNy1mNTM1LWM3MzYtOGZ  
CSeq: 1074035624 INVITE  
Server: Asterisk PBX SVN-branch-1.8-r402287M  
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH  
Supported: replaces, timer  
Contact: <sip:9993@192.168.7.227:5060>  
Content-Type: application/sdp  
Content-Length: 375  

v=0  
o=root 826339596 826339596 IN IP4 192.168.7.227  
s=Asterisk PBX SVN-branch-1.8-r402287M  
c=IN IP4 192.168.7.227  
b=CT:384  
t=0 0  
m=audio 9540 RTP/AVP 8 0 101  
a=rtpmap:8 PCMA/8000  
a=rtpmap:0 PCMU/8000  
a=rtpmap:101 telephone-event/8000  
a=fmtp:101 0-16  
a=silenceSupp:off - - - -  
a=ptime:20  
a=sendrecv  
m=video 7450 RTP/AVP 104  
a=rtpmap:104 H264/90000  
a=sendrecv  

请注意,这些行:

a=fmtp:104配置文件-level-id=42801E;分组化模式=1

a=ssrc:1956389748名称:1956389748

只是在回应中消失了,我真的认为这就是视频不起作用的原因。

所以,我的问题是:

我可以使用什么API来自定义这种行为,这样当星号处理双方的SDP时,上面的行就不会被删除?如果没有正式的API,那么我在哪里可以查看代码呢?所以我可以为我的特定情况写一个补丁?

我查看了chan_sip.c,其中有一个函数:

静态int process_sdp(struct sip_pvt *p,struct sip_request *req,int t38action)

但我不确定这种SDP处理(删除行等)是由星号核心还是由sip通道驱动程序完成的。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-11-12 09:56:50

星号视频是很奇怪的东西。因为星号不对视频编解码/流进行转码。

只有真正的工作模式-所有的视频编解码器都被关闭,只有单一的编解码器打开所有的对等。

有关更多信息,请参见voip-info.org上的星号视频

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19916991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档