[FreeSWITCH]簡單配置fifo呼入隊列


撥號計划

<?xml version="1.0"?>
<include>
  <context name="inboundcall">

    <!-- 坐席撥打611登錄到隊列 -->
    <extension name="Agent Login">
      <!--限制可登錄隊列的坐席分機號-->
      <condition field="caller_id_number" expression="^([1,8]\d{3})$" />
      <condition field="destination_number" expression="^(611)$">
        <action application="answer"/>
        <action application="set" data="result=${fifo_member(add f1 {fifo_member_wait=nowait}user/${caller_id_number})}"/>
        <action application="log" data="INFO call_id_number: ${caller_id_number}" />
        <action application="log" data="INFO Add FIFO1 agent result: ${result}"/>
        <!-- <action application="hangup"/> -->
      </condition>
    </extension>

    <!-- 坐席撥打612退出隊列 -->
    <extension name="Agent Logout">
      <condition field="destination_number" expression="^(612)$">
        <action application="answer"/>
        <action application="set" data="result=${fifo_member(del f1 {fifo_member_wait=nowait}user/${caller_id_number})}"/>
        <action application="log" data="INFO Del FIFO1 agent result: ${result}"/>
        <!-- <action application="hangup"/> -->
      </condition>
    </extension>

    <extension name="send caller to FIFO">
      <!-- 測試的時候可以限制一下呼入的來電號碼 -->
      <condition field="caller_id_number" expression="^(17712345678)$" />
      <!-- destination_number應該是運營商或者線路商提供的可呼入號碼 -->
      <condition field="destination_number" expression="^(0101234567)$">
        <action application="log" data="INFO get caller ${caller_id_number} calls coming..." />
        <action application="answer"/>
        <action application="set" data="record_sample_rate=8000"/>
        <action application="set" data="RECORD_STEREO=true"/>
        <action application="record_session" data="/home/Records/inboundcall/${strftime(%Y/%m/%d/)}${caller_id_number}_${strftime(%Y%m%d%H%M%S)}.wav"/>
        <action application="fifo" data="f1 in"/>
        <action application="log" data="INFO get in fifo: 12345678"/>
        <action application="park"/>
        <!--  不park會導致立即掛機;  -->
      </condition>
    </extension>

  </context>
</include>

大致流程

  1. 假設坐席分機號1001、1002、1003、1004撥打611登錄到隊列中
  2. 客戶17712345678撥打0101234567呼入
  3. FreeSWITCH先預應答客戶,將客戶通話放到隊列中
  4. FreeSWITCH查找已登錄到隊列中的坐席,比如1002
  5. FreeSWITCH將客戶通話推到1002坐席,實現通話。
  6. 假設1003坐席暫停接聽電話,撥打612退出隊列。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM