Example of NIST Stack properties file 1.2

Lebing Xie <[email protected]>
Newsgroups gmane.comp.voip.nist-sip
Organization Fraunhofer FOKUS Berlin
Message-ID <1157016512.5404.2.camel@localhost>
updated from 1.1, correct me if I made mistake.

urs Lebing



################### NIST PROPERTIES #######################
#      Only works for NIST JAIN SIP STACK 1.2             #
###########################################################

### gov.nist implementation specific settings ###
#
#  [true|false] instead of 0/1
#

# Currently only 16 and 32 is meaningful. If this is set to 16 or above,
then 
# incoming valid messages are logged in SERVER_LOG. If you set this to
32 
# and specify a DEBUG_LOG then vast amounts of trace information will
be 
# dumped in to the specified DEBUG_LOG. The server log accumulates the 
# signaling trace. This can be viewed using the trace viewer tool .
Please 
# send us both the server log and debug log when reporting non-obvious 
# problems.
#
gov.nist.javax.sip.TRACE_LEVEL = 0

# Log valid incoming messages here. If this is left null AND the
TRACE_LEVEL 
# is above 16 then the messages are printed to stdout. Otherwise
messages 
# are logged in a format that can later be viewed using the trace
viewer 
# application which is located in the tools/tracesviewer directory. 
# Mail this to us with bug reports.
#
gov.nist.javax.sip.SERVER_LOG = log/server.log

# Set true if you want to capture content into the log. Default is
false. 
# A bad idea to log content if you are using SIP to push a lot of bytes 
# through TCP.
#
#gov.nist.javax.sip.LOG_MESSAGE_CONTENT = true|false

# Messages that do not contain the required headers are dropped. This
file 
# indicates where the bad (unprocessable) messages go. Default is null
(bad 
# messages are not logged in their own file).
#
gov.nist.javax.sip.BAD_MESSAGE_LOG = log/badMessages.log

# Where the debug log goes. Mail this to us with bug reports.
gov.nist.javax.sip.DEBUG_LOG = log/debug.log

# Maximum size of content that a TCP connection can read. Must be at
least 4K.
# Default is "infinity" -- ie. no limit. This is to prevent DOS attacks 
# launched by writing to a TCP connection until the server chokes.
#
gov.nist.javax.sip.MAX_MESSAGE_SIZE = 1048576

# Max number of open SERVER transactions in the transaction table -
incoming 
# Requests that have the capability to create ServerTransactions will
not be 
# processed if server transaction table exceeds this size (default value
is "
# infinity").
#
#gov.nist.javax.sip.MAX_SERVER_TRANSACTIONS = integer

# Default value is true. Setting this to true makes the Stack close the 
# server socket after a Server Transaction goes to the TERMINATED
state. 
# This allows a server to protectect against TCP based Denial of
Service 
# attacks launched by clients (ie. initiate hundreds of client
gransactions).
# If false (default action), the stack will keep the socket open so as
to 
# maximize performance at the expense of Thread and memory resources - 
# leaving itself open to DOS attacks.
#
#gov.nist.javax.sip.CACHE_SERVER_CONNECTIONS = [true|false]

# Default value is true. Setting this to true makes the Stack close the 
# server socket after a Client Transaction goes to the TERMINATED
state. 
# This allows a client release any buffers threads and socket
connections 
# associated with a client transaction after the transaction has
terminated 
# at the expense of performance.
#
#gov.nist.javax.sip.CACHE_CLIENT_CONNECTIONS = [true|false]

# Concurrency control for number of simultaneous active threads for 
# processing incoming UDP messages.
#
#gov.nist.javax.sip.THREAD_POOL_SIZE = integer

# Max number of simultaneous TCP connections handled by stack. (Was 
# mis-spelled - Documentation bug fix by Bob Johnson)
#
# gov.nist.javax.sip.MAX_CONNECTIONS = 1048576

# Max time that the listener is allowed to take to respond to a
# request. Default is "infinity". This property allows
# containers to defend against buggy clients (that do not
# want to respond to requests).
#
#gov.nist.javax.sip.MAX_LISTENER_RESPONSE_TIME

#If set to true then a transaction terminated event is
#delivered for ACK transactions.
#
#gov.nist.javax.sip.DELIVER_TERMINATED_EVENT_FOR_ACK

#If set to true then the application want to receive
#unsolicited NOTIFYs, ie NOTIFYs that don't match any dialog
#
# gov.nist.javax.sip.DELIVER_UNSOLICITED_NOTIFY = true

# gets the NetworkLayer implementation, if any. Note that this is a
# NIST only feature.
#
#gov.nist.javax.sip.NETWORK_LAYER


# This is a NIST-SIP only feature. We dont support DNS SRV lookup
directly in NIST-SIP
# but we provide a means by which the user can enable it.
# The user can implement this interface to do DNS lookups or other
lookup
# schemes and register it with the stack.
# The default implementation of the address resolver does nothing more
than just return back 
# the Hop that it was passed (fixing up the port if necessary)
#
# gov.nist.javax.sip.ADDRESS_RESOLVER


# Read timeout on TCP incoming sockets -- defines the time between reads
# for after delivery of first byte of message.
#
# gov.nist.javax.sip.READ_TIMEOUT

# Get the address of the stun server.
#
#gov.nist.javax.sip.STUN_SERVER

# Flag to indicate that the listener is re-entrant and hence
# Use this flag with caution.
#
# gov.nist.javax.sip.REENTRANT_LISTENER

# Flag used for testing TI, bypasses filtering of ACK to non-2xx
#
# gov.nist.javax.sip.PASS_INVITE_NON_2XX_ACK_TO_LISTENER

# Generate a timestamp header for retransmitted requests
#
# gov.nist.javax.sip.AUTO_GENERATE_TIMESTAMP





	#######################################
	#    JAIN Sip Stack 1.2 Properties    #
	#######################################

# Sets a user friendly name to identify the underlying stack
implementation 
# to the property value i.e. NISTv1.1. The stack name property should
contain 
# no spaces. This property is mandatory.
# Do not change it unless other JAIN SIP STACK are used.
javax.sip.STACK_NAME=gov.nist

# Sets the outbound proxy of the SIP Stack. This property maps to the
the 
# outbound proxy parameter of the Router interface. The format of the 
# outbound proxy parameter should be "ipaddress:port/transport" i.e. 
# 129.1.22.333:5060/UDP. This property is optional.
# SIPSEE will override it.
# javax.sip.OUTBOUND_PROXY=umts-at-fokus.de:5060/UDP

# Sets the fully qualified classpath to the application supplied Router 
# object that determines how to route messages before a dialog is
established 
# i.e. com.sun.javax.sip.RouteImpl. An application defined router object
must 
# implement the javax.sip.Router interface. Different routing policies
may 
# be based on opertaion mode i.e. User Agent or Proxy. This property is 
# optional.
#
# 
# javax.sip.ROUTER_PATH=

# For backwards compatibility reasons, the default behavior of the stack
is to 
# consult the application provided Router implementation for all
requests outside 
# of a dialog. This is controlled through the stack property
javax.sip.USE_ROUTER_FOR_ALL_URIS
# which defaults to true when not set.
# For version 1.2 of the API, it is recommended to set this property to
false. 
# This will cause the stack to only consult the application provided
Router 
# implementation for requests with a non-SIP URI as request URI (such as
tel: or pres:) 
# and without Route headers. This enables an application to implement
DNS lookups 
# and other resolution algorithms 
#
# javax.sip.USE_ROUTER_FOR_ALL_URIS = ture

# This configuration value informs the underlying implementation of
supported 
# extension methods that create new dialog's. This configuration flag
should 
# only be used for dialog creating extension methods, other extension
methods 
# that don't create dialogs can be used using the method parameter on
Request 
# assuming the implementation understands the method. If more than one
method 
# is supported in this property each extension should be seprated with
a 
# colon for example "FOO:BAR". This property is optional.
#
#javax.sip.EXTENSION_METHODS

# The default retransmission behaviour of this specification is
dependent on 
# the application core and is defined as follows:
#
#    * User Agent Client: Retransmissions of ACK Requests are the 
#      responsibility of the application. All other retansmissions are 
#      handled by the SipProvider.
#    * User Agent Server: Retransmissions of 1XX, 2XX Responses are the 
#      responsibility of the application. All other retansmissions are 
#      handled by the SipProvider.
#    * Stateful Proxy: As stateful proxies have no Invite transactions
all 
#      retransmissions are handled by the SipProvider.
#    * Stateless Proxy: As stateless proxies are not transactional all 
#      retransmissions are the responsibility of the application and
will 
#      not be handled the SipProvider. 
#
# This filter can be viewed as a helper function for User Agents that
can be 
# set by an application to prevent the application from handling 
# retransmission of ACK Requests, 1XX and 2XX Responses for INVITE 
# transactions, i.e. the SipProvider will handle the retransmissions.
This 
# utility is useful for hiding protocol retransmission semantics from
higher 
# level programming environments. The acceptable values are ON/OFF.
This 
# property is optional, therefore if not supplied the default is OFF.
#
# !!! javax.sip.RETRANSMISSION_FILTER property ( see v 1.1 ) has been
deprecatated.
# javax.sip.RETRANSMISSION_FILTER=ON

# This property specifies the defined values 'ON' and 'OFF'. The default
value
# is 'ON'. The default behavior represents a common mode of stack
operation 
# and allows the construction of simple user agents. This is summarized
as:
# * A dialog gets created on a dialog creating transaction.
# * The first respose having both a From and a To tag creates the
transaction.
# * The first 2xx response to the transaction will drive the dialog to 
# the CONFIRMED state.
# The ability to turn of dialog support is motivated by dialog free
servers
# (such as proxy servers) that do not want to pay the overhead of the
dialog
# layer and user agents that may want to create multiple dialogs for a
single
# INVITE (as a result of forking by proxy servers). The following
behavior
# is defined when the configuration parameter is set to 'OFF'.
# The application is responsible to create the Dialog if desired.
# The application may create a Dialog and associate it with a response
# (provisional or final) of a dialog creating request. 
# 
# SIPSEE will overdide it to ON
# javax.sip.AUTOMATIC_DIALOG_SUPPORT = ON

# Comma separated list of events for which the implementation should
expect
# forked SUBSCRIBE dialogs. Each element of this list must have the
syntax
# packagename.eventname This configuration parameter is provided in
order 
# to support the following behavior ( defined in RFC 3265): Successful 
# SUBSCRIBE requests will normally receive only one 200-class response; 
# however, due to forking, the subscription may have been accepted by
multiple
# nodes. The subscriber MUST therefore be prepared to receive NOTIFY
requests
# with "From:" tags which differ from the "To:" tag received in the
SUBSCRIBE
# 200-class response. If multiple NOTIFY messages are received in
different 
# dialogs in response to a single SUBSCRIBE message, each dialog
represents 
# a different destination to which the SUBSCRIBE request was forked.
Each 
# event package MUST specify whether forked SUBSCRIBE requests are
allowed 
# to install multiple subscriptions.If such behavior is not allowed, the
first 
# potential dialog-establishing message will create a dialog. All
subsequent 
# NOTIFY messages which correspond to the SUBSCRIBE message (i.e., match
"To",
# "From", "From" header "tag" parameter, "Call-ID", "CSeq", "Event",
and 
# "Event" header "id" parameter) but which do not match the dialog would
be
# rejected with a 481 response.
#
#  javax.sip.FORKABLE_EVENTS =
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.