首页 > 编程语言 >asterisk-java的测试使用

asterisk-java的测试使用

时间:2023-08-08 16:00:42浏览次数:44  
标签:asteriskjava java originateAction asterisk manager 测试 org import

asterisk-java的测试使用

一个可用于FreePBX的封装库

asterisk-java

用于asteriskPBX集成的免费Java库。

https://github.com/asterisk-java/asterisk-java

asterisk-java的测试使用_asterisk

最新版本为3.39.0

<dependency>
  <groupId>org.asteriskjava</groupId>
  <artifactId>asterisk-java</artifactId>
  <version>3.39.0</version>
</dependency>

测试用例

import java.io.IOException;

import org.asteriskjava.manager.AuthenticationFailedException;
import org.asteriskjava.manager.ManagerConnection;
import org.asteriskjava.manager.ManagerConnectionFactory;
import org.asteriskjava.manager.TimeoutException;
import org.asteriskjava.manager.action.OriginateAction;
import org.asteriskjava.manager.response.ManagerResponse;

public class TestManager {

    private ManagerConnection managerConnection;
    public static void main(String[] args) throws Exception
    {
        TestManager helloManager;

        helloManager = new TestManager();
        helloManager.run();
    }
    public TestManager() throws IOException
    {
        ManagerConnectionFactory factory = new ManagerConnectionFactory(
                "172.18.12.4", 5038,"admin", "MQ5d8RRKnMFz");
        this.managerConnection = factory.createManagerConnection();
    }

    public void run() throws IOException, AuthenticationFailedException,
            TimeoutException
    {
        OriginateAction originateAction;
        ManagerResponse originateResponse;
        // connect to Asterisk and log in
        originateAction = new OriginateAction();
        originateAction.setChannel("pjsip/1001");
       // originateAction.setContext("default");
        originateAction.setContext("from-internal");
        originateAction.setExten("1001");
        originateAction.setCallerId("9119");
        originateAction.setPriority(new Integer(1));
        originateAction.setTimeout(new Long(30000));
        originateAction.setApplication("Playback");
        originateAction.setData("custom/cp1");


        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);

        // print out whether the originate succeeded or not
        System.out.println(originateResponse.getResponse());

        // and finally log off and disconnect
        managerConnection.logoff();
    }


}

成功给向分机pjsip/1001发起播放custom/cp1录音

标签:asteriskjava,java,originateAction,asterisk,manager,测试,org,import
From: https://blog.51cto.com/u_12668715/7010043

相关文章

  • Java入门题-查找一个字符串中,所有想查找短字符串的起始位置
    问题:就是长短两串字符串,从长字符串中查找所有短字符串在长字符串中的位置方法:用截取方式来规避已经查找过的内容,重复遍历来确定位置代码:需要引用importjava.util.Scanner; Scanners=newScanner(System.in);//新定义一个ScannerStringS=s.next();......
  • JAVA 问题记录
     OOM(内存溢出) 先查看java进程pidjps使用jmp把内存导出查看那些对象内存占用比较高jmp-histo<pid>>/histo.txt在可以看堆内存使用情况jmp-heap<pid>>/heap.txt ......
  • appium + python | UI 自动化测试
     tradeBtns=(By.ID,"com.hexin.plat.android.MinShengSecurity.test:id/title")self.driver.find_elements(tradeBtns)[3].click()不支持以上语法。......
  • 安装好了Java、Neo4j社区版3.5.5,和二者的环境变量后,如何浏览器登录Neo4j
    前提:安装好了Java、Neo4j社区版3.5.5,和二者的环境变量后。Win+R->cmd进入输入neo4j.batconsole回车正常情况下是这样: 不正常情况下是这样:解决办法:输入下图的两句但是记住:neo4jstart一次就要neo4jstop一次,不然会给如下报错:记得neo4jstop就行了 最后......
  • Java 11 新特性
    Java11新特性Java11是Java8之后的第一个长期支持版本(longtermsuppoertLTS),Oracle将在2019年1月停止支持Java8.OracleVSOpenJDKJava10是最后一个免许可商用版本,如果不需要Oracle商业支持的话,可以选择OpenJDK直接运行java文件Java11之前需要先用......
  • 基于Java开发的智慧EHR人力系统(源码获取)
    一、项目介绍一款全源码可二开,可基于云部署、私有部署的企业级数字化人力资源管理系统,涵盖了招聘、人事、考勤、绩效、社保、酬薪六大模块,解决了从人事招聘到酬薪计算的全周期人力资源管理,符合当下大中小型企业组织架构管理运作模式,助力企业人力资源管控信息化、智能化、规范化,......
  • Java开发需要掌握哪些技术?
    Java开发需要掌握哪些技术? 想要找到一份不错的Java开发工作,首先需要掌握一定的Java技术。那么想成为一名合格的Java开发工程师都有哪些技术是必须掌握的呢?零基础开始学习Java开发主要需要学习四个方面的内容,分别为:JavaEE基础、JavaWeb开发、Java高级框架、大型微服务分布式项目......
  • Java内存解析(转)
    栈、堆、常量池等虽同属Java内存分配时操作的区域,但其适用范围和功用却大不相同。本文将深入Java核心,简单讲解Java内存分配方面的知识。首先我们先来讲解一下内存中的各个区域。 stack(栈):存放基本类型的数据和对象的引用,即存放变量。如果存放的事基本类型的数据(非静态变量),则直接......
  • java多线程 sleep()和wait()的区别
    java多线程sleep()和wait()的区别作者:octobershiner(2篇文章)日期:十二月16,2011在11:58上午接触了一些多线程的东西,还是从java入手吧。相信看这篇文章的朋友都已经知道进程和线程的区别,也都知道了为什么要使用多线程了。这两个方法主要来源是,sleep用于线程控制,而w......
  • java 线程池
    博客分类:JavaJava工作thread活动JDK线程池的作用:    线程池作用就是限制系统中执行线程的数量。    根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;少了浪费了系统资源,多了造成系统拥挤效率不高。用线程池控制线程数量,其他线程排队......