修改etc/asterisk/manager.conf
read = agi,system,call,log,verbose,agent,user,config,dtmf,reporting,cdr,dialplan
write = agi,system,call,agent,user,config,command,reporting,originate
修改
etc/asterisk/extensions.conf
[test]exten =>_2.,1,AGI(agi:async)
脚本服务程序
import java.io.IOException; import org.asteriskjava.manager.AuthenticationFailedException; import org.asteriskjava.manager.ManagerConnection; import org.asteriskjava.manager.ManagerConnectionFactory; import org.asteriskjava.manager.ManagerEventListener; import org.asteriskjava.manager.TimeoutException; import org.asteriskjava.manager.action.*; import org.asteriskjava.manager.event.*; import org.asteriskjava.manager.response.ManagerResponse; public class HelloEvents implements ManagerEventListener { private ManagerConnection managerConnection; private ManagerConnection managerConnection1; public HelloEvents() throws IOException { ManagerConnectionFactory factory = new ManagerConnectionFactory( "ip", "uid", "pwd"); this.managerConnection = factory.createManagerConnection(); this.managerConnection1 = factory.createManagerConnection(); } public void run() throws IOException, AuthenticationFailedException, TimeoutException, InterruptedException { // register for events managerConnection.addEventListener(this); // connect to Asterisk and log in managerConnection.login(); managerConnection1.login(); // request channel state //managerConnection.sendAction(new StatusAction()); // wait 10 seconds for events to come in while(true){ Thread.sleep(10000); } // and finally log off and disconnect // managerConnection.logoff(); } int actionid=0; public void onManagerEvent(ManagerEvent event) { actionid++; // just print received events System.out.println("=============================="); System.out.println(event.getClass().getName()); if (event.getClass().equals(DtmfEvent.class)) { DtmfEvent dtmfEvent=(DtmfEvent)event; if (dtmfEvent.isEnd()) System.out.println(dtmfEvent); }else if (event.getClass().equals(PeerStatusEvent.class)) { System.out.println((PeerStatusEvent)event); }else if (event.getClass().equals(AgiExecEvent.class)) { System.out.println((AgiExecEvent)event); }else if (event.getClass().equals(AsyncAgiEvent.class)){ AsyncAgiEvent agiEvent=(AsyncAgiEvent)event; System.out.println(event); try { AgiAction agiAction=new AgiAction(); agiAction.setActionId("MyAction_"+actionid); agiAction.setCommandId("MyCommandId_"+actionid); agiAction.setChannel(agiEvent.getChannel()); if (agiEvent.getSubEvent().equals("Start")){ System.out.println("==============ANSWER==============="); agiAction.setCommand("ANSWER"); ManagerResponse response=managerConnection1.sendAction(agiAction); System.out.println(response); }else{ if (!agiEvent.getSubEvent().equals("End")){ //agiAction.setCommand("SAY NUMBER 1234 \"1*#\""); //agiAction.setCommand("STREAM FILE hello-world \"1*#\""); agiAction.setCommand("EXEC AGI \"agi://218.249.75.164/callin.agi\""); ManagerResponse response=managerConnection1.sendAction(agiAction); System.out.println(response); } } } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (TimeoutException e) { // TODO Auto-generated catch block e.printStackTrace(); } } // connect to Asterisk and log in //managerConnection.login(); // send the originate action and wait for a maximum of 30 seconds for Asterisk // to send a reply //originateResponse = managerConnection.sendAction(originateAction, 30000); } public static void main(String[] args) throws Exception { HelloEvents helloEvents; helloEvents = new HelloEvents(); helloEvents.run(); } }
您还没有登录,请您登录后再发表评论
标题中的“asterisk-1.6.2.6-2来电显示的bug修复”涉及到的是 Asterisk 通信软件的一个特定版本及其存在的问题。Asterisk 是一个开源的PBX(Private Branch eXchange)系统,它允许用户创建自己的电话网络,并提供...
标题"Asterisk-core-sounds-en-gsm-1.6"涉及的是Asterisk通信平台的一个核心组件,专门针对英语(GSM编码)的声音资源。在Ubuntu操作系统环境下,这个压缩包用于构建Asterisk通信应用程序。Asterisk是开源的PBX...
AGI(Asterisk Gateway Interface)是一种脚本接口,允许外部程序与Asterisk交互,处理复杂的呼叫逻辑。这些命令分别用于将AGI命令导出为HTML格式、在异步AGI中执行命令、开关AGI调试模式以及列出AGI帮助信息,为...
Asterisk是一个开源的IP电话系统,而Asterisk-java则是一个Java库,它提供了与Asterisk服务器交互的能力。这个库使得开发者可以利用Java语言来控制和编程Asterisk PBX(Private Branch eXchange),执行诸如创建、...
Asterisk-Java是Java语言与Asterisk PBX(私有交互式语音应答系统)之间的一个开源接口库,它允许开发者通过Java程序来控制和扩展Asterisk的功能。这个2.0.3版本的jar包包含了丰富的API,使得Java开发者能够轻松地...
详细介绍asterisk1.6,开发不可多得材料
通过这些文件,开发者可以深入了解Asterisk-Java的工作原理,学习如何创建AGI脚本,以及如何在Java应用中集成Asterisk功能。这涉及到理解Asterisk的信号协议,如SIP(Session Initiation Protocol)或IAX(Inter-...
《Asterisk核心语音资源—— Asterisk-Core-Sounds-En-GSM详解》 在IT行业中,电话系统和通信技术占据着重要地位,Asterisk作为一款开源的IP电话系统,以其强大的灵活性和可扩展性备受青睐。本文将深入探讨与...
asterisk-16.0.0.jar 呼叫中心的jar包 基于asteriter
《Asterisk核心语音资源: Asterisk-Core-Sounds-En-GSM-1.4.21详解》 在IT行业中,尤其是通信系统开发领域,Asterisk是一个不可忽视的名字。Asterisk是一款开源的PBX(Private Branch eXchange)系统,它允许用户...
这个“asterisk-moh-opsound-wav-2.03.tar”压缩包是专门为Asterisk设计的,用于在Ubuntu系统环境中构建通信应用程序的声音资源。以下是关于Asterisk、Ubuntu系统、以及该压缩包中的具体知识点: 1. **Asterisk核心...
在描述中提到的“asterisk-addons是asterisk的一款插件安装源码”,这意味着这个压缩包 `asterisk-addons-1.6.2.3` 包含了 Asterisk-addons 版本为1.6.2.3的源代码。源代码的提供允许开发者深入理解其工作原理,进行...
标题 "certified-asterisk-11.6-current.tar" 提供了关于此压缩包的基本信息,它包含了一个经过认证的Asterisk版本11.6的当前构建。Asterisk是一个开源的IP电话系统软件,它允许用户创建VoIP(Voice over Internet ...
The Asterisk-Java package consists of a set of Java classes that allow you to easily build Java applications that interact with an Asterisk PBX Server. Asterisk-Java supports both interfaces that ...
6. **编程模型**:Asterisk-java遵循异步编程模型,这意味着在处理网络I/O时不会阻塞主线程,从而提高了系统的可扩展性和性能。 7. **依赖管理**:使用Asterisk-java时,开发者需要确保他们的项目包含了必要的依赖...
asterisk-java AGI 通过asterisk ami接口,连接asterisk. api,开发自己的呼叫中心
这个"asterisk-11.0.1.tar.gz"文件是Asterisk的一个特定版本,11.0.1,它以tar.gz格式打包,这是一种在Linux和类Unix系统中常见的归档和压缩方法。tar命令用于将多个文件或目录打包成一个单一的归档文件,而gzip则...
标题中的"asterisk-11-current.tar.gz"表明这是一个Asterisk的版本包,具体为11系列的某个更新版本,以tar.gz格式压缩。这种格式在Linux和Unix-like系统中常见,是将多个文件或目录打包并压缩成单个文件的手段,方便...
asterisk-addons-1.6.1-current.tar.gzasterisk-addons-1.6.1-current.tar.gzasterisk-addons-1.6.1-current.tar.gz
当我们谈论"asterisk-1.8.10.1.tar.gz"时,我们实际上在讨论的是Asterisk的一个特定版本,即1.8.10.1,它被封装在一个名为tar.gz的压缩文件中。 首先,我们要理解tar.gz文件的含义。这是一种常见的Linux/Unix系统中...
相关推荐
标题中的“asterisk-1.6.2.6-2来电显示的bug修复”涉及到的是 Asterisk 通信软件的一个特定版本及其存在的问题。Asterisk 是一个开源的PBX(Private Branch eXchange)系统,它允许用户创建自己的电话网络,并提供...
标题"Asterisk-core-sounds-en-gsm-1.6"涉及的是Asterisk通信平台的一个核心组件,专门针对英语(GSM编码)的声音资源。在Ubuntu操作系统环境下,这个压缩包用于构建Asterisk通信应用程序。Asterisk是开源的PBX...
AGI(Asterisk Gateway Interface)是一种脚本接口,允许外部程序与Asterisk交互,处理复杂的呼叫逻辑。这些命令分别用于将AGI命令导出为HTML格式、在异步AGI中执行命令、开关AGI调试模式以及列出AGI帮助信息,为...
Asterisk是一个开源的IP电话系统,而Asterisk-java则是一个Java库,它提供了与Asterisk服务器交互的能力。这个库使得开发者可以利用Java语言来控制和编程Asterisk PBX(Private Branch eXchange),执行诸如创建、...
Asterisk-Java是Java语言与Asterisk PBX(私有交互式语音应答系统)之间的一个开源接口库,它允许开发者通过Java程序来控制和扩展Asterisk的功能。这个2.0.3版本的jar包包含了丰富的API,使得Java开发者能够轻松地...
详细介绍asterisk1.6,开发不可多得材料
通过这些文件,开发者可以深入了解Asterisk-Java的工作原理,学习如何创建AGI脚本,以及如何在Java应用中集成Asterisk功能。这涉及到理解Asterisk的信号协议,如SIP(Session Initiation Protocol)或IAX(Inter-...
《Asterisk核心语音资源—— Asterisk-Core-Sounds-En-GSM详解》 在IT行业中,电话系统和通信技术占据着重要地位,Asterisk作为一款开源的IP电话系统,以其强大的灵活性和可扩展性备受青睐。本文将深入探讨与...
asterisk-16.0.0.jar 呼叫中心的jar包 基于asteriter
《Asterisk核心语音资源: Asterisk-Core-Sounds-En-GSM-1.4.21详解》 在IT行业中,尤其是通信系统开发领域,Asterisk是一个不可忽视的名字。Asterisk是一款开源的PBX(Private Branch eXchange)系统,它允许用户...
这个“asterisk-moh-opsound-wav-2.03.tar”压缩包是专门为Asterisk设计的,用于在Ubuntu系统环境中构建通信应用程序的声音资源。以下是关于Asterisk、Ubuntu系统、以及该压缩包中的具体知识点: 1. **Asterisk核心...
在描述中提到的“asterisk-addons是asterisk的一款插件安装源码”,这意味着这个压缩包 `asterisk-addons-1.6.2.3` 包含了 Asterisk-addons 版本为1.6.2.3的源代码。源代码的提供允许开发者深入理解其工作原理,进行...
标题 "certified-asterisk-11.6-current.tar" 提供了关于此压缩包的基本信息,它包含了一个经过认证的Asterisk版本11.6的当前构建。Asterisk是一个开源的IP电话系统软件,它允许用户创建VoIP(Voice over Internet ...
The Asterisk-Java package consists of a set of Java classes that allow you to easily build Java applications that interact with an Asterisk PBX Server. Asterisk-Java supports both interfaces that ...
6. **编程模型**:Asterisk-java遵循异步编程模型,这意味着在处理网络I/O时不会阻塞主线程,从而提高了系统的可扩展性和性能。 7. **依赖管理**:使用Asterisk-java时,开发者需要确保他们的项目包含了必要的依赖...
asterisk-java AGI 通过asterisk ami接口,连接asterisk. api,开发自己的呼叫中心
这个"asterisk-11.0.1.tar.gz"文件是Asterisk的一个特定版本,11.0.1,它以tar.gz格式打包,这是一种在Linux和类Unix系统中常见的归档和压缩方法。tar命令用于将多个文件或目录打包成一个单一的归档文件,而gzip则...
标题中的"asterisk-11-current.tar.gz"表明这是一个Asterisk的版本包,具体为11系列的某个更新版本,以tar.gz格式压缩。这种格式在Linux和Unix-like系统中常见,是将多个文件或目录打包并压缩成单个文件的手段,方便...
asterisk-addons-1.6.1-current.tar.gzasterisk-addons-1.6.1-current.tar.gzasterisk-addons-1.6.1-current.tar.gz
当我们谈论"asterisk-1.8.10.1.tar.gz"时,我们实际上在讨论的是Asterisk的一个特定版本,即1.8.10.1,它被封装在一个名为tar.gz的压缩文件中。 首先,我们要理解tar.gz文件的含义。这是一种常见的Linux/Unix系统中...