呼叫保持取消,当需要和正在处于呼叫保持状态的用户回复原来通话时,再继续与原来的通话方通话,即取消原来通话的保持状态,停止播放背景音乐。
在呼叫保持信令中提到,用户1000发送re-INVITE消息给IPBX,需要保持1000和1002之间的通话。Re-INVITE消息携带SDP中c=IN IP40.0.0.0,说明该re-INVITE消息是呼叫保持消息。而取消呼叫保持同样是用re-INVITE消息完成的,唯一的区别是在Re-INVITE消息携带SDP中的c=IN IP4192.168.50.20值不同,192.168.50.20地址是1000和1002之间进行媒体传输的地址。详细过程见“呼叫保持取消信令”。
1)用户1000发送re-INVITE消息给IPBX,需要回复1000和1002之间的通话。Re-INVITE消息携带SDP中c=IN IP4192.168.50.20,说明该re-INVITE消息是呼叫保持取消消息。
INVITE sip:1002@192.168.50.22:5060SIP/2.0
Via:SIP/2.0/UDP192.168.50.20:9588;branch=z9hG4bK-d8754z-da66ec3fc2251561-1---d8754z-;rport
Max-Forwards: 70
Contact:<sip:1000@192.168.50.20:9588>
To:<sip:1002@192.168.50.22>;tag=54267485a
From:"1000"<sip:1000@192.168.50.22>;tag=8c7df95e
Call-ID:ZjBiM2MxNDQ3ZWNlM2JhYjAwYWEyNGJlMWE4NjZjYmQ.
CSeq: 4 INVITE
Allow: INVITE, ACK, CANCEL, OPTIONS,BYE,REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
Content-Type: application/sdp
Supported: replaces
User-Agent: Bria Professional release2.4stamp 49381
Content-Length: 238
v=0
o=hua 9 3 IN IP4 192.168.50.20
s=CounterPath Bria Professional
c=IN IP4 192.168.50.20
t=0 0
m=audio 7624 RTP/AVP 0 101
a=fmtp:101 0-15
a=rtpmap:101 telephone-event/8000
a=sendonly
a=x-rtp-session-id:84405823042846CFA4F793EB20FEB7E6
2)IPBX收到re-INVITE请求响应,回复用户1000和1002之间的通话,并且停止给用户1002播放背景音乐,给用户1000回复确认消息200 OK。
SIP/2.0 200 OK
Via:SIP/2.0/UDP192.168.50.20:9588;branch=z9hG4bK-d8754z-da66ec3fc2251561-1---d8754z-;rport
From:"1000"<sip:1000@192.168.50.22>;tag=8c7df95e
To:<sip:1002@192.168.50.22>;tag=54267485a
Call-ID:ZjBiM2MxNDQ3ZWNlM2JhYjAwYWEyNGJlMWE4NjZjYmQ.
CSeq: 4 INVITE
User-Agent: FreeSwitch
Contact:<sip:1002@192.168.50.22:5060>
Content-Type: application/sdp
Content-Length: 201
v=0
o=session 1639146064 1639146065 INIP4192.168.50.22
s=play
c=IN IP4 192.168.50.22
t=0 0
m=audio 10476 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
3)用户1000收到IPBX发送确认请求消息200OK,发送ACK消息给IPBXACK sip:1002@192.168.50.22:5060 SIP/2.0
Via:SIP/2.0/UDP192.168.50.20:9588;branch=z9hG4bK-d8754z-ef0e4b7cfe6a7548-1---d8754z-;rport
Max-Forwards: 70
Contact:<sip:1000@192.168.50.20:9588>
To:<sip:1002@192.168.50.22>;tag=54267485a
From:"1000"<sip:1000@192.168.50.22>;tag=8c7df95e
Call-ID:ZjBiM2MxNDQ3ZWNlM2JhYjAwYWEyNGJlMWE4NjZjYmQ.
CSeq: 4 ACK
User-Agent: Bria Professional release2.4stamp 49381
Content-Length: 0
注意:SDP中的c=IN IP4 192.168.50.20用来建立媒体之间传输的地址。地址0.0.0.0表示该端不接受任何媒体;当再次接受媒体时,携带媒体接受着的有效地址即可。
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/wh8_2011/article/details/46939535