Voip Client For iPhone

 转载:http://www.cocoachina.com/bbs/read.php?tid-60853.html

 

好久好久木有发代码了。。心痒痒,最近有个开源的项目很心动,把代码贴上来,教程也弄上去。



www.pjsip.org有全套资料,不过比较烦,不是iOS专用。http://trac.pjsip.org/repos/wiki/Getting-Started/iPhone



代码也能官网或者附件中下载,记得论坛附件后缀名重命名为*.tar.bz2



好吧,在Mac OS弄个文件夹,解压开,最好不要带中文路径名。我是直接放根目录下,新建个目录,比如/pjsip



步骤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编译,配置东西基本都设定好了。当然了,device开发证书,免不了的。木有99刀开发证书的,也歇比了。



好吧,最终,你在真机上看到运行画面了吧。



别开心,你还只是迈出了第一步。



下面为了验证你的成果,你需要下载MiniSipServer免费版,你需要下载3CX Phone Client客户端,当然了,你好歹都在一个WIFI环境下吧?



搭建MiniSipServer非常简单,个人建议使用英文版,中国版翻译得很2,词不达意。见如下链接,添加帐号,设定密码,等等。

http://www.myvoipapp.com/docs/mss_services/manual/index.html#add_local_usr



然后,你必须打开3CX VOIP客户端,好歹试试吧,如果你登陆了,这个帐号就在服务器端绿色显示在线了。



HOHO,下面你就要在IPHONE上用命令行设定啦!!


***************************居然上传失败*********************无语


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


好吧,再次编辑内容,很不爽。、
简化一下吧。
首先,在iPhone上输入 +a  添加帐号啦,他会提示你输入你的帐号URL,记得使用此格式 sip:account@example.com 或者 sip:account@192.168.0.1,前提是你没设端口,你要是改动了默认端口,你自己看着办吧。
然后他会依次问你,帐号,密码,都照填,auth据说可以随便填,或者填入*,代表空。
添加帐号成功后,你在server端就会看到,你的帐号又绿色亮啦!

然后呢,就是添加朋友,输入+b;SIP帐号规则还是,sip:friend@example.com;
添加成功后,就是输入m ; 开始打电话啦,他会提示你有个buddy在线,直接输入数字ID,即可拨通啦。
[ 此帖被demowolf在2011-05-25 14:56重新编辑 ]
附件:  pjproject-1.10.zip (3751 K) 下载次数:446

posted on 2014-08-28 22:54  鬼手渔翁  阅读(189)  评论(0)    收藏  举报

导航