• No results found

Internal Settings

In document Konnetic Unity SIP.NET SDK (Page 69-74)

Message Limits

6.3  Internal Settings

Limit Unit Default Description

maximumContentSize integer

count 5242880

The maximum number of bytes allowed in the message body.

maximumHeaderCount integer

count 256

The maximum number of SIP header fields on a message.

maximumHeaderNameSize byte count 1024 The maximum number of bytes allowed for a header name.

maximumHeaderValueSize byte count 65537 The maximum number of bytes allowed for a header value.

maximumParameterCount integer

count 32

The maximum number of parameters allowed on a header field.

maximumWhitespaceSize byte count 1024 The maximum number of bytes allowed for white- space in a header field.

integer number. If the section is missing, the default specifies above is used.

Timers

The transaction layer uses timers to control their behaviour. These timers can be configured. This primary reason is to optomise the library to conditions experienced by your environment. The timers and the configuration names are shown in the following table:

<konneticSettings> <sip>

<messageLimits maximumHeaderCount="100" maximumHeaderNameSize="512" maximumHeaderValueSize="4000" maximumParameterCount="20" maximumWhiteSpaceSize="100"/>

</sip>

</konneticSettings>

Timer ConfigName Default

Value Description

T1 TimerT1 500ms

default RTT Estimate

T2 TimerT2 4s The maximum retransmit interval for non-INVITE requests and INVITE responses

T4 TimerT4 5s Maximum duration a message will remain in the network Timer A TimerA initially T1 INVITE transaction retransmit interval, for UDP only Timer B TimerB 64*T1 INVITE transaction timeout timer

Timer C TimerC > 3min Proxy INVITE transaction timeout Timer

D

TimerDUdp/ TimerDTcp

> 32s for

UDP Wait time for response 0s for TCP/SCTP retransmits Timer E TimerE initially T1 Generic INVITE transaction retransmit interval, UDP only Timer F Timer F 64*T1 Generic INVITE transaction timeout timer

Timer

The element name is timers. There are no attributes. The element contains child elements. Use the add element with an attribute named key to specify the timer name, and attribute value to add the default value in milliseconds. If the section is missing, the default value shown in the above table is used.

H TimerH 64*T1 Wait time for ACK receipt

Timer I TimerIUdp/

TimerITcp T4 for UDP Wait time for 0s for TCP/SCTP ACK retransmits

Timer J TimerJUdp/ TimerTcp

64*T1 for

UDP Wait time for 0s for TCP/SCTP non-INVITE request retransmits Timer

K

TimerKUdp/

TimerKTcp T4 for UDP Wait time for 0s for TCP/SCTP response retransmits

<konneticSettings> <sip>

<timers>

<add key="TimerT2" value="600"/> </timers>

</sip>

Introduction

SipCore is an aggregate component which acts as a facade providing simplified views over the more complex but more powerful factored types, such as the HttpDigestAuthenticationManager,

SipTransportLayer, SipTransactionStateManager and incoming and outgoing message processors which deal with parsing, Via header handling, address resolution, updating of state,

and transmission management.

This section deals with the basics necessary to write an application using the SIP library and the SipCore object, including:

 Creation  Destruction  Event Processing  Sending Messages  Listening for Messages  Configuration

7.1.1 Creation

Before performing any SIP-related activity, you must create and initialise a SipCore object. The SipCore performs the following:

Initialises a new SipTransportLayer object

Initialises a new SipTransactionStateManager object.

Initialises a new HttpDigestClientAuthenticationManager object.  Parses any application configuration.

 Validates the license.

Deserializes the SipConfiguration object.

Working with the SipCore

7.1.2 Disposal

The SipCore object exposes a finalizer method. The Finaliser thread will initiate a disposal of all messages, transactions and listeners created using the SipCore object.

7.1.3 Properties

LocalAddressPort

Used by the MessageTransmitter to specify on the 'Via' header field which end point the application wants the returned messages to be sent to (the 'sentby' property). An application may wish to provide a fully qualified domain name or an internet addressable IP address. If empty the default local IP address is used.

ProxyServerCollection

Specifies a pre-existing route set for any outbound messages. The ProxyServerCollection property can be set by applications to force a particular route set for the message.

SecureProxyServerCollection

Specifies a pre-existing route set for any outbound secure messages using TLS. The

SecureProxyServerCollection property can be set by applications to force a particular route set for the message. Only SIPS addresses are allowed on the route-set for a secure message transmission.

TransportLayer

The SipTransportLayer which is managing the transmission of messages to and from the network on behalf of this SipCore.

SipTransactionState

The SipTransactionStateManager which is managing the transactional and dialog state on behalf of this SipCore.

ClientCertificates

TLS message transmission requires clients to provide a certificate to the server for mutual

C#: Initialise the SIP Library

using Konnetic.Signalling.Sip; ...

authentication. The ClientCertificates are copied directly to the SipTransportLayer.

MultiHeaderFormat

A value indicating whether the SIP library should seperate multiple-valued headers onto seperate lines where possible.

HeaderNameFormat

A value indicating whether the SIP library should use compact header field names by default.

SIP behavioural flag exposed as the Behaviour property of the SipCore object controls specific behaviour of the library and allow fine tuning of its functionality. The library can be directed to support RFC2543 style syntax, or use the Additional Headers stucture when querying DNS servers. The library can be made to frame messages off the network using a single NewLine as opposed to a CRLF combination. There are currently 10 behaviours specified.

Certain behaviours, such as framing on a single new line, are not recommend in production systems.

In document Konnetic Unity SIP.NET SDK (Page 69-74)

Related documents