ubuntu16.04 配置opensips服务器并编译pjsip测试
一、版本相关
1) ubuntu版本: 16.04
2) opensips版本:2.1.2
3) pjsip版本 :2.5.5
4) ffmpeg版本:3.3.4
5) sdl版本:2.0
6) vs版本:2015
7) x-lite 测试sip客户端软件
二、编译pjsip
1)、目录 pjlib\include\pj,把config_site_sample.h拷贝一份,改为config_site.h
2) 、添加视频功能
config_site.h 加上
#define PJMEDIA_HAS_VIDEO 1 #define PJMEDIA_VIDEO_DEV_HAS_SDL 1 #define PJMEDIA_VIDEO_DEV_HAS_DSHOW 1 #define PJMEDIA_HAS_FFMPEG 1
3)、配置sdl和ffmpeg库
下载sdl2.0 ffmpeg3.3.4
在pjproject源码lib目录copy sdl和ffmpeg的lib文件
在pjproject源码新建include目录,分别建立ffmpeg、sdl目录。
将ffmpeg的inlude头文件copy到ffmpeg目录下
将sdl的include头文件copy到sdl目录下
打开pjproject-vs14.sln的解决方案
对项目 pjmedia_videodev 添加sdl支持;
对项目 pjmedia_videodev 添加ffmpeg支持;
对项目 pjmedia_codec 添加ffmpeg支持;
4)ffmpeg注意事项
pjsua在链接的时候会报错avcodec.lib “模块对于SAFESEH映像是不安全的”。需要关闭pjsua项目的SAFESEH。
在编译器的属性框链接器|高级的‘映像具有安全异常处理程序’,设置为否。
5) vs2015编译完成后本地测试pjsip
在 pjsip-apps\bin 目录,创建两个批处理文件
sample-debug-i386-Win32-vc14-Debug.exe --local-port= --auto-answer= --video
sample-debug-i386-Win32-vc14-Debug.exe --local-port= --auto-answer= --video
启动这两个客户端,在5061端口的客户端命令行输入
m
sip:127.0.0.1:5060
呼叫5060sip客户端,测试语音视频通话
三、ubuntu opensips部署
1)安装环境,配置mysql编译选项,编译:
依赖库
apt-get install gcc bison flex make openssl
libmysqlclient-dev perl libdbi-perl libdbd-mysql-perl
libdbd-pg-perl libfrontier-rpc-perl libterm-readline-gnu-perl
libberkeleydb-perl mysql-server ssh libxml2 libxml2-dev
libxmlrpc-core-c3-dev libpcre3 libpcre3-dev subversion
libncurses5-dev git ngrep libssl-dev
tar xcf opensips-2.1.2_src.tar.gz
cd opensips-2.1.-tls/
sudo make menuconfig
选中 [*]db_sql
配置 Configure Install Prefix,输入安装路径 /usr/local/opensips_proxy
编译安装 Compile And Install OpenSIPS
2)配置opensip script,配置mysql
进入安装目录下的sbin目录,执行osipsconfig生成有以下依赖的脚本
[*] ENABLE_TCP
[*] USE_ALIASES
[*] USE_AUTH
[*] USE_DBACC
[*] USE_DBUSRLOC
[*] USE_DIALOG
[*] USE_NAT
vi /etc/opensips.cfg 更改服务器ip

vi opensipsctlrc配置mysql数据库


3 )创建数据库,添加账号


添加两个数据

添加1000 和1001,以供后面pjsip和x-lite sip客户端通讯测试
3)开启opensips服务

四、pjsip 和 x-lite sip客户端通过opensips服务器进行语音视频通话测试
pjsip注册opensips mysql配置的账号1000
x-lite注册opensips mysql配置的账号1001
x-lite 1001 呼叫 1000



ubuntu16.04 配置opensips服务器并编译pjsip测试的更多相关文章
- Ubuntu16.04配置Django服务器环境
本环境是使用Ubuntu16.04+Django2.1.0+python3.6+uwsgi+nginx进行配置 1. 安装python3.6 Ubuntu16.04中原本安装的是python3.5,但 ...
- Ubuntu16.04配置apache+php+mysql
命令行配置apache input sudo apt-get install apache2 done! 命令行配置mysql 参见: MySQL install and setting 命令行配置p ...
- Ubuntu16.04配置TOMCAT8
基于虚拟机Ubuntu16.04配置Tomcat过程 一.安装JDK 首先要确定好要安装的jdk和tomcat版本能对的上,具体如图所示: 版本选择是Jdk1.8,首先上官网http://www.or ...
- ubuntu16.04配置java环境(重启后不会失效)
ubuntu16.04配置java环境(重启后不会失效) 1.jdk的安装包(.tar.gz)拷贝到/opt目录下 mv jdk-8u144-linux-x64.tar.gz /opt 2.解压文件 ...
- ubuntu16.04配置记录
新开一篇随笔记录ubuntu16.04配置中遇到的坑 1.安装Bumblebee(大黄蜂) Bumblebee是一款双显卡驱动,可以关闭独显,有效控制笔记本发热 第一步:安装我们的主角Bumblebe ...
- ubuntu16.04下ftp服务器的安装与配置
由于要将本地程序上传至云服务器中,所以需要给云服务器端安装ftp服务器.记录一下ftp的安装过程,以便以后使用.服务器端所用系统为Ubuntu16.04. 1. 安装ftp服务器, apt-get i ...
- Ubuntu16.04配置Android5.0编译环境
1.安装jdk7 Ubuntu16.04的安装源已经默认没有openjdk7了,所以要自己手动添加仓库,如下: $ sudo add-apt-repository ppa:openjdk-r/ppa ...
- py-faster-rcnn + opencv3.0.0 + ubuntu16.04配置(CPU模式)
最近开始做行人检测,因此开始接触faster-rcnn,这里贴上配置教程(亲测可行),不过是基于cpu的,蓝瘦... 参考博客:http://www.tuicool.com/articles/nYJr ...
- ubuntu16.04配置py-faster-rcnn
在ubuntu16.04下编译安装了py-faster-rcnn. 主要步骤包括:安装cuda/cudnn,换apt源,装开源显卡驱动,装caffe依赖的apt包和python包,下载py-faste ...
随机推荐
- Junit4学习(四)Junit4常用注解
一,背景知识: 由前面的知识可以知道: /* * @Test:将一个普通方法修饰为一个测试方法 * @Test(exception=XXX.class) * @Test ...
- lintcode.22 平面列表
平面列表 描述 笔记 数据 评测 给定一个列表,该列表中的每个要素要么是个列表,要么是整数.将其变成一个只包含整数的简单列表. 注意事项 如果给定的列表中的要素本身也是一个列表,那么它也可以包含 ...
- Html在线编辑器--基于Jquery的xhEditor轻量级编辑器
xhEditor V1.2.2 下载地址 开源中国社区: http://www.oschina.net/p/xheditor xhEditor是一个基于jQuery开发的简单迷你并且高效的可视化XHT ...
- System.getProperty()参数大全
System.getProperty()获取Java各种配置属性,参数如下: Java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vend ...
- 微信小程序语音识别服务搭建全过程解析(项目开源在github)
silk v3录音转olami语音识别和语义处理的api服务(ubuntu16.04服务器上实现) ## 重要的写在前面 重要事项一: 目前本文中提到的API已支持微信小程序录音文件格式:silk v ...
- OC——多态
书接上文,上文提到继承一个很大用途的是为了更好的实现多态,现在我们就来看看OC的多态. 多态:顾名思义就是好多种状态,以前学C#时候印象最深刻的例子是好多个类共同实现同一个接口,然后把这些类的对象都装 ...
- Numpy中Meshgrid函数介绍及2种应用场景
近期在好几个地方都看到meshgrid的使用,虽然之前也注意到meshgrid的用法.但总觉得印象不深刻,不是太了解meshgrid的应用场景.所以,本文将进一步介绍Numpy中meshgrid的用法 ...
- 使用phpmailer插件发邮件失败提示:SMTP -> ERROR: Failed to connect to server: Connection timed out (110) smtp connect() failed;
一个邮件发送问题,整整弄了我一周时间,起因是这样的,之前弄的一个网站,需要在邮箱里面认证之后才可以注册成功.网站上线了差不多一年之后,客户突然跟我说,网站不能注册了,然后我就查看了一下代码. 发现报这 ...
- http content-type accept的区别
1.Accept属于请求头, Content-Type属于实体头. Http报头分为通用报头,请求报头,响应报头和实体报头. 请求方的http报头结构:通用报头|请求报头|实体报头 响应方的http报 ...
- AngularJS 路由精分
AngularJS 路由机制是由ngRoute模块提供,它允许我们将视图分解成布局和模板视图,根据url变化动态的将模板视图加载到布局中,从而实现单页面应用的页面跳转功能. AngularJS 路由允 ...