`
xiuxiuxiu
  • 浏览: 35406 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Asterisk Realtime with Mysql

    博客分类:
  • VoIP
阅读更多

Asterisk Realtime with Mysql

Asterisk的强大功能让我第一眼就喜欢上了它,但是需要配置如此之多的conf文件实在让人有点受不了。
From Readme.extconfig for Asterisk Realtime Engine

The Asterisk external configuration engine is the result of work by Anthony Minessale II, Mark Spencer and Constantine Filin It is designed to provide a flexible, seamless integration between Asterisk's internal configuration structure and external SQL other databases (maybe even LDAP one day).


External configuration is configured in /etc/asterisk/extconfig.conf allowing you to map any configuration file (static mappings) to be pulled from the database, or to map special runtime entries which permit the dynamic creation of objects, entities, peers, etc. without the necessity of a reload.

这不就是我想要的么,动手是我的一贯原则,马上来。
前提
由于需要调用Mysql,所以需要先安装mysql-common,mysql-server,mysql-client,libmysqlclient-dev。
Step 1 安装Asterisk-Addon
在www.asterisk.org的网站上下载Asterisk-Addon,解压缩以后进行安装。

sudo ./configure
sudo make
sudo make install
sudo make samples

需要注意的是,执行configure这步没有mysql也是可以过得(Checking mysql_config … No),但是最后汇报错”Find Engine Mysql, but it is not available”.我已开始在这边耽误了很久,所以请注意前提中要求的几个包。

Step 2 配置/etc/asterisk/res_mysql.conf
在“ [general]”下增加如下配置。

dbhost = localhost
dbname = asterisk
dbuser = username
dbpass = password
dbport = 3306
dbsock = /var/lib/mysql/mysql.sock

基本的数据库配置,没啥好说的。

Step 3 配置/etc/asterisk/extconfig.conf
extconfig主要分成static 和database两种模式。
static 模式就是在”reload”的时候一口气全部从数据库中读出配置信息,储存在Memory中;database模式就是实时的按照需要从数据库中读取。这里我选择的是database,希望朝stateless asterisk靠拢。
在extconfig的”[settings] “中增加如下配置。

sippeers => mysql,general,sip_peers
sipusers => mysql,general,sip_users
queues => mysql,general,queue_table
queue_members => mysql,general,queue_member_table
meetme => mysql,general,meetme_table
voicemail => mysql,general,voicemail
extensions => mysql,general,extensions_table

这里需要注意的是,网上很多教程里写的配置格式是<driver>,<database name>[,table_name].但是在Asterisk 1.6.1或者以上的版本中正确的配置格式应该是<driver>,<settings name>[,table_name]。其中的<settings name>指的是res_mysql.conf中的”[general]“.
Step 4 创建数据库
这部分我就不多说了,没有什么不同。具体各个部分配置对应的数据表结构可以在我给出的参考地址中找到,我就不多说了。

Step 5 运行起来
还等什么运行起来。

sudo asterisk -vvvvc

然后在sip_peers中添加一条用户信息。不需要重起asterisk,直接用Xlite进行连接,哇塞,直接就注册上了,神奇的意思就是这个。

遗留问题
1)按照参考连接中的说法,database config不支持SIP NAT.这肯定是要克服的一个问题,回头再找找看资料了。
2) Realtime只是Asterisk集群,负载均衡的基石,要作大规模的Asterisk服务,Asterisk的集群技术和基于SIP的负载均衡技术都是下一个需要研究的课题。

参考地址:http://www.voip-info.org/wiki/view/Asterisk+RealTime

原文地址 : http://blog.tech4k.com/?p=335

0
0
分享到:
评论

相关推荐

    asterisk-1.8 realtime涉及到的几个表的SQL(修订过了)

    在Asterisk 1.8版本中,Realtime机制引入了数据库交互,以提高性能和灵活性。以下是涉及Asterisk 1.8 Realtime的几个关键表及其SQL语句的详细解释: 1. **voicemail.sql**: 这个文件包含了与语音邮件相关的数据库...

    Centos5.8安装asterisk并配置mysql用户表

    "Centos5.8安装asterisk并配置mysql用户表" Asterisk是一种流行的开源IP PBX系统,它提供了强大的语音通信功能和灵活的配置能力。本篇文章将指导您在Centos5.8系统上安装Asterisk,并配置Mysql用户表以实现动态...

    asterisk,mysql,freepbx_完整安装手册.doc

    asterisk,mysql,freepbx_完整安装手册.doc

    Asterisk Realtime Web Configuration-开源

    Asterisk Realtime Web Configuration,通常被称为Asterweb,是一个基于PHP开发的开源项目,专为Asterisk VoIP服务器提供实时配置管理工具。Asterisk是一个强大的、开放源代码的PBX(Private Branch eXchange)系统...

    Asterisk tips for integration with Avaya

    Asterisk tips for integration with Avaya

    asterisk+freeradius+mysql

    【asterisk+freeradius+mysql】的集成配置详解 在VoIP系统中,Asterisk是一个开源的PBX软件,负责处理电话呼叫和相关通信任务。而FreeRADIUS则是一个强大的认证、授权和计费(AAA)服务器,常用于网络接入控制。...

    Asterisk 之数据库配置方案 asterisk数据库

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

    Building Telephony Systems With Asterisk

    ### 使用Asterisk构建电话系统的关键知识点 #### 一、Asterisk简介 Asterisk是一款开源的电话通信平台,可以用来创建交互式语音响应(IVR)菜单、自动呼叫分配(ACD)、会议桥接等多种功能。它支持多种协议,如SIP...

    Asterisk Realtime Administration-开源

    星号实时管理。 通过Web界面实时管理实时扩展,SIP用户,语音邮件。 与mysql星号实时扩展一起使用。

    asterisk权威指南

    读者将学习如何使用Asterisk的管理接口AMI(Asterisk Management Interface)进行远程控制,以及如何利用工具如Asterisk Realtime和FreePBX等第三方模块来增强Asterisk的功能。 总的来说,《Asterisk权威指南》不仅...

    Asterisk 简介 Asterisk 架构 Asterisk程序框图

    Asterisk是一款开源的电话交换机软件,它允许用户创建高度自定义的通信系统,包括VoIP(Voice over IP)电话、会议桥、自动呼叫分配(ACD)以及许多其他电信功能。Asterisk的核心设计理念是灵活性和可扩展性,这使得...

    通过asterisk-java操作asterisk

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

    Asterisk.NET 1.6.3 控制Asterisk

    Asterisk.NET 1.6.3 是一个专门为.NET开发者设计的开源库,它提供了对Asterisk PBX系统的编程接口,使得用户可以方便地在C#、VB.NET或其他.NET支持的语言中控制和扩展Asterisk功能。这个库是基于Asterisk Manager ...

    Asterisk权威指南中文

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

    asterisk 安装教程

    ./configure --with-mysql --with-openssl --with-jansson --with-libedit --with-pjproject-bundled --with-xml ``` 编译并安装Asterisk: ```bash make menuselect.makefile make make install make samples ```...

    Design and Implementation Voip Service On Open IMS and Asterisk Servers

    Open IMS is able to serve maximum 30 call/s with computer processor 1.55 GHz, while the Asterisk with computer processor 3.0 GHz, may serve up to 55 call/sec. Enum on server with 1.15 GHz computer ...

    Asterisk AMI 接口代码

    Asterisk AMI(Asterisk Manager Interface)接口是Asterisk PBX系统提供的一种用于远程管理和监控的强大工具。这个接口允许开发者通过编程方式与Asterisk进行交互,执行诸如控制呼叫、获取状态、监听通话等多种操作...

    asterisk16版本安装包

    Asterisk是一款开源的IP电话系统,用于构建VoIP(Voice over Internet Protocol)通信平台。在本场景中,我们讨论的是Asterisk的16版本安装包,这将引导我们深入理解Asterisk的核心功能、安装流程以及如何进行编译和...

    asterisk1.8安装参考录像

    Asterisk使用MySQL或SQLite存储用户、拨号计划等信息。你需要创建数据库并初始化Asterisk的数据结构。使用`asterisk -r`进入Asterisk控制台,然后执行`dbinit`命令。 7. **启动Asterisk服务** 使用`sudo ...

    FXO work with asterisk

    在"FXO work with asterisk"的场景中,Asterisk被配置为使用FXO接口连接到PSTN。以下是具体步骤: 1. **硬件安装**:安装带有FXO接口的VoIP Gateway或ATA(Analog Telephone Adapter),将其连接到Asterisk服务器,...

Global site tag (gtag.js) - Google Analytics