最近專案中要用到voip,voip全稱voice over internet protocol,即網路**,生活中經常用到,例如skype。
能用到iphone上面的voip庫不多,最開始準備使用lipphone,但其編譯實在太慢,編譯了n次也沒有成功,最後放棄啦。後來嘗試使用pjsip,居然成功了,簡單的記錄一下過程,其實是照著官網操作的:)
一、環境需求:
iphone應用推薦使用sdk 4.x,當然3.x也支援;ipad應用只支援sdk 3.2以上。
二、編譯之前的準備工作:
2、在目錄/pjsip/pjlib/include/pj/中新建config_site.h,貼上如下**入內:
1
2
#define pj_config_iphone
1
#"
>
include
三、編譯pjsip:
在終端中執行如下命令:
1
2
3
$ cd /path/to/your/pjsip/
$ ./configure-iphone
$ "
>make dep && make clean && make
四、給模擬器編譯pjsip庫:
在終端中執行如下命令:
1
2
3
4
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:
六、測試通話:
1、搭建voip伺服器:
網上有很多免費的sip伺服器,我使用的是minisipserver免費版,安裝很簡單,按介面提示一路下一步就ok了。安裝完後別忘記了新建賬戶(這裡以100和101為例)。
2、安裝voip客戶端:
這個也很多,我使用的是3cx phone client。登入賬戶100.
3、在iphone的pjsip介面中登入賬戶101:
1
2
3
4
5
6
+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
1
2
3
4
+b
enter buddy's uri: (empty to cancel): sip:
100
@
192.168
.
1.1
m
make call:
1
打**操作還可以簡化:
1
2
m
make call: "
>sip:sip:
100
@
192.168
.
1.1
好了,完成了
iOS開發之使用pjsip開發VoIP應用程式
最近專案中要用到voip,voip全稱voice over internet protocol,即網路 生活中經常用到,例如skype。能用到iphone上面的voip庫不多,最開始準備使用lipphone,但其編譯實在太慢,編譯了n次也沒有成功,最後放棄啦。後來嘗試使用pjsip,居然成功了,簡單...
iOS開發之使用pjsip開發VoIP應用程式
最近專案中要用到voip,voip全稱voice over internet protocol,即網路 生活中經常用到,例如skype。能用到iphone上面的voip庫不多,最開始準備使用lipphone,但其編譯實在太慢,編譯了n次也沒有成功,最後放棄啦。後來嘗試使用pjsip,居然成功了,簡單...
PJSIP開發手冊之Presence事件包(十四)
第十四章 presence事件包 介紹 presence相關的sip定義在rfc3856 a presence event package forthesession initiation protocol sip 這個presence事件包允許乙個endpoint來訂閱乙個uri的presence...