13. 呼叫等待:
终端代理A代理服务器终端代理B终端代理CA ,B处于正常通话阶段Invite (2)100 Trying (3)Invite (4)180 Ringing (5)180 Ringing (6)Invite (7)Invite (8)100 Trying (9)200 OK (10)200 OK (11)ACK (12)200 OK (14)200 OK (15)ACK (16)ACK (17)开始通话BYE (18)BYE (19)200 OK (20)200 OK (21)Invite (22)Invite (23)标题(2) 用户A,B正处于通话阶段,用户C向A发起呼叫,终端代理C发送Invite消息给代理服务器。(3) 代理服务器向终端代理C 回送100 Trying 响应,表示呼叫已在处理中。(4) 代理服务器把Invite消息转发给代理终端A。(5) 用户A振铃,终端代理A 向代理服务器送180 Ring 响应。(6) 代理服务器向终端代理C 转发该响应消息。(7) 用户A按下呼叫保持键,代理终端A向代理服务器发送Invite消息,请求与代理终端呼叫保持。(8) 代理服务器转发此消息给终端代理B。(9) 代理服务器向终端代理A 回送100 Trying 响应,表示呼叫已在处理中。(10) 终端代理B 收到呼叫保持请求后,发送200 OK给代理服务器,表示接受呼叫保持。(11) 代理服务器转发200 OK响应给终端代理A。 (12) 终端代理A 向代理服务器回送ACK 确认。 (13) 代理服务器向代理终端B转发收到的ACK确认。 (14) 终端代理A发送200 OK给代理服务器,表示接受C的呼叫。(15) 代理服务器转发200 OK响应给终端代理C。 (16) 终端代理C 向代理服务器回送ACK 确认。 (17) 代理服务器向代理终端A转发收到的ACK确认。 A ,C之间开始通话。(18) 用户A挂机,终端代理A向代理服务器 发送Bye请求消息。(19) 代理服务器转发Bye消息给终端代理C。 (20) 终端代理C发送200 OK给代理服务器,表示接受请求。(21) 代理服务器转发200 OK响应给终端代理A。(22) 终端代理C重新发送Inivte请求给代理服务器,请求和终端代理B恢复通话。(23) 代理服务器向代理终端B转发收到的Invite请求。ACK (13)
注意:用户a听到的嘟嘟有别的号码打入提示音是第五步,回180消息后,用户板发给终端的,proxy发给用户的rtp流中没有此音。
最后是释放过程