对于sip客户端,在windows下有好用的 eyebeam / sjphone 等好用的软件,但是在linux下,笔者没有发现好用的,安装过 xlite ekgia 等,不是配置过于复杂就是操作不习惯(可能很多自身喜好)。于是有了用 pjsip 这个开源的sip库,结合qt做界面,做一个符合自身使用习惯的 sip 客户端。支持拨打、接听电话等功能。
当然 pjsip 本身提供了大量的例子,pisua 就是一个功能强大的例子,本文也是参考其完成的。但是 pjsua 是一个命令行方式的 ua。本次大部分工作量是做界面展示功能。
开发环境准备:
1、qt 相关库的安装,一并安装 qt creator
2、pjsip 下载,并编译。在linux下编译是比较容易的,具体步骤请参考官方手册 http://trac.pjsip.org/repos/wiki/Getting-Started
编译完成后,会将每个模块编译成静态库,被放在对应模块的 lib 目录下
3、在 qt creator 创建一个工程,比如叫 pjua 然后配置好依赖关系。编辑 pjua.pro 文件,如下:
INCLUDEPATH += pjsip/include
<span style="color:#FF0000;">GCC 库的链接是有顺序的,参数从右往左加载,所以如果需要链接的库本身存在依赖问题,一定要注意顺序,将被依赖的库放在依赖库的右边</span>
LIBS += -L ../../voip_ua_linux/pjsip/lib/
LIBS += -lpjsua-i686-