SIP agents perform different services for Session Initiation Protocol (SIP) enabled devices in a network. These include user agents, presence agents, back-to-back agents, and gateways.
A SIP user agent (UA) is an endpoint device that supports SIP. SIP is used to establish connections and enable sessions between SIP UAs. A UA acts on behalf of a user, usually a person but can be another protocol. A UA comprises both client (UAC) and server (AS) applications. The UAC issues requests while the UAS issues responses.
At a minimum, a UA supports the Session Description Protocol (SDP) which defines the type and characteristics of a session to be established for participating UAs. The UA notifies other UAs and servers of the capabilities it supports, including methods, SIP extensions, and message body types. This allows UAs to offer and then select mutually supported algorithms, codecs, ports, and other characteristics to be used for the session.
User agent support for precedence and preemption of calls
Some user agents have extra constraints put on them based on usage or environment. For instance, Assured Services SIP End Instruments (AS-SIP EI), specified by the DoD in AS-SIP 2013 follow RFC 3261, but have additional specifications, including those regarding precedence and preemption of calls, as specified by RFC4412 Communications Resource Priority for the Session Initiation Protocol (SIP) VOCAL supports RFC4412 prioritization for AS-SIP and other similar use cases.
A presence agent processes subscription requests from and notifies other UAs of an event. It accepts SUBSCRIBE requests and generates NOTIFY messages. An example of a presence agent is a SIP server used to support auto-provisioning of SIP enabled devices. A UA subscribes to update notifications from the server and is notified of provision updates when they are released.
Back-to-Back User Agent
A back-to-back user agent (B2BUA) acts as an intermediary. It receives a SIP request and issues a new request that is a reformulated version of the original. Similarly, responses are handled in the same way. It may be used to isolate different UAs and hide information about one UA from the other. A B2BUA can also be used to provide other services but this can introduce additional latencies and potential packet loss. A common application of a B2BUA is an Application Layer Gateway that can be used for example in firewalls to enable SIP and other media packets to pass.
A SIP gateway acts as an interface between two domains – one being SIP and the other another protocol. It translates between the two protocols and similar to a presence agent isolates the interacting agents in the different domains. Unlike a UA, the gateway can support interactions of multiple agents between the separate domains. A gateway can terminate the signaling path and sometimes the media path. In the case of a SIP to PSTN interface, the SIP gateway terminates both the signals and media and converts the signals and media from the one protocol format to the other.
VOCAL’s embedded libraries include a complete range of ETSI / ITU / IEEE compliant algorithms, in addition to many other standard and proprietary algorithms. Our SIP source code is optimized for execution on ANSI C and leading DSP architectures from TI, ADI, AMD, Intel, ARM, MIPS, and other vendors. The SIP software libraries are modular and can be executed as a single task under a variety of operating systems or standalone with its own microkernel.