iOS開發之使用pjsip開發VoIP應用程式

2021-07-01 18:38:09 字數 2650 閱讀 5794

最近專案中要用到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_iphone1

#">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...