JBoss.orgCommunity Documentation

Chapter 3. Design Overview

3.1. Example Components
3.2. Location and Registrar Operations

The Sip Service Example is JAIN SLEE 1.1 Application which handles incoming SIP messages. Depending on message target and message method, example takes different action. General rule of message traversal through this example look as follows:

Sip Service Example Flow

Example consist of three SBBs. Each one performs different task:

ProxySbb

Is responsible for routing procedures. It performs operations defined in section 16 of RFC3261 and sends message to proper node. It is first SBB to receive any incoming message.

RegistrarSbb

Is responsible for proper REGISTER request processing. It performs operations defined in section 10 of RFC3261. Registrar creates AOR(Address Of Record) and based on REGISTER content performs update to location data.

LocationSbb

Is responsible for storing and invalidating entries for AORs. That is - it stores mapping between AOR and contact addresses, and on contact address expiration, removes it.

Root SBB of service is ProxySbb, which receives messages as first. Relation between SBB s look as follows:

Sip Service Example components relations

REGISTER requests which are passed to RegistrarSbb trigger routine which updates user contact database and associated expiration date. Simple sequence diagram for success case look as follows:

Location SBB creates JSLEE timer for each pair AOR-contact address. Once timer expires contact address is considered as invalid. Time between creation of this mapping and expiration depends on Expires Header content.