呼叫中心一般都会需要到这样的功能:当坐席即将接通队列中的用户时,用户那边会听到
类似“工号80001为您服务”的语音提示,我们的400热线呼入也想增加语音提示,那Asterisk
可以实现吗?
废话不多说,只有想不到,没有做不到,下面给出2个解决方案:
Solution 1
1.在dialplan中调用queue的地方加个参数:
Queue(10088,t,,,100,sayinterface.agi)
2.在/var/lib/asterisk/agi-bin目录下新建文件sayinterface.agi
#!/usr/bin/php -q
<?php
require_once "phpagi.php";
require_once "phpagi-asmanager.php";
$agi=new AGI();
$temp=$agi->get_variable("MEMBERINTERFACE");
$member=$temp['data'];
$member=substr($member,4);
$agi->verbose($member);
$agi->say_digits($member);
$agi->exec("playback","number-report");
?>
该方案有个缺憾:报号时,坐席端处于空白阶段,不能明确知道何时可与用户建立通话;
Solution 2
1.进入asterisk源码包apps目录下,vi app_queue.c
char k_exten[15] = "";;
int k9i = 0;
int k9j = 0;
int k9_flag = 0;
在 bridge = ast_bridge_call(qe->chan,peer, &bridge_config); 之前加入代码
for(;k9i < 15;k9i++){
if(member->interface[k9i]=='/'){
k9_flag=1;
continue;
}
if(member->interface[k9i]=='@'){
k9_flag=0;
break;
}
if(k9_flag){
k_exten[k9j++]=member->interface[k9i];
}
}
ast_say_digit_str(qe->chan, k_exten, AST_DIGIT_ANY, qe->chan->language);
play_file(qe->chan, "number-report");
play_file(peer, "beep");
2.编译之,生成新的app_queue.so,用其替换掉/usr/lib/asterisk/modules下的同名文件,重启asterisk;
以上两个解决方案均需在queue的配置中加入参数:setinterfacevar=yes
分享到:
相关推荐
Asterisk 之数据库配置方案 Asterisk 是一个开源的 PBX(Private Branch Exchange)系统,可以实现电话交换和语音网关的功能。在传统的 Asterisk 配置中,配置文件都是存储在文件系统中的,但是随着系统的复杂度和...
### 基于Asterisk的VOIP解决方案 #### 概述 随着互联网技术的不断发展,企业对于高效、低成本的通信需求日益增长。基于网络的语音技术(Voice over IP,简称VoIP)作为一种能够整合数据与语音系统的解决方案,受到...
Asterisk是一款开源的电话互连协议(PBX)系统,它支持SIP、VOIP等多种通信技术。本文将深入探讨如何使用Asterisk构建自动总机IVR(Interactive ...理解并掌握这些知识点,将有助于构建和优化企业级的通信解决方案。
Asterisk录音方案通常要借助于其配置文件,例如features.conf,来实现对DTMF信号的响应。 描述中说明了方案涉及到的关键信息,包括主叫(caller)和被叫(callee)信息的传输。在Asterisk系统中,可以通过DTMF信号...
Asterisk由Digium公司开发,最初由Mark Spencer在1999年创建,旨在为Linux操作系统提供一种低成本的PBX(Private Branch Exchange)解决方案。随着时间的发展,Asterisk已经成为全球最受欢迎的开源通信平台之一。它...
asterisk拨号方案的配置 Asterisk拨号方案的配置是Voice over Internet Protocol(VoIP)技术中的一个关键组件,它控制着呼入和呼出电话的处理和路由。配置文件“extensions.conf”是Asterisk拨号方案的核心,它...
Asterisk.NET 1.6.3 是一个专门为.NET开发者设计的开源库,它提供了对Asterisk PBX系统的编程接口,使得用户可以方便地在C#、...开发者可以利用这个库轻松地构建自己的VoIP解决方案,提高电话系统的可定制性和灵活性。
Asterisk自动录音(AMI接口实现)知识点总结 一、Asterisk自动录音原理 Asterisk自动录音是通过监控Asterisk的事件,检测Dial事件,然后进行录音。这种方法可以实现对所有呼入电话的录音,或者对指定号码的录音。 ...
Asterisk是一款强大的开源通信平台,它被广泛用于构建VoIP(Voice over Internet Protocol)电话系统,SIP(Session ...通过学习这份文档,你将能够充分利用Asterisk的潜力,构建出高效、定制化的通信解决方案。
Asterisk 的电话簿解决方案 这是 Aptus Forntend 代码的开发库。 它是公开的,所以我们可以从 Asterisk 社区获得反馈和拉取请求并与他们联系。 此外,在我们正式发布之前,您可以使用此存储库来测试当前 FonB 安装上...
Asterisk权威指南(第3版)第15章自动话务员 Asterisk权威指南(第3版)第02章Asterisk体系结构 Asterisk权威指南(第3版)第05章用户设备配置 Asterisk权威指南(第3版)第06章Dialplan基础 Asterisk权威指南(第3版)第07章...
Asterisk AMI(Asterisk Manager Interface)接口是Asterisk PBX...总之,Asterisk AMI接口提供了丰富的功能,结合Java库`asterisk-java`,开发者可以构建出强大的电话系统解决方案,实现自动化和定制化的业务需求。
总的来说,Asterisk 16版本安装包提供了一个强大的VoIP解决方案,通过详细的编译和配置,我们可以搭建出一个功能丰富的通信系统,满足各种业务需求。不过,由于Asterisk具有高度灵活性和复杂性,因此在使用过程中...
4. **开发与集成**:使用Asterisk客户端和AMI,开发者可以构建各种创新的应用,如企业级PBX系统、呼叫中心解决方案或者VoIP服务提供商平台。这些应用可以与CRM系统、数据库和其他业务流程集成,提升工作效率和客户...
作为一个开源的PBX(Private Branch Exchange,私用分组交换机)解决方案,Asterisk能够处理电话呼叫的建立、管理和终止,同时提供了一系列高级通信功能,如语音邮件、会议、自动话务员等。 - 它在VoIP(Voice over...
Asterisk是一个开源的IP电话系统,而Asterisk-java则是一个Java库,它提供了与Asterisk服务器交互的能力。这个库使得开发者可以利用Java语言来控制和编程Asterisk PBX(Private Branch eXchange),执行诸如创建、...
### Asterisk自动话务员详解 #### 1. 自动话务员概念解析 自动话务员(Automated Attendant, AA)是一种自动化系统,它能够接听电话,并根据来电者的按键选择将其转接到不同的目的地,比如公司内部的不同部门或者...
* show hints 查看工号和分机设备的对应绑定情况 * show queues 查看队列情况 * reload 重装配置文件 * module load xxx 载入xxx模块,xxx是模块的名称 * module unload xxx 卸载xxx模块 * module reload xxx 重新...
总的来说,Asterisk-Java提供了一个强大的工具,使得Java开发者能够轻松地与Asterisk PBX系统进行集成,开发出各种创新的通信解决方案。通过深入研究其源码和理解AGI的工作机制,开发者可以定制化电话系统的功能,以...