分类: linux编译相关2013-01-05 21:38 17983人阅读 评论(24) 收藏 举报

先下载源码:

这里我下载的是1.8.2,因为这个是目前的最稳定版本,(虽然已经有1.9及2.0了)

http://opensips.org/pub/opensips/1.8.2/src/opensips-1.8.2_src.tar.gz

编译前需要安装如下软件:

apt-get install perl libdbi-perl libdbd-mysql-perl libdbd-pg-perl libfrontier-rpc-perl libterm-readline-gnu-perl libberkeleydb-perl

解压源码:

tar zxf opensips-1.8.2_src.tar.gz

然后make menuconfig,我在这里只修改了安装路径。之后make && make install即可。

编译成功后只有一个地方需要修改,修改安装目录下的etc/opensips/opensips.cfg文件:

将listen=udp:127.0.0.1:5060   # CUSTOMIZE ME

修改为:listen=udp:192.168.1.10:5060   #这里的的IP以本机实际IP为准,当然,如果注释掉它的会,默认会监听所有端口,看自己的需要了。

启动服务:

执行安装目录下的usr/sbin/下的opensipsctl start(注:这里的start是它的参数)

由于涉及需要在/tmp、/var等目录下创建文件,所以这个可能执行会失败。此时需要使用sudo来执行命令:

sudo usr/sbin/opensipsctl restart

#注意,这里usr前面没有/,因为我这里的此usr目录非根目录下的usr。

貌似不需要增加用户就可以直接注册用户了。注册时随便填用户名和密码即可,但用户名一定要是数字,要不然无法拨号。所以此时可以用手机注册一下试试(我用的是我的I9100)。这个用户管理应该是可以配置的,但需要好好研究一下这个Server的配置文件。

使用sudo usr/sbin/opensipsctl ul show可以查看注册用户的情况。

嗯,目前只有一部手机没办法测试通话,呆会儿用老婆的试试。

------

用我的i9100和老婆的i900测试了一把,呼叫成功!不过貌似只能语音呼叫,手机上自带的软件不支持视频。

至此,两个手机间的呼叫成功了,另外为了顺便也测试一下PC机上的客户端这里在Ubuntu下安装了Twinkle软件顺便进行了一下测试。

首先,安装Twinkle我是进到图形界面安装的,在Software Center中搜索SIP能找到此软件,点安装即可。

安装成功后,由于此工具也默认使用5060端口,所以会与前面的openSIPS冲突,所以需要修改一下端口。

另外,这个软件的配置个Domain,开始没搞懂这个值该怎么填,写成了192.168.1.10:16060(前面是服务器的IP,后面是本地端口),始终注册不成功,返回403错误。后来仔细研究了一个,这个Domain应该只填IP地址才对,或填成192.168.1.10:5060,即填服务器端的才对,修改后果然注册成功了。

现在,可以玩玩PC与手机之间的呼叫了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

搭建自己的SIP服务器:开源sip服务器opensips的搭建及终端TwInkle的使用的更多相关文章

  1. SIP协议&开源SIP服务器搭建和客户端安装

    1. SIP SIP 是一个应用层的控制协议,可以用来建立,修改,和终止多媒体会话,例如Internet电话 SIP在建立和维持终止多媒体会话协议上,支持五个方面: 1)   用户定位: 检查终端用户 ...

  2. 用开源软件TrinityCore在Debian 10上搭建魔兽世界8.3.0.34220的服务器

    用开源软件TrinityCore在Debian 10上搭建魔兽世界8.3.0.34220的服务器 TrinityCore是魔兽世界(World of Warcraft)的开源的服务端.目前支持魔兽的3 ...

  3. EwoMail开源邮件服务器软件搭建

    EwoMail开源邮件服务器软件简介 EwoMail是基于Linux的开源邮件服务器软件,集成了众多优秀稳定的组件,是一个快速部署.简单高效.多语言.安全稳定的邮件解决方案,帮助你提升运维效率,降低 ...

  4. 我为什么选择采用node.js来做新一代的EasyDarwin RTSP开源流媒体服务器

    在去年我们还未开始开发基于node.js的新版本EasyDarwin RTSP开源流媒体服务器的时候,我写了一篇博客<对EasyDarwin开源项目后续发展的思考:站在巨人的肩膀上再跳上另一个更 ...

  5. 部署rfc5766-turn-server--谷歌推荐的开源穿透服务器 [复制链接]

    谷歌推荐的开源穿透服务器,包含trun和stun服务,主页:https://code.google.com/p/rfc5766-turn-server/(个人觉得可以利用这个来进一步搭建VPN,有兴趣 ...

  6. nginx搭建http和rtmp协议的流媒体服务器

    nginx搭建http和rtmp协议的流媒体服务器 时间:2013-09-23 23:52来源:佚名 作者:本站 举报 点击:232次 实验目的:让Nginx支持flv和mp4格式文件,同时支持Rtm ...

  7. Windows下免费、开源邮件服务器hMailServer

    Windows下免费.开源邮件服务器hMailServer 一.Windows下搭建免费.开源的邮件服务器hMailServer 二.邮件服务器hMailServer管理工具hMailServer A ...

  8. Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器[摘抄]

    [文章作者:张宴 本文版本:v6.3 最后修改:2010.07.26 转载请注明原文链接:http://blog.s135.com/nginx_php_v6/] 前言:本文是我撰写的关于搭建“Ngin ...

  9. Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)

    前言:本文是我撰写的关于搭建“Nginx + PHP(FastCGI)”Web服务器的第6篇文章.本系列文章作为国内最早详细介绍 Nginx + PHP 安装.配置.使用的资料之一,为推动 Nginx ...

随机推荐

  1. 由“js跨域”想到"AJAX也不一定要XMLHttpRequest"

    关键字:jsonp jsonp的原理:同源约束限制了js脚本的跨域访问,但是<script>和<iframe>的src标签引用的js文件(只要响应正文是符合js语法的文本即可, ...

  2. 团队项目作业第二项:利用NABCD模型进行竞争性需求分析

    项目需求分析与建议--NABCD模型(王鲁跃负责) N (Need 需求) 对于现在的学生来说,我们认为打字是很重要的.不管在什么方面都需要进行电脑打字,例如文员.QQ.MSN.制作,论文等等,都需要 ...

  3. 【The final】软件工程实践总结

    软件工程就这么告一段落了,竟然有那么一丢丢的舍不得-- 一.为拖延找的种种借口     [首先声明]以下纯粹是个人吐槽,仅作记录以便日后自己可以回顾一下往昔罢了,可以直接忽略,跳到第二大点:我的拖延之 ...

  4. htpasswd 详解

    Apache htpasswd命令用法详解 htpasswd建立和更新存储用户名.密码的文本文件, 用于对HTTP用户的basic认证. # /usr/local/apache/bin/htpassw ...

  5. 【poj2983】 Is the Information Reliable?

    http://poj.org/problem?id=2983 (题目链接) 一个SB错误TLE了半个小时... 题意 一条直线上有n个点,给出m条信息,若为P则表示点A在点B的北方X米,若为V则表示A ...

  6. 由chrome剪贴板问题研究到了js模拟鼠标键盘事件

    写在前面 最近公司在搞浏览器兼容的事情,所有浏览器兼容的问题不得不一个人包了.下面来说一下今天遇到的一个问题吧 大家都知道IE下面如果要获得剪贴板里面的信息的话,代码应该如下所示 window.cli ...

  7. mysql gb2312与lanti1

    1.如果数据库编码为lanti1,页面编码utf-8和gb2312均可,并且不用set names,设置就会乱码: 2.如果数据库编码为utf8,页面编码utf-8和gb2312均可,一定要设置好se ...

  8. rsync+inotify 实现服务器之间目录文件实时同步(转)

    软件简介: 1.rsync 与传统的 cp. tar 备份方式相比,rsync 具有安全性高.备份迅速.支持增量备份等优点,通过 rsync 可 以解决对实时性要求不高的数据备份需求,例如定期的备份文 ...

  9. QueryHelp

    //辅助查询 Author:高兵兵 public class QueryHelp { #region IList<T> ToList<T>(string cmdText,str ...

  10. derby数据库操作比较难理解的错误及解决方法大全

    一.插入(INSERT时报错) 1.错误:java.sql.SQLIntegrityConstraintViolationException: 列“test”无法接受空值. 可能原因:建表时test列 ...