refer说明

在freeswitch中,refer主要是依靠deflect来实现的,如下:

  1. <include>
  2. <extension name="refer_Extension">
  3. <condition field="caller_id_name" expression="^refer$">
  4. <action application="deflect" data="18652003060@192.168.1.81:64601"/>
  5. </condition>
  6. </extension>
  7. </include>

fs在收到invite消息之后,回复100trying,并接着回复refer消息,消息内容如下:
image.png
与app对应的,还有api方法:
uuid_deflect 0c9520c4-58e7-40c4-b7e3-819d72a98614 sip:info@example.net

redirect说明

在freeswitch中,redirect对应的就是redirect命令,如下:

  1. <action application="redirect" data="sip:foo@bar.com "/>

refer与redirect的同与异:

1、refer应用于已接听的通话,redirect应用于尚未接听的通话
2、refer和redirect都是给主叫发送消息,让其重定位到新的服务器上
3、freeswitch在发送refer之后,会挂断当前通话

注意事项

1、freeswitch在收到refer时,如果当前是单腿通话,则不支持。
image.png