You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

62 lines
2.0 KiB

// Global Settings. You can change these at startup to fine tune
// certain behaviors.
package gosip
import (
"os"
"time"
)
var (
// how often to check for shutdowns
DeathClock = 200 * time.Millisecond
// sip egress msg length must not exceed me. if you are brave and
// use jumbo frames you can increase this
MTU = 1450
// maximum number SRV/Redirects/Etc. to entertain. more
// accurately, this is the maximum number of time's we're allowed
// to enter the "calling" state.
MaxAttempts = 10
// this is how long to wait (in nanoseconds) for a 100 trying
// response before retransmitting the invite. multiply this by
// RetransmitAttempts and that's how long it'll be before we try
// another server. that might seem like a very long time but
// happy networks facilitate fast failover by sending hard errors
// (ICMP, 480, 500-599)
TryingTimeout = 500 * time.Millisecond
// how many times to attempt to retransmit before moving on
RetransmitAttempts = 2
// number of nanoseconds (across all attempts) before we give up
// trying to connect a call. this doesn't mean the call has to
// have been answered but rather has moved beyond the "calling"
// state and doesn't go back.
GiveupTimeout = 3 * time.Second
// ToDo: how long to wait before refreshing a call with a
// re-INVITE message.
RefreshTimeout = 15 * time.Minute
// how many times are proxies allowed to forward a message
MaxForwards int = 70
// aprox. how long the transaction engine remembers old Call-IDs
// to prevent a retransmit from accidentally opening a new dialog.
CallIDBanDuration = 35 * time.Second
// aprox. how often to sweep old transactions from ban list
CallIDBanSweepDuration = 5 * time.Second
// should the transport layer add timestamps to Via headers
// (µsi/µse = utc microseconds since unix epoch ingress/egress)
ViaTimestampTagging = true
// use this feature to print out raw sip messages the moment they
// are sent/received by the transport layer
TransportTrace = (os.Getenv("TPORT_LOG") == "true")
)