最近刚刚接触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

在执行./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

上面的配置就是在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)

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

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

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

  1. 安装cadence软件到使用过程中遇到的问题和解决方法

    这篇主要是整理了我从安装cadence软件到使用过程中遇到的问题以及我的解决方法,仅供参考. 问题一:Error The default SKILL generic function has not ...

  2. 计算机组装时遇到的问题,计算机组装及正常维修过程中遇到的问题和解决方法.doc...

    <计算机组装及正常维护过程中遇到的问题和解决方法> 指导老师:XXX 班级:XXX 姓名:XXX 学号:XXXX 计算机组装遇到的问题和解决方法 在安装之前要特别注意下面这些事项:第一.防 ...

  3. 记flume部署过程中遇到的问题以及解决方法(持续更新)

    项目需求是将线上服务器生成的日志信息实时导入kafka,采用agent和collector分层传输,app的数据通过thrift传给agent,agent通过avro sink将数据发给collect ...

  4. crossover的使用过程中出现的问题和解决方法

    crossover的使用过程中出现的问题和解决方法: 原因分析: 出现X11丢失的主要是因为缺少的X11软件包,这一错误在Mac OS 10.6系统上发生的频率比较高,在Mac OS 10.8及更高版 ...

  5. hadoop过程中遇到的错误与解决方法

    hadoop过程中遇到的错误与解决方法 参考文章: (1)hadoop过程中遇到的错误与解决方法 (2)https://www.cnblogs.com/zhjh256/p/10669881.html ...

  6. 使用遇到的问题_聚氯化铝在使用过程中遇到的问题及解决方法

    聚氯化铝在使用过程中遇到的问题及解决方法 随着现在工业的发展改良,现在的工业废水水质的变化幅度大,导致处理方面也有新的问题出现,常见的有聚氯化铝投入水中产生泡沫,药剂堵塞泵等问题. 聚氯化铝投入水中产 ...

  7. 将html代码部署到阿里云服务器,并进行域名解析,以及在部署过程中遇到的问题和解决方法

    将html代码部署到阿里云服务器,并进行域名解析,以及在部署过程中遇到的问题和解决方法 参考文章: (1)将html代码部署到阿里云服务器,并进行域名解析,以及在部署过程中遇到的问题和解决方法 (2) ...

  8. 硒鼓加粉过程中常见缺陷对照表及解决方法!

    硒鼓加粉过程中常见缺陷对照表及解决方法! 1.问题:底灰 原因:低湿高温;PCR(充电辊)缺陷;磁辊护套及涂层缺陷;PCR或电晕电接触点缺陷;OPC(感光鼓)缺陷;不良碳粉;高压电源不良. 解决方法: ...

  9. IIS安装过程中可能遇到的问题及解决方法

    故障0:控制面板里没有"->添加/删除Windows组件->Internet信息服务(IIS)"组件 原因0及处理:某些GHOST系统精简后没有此项,最好的办法是重新换 ...

最新文章

  1. android微博客户端下载,iBeebo微博客户端
  2. [oracle]分区表学习
  3. Magento--修改已存在的订单的运费
  4. es查询所欲_Elasticsearch基本查询总结
  5. Kali Linux 秘籍 第三章 高级测试环境
  6. Android 系统性能优化(75)---MTK 平台perfomance问题的基本信息确认
  7. 读书笔记_中国期货市场量化交易(李尉)02
  8. python手机版下载-qpython手机版下载
  9. RequireJS进阶(一)
  10. java request.getparameter为何能取值_request.getParameter(“xxx”)的参数的取值
  11. LaTeX 换行、换页、空白空间
  12. HTML5七夕情人节表白网页制作【花瓣图片表白】HTML+CSS+JavaScript html生日快乐祝福网页制作
  13. 安消一体智能分析终端服务器
  14. 有趣的数学结论(未完待续)
  15. android应用开发-从设计到实现 2-4 文字的使用
  16. 伯禹公益AI《动手学深度学习PyTorch版》Task 03 学习笔记
  17. [webView stopLoading]; 和 [webView release];
  18. 网络购书挑战书业传统营销模式
  19. Python学习——(2)通过网络爬虫获取数据
  20. 漏洞复现_CVE-2020-0796 永恒之黑漏洞_遇坑_已解决

热门文章

  1. 知乎和简书的夜间模式实现套路
  2. PHP相册模块,支持Flash及JS模板插件安装。
  3. Cassandra代替Redis?
  4. ie型lfsr_crc校验的实现(移位寄存器)
  5. 计算机进制幼儿入门,少儿编程中,你该如何给孩子讲解进制问题
  6. 011OK6410开发板介绍
  7. vue 统计中英文字符串长度_Ant Design Vue 添加区分中英文的长度校验功能
  8. html表格和列表标签
  9. 自动类型安全的.NET标准REST库refit
  10. 软件开发的22条黄金法则