• iOS开发之使用pjsip开发VoIP应用程序


    转自:http://www.wuleilei.com/blog/327

    最近项目中要用到VoIP,VoIP全称Voice over Internet Protocol,即网络电话,生活中经常用到,例如Skype。

    能用到iPhone上面的VoIP库不多,最开始准备使用Lipphone,但其编译实在太慢,编译了N次也没有成功,最后放弃啦。后来尝试使用pjsip,居然成功了,简单的记录一下过程,其实是照着官网操作的:)

    一、环境需求:

    iPhone应用推荐使用SDK 4.x,当然3.x也支持;iPad应用只支持SDK 3.2以上。

    二、编译之前的准备工作:

    1、下载pjsip源代码

    2、在目录/pjsip/pjlib/include/pj/中新建config_site.h,粘贴如下代码入内:

    #define PJ_CONFIG_IPHONE 1
    #include <pj/config_site_sample.h>

    三、编译pjsip:

    在终端中运行如下命令:

    $ cd /path/to/your/pjsip/
    $ ./configure-iphone
    $ make dep && make clean && make

    四、给模拟器编译pjsip库:

    在终端中运行如下命令:

    export DEVPATH=/Developer/Platforms/iPhoneSimulator.platform/Developer
    export CC=/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.0
    CFLAGS="-O2 -m32 -miphoneos-version-min=4.0" LDFLAGS="-O2 -m32" ./configure-iphone
    make dep && make clean && make

    五、编译sample:

    编译目录pjproject/pjsip-apps/src/ipjsua中的项目,如果上面的步骤都成功了,这是你就可以看到app的主界面了。

    六、测试通话:

    1、搭建VoIP服务器:

    网上有很多免费的SIP服务器,我使用的是MiniSipServer免费版,安装很简单,按界面提示一路下一步就OK了。安装完后别忘记了新建账户(这里以100和101为例)。

    2、安装VoIP客户端:

    这个也很多,我使用的是3CX Phone Client。登录账户100.

    3、在iPhone的pjsip界面中登录账户101:

    +a
    Your SIP URL: (empty to cancel): sip:101@192.168.1.1
    URL of the registrar: (empty to cancel): sip:192.168.1.1
    Auth Realm: (empty to cancel): *
    Auth Username: (empty to cancel): 101
    Auth Password: (empty to cancel): 123456

    和100打电话:

    +b
    Enter buddy's URI: (empty to cancel): sip:100@192.168.1.1
    m
    Make call: 1

    打电话操作还可以简化:

    m
    Make call: sip:sip:100@192.168.1.1

    这时,听到电话响声的你是不是感到很兴奋呢!

  • 相关阅读:
    固定textview大小,根据文字多少调整字体自适应textview大小
    这可能是最全的禁用win10自动更新了
    Android Studio 3.0正式版填坑之路
    android studio 3.0之后版本自定义文件名生成apk文件
    Android Studio从2.3升级到3.1注意事项
    Android studio2.3.3升级3.1.2坑
    iterm2 快捷键大全
    php实现的短网址算法分享
    mysql远程连接命令
    Mac下安装与配置Go语言开发环境
  • 原文地址:https://www.cnblogs.com/imlucky/p/2683841.html
Copyright © 2020-2023  润新知