SIP协议之通话转接

一、介绍

  在SIP协议应用中,有一个常用的功能叫通话转接,用于将接通后的通话转给第三方接听处理。

二、原理及流程

  转接是通过SIP协议的一个扩展请求方法REFER实现的。呼叫转接由RFC5589(Session Initiation Protocol (SIP) Call Control - Transfer)定义,而REFER方法则由RFC3515(The Session Initiation Protocol (SIP) Refer Method)定义。转接分为出席转接、半出席转接和盲转接三种,简称出席转、半出席转和盲转。
基本的成功转接(出席转接)流程如下:
SIP协议之通话转接_第1张图片
上图来源为RFC5589

2.1 出席转接(attended transfer)

出席转接也称为咨询转,流程如下:

  1. 用户A呼叫用户B
  2. 用户B接听,与A进行通话
  3. 用户B通过按钮触发转接流程,将用户A保持住,此时用户A听到呼叫保持提示音(可能是一段音乐), 用户B听到拨号音,开始呼叫用户C
  4. 用户C振铃并接听,用户B和C开始通话
  5. 用户B点击转接(refer),用户A和用户C开始通话,而用户B被服务器挂断

2.2 半出席转接(Semi-Attended Transfer)

  1. 用户A呼叫用户B
  2. 用户B接听,与A进行通话
  3. 用户B通过按钮触发转接流程,将用户A保持住,此时用户A听到呼叫保持提示音(可能是一段音乐), 用户B听到拨号音,开始呼叫用户C
  4. 用户C振铃,用户B听见回铃音
  5. 用户B点击转接(refer)
  6. 用户A听见回铃音
  7. 用户C应答后,用户A和用户C开始通话

2.3 盲转接(blind transfer)

  1. 用户A呼叫用户B
  2. 用户B接听,与A进行通话
  3. 用户B通过按钮触发转接流程,将用户A保持住,此时用户A听到呼叫保持提示音(可能是一段音乐), 用户B输入用户C后转接(REFER),用户B挂机
  4. 用户C振铃
  5. 用户C应答后,用户A和用户C开始通话

三、实例解析

3.1 出席转接

SIP协议之通话转接_第2张图片
说明:在第三方接通后,开始REFER转接

3.2 半出席转接

SIP协议之通话转接_第3张图片
说明:在第三方振铃时,开始REFER转接

3.3 盲转

SIP协议之通话转接_第4张图片
在呼叫第三方前,开始REFER转接

四、关键说明

  • 转接是在双方通话接通后的行为,由REFER方法实现,主被叫双方都可以发起转接;而转移一般依靠302信令实现,只有被叫在收到来电后未接通前才能完成
  • 在转接前,一般会将对方保持住,在保持过程中,一般由服务器给对方播放转接提示音
  • 出席转的重要意义在于在转接第三方前,可以打通电话询问一下对方是否方便接听要转接的电话,因此也称为咨询转。常见于老板和秘书之间,这样秘书可以帮老板过滤掉不重要的电话
  • 半出席转的意义在于,听见对方回铃音可以确认第三方号码正常,避免第三方号码占线而导致转接失败
  • 盲转直接转给第三方,不关心成功与否
  • REFER转接过程中伴有NOTIFY转接状态通知,转接发起方可以通过该消息确认是否转接成功或者恢复转接前通话
  • 转接过程中,会给被转接方播放一段友好提示音,如”正在转接中,请稍后“,还会涉及到保持(hold)和解保持操作
  • 转接可能会失败,是否恢复之前的通话取决于转接类型以及软件的具体实现

你可能感兴趣的:(SIP/VOIP,refer,转接,出席转,半出席转,盲转)