主叫在发送的INVITE请求中的SDP携带ptime属性,表示主叫方媒体的打包时长是ptime携带的数值。服务器收到该请求消息后回复200 OK中的SDP携带ptime属性,表示服务器端支持该媒体的打包时长是ptime携带的数值。主叫方根据200 OK中SDP携带ptime属性进行协商最终发送媒体打包时长,即ptime数值。
详细流程如下:
1) 主叫2001呼叫被叫2009,发送呼叫请求消息给IPBX,并且INVITE中的SDP携带ptime:100属性,说明主叫方媒体AMR打包时长100ms。
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP192.168.50.171:40435;rport;branch=z9hG4bK91447
Max-Forwards: 70
To: <sip:[email protected]>
From:<sip:[email protected]>;tag=z9hG4bK69390462
Call-ID: 890631906834
CSeq: 1 INVITE
Contact:<sip:[email protected]:40435;transport=udp>
Content-Length: 223
Content-Type: application/sdp
v=0
o=Mr.Wang 0 0 IN IP4 192.168.50.171
s=hua
c=IN IP4 192.168.50.171
t=0 0
m=audio 21000 RTP/AVP 114 101
a=rtpmap:114 AMR/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:100
2) 2009被叫接听,服务器回复200OK,并且携带服务器协商的媒体SDP,SDP中携带服务器端支持的媒体打包时长,ptime:100.
SIP/2.0 200 OK
Via: SIP/2.0/UDP192.168.50.171:40435;rport;branch=z9hG4bK91447
From:<sip:[email protected]>;tag=z9hG4bK69390462
To:<sip:[email protected]>;tag=2af379903
Call-ID: 890631906834
CSeq: 1 INVITE
Contact:<sip:[email protected]:7080>
Content-Type: application/sdp
Content-Length: 217
v=0
o=Mr.Wang 1103994876 1103994876 IN IP4192.168.50.34
s=hua
c=IN IP4 192.168.50.34
t=0 0
m=audio 27676 RTP/AVP 114 101
a=rtpmap:114 AMR/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:100
3) 主叫方收到200OK响应消息,并且回复ACK。
ACK sip:[email protected]:7080 SIP/2.0
Via: SIP/2.0/UDP192.168.50.171:40435;rport;branch=z9hG4bK90086
Max-Forwards: 70
To:<sip:[email protected]68.50.34>;tag=2af379903
From:<sip:[email protected]>;tag=z9hG4bK69390462
Call-ID: 890631906834
CSeq: 1 ACK
Contact:<sip:[email protected]:40435;transport=udp>
Content-Length: 0
到此,通话建立成功,并且通过RTP协议传输媒体。
版权声明:本文为博主原创文章,未经博主允许不得转载。