`
brunoplum
  • 浏览: 14477 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Asterisk自动播报工号的解决方案

阅读更多
    呼叫中心一般都会需要到这样的功能:当坐席即将接通队列中的用户时,用户那边会听到
类似“工号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-&gt;chan,peer, &amp;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数据库

    Asterisk 之数据库配置方案 Asterisk 是一个开源的 PBX(Private Branch Exchange)系统,可以实现电话交换和语音网关的功能。在传统的 Asterisk 配置中,配置文件都是存储在文件系统中的,但是随着系统的复杂度和...

    基于Asterisk的VOip解决方案

    ### 基于Asterisk的VOIP解决方案 #### 概述 随着互联网技术的不断发展,企业对于高效、低成本的通信需求日益增长。基于网络的语音技术(Voice over IP,简称VoIP)作为一种能够整合数据与语音系统的解决方案,受到...

    Asterisk自动总机IVR 设计

    Asterisk是一款开源的电话互连协议(PBX)系统,它支持SIP、VOIP等多种通信技术。本文将深入探讨如何使用Asterisk构建自动总机IVR(Interactive ...理解并掌握这些知识点,将有助于构建和优化企业级的通信解决方案。

    asterisk info 录音实现方案

    Asterisk录音方案通常要借助于其配置文件,例如features.conf,来实现对DTMF信号的响应。 描述中说明了方案涉及到的关键信息,包括主叫(caller)和被叫(callee)信息的传输。在Asterisk系统中,可以通过DTMF信号...

    Asterisk 简介 Asterisk 架构 Asterisk程序框图

    Asterisk由Digium公司开发,最初由Mark Spencer在1999年创建,旨在为Linux操作系统提供一种低成本的PBX(Private Branch Exchange)解决方案。随着时间的发展,Asterisk已经成为全球最受欢迎的开源通信平台之一。它...

    asterisk拨号方案的配置

    asterisk拨号方案的配置 Asterisk拨号方案的配置是Voice over Internet Protocol(VoIP)技术中的一个关键组件,它控制着呼入和呼出电话的处理和路由。配置文件“extensions.conf”是Asterisk拨号方案的核心,它...

    Asterisk.NET 1.6.3 控制Asterisk

    Asterisk.NET 1.6.3 是一个专门为.NET开发者设计的开源库,它提供了对Asterisk PBX系统的编程接口,使得用户可以方便地在C#、...开发者可以利用这个库轻松地构建自己的VoIP解决方案,提高电话系统的可定制性和灵活性。

    20120329_asterisk自动录音(AMI接口实现)1

    Asterisk自动录音(AMI接口实现)知识点总结 一、Asterisk自动录音原理 Asterisk自动录音是通过监控Asterisk的事件,检测Dial事件,然后进行录音。这种方法可以实现对所有呼入电话的录音,或者对指定号码的录音。 ...

    Asterisk 中文文档说明

    Asterisk是一款强大的开源通信平台,它被广泛用于构建VoIP(Voice over Internet Protocol)电话系统,SIP(Session ...通过学习这份文档,你将能够充分利用Asterisk的潜力,构建出高效、定制化的通信解决方案。

    FonB:Asterisk 的电话簿解决方案

    Asterisk 的电话簿解决方案 这是 Aptus Forntend 代码的开发库。 它是公开的,所以我们可以从 Asterisk 社区获得反馈和拉取请求并与他们联系。 此外,在我们正式发布之前,您可以使用此存储库来测试当前 FonB 安装上...

    Asterisk权威指南中文

    Asterisk权威指南(第3版)第15章自动话务员 Asterisk权威指南(第3版)第02章Asterisk体系结构 Asterisk权威指南(第3版)第05章用户设备配置 Asterisk权威指南(第3版)第06章Dialplan基础 Asterisk权威指南(第3版)第07章...

    Asterisk AMI 接口代码

    Asterisk AMI(Asterisk Manager Interface)接口是Asterisk PBX...总之,Asterisk AMI接口提供了丰富的功能,结合Java库`asterisk-java`,开发者可以构建出强大的电话系统解决方案,实现自动化和定制化的业务需求。

    asterisk16版本安装包

    总的来说,Asterisk 16版本安装包提供了一个强大的VoIP解决方案,通过详细的编译和配置,我们可以搭建出一个功能丰富的通信系统,满足各种业务需求。不过,由于Asterisk具有高度灵活性和复杂性,因此在使用过程中...

    Asterisk 客户端.rar

    4. **开发与集成**:使用Asterisk客户端和AMI,开发者可以构建各种创新的应用,如企业级PBX系统、呼叫中心解决方案或者VoIP服务提供商平台。这些应用可以与CRM系统、数据库和其他业务流程集成,提升工作效率和客户...

    Asterisk

    作为一个开源的PBX(Private Branch Exchange,私用分组交换机)解决方案,Asterisk能够处理电话呼叫的建立、管理和终止,同时提供了一系列高级通信功能,如语音邮件、会议、自动话务员等。 - 它在VoIP(Voice over...

    通过asterisk-java操作asterisk

    Asterisk是一个开源的IP电话系统,而Asterisk-java则是一个Java库,它提供了与Asterisk服务器交互的能力。这个库使得开发者可以利用Java语言来控制和编程Asterisk PBX(Private Branch eXchange),执行诸如创建、...

    Asterisk-自动话务员

    ### Asterisk自动话务员详解 #### 1. 自动话务员概念解析 自动话务员(Automated Attendant, AA)是一种自动化系统,它能够接听电话,并根据来电者的按键选择将其转接到不同的目的地,比如公司内部的不同部门或者...

    Asterisk一些常用的命令

    * show hints 查看工号和分机设备的对应绑定情况 * show queues 查看队列情况 * reload 重装配置文件 * module load xxx 载入xxx模块,xxx是模块的名称 * module unload xxx 卸载xxx模块 * module reload xxx 重新...

    asterisk-java-1.0.0-m2-sources.zip_asterisk

    总的来说,Asterisk-Java提供了一个强大的工具,使得Java开发者能够轻松地与Asterisk PBX系统进行集成,开发出各种创新的通信解决方案。通过深入研究其源码和理解AGI的工作机制,开发者可以定制化电话系统的功能,以...

Global site tag (gtag.js) - Google Analytics