您的位置:首页 > 理论基础 > 计算机网络

ios 网络电话开发 (Voip Client For iPhone )

2012-10-23 14:52 579 查看
现在网络电话流行,例如skype ,viber  ,whatsapp。。。但是你们知道他们怎么做的吗?
下面看看我的详细步骤把,哈哈!


第一步:在Mac OS桌面新建文件夹,最好不要带中文路径名。新建个目录如:pjsip,解压附件(见链接),

pjproject-2.0-alpha2.tar.bz2 (mac os)
pjproject-2.0-alpha2.zip(windows)


第二步: 解压开后,命令行cd至 pjlib/include/pj/,创建这个文件。创建文件,touch config_site.h即可。
第三步,就是打开新创建的config_site.h,添加内容:

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

第四步:cd到解压开的目录,输入sudo ./configure-iphone

务必记住,这里指的编译环境,都是arm7,非i386模拟器,你若无真机debug,你就悲催了,必须得按照我另外一个文章里编译第三方库,参考编译生成i386的库,来配合让模拟器运行。
另外务必记得,你尽量加入sudo ,管理员帐号,输入之后,它会提示你输入系统密码。这一点,很有用,否则你的帐号无法创建文件权限。

第五步:继续依次输入sudo make dep ; sudo make clean; sudo make;

最终,你成功了,如果无报错,应该编译通过,自动生成到系统路径,并保存了库以及头文件路径了,具体的在/usr/lib/   blah blah blah。。。可以自己找找,默认文件夹管理,是看不到这个路径的。

第六步:在pjproject/pjsip-apps/src/ipjsua 路径下,有这么个project,直接打开,编译。(一定要真机调试)

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


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

下面为了验证你的成果,你需要下载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.pjsip.org
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息