Asterisk项目的前世今生

基于Asterisk的VoIP开发指南——Asterisk 模块编写指南(1) 1 开源项目概述Asterisk是一个开源的软件包,通常运行在Linux操作系统平台上。Asterisk可以用三种协议来实现VoIP,同时可以与目前电话使用的标准硬件进行交互通信,Asterisk在实现VoIP时,不需要任何附加硬件,本文所采用的也是这种使用方式。但是,如果企业没有与VoIP语音网关运营商建立合作关系,想要自己构建这样的一个平台,那么要和数字电话设备与模拟电话设备进行交互通信, 阅读详情

声明:本文由本人翻译自Asterisk wiki,如有不妥欢迎指正。

原文地址:https://wiki.asterisk.org/wiki/display/AST/A+Brief+History+of+the+Asterisk+Project

时间回到1999年,有一个叫 Mark Spencer的年轻人在阿拉巴马州的奥本大学修完了计算机工程学位,与此同时,他还偶然发现了一个有趣的商业理念。1999年是互联网泡沫的最高点,成千上万的跨国公司发现他们可以通过使用开源的Linux操作系统替代专利操作系统(商业闭源操作系统,如Windows)以此来节省资金。可以开放获取源代码的免费操作系统的诱惑多到令人不可错过,然而遗憾的是,在当时获取对Linux提供商业支持的途径非常少。Mark决定通过成立一个名为“Linux Support Services”的公司来填补这个缺口。LSS公司提供了一条支持热线,IT专业人员可以打电话免费获取Linux技术支持。

然而,这个想法很快就消失了。在很短几个月中,Mark就有了一间小办公室,并聘用了一些Linux行家。又过了几个月,业务的增长使他们越来越需要一个实时电话系统,以将来电在支持团队中均衡的分配,于是Mark给几个当地的电话系统销售商打电话询问报价。结果让他很惊讶,所有销售商回复的报价都高于五万美元——远远超出了Mark对这个项目的预算,LSS根本就买不起。

Mark没有放弃或是采取小企业贷款,而是做了一个重大的决定,他决定写一个自己的电话系统。为什么不呢?一个电话系统其实只不过是一台运行电话软件的计算机,不是吗?幸运的是,Mark全然不知他所做的是一个多么庞大的项目,如果当初Mark知道构建一个电话系统是一项多么艰巨的任务,那么他可能就会咬咬牙借钱采购一套电话系统并且把接下来的十年继续投入到Linux支持上。但他不知道的就是不知道,于是他开始写代码,然后写代码,写代码。

Mark在 Adtran开始了他的合作社工程,这是一家位于汉斯维尔通讯和网络设备制造商。在那里,他全身心投入到电信系统的开发,解决难题,在很短的时间就生成了庞大而复杂的代码。这段经历已被证明是无价的,因为他这时开始构架的系统最后发展成了Asterisk。仅仅几个月,Mark就塑造了Asterisk最初的核心代码。当他拥有了一个可以工作的原型后就立即把源码发布到了互联网上,并让人们可以在GPL(Linux使用的协议)协议框架内使用它。

开源PBX的理念在短短几个月内流行起来,在当时还有一些其他的开源通讯系统项目,但是都没有像Asterisk那样的通讯怪才一样征服了全世界的想象力。就像Mark为核心系统努力付出一样,在全球有数百(现在是数千)位开发者已经开始提交新的特点和功能。

部署asterisk项目到Netbeans进行实时调试(图解) 为了更好地使用Asterisk开发项目, 一个途径就是有针对性地学习、分析与项目有关的那部分asterisk源代码。虽然说代码是模块化的,但是赤手空拳地针对每个源文件进行学习,确实增加了一定的难度,如果能够借助某些工具来调试asterisk,将是多方便的一件事情呀!经过研究,终于把asterisk整个项目部署到了Linux下的netbeans 5.5.1 IDE上了,通过这个IDE,我们可以进行asterisk源代码的学习、调试,这样一举两得的事情,何乐而不为呢? 立即下载

相关推荐

Spring AI Alibaba Skill 实战:定义、注册与渐进式披露的企业级落地

摘要:很多团队在接入大模型时,第一步做到的是“能对话”,第二步遇到的瓶颈却是“不能可靠执行”。Skill 的本质不是给模型多几个函数,而是把企业系统中的可控能力,以可治理、可审计、可扩展的方式交给 Agent。本文围绕 Spring AI Alibaba Skill 的定义、注册与渐进式披露,结合电商客服与售后场景,系统讲清楚其底层原理、架构设计、生产级实现、高并发治理与工程实践。@Component@Tool(description = "根据订单号查询订单状态、支付状态和物流状态")扫描包含。

一起修行,不孤单。这里有编程语言、开发工具、学习方法论和踩坑笔记。用简单的话说复杂的事,陪你从小白到进阶。周更干货,欢迎一起成长! 623

asterisk概述和代码分析

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33910137的博客 273

寒假实训笔记day01——认识M4单片机之STM32F405RGT6

认识M4单片机之STM32F405RGT6(含义、规格、参数)

weixin_47200070的博客 8551

开源项目架构分析之 -- Asterisk

http://aosabook.org/en/asterisk.html Asterisk1 is an open source telephony applications platform distributed under the GPLv2. In short, it is a server application for making, receiving, and per

影音视频技术 1345

RK3588s Camera ISP调优详解(一)ISP调试工具及环境配置(附下载途径)

本文主要介绍了rkisp tuner工具的连接与使用,并附上了工具及依赖库的下载地址

zongheng_raobo的博客 6269

腾讯ACE反作弊系统:内核驱动与AI行为分析如何守护游戏公平

在游戏安全领域,反作弊技术是保障公平竞技环境的核心防线。其基本原理是通过监控系统关键行为,识别并阻断非法的第三方程序干预。从技术实现看,现代反作弊方案普遍采用分层防御架构,结合用户态模块进行应用层检测,并依赖内核态驱动实现底层深度监控,以此构建纵深防御体系。这种技术的核心价值在于,它能有效对抗从简单内存修改到高级驱动级作弊等多种威胁,维护游戏经济系统和玩家体验的完整性。随着作弊手段的演进,行为分析与AI赋能变得至关重要,系统通过机器学习模型分析进程行为序列的异常模式,即使面对未知特征的外挂变种也能进行有效识

weixin_33978578的博客 741

[转]开源应用架构之asterisk

作者:Russell Bryant 翻译:jiazhengfeng Asterisk[1]是一款GPLv2协议下的开源电话应用平台。简单来说,Asterisk是一个服务器应用,能够完成发起电话呼叫、接受电话呼叫、对电话呼叫进行定制处理。 Asterisk 这个项目是由Mark Spencer于1999年开创的。Mark当时有一个名为Linux技术支持服务公司,公司需要一套电话系统来开展业务。由...

weixin_30301183的博客 233

MAX3232芯片引脚功能详解与外围电路设计避坑指南(从电荷泵到静电防护)

本文详细解析了MAX3232芯片的引脚功能与外围电路设计,重点介绍了其电荷泵架构和RS232通信接口的应用。通过实际案例和参数对比,提供了电路设计中的常见问题解决方案和静电防护建议,帮助工程师优化工业控制与嵌入式系统中的通信可靠性。

weixin_30596165的博客 432

Asterisk:开源通信引擎的深度解析

摘要:Asterisk是一款开源通信引擎,最初由Mark Spencer为解决企业通信需求而开发。其发展经历了三个阶段:从解决个人公司电话需求的初始阶段,到通过Digium商业化运营的成熟阶段,再到被Sangoma收购后的整合阶段。Asterisk采用单体核心与模块化设计相结合的技术架构,通过拨号计划实现灵活呼叫处理。其开源模式和商业运作共生的成功案例,为全球170多个国家的企业提供了低成本、高灵活的通信解决方案,成为颠覆传统专有通信系统的重要力量。(150字)

greenspan的专栏 1414

Python与CAD系列基础篇(十)图形复制、移动、删除

①通过pyautocad连接AutoCAD进行处理②通过ezdxf处理dxf格式文件。进行图形复制、移动、删除的方法。pyautocad方式。pyautocad方式。

weixin_43894929的博客 2209

matlab 受约束的 Delaunay 三角剖分【2025最新版】

matlab内置调用函数实现受约束的 Delaunay 三角剖分并将结果保存为STL文件

点云侠的博客 1875

Asterisk 开源项目教程

Asterisk 是一个开源的 PBX(Private Branch Exchange)和电信工具包。它作为中间件,连接互联网和电信通道,并支持多种电信接口,包括互联网电话和传统 PSTN 电话。Asterisk 提供了丰富的功能,适用于构建各种通信解决方案,如呼叫中心、语音邮件系统、会议系统等。 Asterisk 由 Sangoma Technologies Corporation 和 Ast...

gitblog_00413的博客 682

三臂杆大型液压机械臂集中式ADRC控制系统设计

本文设计了一种用于三臂杆液压机械臂的集中式自抗扰控制(ADRC)系统。该系统通过建立包含惯性矩阵、科氏力、重力及摩擦力的非线性动力学模型,并集成液压系统传递函数,构建了完整的系统模型。控制方案采用跟踪微分器安排过渡过程,扩张状态观测器实时估计系统状态和总扰动,以及非线性状态误差反馈生成控制量。MATLAB实现展示了集中式ADRC控制器的核心结构,包括参数定义、跟踪微分器、扩张状态观测器和非线性反馈模块的设计。该系统能有效处理多关节耦合效应,实现三输入三输出的MIMO控制,具有抗干扰能力强、响应速度快的特点。

huanghm88的专栏 269

Asterisk Kubernetes 演示项目教程

Asterisk Kubernetes 演示项目教程 1. 项目介绍 Asterisk Kubernetes 演示项目(asterisk-k8s-demo)是一个开源项目,旨在展示如何在 Kubernetes 集群上部署和扩展 Asterisk 系统。Asterisk 是一个开源的通信平台,支持语音、视频、消息和数据通信。通过将 Asterisk 部署在 Kubernetes 上,可以实现高可用性...

gitblog_00333的博客 834

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Asterisk-Java 项目下载及安装教程

Asterisk-Java 项目下载及安装教程 1. 项目介绍 Asterisk-Java 是一个用于与 Asterisk PBX 服务器集成的 Java 库。它支持两种 Asterisk 提供的接口:FastAGI 协议和 Manager API。FastAGI 允许你创建一个服务来管理呼叫,类似于 Web 服务器处理 HTTP 请求的方式。Manager API 则支持从 Asterisk 服...

gitblog_01294的博客 736

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Asterisk AudioFork 项目教程

Asterisk AudioFork 项目教程 项目介绍 Asterisk AudioFork 是一个开源项目,旨在帮助用户将 Asterisk 的音频流发送到 WebSocket 服务器。该项目通过 Asterisk 的音频钩子(audiohooks)API 提供了一个简单的接口,使开发者能够更好地分析音频并运行其他处理任务。 项目快速启动 安装步骤 克隆项目仓库: git clone ht...

gitblog_00159的博客 368

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Vosk-Asterisk 开源项目教程

Vosk-Asterisk 开源项目教程 项目介绍 Vosk-Asterisk 是一个为 Asterisk 提供语音识别功能的模块。该项目利用 Vosk API 服务器实现语音识别,支持最新的 Asterisk 版本。Vosk 是一个开源的语音识别工具,适用于多种平台和应用场景。 项目快速启动 安装步骤 克隆 Asterisk 源码 git clone https://github.com/a...

gitblog_00518的博客 912

Asterisk-Java 开源项目教程

Asterisk-Java 开源项目教程 项目介绍 Asterisk-Java 是一个用于与 Asterisk 开源 PBX 系统进行交互的 Java 库。Asterisk 是一个功能强大的开源电话交换机(PBX)系统,广泛应用于 VoIP 和传统电话系统中。Asterisk-Java 库允许 Java 开发者通过编程方式与 Asterisk 服务器进行通信,实现呼叫控制、事件监听和 AGI(As...

gitblog_00168的博客 890

Docker-Asterisk 项目常见问题解决方案

Docker-Asterisk 项目常见问题解决方案 1. 项目基础介绍和主要编程语言 Docker-Asterisk 是一个开源项目,旨在通过 Docker 容器技术提供 Asterisk PBX 的运行环境。Asterisk 是一款功能强大的开源电话交换系统,支持 VoIP 以及传统电话系统。该项目通过 Docker 化 Asterisk,使得部署和维护 PBX 系统变得更加简单和灵活。项目主...

gitblog_00294的博客 1255

Asterisk-Java 开源项目使用指南

Asterisk-Java 开源项目使用指南 项目概述 Asterisk-Java 是一个用于与 Asterisk PBX 交互的 Java 库,它提供了一种简便的方式来创建与 Asterisk 服务器通信的应用程序。此库允许开发者执行 AMI (Asterisk Management Interface) 命令、监听事件以及管理 Asterisk 的各种功能。 1. 项目的目录结构及介绍 Ast...

gitblog_00673的博客 950

Asterisk 对VoiceXML 及CSTA的支持

一. Asterisk 对 VoiceXML 协议支持      1.说明:   OpenVXI 是一个开源的VoiceXML 协议解释器(C++语言实现),  VoiceGlue 利用OpenVXI 实现了VoiceXML协议与Asterisk的对接。    通过利用 VoiceVXI version 3.4 , VoiceGlue 能够处理 VoiceXML 2.0 语法,同时实现了一些 VoiceXML 2.1 新特性,同时,VoiceGlue 是分布式的,可以与Asterisk在不同机器上。Voic

RTC hacker 3617

Asterisk模块编写及例子

Asterisk模块编写及例子前言一、新建res_helloworld.so模块二、res_helloworld.so模块中引入cdr三、res_helloworld.so模块引入CLI 前言 Asterisk模块无论内容复杂与否,它的结构都是十分简单的。本文将说明如何新建一个res_helloworld.so模块,以及在res_helloworld.so中添加cdr显示和cli功能。 一、新建res_helloworld.so模块 创建文件名为res_helloworld.c,存放在Asterisk的

weixin_40426195的博客 989

开源项目Asterisk-Java安装与配置完全指南

开源项目Asterisk-Java安装与配置完全指南 项目基础介绍及编程语言 Asterisk-Java是一款免费的Java库,专为与Asterisk PBX服务器集成而设计。它支持两种与Asterisk交互的主要接口:FastAGI协议和Manager API。这款开源工具适用于希望在Java应用中实现电话系统控制的开发者。项目采用Java作为其主要编程语言,并遵循Apache-2.0许可证。 ...

gitblog_01288的博客 1033

asterisk java 开发_Asterisk项目概述

Asterisk是一个开源的软件包,通常运行在Linux操作系统平台上。Asterisk可以用三种协议来实现VoIP,同时可以与目前电话使用的标准硬件进行交互通信,Asterisk在实现VoIP时,不需要任何附加硬件,本文所采用的也是这种使用方式。但是,如果企业没有与VoIP语音网关运营商建立合作关系,想要自己构建这样的一个平台,那么要和数字电话设备与模拟电话设备进行交互通信,Asterisk需要...

weixin_42503036的博客 793

Asterisk-Java 开源项目推荐

Asterisk-Java 开源项目推荐 1. 项目基础介绍和主要编程语言 Asterisk-Java 是一个用于与 Asterisk PBX(Private Branch Exchange)服务器集成的开源 Java 库。该项目的主要编程语言是 Java,旨在为开发者提供一个简单而强大的工具,以便在 Java 应用程序中与 Asterisk PBX 进行交互。 2. 项目的核心功能 Asteri...

gitblog_01289的博客 806
上一篇: Asterisk——电话通信的瑞士军刀
下一篇: 安装Asterisk
libodls
博客等级 码龄21年 30粉丝 31原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值