安装、配置和测试Asterisk过程中遇到的问题及解决方法

原文地址:http://blog.csdn.net/szyanjian/article/details/51494832


最近刚刚接触Asterisk,第一步想用Asterisk搭建一个VoIP服务器,然后用安装两个软电话实现通话,然后再深入一点研究。然而就是这第一步,对于我这个Linux和Asterisk新手来说,也是问题频出,今天终于能打通了,在此记录一下遇到的问题及解决办法,希望对遇到和我同样问题的人有点帮助。 
一、下载和安装Asterisk 
我觉得下载源码这些东西就去官网下 ,虽然国外的网站下载速度慢点,但是比其他的一些途径下载的靠谱一些。我在这里只需要搭建一个VoIP服务器,其他的包现在都不需要(那些包再一步一步去探索),所以只需要到这个地址下载Asterisk的源码。 
(http://downloads.asterisk.org/pub/telephony/asterisk/releases/
我下载的是最新的asterisk-13.9.1.tar.gz,下载之后,我把它copy到了/usr/local/asterisk目录下,解压。 
命令是这样的:

cd /usr/local
sudo mkdir asterisk 
sudo chmod 777 asterisk  #读、写和执行权限
cd asterisk
sudo cp /你下载的源码的目录 .  #注意最后的“.”,表示当前目录
sudo tar -xvf asterisk-13.9.1.tar.gz #解压,会生成asterisk-13.9.1目录
cd asterisk-13.9.1  #在这个目录下有一个README文件,里面描述了安装步骤。

正常的步骤应该是:
./configure
make
make install 
make samples


 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

在执行./configure的时候可能会遇到一些问题,我所遇到的问题在这篇文章中都得到了解答。要注意的是多条命令同时执行报权限不足时,可以分开然后加上sudo执行。

(http://blog.sina.com.cn/s/blog_7a3dc0c90102vwvu.html)

二、运行Asterisk 
在asterisk-13.9.1目录下执行asterisk -cvvvv就可以运行asterisk了。执行之后建议用sudo netstat -aup查看一下进程端口号,Asterisk的SIP默认端口是5060,IAX默认端口是4569,在我的机器上,Asterisk还监听了4520和5000端口,我还不知道是干什么的。我遇到一个坑爹的问题是:无论我杀死、重启Asterisk多少次,asterisk就是没监听5060端口。我搜索了半天没找到解决办法,后来在asteriskHelp论坛里找到一个帖子,描述的是跟我差不多的问题,原因可能是SIP模块没有启动。然后,我重新编译了一下Asterisk,启动再查看你就没问题了。

三、下载软电话测试 
在window上下载一个x-lite,然后安装,很简单,下载地址 
在linux下会麻烦一些,需要下载xten源码,然后编译,这个步骤可以自己查一下。我在安装好之后遇到一个莫名奇妙的问题,在xten安装好的目录下明明有xten这个文件,也有执行的权限。但是我直接执行,一直报“没有这个这个文件或目录”,查一半天才知道这是因为我的linux虚拟机是64位的,但是这个xten是32位的,在64位的机器上执行32位程序就是会报找不到程序的错误。又查了半天才找到一篇文章真正解决了这个问题,地址在这里

四、配置sip.conf和extensions.conf 
在这个阶段只需要配置sip.conf和extensions.conf,他们都在etc/astersisk目录下。前面安装Asterisk时make simples命令会在配置文件里写入示例配置,sip.conf与extensions.conf里面都有,先不要将它们删除。 
在sip.conf最后面添加配置:

[111]
username=111
secret=aaa
type=friend
host=dynamic
context=internal
[222]
username=222
secret=aaa
type=friend
host=dynamic
context=internal
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

上面的配置就是在asterisk服务器上定义了两个用户(用户这个描述不准确,但是现在先这么理解没有问题),如果IP画集或者软电话的username和secret与asterisk上定义的用户吻合,那么话机就能成功注册到asterisk服务器上了。 
上面的username与secrect好理解,就是用户名和密码;type有三种,分别是friend、peer、user,想详细了解的话,自己去查一下;host表示话机或者软电话的ip地址,dynamic表示动态的ip地址;context对应的是extensions.conf中的一种拨号方案,表示该号码从internal这个拨号方案中出去。

在extensions.conf中添加配置

[internal]
exten=>111,1,Dial(SIP/111)
exten=>222,1,Dial(SIP/222)
 
 
  • 1
  • 2
  • 3

extensions.conf中定义的是DiaPlan拨号计划,也就电话呼入呼出一步步怎么处理就是在这个配置文件中规定的。上面是一个非常简单的拨号方案,意思是:拨111,处理的第一步就是从SIP通道呼出111。

五、启动asterisk 
重新启动Asterisk,将软电话注册到asterisk就可以用了。



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值