PJSIP简介,安装配置
2011-07-30 00:22
190 查看
PJSIP简介,安装配置
PJSIP的实现是为了能在嵌入式设备上高效实现SIP/VOIP.
1.PJSIP库的主要特征:
1).极具移植性.(Extremely portable)
当前可支持平台包括:
* Win32/x86 (Win95/98/ME, NT/2000/XP/2003, mingw).
* arm, WinCE and Windows Mobile.
* Linux/x86, (user mode and as kernel module(!)).
* Linux/alpha
* Solaris/ultra.
* MacOS X/powerpc
* RTEMS (x86 and powerpc).
* Symbian OS
2).非常小的足印.(Very small footprint)
官方宣称编译后的库<150Kb,我在PC上编译后加上strip后大概173Kb,这对于嵌入
式设备,是个好消息
3).高性能.(High performance)
这点我们后面可以看看是否如作者宣称的
2. PJSIP的组成.
其实说是PJSIP不是特别贴切,这个库实际上是几个部分组成的.
1).PJSIP - Open Source SIP Stack[开源的SIP协议栈]
2).PJMEDIA - Open Source Media Stack[开源的媒体栈]
3).PJNATH - Open Source NAT Traversal Helper Library[开源的NAT-T辅助库]
4).PJLIB-UTIL - Auxiliary Library[辅助工具库]
5).PJLIB - Ultra Portable Base Framework Library[基础框架库]
PJLIB-UTIL辅助工具库:加解密MD5和CRC32的算法
PJNATH开源的NAT库包含ICE打洞
PJSUA-LIB库:最顶层的SIP库支持VOIP
PJMEDIA库:最顶层的支持视频的库
3. PJLIB基础框架库提供的功能:
1).内存的处理、数据的存储
.数据结构的(hash表、link表、二叉树、等)
.caching和pool;缓冲池和内存池
2).OS抽象
.线程、互斥、临界区、锁对象、事件对象
.定时器
.pj_str_t字符串
3).操作系统级别的函数抽象
.socket的抽象(tcp/udp)
.文件的读写
4).使用前的初始化,使用后的清理
4.PJSIP的安装和配置:
1.安装和编辑pjsip库:
A.将pjproject-1.5.zipr解压
B.查看pjlib\pjproject-1.5\pjlib\include\pj下面是否有config_site.h,如果没有建一个空文件(可以复制 config_site_sample.h)
C.将DirectX的x86的lib库拷贝到C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib (不需要这一步)
D.在环境变量中设置DXSDK_DIR=direx中的include目录 (不需要这一步)
E.首先编译pjlib\pjproject-1.5\pjproject-vs8.sln [win32]
F.然后打开工程开始编译
2.脱离pjsip环境的工程的配置
需要头文件的可以加入
$(SolutionDir)pjlib\pjproject-1.5\pjlib\include
$(SolutionDir)pjlib\pjproject-1.5\pjlib-util\include
$(SolutionDir)pjlib\pjproject-1.5\pjnath\include
$(SolutionDir)pjlib\pjproject-1.5\pjsip\include
$(SolutionDir)pjlib\pjproject-1.5\pjmedia\include
如果需要lib库文件的加入
$(SolutionDir)pjlib\pjproject-1.5\pjlib\lib
$(SolutionDir)pjlib\pjproject-1.5\pjlib-util\lib
$(SolutionDir)pjlib\pjproject-1.5\pjnath\lib
$(SolutionDir)pjlib\pjproject-1.5\pjsip\lib
$(SolutionDir)pjlib\pjproject-1.5\pjmedia\lib
$(SolutionDir)pjlib\pjproject-1.5\lib
我的程序所依赖PJLIB的库有:
pjlib-i386-Win32-vc8-Debug.lib
pjlib-util-i386-Win32-vc8-Debug.lib
pjnath-i386-Win32-vc8-Debug.lib
pjsip-core-i386-Win32-vc8-Debug.lib
pjsip-simple-i386-Win32-vc8-Debug.lib
pjsip-ua-i386-Win32-vc8-Debug.lib
pjsua-lib-i386-Win32-vc8-Debug.lib
pjmedia-audiodev-i386-Win32-vc8-Debug.lib
pjmedia-codec-i386-Win32-vc8-Debug.lib
pjmedia-i386-Win32-vc8-Debug.lib
libpjproject-i386-Win32-vc8-Debug.lib
PJSIP的实现是为了能在嵌入式设备上高效实现SIP/VOIP.
1.PJSIP库的主要特征:
1).极具移植性.(Extremely portable)
当前可支持平台包括:
* Win32/x86 (Win95/98/ME, NT/2000/XP/2003, mingw).
* arm, WinCE and Windows Mobile.
* Linux/x86, (user mode and as kernel module(!)).
* Linux/alpha
* Solaris/ultra.
* MacOS X/powerpc
* RTEMS (x86 and powerpc).
* Symbian OS
2).非常小的足印.(Very small footprint)
官方宣称编译后的库<150Kb,我在PC上编译后加上strip后大概173Kb,这对于嵌入
式设备,是个好消息
3).高性能.(High performance)
这点我们后面可以看看是否如作者宣称的
2. PJSIP的组成.
其实说是PJSIP不是特别贴切,这个库实际上是几个部分组成的.
1).PJSIP - Open Source SIP Stack[开源的SIP协议栈]
2).PJMEDIA - Open Source Media Stack[开源的媒体栈]
3).PJNATH - Open Source NAT Traversal Helper Library[开源的NAT-T辅助库]
4).PJLIB-UTIL - Auxiliary Library[辅助工具库]
5).PJLIB - Ultra Portable Base Framework Library[基础框架库]
PJLIB-UTIL辅助工具库:加解密MD5和CRC32的算法
PJNATH开源的NAT库包含ICE打洞
PJSUA-LIB库:最顶层的SIP库支持VOIP
PJMEDIA库:最顶层的支持视频的库
3. PJLIB基础框架库提供的功能:
1).内存的处理、数据的存储
.数据结构的(hash表、link表、二叉树、等)
.caching和pool;缓冲池和内存池
2).OS抽象
.线程、互斥、临界区、锁对象、事件对象
.定时器
.pj_str_t字符串
3).操作系统级别的函数抽象
.socket的抽象(tcp/udp)
.文件的读写
4).使用前的初始化,使用后的清理
4.PJSIP的安装和配置:
1.安装和编辑pjsip库:
A.将pjproject-1.5.zipr解压
B.查看pjlib\pjproject-1.5\pjlib\include\pj下面是否有config_site.h,如果没有建一个空文件(可以复制 config_site_sample.h)
C.将DirectX的x86的lib库拷贝到C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib (不需要这一步)
D.在环境变量中设置DXSDK_DIR=direx中的include目录 (不需要这一步)
E.首先编译pjlib\pjproject-1.5\pjproject-vs8.sln [win32]
F.然后打开工程开始编译
2.脱离pjsip环境的工程的配置
需要头文件的可以加入
$(SolutionDir)pjlib\pjproject-1.5\pjlib\include
$(SolutionDir)pjlib\pjproject-1.5\pjlib-util\include
$(SolutionDir)pjlib\pjproject-1.5\pjnath\include
$(SolutionDir)pjlib\pjproject-1.5\pjsip\include
$(SolutionDir)pjlib\pjproject-1.5\pjmedia\include
如果需要lib库文件的加入
$(SolutionDir)pjlib\pjproject-1.5\pjlib\lib
$(SolutionDir)pjlib\pjproject-1.5\pjlib-util\lib
$(SolutionDir)pjlib\pjproject-1.5\pjnath\lib
$(SolutionDir)pjlib\pjproject-1.5\pjsip\lib
$(SolutionDir)pjlib\pjproject-1.5\pjmedia\lib
$(SolutionDir)pjlib\pjproject-1.5\lib
我的程序所依赖PJLIB的库有:
pjlib-i386-Win32-vc8-Debug.lib
pjlib-util-i386-Win32-vc8-Debug.lib
pjnath-i386-Win32-vc8-Debug.lib
pjsip-core-i386-Win32-vc8-Debug.lib
pjsip-simple-i386-Win32-vc8-Debug.lib
pjsip-ua-i386-Win32-vc8-Debug.lib
pjsua-lib-i386-Win32-vc8-Debug.lib
pjmedia-audiodev-i386-Win32-vc8-Debug.lib
pjmedia-codec-i386-Win32-vc8-Debug.lib
pjmedia-i386-Win32-vc8-Debug.lib
libpjproject-i386-Win32-vc8-Debug.lib
相关文章推荐
- Hive的简介、安装配置
- selenium(一)简介,安装,配置,测试。
- freetds简介、安装、配置及使用介绍
- twemproxy 简介、安装配置
- elastic5.2和kibana5.0安装配置问题简介(centos6.5)
- zookeeper工作原理、安装配置、工具命令简介
- 【嵌入式开发】 Linux Kernel 下载 配置 编译 安装 及 驱动简介
- Puppet安装与配置简介(附视频教程)
- squid 简介与安装配置
- PJSIP简介配置和PJLIB基础库的使用
- zookeeper工作原理、安装配置、工具命令简介
- MySQL简介、安装、配置、主要命令教程
- python数据分析工具学习安装配置简介
- elasticsearch系列一:elasticsearch(ES简介、安装&配置、集成Ikanalyzer)
- Radius简介及ACS的安装配置(案例)
- sqoop简介与安装配置
- zookeeper工作原理、安装配置、工具命令简介
- 关于saltstack简介,安装和基本配置
- MySQL基础入门:MySQL简介、安装、配置
- 【嵌入式开发】 Linux Kernel 下载 配置 编译 安装 及 驱动简介