Documentation
¶
Overview ¶
transaction package implements SIP Transaction Layer
Index ¶
Constants ¶
View Source
const ( T1 = 500 * time.Millisecond T2 = 4 * time.Second T4 = 5 * time.Second Timer_A = T1 Timer_B = 64 * T1 Timer_D = 32 * time.Second Timer_E = T1 Timer_F = 64 * T1 Timer_G = T1 Timer_H = 64 * T1 Timer_I = T4 Timer_J = 64 * T1 Timer_K = T4 Timer_1xx = 200 * time.Millisecond Timer_L = 64 * T1 Timer_M = 64 * T1 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Layer ¶
type Layer interface {
Cancel()
Done() <-chan struct{}
String() string
Request(req sip.Request) (sip.ClientTransaction, error)
Respond(res sip.Response) (sip.ServerTransaction, error)
Transport() sip.Transport
// Requests returns channel with new incoming server transactions.
Requests() <-chan sip.ServerTransaction
// ACKs on 2xx
Acks() <-chan sip.Request
// Responses returns channel with not matched responses.
Responses() <-chan sip.Response
Errors() <-chan error
}
Layer serves client and server transactions.
type ServerTx ¶
type Tx ¶
type Tx interface {
Init() error
Key() TxKey
Origin() sip.Request
// Receive receives message from transport layer.
Receive(msg sip.Message) error
String() string
Transport() sip.Transport
Terminate()
Errors() <-chan error
Done() <-chan bool
}
Tx is an common SIP transaction
type TxKey ¶
type TxKey = sip.TransactionKey
func MakeClientTxKey ¶
MakeClientTxKey creates client commonTx key for matching responses - RFC 3261 17.1.3.
type TxTerminatedError ¶
func (*TxTerminatedError) Error ¶
func (err *TxTerminatedError) Error() string
func (*TxTerminatedError) Key ¶
func (err *TxTerminatedError) Key() TxKey
func (*TxTerminatedError) Terminated ¶
func (err *TxTerminatedError) Terminated() bool
func (*TxTerminatedError) Timeout ¶
func (err *TxTerminatedError) Timeout() bool
func (*TxTerminatedError) Transport ¶
func (err *TxTerminatedError) Transport() bool
func (*TxTerminatedError) Unwrap ¶
func (err *TxTerminatedError) Unwrap() error
type TxTimeoutError ¶
func (*TxTimeoutError) Error ¶
func (err *TxTimeoutError) Error() string
func (*TxTimeoutError) Key ¶
func (err *TxTimeoutError) Key() TxKey
func (*TxTimeoutError) Terminated ¶
func (err *TxTimeoutError) Terminated() bool
func (*TxTimeoutError) Timeout ¶
func (err *TxTimeoutError) Timeout() bool
func (*TxTimeoutError) Transport ¶
func (err *TxTimeoutError) Transport() bool
func (*TxTimeoutError) Unwrap ¶
func (err *TxTimeoutError) Unwrap() error
type TxTransportError ¶
func (*TxTransportError) Error ¶
func (err *TxTransportError) Error() string
func (*TxTransportError) Key ¶
func (err *TxTransportError) Key() TxKey
func (*TxTransportError) Terminated ¶
func (err *TxTransportError) Terminated() bool
func (*TxTransportError) Timeout ¶
func (err *TxTransportError) Timeout() bool
func (*TxTransportError) Transport ¶
func (err *TxTransportError) Transport() bool
func (*TxTransportError) Unwrap ¶
func (err *TxTransportError) Unwrap() error
Click to show internal directories.
Click to hide internal directories.