Skip to content

Latest commit

 

History

History
72 lines (49 loc) · 3.82 KB

core.md

File metadata and controls

72 lines (49 loc) · 3.82 KB

Core Library

Overview

This library provides an implementation of the core Session Initiation Protocol (SIP) constructs required by user agents (implementation of constructs needed by proxy servers is largely absent).

The library is intended to provide an implemenation the RFC specification details usable as building blocks for a "higher level" interface. All but the most advanced applications should find the "higher level" API framework which is built on top of this core library to be a sufficient integration point. Many applications may find the even higher level abstraction provided by the SimpleUser class to be optimial.

Reference Documentation

Getting Started

First, read the RFC. Then look at the source code.

The UserAgentCore class provides the primary external interface with the SIP core.

The Session interface represents a SIP Session and is the result of a successful INVITE request.

The Subscription interface represents a SIP Subscription and is the result of a successful SUBSCRIBE request.

Start by taking a look at UserAgentCore & UserAgentCoreDelegate which provide the highest level interfaces for sending and receiving SIP request messages and the main integration point (creating a new UserAgentCore is step one). Next take a look at Session & SessionDelegate which are products of a successful INVITE request and provide the interfaces for sending and receiving in dialog requests (BYE, for example) as well as for dealing with the offer/answer exchange.

Interfaces and Implementations

Within the src/core/ directory...

./dialogs

./messages

./transactions

./session

./subscription

./timers

./transport

./user-agent-core

./user-agents