Open source framework for iOS clients based on Doubango

Source: Internet
Author: User
Tags hmac

First, IOS-NGN-STATCK project

1.Tests---Functional testing

2. Underlying modules (c and C + +)

Doubango---Open source framework based on 3GPP Ims/rcs and can be used in embedded and desktop systems

1) Tinywrap---C + + code, the C code is encapsulated in an object-oriented manner, and is provided to the upper call.

2) Tinydav---doubango Media Audio/video control, Tinymedia core framework

A) Audio---

b) Codecs---Codec

c) MSRP---file transfer

d) Video---Videos

3) Tinysip---sip/sim stack (user network interface)

4) Tinymedia---core frame (audio/video)

5) TINYXCAP---XML Configuration Access Protocol, an application layer protocol that allows a client to read, write, modify, and delete the XML data stored on the server by the application configuration, Depends on Tinysak, Tinynet and Tinyhttp

A) AUID Manager

b) URL Generator

6) tinysms---Storage and forwarding services, short messages are not sent directly from the sender to the recipient, but are always forwarded through the SMS hub. If the recipient is not connected, the message will be sent when the recipient is connected again, Depends on Tinysak

7) Tinysigcomp---Signaling compression, Dependson Tinysak

A) Stream and dgramcompression/decompression

b) SIP/SDP and Presence dictionaries

c) Deflate Compressor

8) Tinyhttp---http protocol, Depends Ontinysak and Tinynet

A) Digest/basic authentication digital/Basic recognition

b) pipelining pipeline (pipeline) technology

c) Connect, delete, GET, HEAD, Options,patch, POST, Put and trace (Basic network processing: connection, delete connection Get/head/post request Network request parameters, PATCH, put, TRACE )

9) tinymsrp a protocol to---file

A) Large message IM (Very large text in time messages)

b) File Transfer

c) Image sharing

TINYIPSEC---IP protocol packet encryption and authentication to protect the IP protocol of the Network Transport Protocol family, Depends on Tinysak

One) TINYRTP--real-time Transmission protocol

TINYSDP---Session Description protocol

Tinynet---Network transport layer, Dependson Tinysak

A) Ipv4/ipv6 Sockets (UDP, TCP, TLS ANDSCTP) Ipv4/ipv6 Sockets parsing

b) DHCPV4/V6 DHCPV4/V6 analysis

c) DNS resolution

d) NAT penetration

Tinysak---C code some template methods

A) String utility functions (character processing function toolset)

b) memory management (RAM management)

c) Dynamic buffers (dynamically cached

d) threading (thread)

e) Runnable (Runnable interface)

f) Timers (time slice control)

g) Final state Machine (FSM) Manager

h) Base64 Encoder/decoder (BASE64 encoding and decoding)

i) UUID generator (UUID generator)

j) CRC32 and CRC16 (16-bit and 32-cyclic redundancy check)

k) URL encoder/decoder (URL encoding and decoding)

L) SHA-1, MD5, HMAC-MD5, Hmac-sha-1 (encryption)

3. Layer Module (OBJC)

1) Classes

A) IOSNgnStack.h---when developing based on this open source framework, you must first include this header file so that you can access access to the external methods provided by the framework, and do not include any header files in the NGN stack file

2) Common

A) NgnEngine.h access services provided by the high-level---

b) enents–-Event driver

c) Media---multimedia layer

d) Model---template method

e) Services provided by service---

i) Ngnsipservice---for registering sip/ims services

II) Ngnconfigurationservice---This service is responsible for all tasks related to the configuration (credentials, preferences ...). )。 The data that is used in the service exists in the database and will be written to the application sandbox

III) Ngnstorageservice---storage services, storing private data (e.g., common contacts, call logs ...) ), there is a database ngndatabase.db in the SQLite3 database

IV) Ngnhistoryservice---the service is used to store and manage call logs to the database (NGNDATABASE.DB)

V) Ngncontactservice---This service is an encapsulation of your local phonebook

VI) Ngnhttpservice---This is the HTTP client service

VII) Ngnnetworkservice---This is a Web service (it's useless now)

VIII) Ngnnetworkservice---This service is used to play sounds (ringtones, ring back tones, alarms ...) ), Audio Routing (Speaker | -| headset), mobile phone vibration ...

f) SIP---SIP stack

g) Sound---voice resources

h) Storage---Database

i) utils– Tool class

Second, Ios-idoubs project

1.ios-ngn-stack.xcodeproj

The Idoubs project requires support from the NGN stack underlying framework, i.e., some underlying send protocols and multimedia protocols, so you need to add a NSN stack project reference to use the class library

Interactive interface for 2.UI---programs

1) Audiocallview---Audio Dial-up interface

2) Callview---dialing control, select jump to audio or video dialing

3) Chatview---message chat interface

4) contactsdetails---contact details

5) Contactsview---Contact interface

6) Favoritesview---Add favorite contacts

7) Infoview–abort interface (about)

8) Messageview---message logging interface

9) Numpadview---dial-up interface

Recentsview---Recent contact interface

ONE) Videocallview---video Dial-up interface

Utils)

A) Transparenttoolbar---translucent toolbar

b) Cells---a custom cell

Classes)

A) Idoubs2appdelegate---program window proxy class, MainWindow to start the main interface

Resources---Resource

Setting)

A) Settings.bundle---Package of original program configuration information, visible in the phone's "settings"

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.