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 =