首先要下载全套资料,不过比较烦,不是iOS专用: http://trac.pjsip.org/repos/wiki/Getting-Started/iPhone ,代码也能官网或者附件中下载,记得论坛附件后缀名重命名为*.tar.bz2。
    在 Mac 里新建个文件夹,解压开,最好不要带中文路径名。

  1. 解压开后,命令行 Terminal 至 pjlib/include/pj/config_site.h,以我实际案例为基础,差不多是 /pjsip/pjlib/include/pj/config_site.h,创建这个文件(touch config_site.h)即可。
  2. 打开编辑 config_site.h,具体内容为:
    #define PJ_CONFIG_IPHONE 1
    #include <pj/config_site_sample.h>
  3. 开始命令行里编译。到解压开的目录中,输入 sudo ./configure-iphone, 命令行里多按按 Tab 键,让它自动提示,比如先输入./  然后打个 Tab 键,它会提示你能选择的命令有哪些。
    务必记住,这里指的编译环境,都是 arm7,非 i386 模拟器,你若无真机 debug,除非编译第三方库,参考编译生成i386的库,来配合让模拟器运行。所以没有 iPhone 的最好别尝试了。
    另外务必记得,你尽量加入 sudo ,管理员帐号,输入之后,它会提示你输入系统密码。这一点,很有用,否则你的帐号无法创建文件权限,你这不白编译么?
  4. 在原有命令行 configure 之后,继续依次输入 sudo make dep ; sudo make clean; sudo make;
    如果无报错,应该编译通过,自动生成到系统路径,并保存了库以及头文件路径了,具体的在/usr/lib/   blah blah blah。。。可以自己找找,默认文件夹管理,是看不到这个路径的。
  5. 在 pjproject/pjsip-apps/src/ipjsua 路径下,有这么个 project,直接打开,编译。记得选择 iOS Device 编译,配置东西基本都设定好了。当然了,开发证书是免不了的。

最终,在真机上看到运行画面了吧。别开心,你还只是迈出了第一步。下面为了验证你的成果,你需要下载 MiniSipServer 免费版、3CX Phone Client 客户端,当然还要连上 WiFi。

搭建 MiniSipServer 非常简单,个人建议使用英文版,中国版翻译得很2,词不达意。见如下链接,添加帐号,设定密码,等等。http://www.myvoipapp.com/docs/mss_services/manual/index.html#add_local_usr

然后,你必须打开 3CX VOIP 客户端,登陆后这个帐号就在服务器端绿色显示在线了。下面就要在 iPhone 上用命令行设定了。

+=============================================================================+");
        |       Call Commands:         |   Buddy, IM & Presence:  |     Account:      |");
        |                              |                          |                   |");
        |  m  Make new call            | +b  Add new buddy       .| +a  Add new accnt |");
        |  M  Make multiple calls      | -b  Delete buddy         | -a  Delete accnt. |");
        |  a  Answer call              |  i  Send IM              | !a  Modify accnt. |");
        |  h  Hangup call  (ha=all)    |  s  Subscribe presence   | rr  (Re-)register |");
        |  H  Hold call                |  u  Unsubscribe presence | ru  Unregister    |");
        |  v  re-inVite (release hold) |  t  ToGgle Online status |  >  Cycle next ac.|");
        |  U  send UPDATE              |  T  Set online status    |  <  Cycle prev ac.|");
        | ],[ Select next/prev call    +--------------------------+-------------------+");
        |  x  Xfer call                |      Media Commands:     |  Status & Config: |");
        |  X  Xfer with Replaces       |                          |                   |");
        |  #  Send RFC 2833 DTMF       | cl  List ports           |  d  Dump status   |");
        |  *  Send DTMF with INFO      | cc  Connect port         | dd  Dump detailed |");
        | dq  Dump curr. call quality  | cd  Disconnect port      | dc  Dump config   |");
        |                              |  V  Adjust audio Volume  |  f  Save config   |");
        |  S  Send arbitrary REQUEST   | Cp  Codec priorities     |  f  Save config   |");
        +------------------------------+--------------------------+-------------------+");
        |  q  QUIT   L  ReLoad   sleep MS   echo [0|1|txt]     n: detect NAT type     |");
        +=============================================================================+");

在iPhone上输入 +a  添加帐号啦,他会提示你输入你的帐号 URL,记得使用此格式 sip:account@example.com 或者 sip:account@192.168.0.1,前提是你没设端口,你要是改动了默认端口,你自己看着办吧。

然后他会依次问你,帐号,密码,都照填,auth 据说可以随便填,或者填入*,代表空。添加帐号成功后,你在server端就会看到,你的帐号又绿色亮啦!

然后添加朋友,输入 +b;SIP 帐号规则还是,sip:friend@example.com; 添加成功后,就是输入 m ; 开始打电话啦,他会提示你有个 buddy 在线,直接输入数字 ID,即可拨通啦。

帖子地址 http://www.cocoachina.com/bbs/read.php?tid-60853.html

开发 iOS 的 VOIP 客户端相关推荐

  1. java跨平台 ios_Smobiler如何实现.net一键开发,ios和android跨平台运行

    目录 一 概述 二 原理 移动端控件 移动端API 三 写在最后 一. 概述 Smobiler实现了.net服务端开发,ios和android客户端直接运行显示,无需学习Objective-C或Jav ...

  2. IOS开发——仿网易新闻客户端

    IOS开发--仿网易新闻客户端 本文没有内容,传个资源 衔接地址:http://download.csdn.net/detail/u012881779/7152281 左侧导航部分: 新闻版块 订阅版 ...

  3. QT开发pjsip的VOIP,A8平台运行

    QT开发pjsip的VOIP 开发环境 平台:A8 环境:Linux-3.0.8 实现功能:使用QT开发VOIP进行初始化.拨号.挂起 测试工具:minisipserver服务器 效果 界面: min ...

  4. iOS开发- ios学习资源(持续更新)

    mark一些自己在学习过程中收集的资源.免得需要的时候没地方找. 持续更新.(最新更新时间: 2014.4.4) 1.苹果官方文档 构建iOS程序:下面的这篇文章介绍了 iOS 程序开发的过程: St ...

  5. 视频直播APP源码开发iOS音频播放流程

    视频直播APP源码开发iOS音频播放流程 概览 随着移动互联网的发展,如今的手机早已不是打电话.发短信那么简单了,播放音乐.视频.录音.拍照等都是很常用的功能.在iOS中对于多媒体的支持是非常强大的, ...

  6. 苹果教你如何开发iOS应用

    做iOS开发买什么苹果本比较好 描述不清违规检举侵权投诉| | 2015-02-06 17:38 LayaeLL | 浏览 576 次 来自:手机知道 2015-12-16 10:32 iOS程序开发 ...

  7. 直播网站源码直播平台软件开发iOS动手做一个直播(原理篇)

    直播网站源码直播平台软件开发iOS动手做一个直播(原理篇) 上篇文章主要给出了代码,但是并没有详细说明直播相关的知识,这篇文章就说一下直播的相关理论知识.附上直播代码篇地址. ###推流 腾讯直播平台 ...

  8. 用Qt第一次开发IOS的记录——Qt for IOS

    前言 我之前是个只开发电脑客户端的Qter,本来客户端都没整明白,结果现在开发ios app的任务落我头上,惊喜程度可想而知,为了它我学了qml,为了它我又开始问白痴问题了,为了它我调动了我整个人脉( ...

  9. xamarin c#开发ios/android 应用

    最近项目需要开发手机客户端,而现在项目又是微软的项目,所以正在考虑用xamarin c#开发ios 应用,这方面的资料不是很多,下面是一些资料的汇总 等研究一段时间再写的使用心得. xamarin 的 ...

最新文章

  1. 如何挑选深度学习 GPU?
  2. MySQL 8.0版本无法使用 node、Navicat等三方工具连接的问题
  3. 使用WCF传输DataTable:DataTable和Xml格式的字符串相互转换(C#)
  4. 读书感想--list/BSS等等
  5. python查看库函数和方法_查看python库函数和三方库函数文档
  6. Android版本Oppo电视,OPPO 智能电视 R1
  7. Redundant declaration: @SpringBootApplication already applies given @ComponentScan
  8. deepin切换root
  9. 【WinForm】打印机编辑打印内容并实现双排打印
  10. cie1931 python绘制_科学网-gnuplot与CIE1931 XYZ三刺激值曲线-范学良的博文
  11. 如何用echarts组件制作图表
  12. HtmlUnit的入门教程整理
  13. javaScript教程笔记(一)JS简史
  14. 基于Springboot+vue实现前后端分离二手图书交易
  15. anemometer mysql 500_Anemometer将Mysql慢查询日志可视化
  16. ubuntu下putty的安装及使用
  17. Fri Oct 7 10:08:00 UTC 0800 2016日期格式转换为 yyyy-mm-dd hh24:mi:ss (Map实现版)
  18. php文件怎么打开? 教你用什么软件打开php文件
  19. GL Studio 5 安装与体验
  20. 【每天学点管理】——员工激励

热门文章

  1. html表格文字方向改变,excel表格怎么改变文字方向
  2. ubuntu 20.04 ssh “Key exchange failed“
  3. excel提取奇数行
  4. 七个受用一生的心理寓言
  5. ICM20602六轴传感器-IIC通信模式
  6. 如何修改Windows上Docker的镜像源
  7. 一加7t人脸识别_10月换新推荐:一加7T/荣耀20青春版领衔好手机
  8. 【C语言】如何去求最大公约数和最小公倍数?
  9. python中列表概念_详解python列表
  10. JS 封装一个判断闰年平年的方法 aa(nian)