您的位置:首页 > Web前端 > JavaScript

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息