码迷,mamicode.com
首页 > 其他好文 > 详细

呼叫保持取消

时间:2015-07-18 11:06:44      阅读:543      评论:0      收藏:0      [点我收藏+]

标签:作者qq 鸣人370905569   sip   sdp   

基本概念

呼叫保持取消,当需要和正在处于呼叫保持状态的用户回复原来通话时,再继续与原来的通话方通话,即取消原来通话的保持状态,停止播放背景音乐。

呼叫保持取消流程图

技术分享

呼叫保持取消信令简要概述

呼叫保持信令中提到,用户1000发送re-INVITE消息给IPBX,需要保持10001002之间的通话。Re-INVITE消息携带SDPc=IN IP40.0.0.0,说明该re-INVITE消息是呼叫保持消息。而取消呼叫保持同样是用re-INVITE消息完成的,唯一的区别是在Re-INVITE消息携带SDP中的c=IN IP4192.168.50.20值不同,192.168.50.20地址是10001002之间进行媒体传输的地址。详细过程见“呼叫保持取消信令”。

呼叫保持取消信令

1)用户1000发送re-INVITE消息给IPBX,需要回复10001002之间的通话。Re-INVITE消息携带SDPc=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表示该端不接受任何媒体;当再次接受媒体时,携带媒体接受着的有效地址即可。

版权声明:本文为博主原创文章,未经博主允许不得转载。

呼叫保持取消

标签:作者qq 鸣人370905569   sip   sdp   

原文地址:http://blog.csdn.net/wh8_2011/article/details/46939535

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!