HP-UX Java SIP Stack Programmer's Guide (February 2008)

An application can have multiple SipStack objects. However, only a single SipStack
can be associated with an IP address. The SipStack object defines the following
methods to control the architecture and setup of the SIP stack:
Creation or deletion of SipProviders. A SipProvider represents messaging
objects that can be used by an application to send request and response messages
statelessly or statefully using client and server transactions.
Creating or deletion of ListeningPoints. A ListeningPoint is an interface
that represents a unique IP networking listening point, which consists of a port,
transport, and IP address.
SipStack is instantiated by the SipFactory interface, ensuring that the pathname
for the implementation of the stack (com.hp.net for HP JSR32 implementation) is set
and initialized with a set of static configuration properties. An application can use these
configuration properties to modify the SIP stack properties. For information on the
different configuration properties, see “Configuration Parameters” (page 45). An
application must set these properties before initializing the SIP stack. If the properties
of a SIP stack require modification after the stack is initialized, the SipStack must be
deleted and recreated.
Dialog Object
The Dialog object facilitates sequencing of messages between user agents and proper
routing of requests between them. A dialog is not directly created by an application.
It is established by the dialog creating transactions, such as INVITE or SUBSCRIBE,
and managed by the SIP stack. A single dialog can contain many transactions.
A dialog is identified by the dialog ID, which contains the following information:
Call ID Represents the value of the Call ID for all messages that belong to a
SIP session.
Local Tag Represents the local tag for a dialog. For a UAC, the local tag is set to
the tag in the FROM field of the message and for a UAS, the local tag
is set to the tag in the TO field of the message. A local tag for a user
agent is identical to the remote tag at the peer user agent. The tags
are opaque tokens that facilitate the generation of unique dialog IDs.
Remote Tag Represents the remote tag for a dialog. For a UAC, the remote tag is
set to the tag in the TO field of the message and for a UAS, the remote
tag is set to the tag in the FROM field of the message.
A dialog contains the following data for further message transmission within the dialog:
Dialog ID Identifies the dialog.
Local Sequence Number Orders requests from the user agent to its peer.
Remote Sequence Number Orders requests from its peer to the user agent.
Local URI Specifies the address of the local party.
Remote URI Specifies the address of the remote party.
40 JSR32 JAIN SIP APIs