SIP是怎样协商音频编码的?

Burne_Li 2011-11-25 12:02:58
大家好,
这是我用Wirelshark抓到的SIP邀请包和应答包:

No. Time Source Destination Protocol Info
5 2011-11-25 11:31:46.009850 xxx.xxx.xxx.xxx 192.168.1.105 SIP/SDP Request: INVITE sip:90070048@xxx.xxx.xxx.xxx:25922;transport=UDP, with session description

Session Initiation Protocol
Request-Line: INVITE sip:90070048@xxx.xxx.xxx.xxx:25922;transport=UDP SIP/2.0
Message Header
From: "7dmofedhjpev2h1ta9hdrj6gg8t"<sip:7dmofedhjpev2h1ta9hdxxx.xxx.xxx.xxx@192.168.8.20>;tag=5608328-1408a8c0-13c4-2831b8-628cd8c9-2831b8
To: <sip:90070048@xxx.xxx.xxx.xxx:25922;transport=UDP>
Call-ID: 56aedd8-1408a8c0-13c4-2831b8-1fdfb3b1-2831b8@192.168.8.20
CSeq: 1 INVITE
Via: SIP/2.0/UDP 192.168.8.20:5060;rport;branch=z9hG4bK-2831b8-9d023880-355ecae7
Allow: INVITE,ACK,OPTIONS,REGISTER,INFO,REFER,SUBSCRIBE,NOTIFY,BYE
User-Agent: DonJin SIP Server 2.2.0
Max-Forwards: 70
Contact: <sip:7dmofedhjpev2h1ta9hdxxx.xxx.xxx.xxx@xxx.xxx.xxx.xxx>
Content-Type: application/SDP
Content-Length: 300

Message Body
Session Description Protocol
Session Description Protocol Version (v): 0
Owner/Creator, Session Id (o): DJXMS 0 0 IN IP4 192.168.8.20
Session Name (s): DJXMS
Connection Information (c): IN IP4 xxx.xxx.xxx.xxx
Bandwidth Information (b): CT:1000
Time Description, active time (t): 0 0
Media Description, name and address (m): audio 10216 RTP/AVP 18 0 8 4 96 98 99
Media Attribute (a): rtpmap:18 G729/8000
Media Attribute (a): rtpmap:0 PCMU/8000
Media Attribute (a): rtpmap:8 PCMA/8000
Media Attribute (a): rtpmap:4 G723/8000
Media Attribute (a): rtpmap:96 AMR/8000
Media Attribute (a): rtpmap:98 telephone-event/8000
Media Attribute (a): fmtp:98 0-15
Media Attribute (a): rtpmap:99 tone/8000

No. Time Source Destination Protocol Info
9 2011-11-25 11:31:46.108437 192.168.1.105 xxx.xxx.xxx.xxx SIP/SDP Status: 200 OK, with session description

Session Initiation Protocol
Status-Line: SIP/2.0 200 OK
Message Header
Via: SIP/2.0/UDP 192.168.8.20:5060;rport=5060;branch=z9hG4bK-2831b8-9d023880-355ecae7;received=xxx.xxx.xxx.xxx
From: "7dmofedhjpev2h1ta9hdrj6gg8t" <sip:7dmofedhjpev2h1ta9hdxxx.xxx.xxx.xxx@192.168.8.20>;tag=5608328-1408a8c0-13c4-2831b8-628cd8c9-2831b8
To: <sip:90070048@xxx.xxx.xxx.xxx:25922;transport=UDP>;tag=2083651544
Call-ID: 56aedd8-1408a8c0-13c4-2831b8-1fdfb3b1-2831b8@192.168.8.20
CSeq: 1 INVITE
Contact: <sip:90070048@192.168.1.105:25922>
Content-Type: application/sdp
User-Agent: CD.JUNCTION.ECC/V1.02 20101010 (linphone/1.0.0)
Content-Length: 205

Message Body
Session Description Protocol
Session Description Protocol Version (v): 0
Owner/Creator, Session Id (o): toto 123456 654321 IN IP4 192.168.1.105
Session Name (s): A conversation
Connection Information (c): IN IP4 192.168.1.105
Time Description, active time (t): 0 0
Media Description, name and address (m): audio 32013 RTP/AVP 0 8 98
Media Attribute (a): rtpmap:0 PCMU/8000
Media Attribute (a): rtpmap:8 PCMA/8000
Media Attribute (a): rtpmap:98 telephone-event/8000

在Message Body部份,主叫表明了可以支持G729、PCMU、PCMA、G723、AMR等音频编码格式,被叫在应答中表明可以支持PCMU、PCMA和telephone-event,

请问主叫与被叫最终使用哪种编码?是怎样确定的?好像并没有说明使用哪一种啊?双方都提出几种格式,却没有地方表明两方的一致选择呢?还请各位解惑,谢谢
...全文
382 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Burne_Li 2011-11-29
能详细说说怎么设置编码优先级吗?
回复
m4c5244 2011-11-29
[Quote=引用 4 楼 burne_li 的回复:]

引用 1 楼 bluesen 的回复:
一般会选择双方相同的第一个。就是0,PCMU

这是以哪个为基准来比较的呢?比如主叫给出的列表为G711、G729,而被叫给出的为G729、G711,顺序刚好相反,以主叫为基础来比较,第一个相同的就是G711,而以被叫为基础来比较,第一个相同的就是G729,哪一种才是对的呢?
[/Quote]

可以设置编码优先级
回复
m4c5244 2011-11-29
你说的情况 ,G711优先级高就用G711
你找的例子,肯定选PCMU啊,排前面的先选。
回复
blowlow 2011-11-28
请看 rfc3264
Offer Answer Model,这篇文档就是专门讲协调编码的
回复
Burne_Li 2011-11-28
在SIP协议中有明确的规定吗?我看了好像没有说。
回复
Burne_Li 2011-11-28
[Quote=引用 1 楼 bluesen 的回复:]
一般会选择双方相同的第一个。就是0,PCMU
[/Quote]
这是以哪个为基准来比较的呢?比如主叫给出的列表为G711、G729,而被叫给出的为G729、G711,顺序刚好相反,以主叫为基础来比较,第一个相同的就是G711,而以被叫为基础来比较,第一个相同的就是G729,哪一种才是对的呢?
回复
bluesen 2011-11-26
一般会选择双方相同的第一个。就是0,PCMU
回复
相关推荐
发帖
VoIP
创建于2008-10-22

1363

社区成员

VOIP相关技术探讨专区
申请成为版主
帖子事件
创建了帖子
2011-11-25 12:02
社区公告
暂无公告