一、ios-ngn-statck工程
1.Tests ---功能測試
2.底層模塊(c和c++)
Doubango --- 基于3GPP IMS/RCS 并能用于嵌入式和桌面系統的開源框架
1) tinyWRAP --- c++代碼,對c代碼以面向面向對象的方式進行封裝,提供給上層調用。
2) tinyDAV --- Doubango媒體音頻/視頻控制,tinyMedia核心框架
a) audio --- 音頻
b) codecs --- 編解碼器
c) msrp --- 文件傳輸
d)video --- 視頻
3) tinySIP --- SIP/SIM棧(用戶網絡接口)
4) tinyMEDIA --- 核心框架(音視頻)
5) tinyXCAP --- XML配置訪問協議,一種應用層協議,它允許一個客戶端來讀,寫,修改和刪除應用程序配置存儲在服務器上的XML數據,Depends on tinySAK, tinyNET and tinyHTTP
a)AUID manager
b)URL generator
6)tinySMS ---存儲和轉發服務,短消息并不是直接從發送人發送到接收人,而始終通過 SMS 中心進行轉發。如果接收人處于未連接狀態,則消息將在接收人再次連接時發送,Depends on tinySAK
7)tinySIGCOMP --- 信令壓縮,Dependson tinySAK
a)Stream and Dgramcompression/decompression
b)SIP/SDP and Presence dictionaries
c)Deflate Compressor
8)tinyHTTP --- http協議,Depends ontinySAK and tinyNET
a)Digest/Basic Authentication 數字/基礎認
b)Pipelining 管道(管線)技術
c)CONNECT, DELETE, GET, HEAD, OPTIONS,PATCH, POST, PUT and TRACE (基本的網絡處理:連接,刪除連接 GET/HEAD/POST請求 網絡請求參數,patch, put, trace)
9)tinyMSRP --- 傳文件的一個協議
a)Large Message IM(非常大的文本及時消息)
b)File Transfer
c)Image Sharing
10)tinyIPSec ---對IP協議的分組進行加密和認證來保護IP協議的網絡傳輸協議族,Depends on tinySAK
11)tinyRTP -- 實時傳輸協議
12)tinySDP --- 會話描述協議
13)tinyNET ---網絡傳輸層,Dependson tinySAK
a)IPv4/IPv6 Sockets (UDP, TCP, TLS andSCTP) IPv4/IPv6 Sockets解析
b)DHCPv4/v6 DHCPv4/v6解析
c)DNS解析
d)NAT穿透
14)tinySAK --- C代碼一些模板方法
a)String utility functions( 字符處理函數工具集)
b)Memory management(內存管理)
c)Dynamic buffers(動態緩存
d)Threading( 線程)
e)Runnable (Runnable接口)
f)Timers(時間片控制)
g)Final State Machine (FSM) manager(狀態機)
h)Base64 encoder/decoder( Base64 編碼與解碼)
i)UUID generator (UUID 生成器)
j)CRC32 and CRC16 (16位和32為循環冗余校驗)
k)URL encoder/decoder (URL 編碼和解碼)
l)SHA-1, MD5, HMAC-MD5, HMAC-SHA-1(加密)
3.層模塊(objc)
1)Classes
a)iOSNgnStack.h ---當基于此開源框架進行開發,首先必須包含這個頭文件,這樣你才可以訪問框架提供的外部方法的訪問權限,除此以外,不要包含NGN Stack文件中的任何頭文件
2)Common
a)NgnEngine.h --- 高層提供的訪問services的入口
b)Enents –- 事件驅動
c)Media --- 多媒體層
d)Model --- 模板方法
e)Services --- 提供的服務
i) NgnSipService ---用于注冊SIP / IMS服務
ii) NgnConfigurationService --- 此服務是負責所有任務相關的配置(憑據,喜好......)。使用該服務中數據存在數據庫中,將被寫入到應用程序沙盒中
iii) NgnStorageService --- 存儲服務,存儲私人數據(例如,常用聯系人,通話記錄...),存在以SQLite3 數據庫NgnDataBase.db的數據庫中
iv) NgnHistoryService --- 該服務用于存儲和管理的呼叫日志到數據庫(NgnDataBase.db)
v) NgnContactService --- 此服務是你的本地電話簿的一個封裝
vi) NgnHttpService --- 這是HTTP客戶端服務
vii) NgnNetworkService --- 這是網絡服務(現在沒用)
viii) NgnNetworkService --- 此服務是用來播放聲音(鈴聲,回鈴音,警報...),音頻路由(揚聲器| - |耳機),手機振動...
f)Sip --- Sip堆棧
g)sound --- 聲音資源
h)storage --- 數據庫
i)utils – 工具類
二、ios-iDoubs工程
1.ios-ngn-stack.xcodeproj
iDoubs工程需要ngn stack底層框架的支持,即一些底層發送協議和多媒體協議等,因此需要添加nsn stack項目參考以便使用其中的類庫
2.UI --- 程序的交互界面
1)AudioCallView --- 音頻撥號界面
2)CallView --- 撥號控制,選擇跳轉到audio或者video方式撥號
3)ChatView --- 消息聊天界面
4)ContactsDetails --- 聯系人詳細信息
5)ContactsView --- 聯系人界面
6)FavoritesView --- 添加常用聯系人
7)InfoView – Abort界面(關于)
8)MessageView --- 消息記錄界面
9)NumpadView --- 撥號界面
10)RecentsView --- 最近聯系人界面
11)VideoCallView --- 視頻撥號界面
12)Utils
a)TransparentToolbar --- 半透明的toolbar
b)Cells --- 定制的cell
13)Classes
a)idoubs2AppDelegate --- 程序window的代理類,MainWindow為啟動主界面
14)Resources --- 資源
15)Setting
a)Settings.bundle --- 封裝的原始程序配置信息,在手機的“設置“中可見
@import url(http://www.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
posted on 2016-11-05 00:07
聶文龍 閱讀(392)
評論(0) 編輯 收藏 引用