[FreeSWITCH]简单配置fifo呼入队列

简介: [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>
相关文章
|
消息中间件 存储 负载均衡
Rabbitmq direct模式保证一个队列只对应一个消费者
Rabbitmq direct模式保证一个队列只对应一个消费者
345 0
|
5月前
|
存储 缓存 算法
S3-FIFO
S3-FIFO
69 2
|
8月前
|
消息中间件 监控 Java
FIFO
FIFO
98 9
|
8月前
|
消息中间件 前端开发 算法
【十七】RabbitMQ基础篇(延迟队列和死信队列实战)
【十七】RabbitMQ基础篇(延迟队列和死信队列实战)
126 1
|
8月前
|
存储 小程序
【FreeRTOS】队列的使用
【FreeRTOS】队列的使用
|
消息中间件 Java Kafka
15、RabbitMQ没有延时队列?学会这一招玩转延时队列
15、RabbitMQ没有延时队列?学会这一招玩转延时队列
252 0
15、RabbitMQ没有延时队列?学会这一招玩转延时队列
【异步FIFO的一些小事·3】异步FIFO中指针走线延时的一些思考
【异步FIFO的一些小事·3】异步FIFO中指针走线延时的一些思考
153 0
【异步FIFO的一些小事·3】异步FIFO中指针走线延时的一些思考
|
消息中间件 Java Kafka
RabbitMQ没有延时队列?我就教你一招,玩转延时队列
延时队列:顾名思义,是一个用于做消息延时消费的队列。但是它也是一个普通队列,所以它具备普通队列的特性,相比之下,延时的特性就是它最大的特点。所谓的延时就是将我们需要的消息,延迟多久之后被消费。普通队列是即时消费的,延时队列是根据延时时间,多久之后才能消费的。
|
消息中间件
【RabbitMQ】——简单队列和work模式
【RabbitMQ】——简单队列和work模式
140 0
【RabbitMQ】——简单队列和work模式