分类: 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. 每天一个linux命令(32):wc命令

    Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式: wc [选项]文件... 2.命令功能: 统计指定文件中的字节数. ...

  2. 关于软工项目beta版本

    项目总结 项目成员: 黄丰润 031302307 王旭銮 031302320 张家俊 031302329 张晓燕 031302343 项目完成度:实现了专业信息填写.查看,教师信息填写,报课和查看课表 ...

  3. 转-sql中的case when的用法

    Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...

  4. struts2中怎么把action中的值传递到jsp页面

    对于如何把struts2的action中的值传到jsp页面中,主要的方法有2种: 使用转发视图利用request域中储存所需的值 使用重定向时存储数据进入session使其在jsp中可以获得 下面,让 ...

  5. 【前端学习】sublime开启vim模式

    学习目标:在sublime下开启vim模式,了解基本vim的编辑快捷键. 下载安装Sublime Text 3 :http://www.sublimetext.com/3 Vim/Vi: Vim/Vi ...

  6. ThinkPHP多表联合查询的常用方法

    1.原生查询示例: $Model = new Model(); $sql = 'select a.id,a.title,b.content from think_test1 as a, think_t ...

  7. Windows Management Instrumentation WMI Security Technology Learning

    目录 . 引言 . WMI(Windows Management Instrumentation)简介 . 基于WMI的攻击向量 . WMI编程示例 0. 引言 在进行服务器主机的入侵检测.安全攻防的 ...

  8. 用VSCode写python的正确姿势

    最近在学习python,之前一直用notepad++作为编辑器,偶然发现了VScode便被它的颜值吸引.用过之后发现它启动快速,插件丰富,下载安装后几乎不用怎么配置就可以直接使用,而且还支持markd ...

  9. unix/linux进程详解

    技术分享 启动新进程 stdlib.hintsystem(const char *string)whichequals to "sh -c string" 替换进程映像unistd ...

  10. Java线程中run和start方法的区别

    http://bbs.csdn.net/topics/350206340 Thread类中run()和start()方法的区别如下:run()方法:在本线程内调用该Runnable对象的run()方法 ...