`

利用Digium卡搭建一个小型的asterisk电话系统 (二、添加Mysql支持)

    博客分类:
  • VOIP
阅读更多

在本文中,我们准备对上文搭建好的小型的asterisk电话系统添加动态的odbc支持,这样就可以动态地添加和注册。


一、安装Mysql和配置环境

1.1安装Mysql

$ sudo apt-get install mysql-server
设置root的password


1.2 配置Mysql

配置并确认安全

$ sudo /usr/bin/mysql_secure_installation

创建用户asterisk
$ mysql -u root -p
mysql> CREATE USER 'asterisk'@'%' IDENTIFIED BY 'yourpassword';

创建数据库asterisk
mysql> CREATE DATABASE asterisk;

赋予asterisk所有权限,并可以从任何地方访问。
mysql> GRANT ALL PRIVILEGES ON asterisk.* TO 'asterisk'@'%';

mysql> exit


1.3 安装并配置odbc桥

$ sudo apt-get install unixODBC unixODBC-dev
$ sudo apt-get install libmyodbc


创建 /etc/odbcinst.ini,内容如下:

[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/odbc/libmyodbc.so
Setup = /usr/lib/odbc/libodbcmyS.so
FileUsage = 1

通过如下命令来验证odbcinst.ini是否有效

# odbcinst -q -d


创建 /etc/odbc.ini,内容如下:

[asterisk-connector]
Description = MySQL connection to 'asterisk' database
Driver = MySQL
Database = asterisk
Server = localhost
UserName = asterisk
Password = yourpassword
Port = 3306
Socket = /var/run/mysqld/mysqld.sock

通过以下命令确认是否可以连接

# echo "select 1" | isql -v asterisk-connector


1.4 确认odbc相关安装模块

$ cd ~/src/asterisk-complete/asterisk/1.8
$ ./configure
$ make menuselect

确认cdr_odbc, cdr_adaptive_odbc, func_odbc,
func_realtime, pbx_realtime, res_config_odbc, and res_odbc,ODBC_STORAGE已经被选中


$ make install


二、配置Asterisk


2.1 修改/etc/asterisk/extconfig.conf支持动态加载

sippeers => odbc,asterisk,sip
sipusers => odbc,asterisk,sip


2.2 修改/etc/asterisk/res_odbc.conf

[asterisk]
enabled => yes
dsn => asterisk-connector
username => asterisk
password => cynthia
pooling => yes
limit => 2
pre-connect => yes


2.3 创建表和数据

如果需要从远程 访问Mysql,需要修改/etc/mysql/my.cnf 注释掉 bind-address = 127.0.0.1


mysql -u asterisk -p

use asterisk


CREATE TABLE `sip` (
  `type` varchar(6) DEFAULT NULL,
  `name` varchar(128) DEFAULT NULL,
  `secret` varchar(128) DEFAULT NULL,
  `context` varchar(128) DEFAULT NULL,
  `host` varchar(128) DEFAULT NULL,
  `ipaddr` varchar(128) DEFAULT NULL,
  `port` varchar(5) DEFAULT NULL,
  `regseconds` bigint(20) DEFAULT NULL,
  `defaultuser` varchar(128) DEFAULT NULL,
  `fullcontaxt` varchar(128) DEFAULT NULL,
  `regserver` varchar(128) DEFAULT NULL,
  `useragent` varchar(128) DEFAULT NULL,
  `lastms` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


insert into sip (type,name,secret,context,host,defaultuser)
values ('friend','2220','blah','default','dynamic','2220');

insert into sip (type,name,secret,context,host,defaultuser)
values ('friend','2221','blah','default','dynamic','2221');

insert into sip (type,name,secret,context,host,defaultuser)
values ('friend','2222','blah','default','dynamic','2222');

2.4 去掉sip.conf

去掉sip.conf [2220]~[2226]的所有内容


三、启动和测试

启动

/etc/init.d/asterisk start

进入控制台

asterisk -rvvvvvvv


启动IP电话机和软件话,成功的话,在控制台可以考到从odbc注册的消息,并且可以和上文一样进行拨号,唯一不同的是,本文的配置可以从odbc动态加载数据,这尤其适用于sip用户经常发生改变的情况。

下文将对odbc数据库的支持,进行进一步的扩展,使得本文的小例子可以一步步符合工业的要求。

(待续)



1
0
分享到:
评论

相关推荐

    Asterisk 简介 Asterisk 架构 Asterisk程序框图

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

    Asterisk Build Your Own PBX

    本文将深入探讨如何利用开源软件Asterisk和一些可能已经拥有的硬件来构建一个功能齐全、成本低廉的PBX系统。 #### 一、什么是PBX? PBX是一种内部电话网络,可以连接到公共电话网络,并允许组织内的电话进行内部...

    asterisk 安装教程

    Asterisk是一款开源的IP电话系统,用于构建VoIP(Voice over Internet Protocol)通信平台。在本教程中,我们将深入探讨如何在CentOS 5.5操作系统上安装Asterisk 10.3.0版本。这个教程是基于官方资源,并经过了多次...

    Asterisk教程

    无论是小型实验室还是大型企业,都可以利用Asterisk构建高效且经济的电话系统。 安装Asterisk需要一系列的依赖项,例如GCC、glibc-kernheaders、cpp、binutils、glibc-headers、glibc-devel等。同时,bison和...

    asterisk原版

    Asterisk是一个开源的电话通信软件平台,它使用标准的计算机硬件资源来建立电话系统。Asterisk可以与传统的电话系统集成,同时提供了通过Internet进行语音通信的能力。它最初由Mark Spencer在1999年创建,并由...

    asterisk1.8的相关资料

    Asterisk 1.8 是 Asterisk 开源通信平台的一个重要版本,对于理解呼叫中心的工作原理及其内在机制,它提供了丰富的学习资源。初学者通过深入研究 Asterisk 1.8,不仅可以掌握基础的电话系统配置,还能了解复杂的VoIP...

    asterisk中文提示音电脑朗读版

    Asterisk是基于Linux的操作系统上的一个软件PBX,由Digium公司开发。它支持多种协议,如SIP、IAX2等,可用于创建企业级电话系统、呼叫中心、VoIP网关等。Asterisk不仅处理通话,还提供录音、会议、传真、IVR...

    Asterisk基本配置PPT

    Asterisk的核心优势在于它的灵活性和强大的功能集,这使得它不仅适用于企业内部的电话系统搭建,也广泛应用于各种规模的呼叫中心建设。通过结合不同的硬件设备和软件配置,可以实现高度定制化的解决方案,满足不同...

    asterisk介绍的文档

    Digium TDM400P FXO/FXS 卡是此类卡片的一个例子。 3. **T1/PRI卡**:T1/PRIs(Primary Rate Interface)卡支持更高带宽的通信,适用于大型企业和高负载环境。 ##### 3.3 VoIP服务提供商 1. **Free World Dialup ...

    部署asterisk项目到Netbeans进行实时调试(图解)

    Asterisk是一个强大的通信平台,允许开发者构建VoIP(Voice over IP)应用程序。而Netbeans是一个支持多种编程语言的IDE,对于C/C++的开发有着良好的支持。 描述中提到,通过在Linux环境下使用Netbeans 5.5.1,...

    Asterisk Quick Start Guide

    - **应用范围**:Asterisk被广泛应用于搭建IP PBX系统、VoIP网关、会议服务器等场景,并且被小型企业、大型企业、呼叫中心、电信运营商乃至政府机构所采用。 - **开源特性**:Asterisk是一款免费且开源的产品,由...

    getting started with asterisk

    本文将基于《Asterisk入门指南》的内容,深入探讨Asterisk的基础概念、FreePBX的安装与配置流程,以及如何利用这些工具来搭建一个简单的IP PBX(Private Branch Exchange,私有分组交换)系统。 #### 1. Asterisk...

    asterisk-gui

    Asterisk是一个开源的IP电话系统,由Digium公司开发,它提供了PBX(Private Branch eXchange)功能,支持多种VoIP协议,如SIP、IAX2等,以及传统的电话线路。Asterisk能够处理电话呼叫、会议、IVR(Interactive ...

    asterisk summary

    - **教育机构**:许多学校和大学利用Asterisk来搭建内部电话系统,提高校园内的通信效率。 综上所述,Asterisk不仅仅是一个开源项目,更是一个强大的通信工具,它以其独特的功能、灵活性和低成本优势在融合通信领域...

    asterisk illustration

    - **功能**: S100I是一种单端口、全功能的FXS(Foreign Exchange Station,电话机接口)接口,配备有以太网后端,并支持Asterisk原生的IAX(Inter-Asterisk eXchange)协议。 - **应用场景**: 适用于小型办公室或...

    Asterisk 系统的g.729, g.723编解码模块安装指南

    Asterisk是一个开源的IP电话系统,用于构建VoIP网络基础设施。它支持多种编解码技术,其中G.729和G.723是两种常用的语音编码标准,尤其适用于压缩语音数据以减少带宽需求。在Asterisk系统中安装这两个编解码模块,...

    asterisk语音板卡安装配置文档

    Asterisk是一款开源的IP电话系统,它提供了丰富的VoIP服务,包括PBX功能、会议、IVR(交互式语音应答)和呼叫中心解决方案。Asterisk通常与硬件语音板卡配合使用,以实现与传统电话网络(PSTN)的接口。本文档主要...

    Asterisk vicidial 的安装详细说明

    Vicidial是基于Asterisk的一个外拨呼叫中心解决方案,提供了自动拨号、客户关系管理、报表分析等一系列功能,适用于小型到大型呼叫中心的运营需求。 二、硬件要求 根据给定部分内容,推荐的硬件配置包括: - 处理器...

Global site tag (gtag.js) - Google Analytics