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,

请问主叫与被叫最终使用哪种编码?是怎样确定的?好像并没有说明使用哪一种啊?双方都提出几种格式,却没有地方表明两方的一致选择呢?还请各位解惑,谢谢
...全文
726 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

1,394

社区成员

发帖
与我相关
我的任务
社区描述
VOIP相关技术探讨专区
社区管理员
  • VOIP技术探讨社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧