sippy

package module
v0.0.0-...-b4a1369 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 18, 2023 License: BSD-2-Clause Imports: 31 Imported by: 0

Documentation

Overview

Copyright (c) 2019 Sippy Software, Inc. All rights reserved.

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Copyright (c) 2003-2005 Maxim Sobolev. All rights reserved. Copyright (c) 2006-2020 Sippy Software, Inc. All rights reserved.

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Index

Constants

View Source
const (
	TRYING = sip_transaction_state(iota)
	RINGING
	COMPLETED
	CONFIRMED
	TERMINATED
	UACK
)

Variables

View Source
var NETS_1918 = []struct {
	ip   net.IP
	mask net.IPMask
}{
	{net.IPv4(10, 0, 0, 0), net.IPv4Mask(255, 0, 0, 0)},
	{net.IPv4(172, 16, 0, 0), net.IPv4Mask(255, 240, 0, 0)},
	{net.IPv4(192, 168, 0, 0), net.IPv4Mask(255, 255, 0, 0)},
}

Functions

func NewAsyncReciever

func NewAsyncReciever(userv *UdpServer, logger sippy_log.ErrorLogger) *asyncReceiver

func NewAsyncResolver

func NewAsyncResolver(userv *UdpServer, logger sippy_log.ErrorLogger) *asyncResolver

func NewAsyncSender

func NewAsyncSender(userv *UdpServer, n int) *asyncSender

func NewClientTransactionObj

func NewClientTransactionObj(req sippy_types.SipRequest, tid *sippy_header.TID,
	userv sippy_net.Transport, data []byte, sip_tm *sipTransactionManager,
	resp_receiver sippy_types.ResponseReceiver, session_lock sync.Locker,
	address *sippy_net.HostPort, eh []sippy_header.SipHeader,
	req_out_cb func(sippy_types.SipRequest)) (*clientTransaction, error)

func NewDefaultSipTransportFactory

func NewDefaultSipTransportFactory(config sippy_conf.Config) *defaultSipTransportFactory

func NewLocal4Remote

func NewLocal4Remote(config sippy_conf.Config, handleIncoming sippy_net.DataPacketReceiver) (*local4remote, error)

func NewMsgBody

func NewMsgBody(content, mtype string) *msgBody

func NewRtpProxyClient

func NewRtpProxyClient(opts *rtpProxyClientOpts) sippy_types.RtpProxyClient

func NewRtpProxyClientOpts

func NewRtpProxyClientOpts(spath string, bind_address *sippy_net.HostPort, config sippy_conf.Config, logger sippy_log.ErrorLogger) (*rtpProxyClientOpts, error)

func NewServerTransaction

func NewServerTransaction(req sippy_types.SipRequest, checksum string, tid *sippy_header.TID, userv sippy_net.Transport, sip_tm *sipTransactionManager) (sippy_types.ServerTransaction, error)

func NewSipMsg

func NewSipMsg(rtime *sippy_time.MonoTime, config sippy_conf.Config) *sipMsg

func NewSipRequest

func NewSipRequest(method string, ruri *sippy_header.SipURL, sipver string, to *sippy_header.SipTo,
	from *sippy_header.SipFrom, via *sippy_header.SipVia, cseq int, callid *sippy_header.SipCallId,
	maxforwards *sippy_header.SipMaxForwards, body sippy_types.MsgBody, contact *sippy_header.SipContact,
	routes []*sippy_header.SipRoute, target *sippy_net.HostPort, user_agent *sippy_header.SipUserAgent,
	expires *sippy_header.SipExpires, config sippy_conf.Config) (*sipRequest, error)

func NewSipResponse

func NewSipResponse(scode int, reason, sipver string, from *sippy_header.SipFrom, callid *sippy_header.SipCallId,
	vias []*sippy_header.SipVia, to *sippy_header.SipTo, cseq *sippy_header.SipCSeq, rrs []*sippy_header.SipRecordRoute,
	body sippy_types.MsgBody, server *sippy_header.SipServer, config sippy_conf.Config) *sipResponse

func NewSipTransactionManager

func NewSipTransactionManager(config sippy_conf.Config, call_map sippy_types.CallMap) (*sipTransactionManager, error)

func NewStatefulProxy

func NewStatefulProxy(sip_tm sippy_types.SipTransactionManager, destination *sippy_net.HostPort, config sippy_conf.Config) *statefulProxy

func NewUacStateRinging

func NewUacStateRinging(ua sippy_types.UA, config sippy_conf.Config) sippy_types.UaState

func NewUdpServerOpts

func NewUdpServerOpts(laddress *sippy_net.HostPort, data_callback sippy_net.DataPacketReceiver) *udpServerOpts

func ParseSdpBody

func ParseSdpBody(body string) (*sdpBody, error)

func ParseSipHeader

func ParseSipHeader(s string) ([]sippy_header.SipHeader, error)

func ParseSipMsg

func ParseSipMsg(_buf []byte, rtime *sippy_time.MonoTime, config sippy_conf.Config) (*sipMsg, error)

func ParseSipRequest

func ParseSipRequest(buf []byte, rtime *sippy_time.MonoTime, config sippy_conf.Config) (*sipRequest, error)

func ParseSipResponse

func ParseSipResponse(buf []byte, rtime *sippy_time.MonoTime, config sippy_conf.Config) (*sipResponse, error)

Types

type CCEventConnect

type CCEventConnect struct {
	CCEventGeneric
	// contains filtered or unexported fields
}

func NewCCEventConnect

func NewCCEventConnect(scode int, scode_reason string, msg_body sippy_types.MsgBody, rtime *sippy_time.MonoTime, origin string, extra_headers ...sippy_header.SipHeader) *CCEventConnect

func (*CCEventConnect) GetBody

func (s *CCEventConnect) GetBody() sippy_types.MsgBody

func (*CCEventConnect) String

func (s *CCEventConnect) String() string

type CCEventDisconnect

type CCEventDisconnect struct {
	CCEventGeneric
	// contains filtered or unexported fields
}

func NewCCEventDisconnect

func NewCCEventDisconnect(also *sippy_header.SipAddress, rtime *sippy_time.MonoTime, origin string, extra_headers ...sippy_header.SipHeader) *CCEventDisconnect

func (*CCEventDisconnect) GetBody

func (*CCEventDisconnect) GetBody() sippy_types.MsgBody

func (*CCEventDisconnect) GetRedirectURL

func (s *CCEventDisconnect) GetRedirectURL() *sippy_header.SipAddress

func (*CCEventDisconnect) String

func (s *CCEventDisconnect) String() string

type CCEventFail

type CCEventFail struct {
	CCEventGeneric
	// contains filtered or unexported fields
}

func NewCCEventFail

func NewCCEventFail(scode int, scode_reason string, rtime *sippy_time.MonoTime, origin string, extra_headers ...sippy_header.SipHeader) *CCEventFail

func (*CCEventFail) GetBody

func (*CCEventFail) GetBody() sippy_types.MsgBody

func (*CCEventFail) GetExtraHeaders

func (s *CCEventFail) GetExtraHeaders() []sippy_header.SipHeader

func (*CCEventFail) GetScode

func (s *CCEventFail) GetScode() int

func (*CCEventFail) GetScodeReason

func (s *CCEventFail) GetScodeReason() string

func (*CCEventFail) SetScode

func (s *CCEventFail) SetScode(scode int)

func (*CCEventFail) SetScodeReason

func (s *CCEventFail) SetScodeReason(reason string)

func (*CCEventFail) SetWarning

func (s *CCEventFail) SetWarning(text string)

func (*CCEventFail) String

func (s *CCEventFail) String() string

type CCEventGeneric

type CCEventGeneric struct {
	// contains filtered or unexported fields
}

func (*CCEventGeneric) AppendExtraHeader

func (s *CCEventGeneric) AppendExtraHeader(eh sippy_header.SipHeader)

func (*CCEventGeneric) GetExtraHeaders

func (s *CCEventGeneric) GetExtraHeaders() []sippy_header.SipHeader

func (*CCEventGeneric) GetMaxForwards

func (s *CCEventGeneric) GetMaxForwards() *sippy_header.SipMaxForwards

func (*CCEventGeneric) GetOrigin

func (s *CCEventGeneric) GetOrigin() string

func (*CCEventGeneric) GetReason

func (s *CCEventGeneric) GetReason() *sippy_header.SipReason

func (*CCEventGeneric) GetRtime

func (s *CCEventGeneric) GetRtime() *sippy_time.MonoTime

func (*CCEventGeneric) GetSeq

func (s *CCEventGeneric) GetSeq() int64

func (*CCEventGeneric) SetMaxForwards

func (s *CCEventGeneric) SetMaxForwards(max_forwards *sippy_header.SipMaxForwards)

func (*CCEventGeneric) SetReason

func (s *CCEventGeneric) SetReason(sip_reason *sippy_header.SipReason)

type CCEventInfo

type CCEventInfo struct {
	CCEventGeneric
	// contains filtered or unexported fields
}

func NewCCEventInfo

func NewCCEventInfo(rtime *sippy_time.MonoTime, origin string, msg_body sippy_types.MsgBody, extra_headers ...sippy_header.SipHeader) *CCEventInfo

func (*CCEventInfo) GetBody

func (s *CCEventInfo) GetBody() sippy_types.MsgBody

func (*CCEventInfo) String

func (s *CCEventInfo) String() string

type CCEventPreConnect

type CCEventPreConnect struct {
	CCEventGeneric
	// contains filtered or unexported fields
}

func NewCCEventPreConnect

func NewCCEventPreConnect(scode int, scode_reason string, body sippy_types.MsgBody, rtime *sippy_time.MonoTime, origin string) *CCEventPreConnect

func (*CCEventPreConnect) GetBody

func (s *CCEventPreConnect) GetBody() sippy_types.MsgBody

func (*CCEventPreConnect) GetScode

func (s *CCEventPreConnect) GetScode() int

func (*CCEventPreConnect) GetScodeReason

func (s *CCEventPreConnect) GetScodeReason() string

func (*CCEventPreConnect) String

func (s *CCEventPreConnect) String() string

type CCEventRedirect

type CCEventRedirect struct {
	CCEventGeneric
	// contains filtered or unexported fields
}

func NewCCEventRedirect

func NewCCEventRedirect(scode int, scode_reason string, body sippy_types.MsgBody, addrs []*sippy_header.SipAddress, rtime *sippy_time.MonoTime, origin string, extra_headers ...sippy_header.SipHeader) *CCEventRedirect

func (*CCEventRedirect) GetBody

func (*CCEventRedirect) GetBody() sippy_types.MsgBody

func (*CCEventRedirect) GetContacts

func (s *CCEventRedirect) GetContacts() []*sippy_header.SipContact

func (*CCEventRedirect) GetRedirectURL

func (s *CCEventRedirect) GetRedirectURL() *sippy_header.SipAddress

func (*CCEventRedirect) GetRedirectURLs

func (s *CCEventRedirect) GetRedirectURLs() []*sippy_header.SipAddress

func (*CCEventRedirect) SortAddresses

func (s *CCEventRedirect) SortAddresses()

func (*CCEventRedirect) String

func (s *CCEventRedirect) String() string

type CCEventRing

type CCEventRing struct {
	CCEventGeneric
	// contains filtered or unexported fields
}

func NewCCEventRing

func NewCCEventRing(scode int, scode_reason string, body sippy_types.MsgBody, rtime *sippy_time.MonoTime, origin string) *CCEventRing

func (*CCEventRing) GetBody

func (s *CCEventRing) GetBody() sippy_types.MsgBody

func (*CCEventRing) GetScode

func (s *CCEventRing) GetScode() int

func (*CCEventRing) SetScode

func (s *CCEventRing) SetScode(scode int)

func (*CCEventRing) SetScodeReason

func (s *CCEventRing) SetScodeReason(scode_reason string)

func (*CCEventRing) String

func (s *CCEventRing) String() string

type CCEventTry

type CCEventTry struct {
	CCEventGeneric
	// contains filtered or unexported fields
}

func NewCCEventTry

func NewCCEventTry(call_id *sippy_header.SipCallId, cli string, cld string, body sippy_types.MsgBody, auth_hdr sippy_header.SipAuthorizationHeader, caller_name string, rtime *sippy_time.MonoTime, origin string, extra_headers ...sippy_header.SipHeader) (*CCEventTry, error)

func (*CCEventTry) GetBody

func (s *CCEventTry) GetBody() sippy_types.MsgBody

func (*CCEventTry) GetCLD

func (s *CCEventTry) GetCLD() string

func (*CCEventTry) GetCLI

func (s *CCEventTry) GetCLI() string

func (*CCEventTry) GetCallerName

func (s *CCEventTry) GetCallerName() string

func (*CCEventTry) GetSipAuthorizationBody

func (s *CCEventTry) GetSipAuthorizationBody() *sippy_header.SipAuthorizationBody

func (*CCEventTry) GetSipAuthorizationHF

func (s *CCEventTry) GetSipAuthorizationHF() sippy_header.SipAuthorizationHeader

func (*CCEventTry) GetSipCallId

func (s *CCEventTry) GetSipCallId() *sippy_header.SipCallId

func (*CCEventTry) SetRoutes

func (s *CCEventTry) SetRoutes(routes []*sippy_header.SipRoute)

func (*CCEventTry) String

func (s *CCEventTry) String() string

type CCEventUpdate

type CCEventUpdate struct {
	CCEventGeneric
	// contains filtered or unexported fields
}

func NewCCEventUpdate

func NewCCEventUpdate(rtime *sippy_time.MonoTime, origin string, reason *sippy_header.SipReason, max_forwards *sippy_header.SipMaxForwards, msg_body sippy_types.MsgBody) *CCEventUpdate

func (*CCEventUpdate) GetBody

func (s *CCEventUpdate) GetBody() sippy_types.MsgBody

func (*CCEventUpdate) String

func (s *CCEventUpdate) String() string

type ESipParseException

type ESipParseException struct {
	// contains filtered or unexported fields
}

func (*ESipParseException) Error

func (s *ESipParseException) Error() string

type RtpProxyCmd

type RtpProxyCmd struct {
	Type        byte
	ULOpts      *UpdateLookupOpts
	CommandOpts string
	CallId      string
	Args        string
	Nretr       int
}

func NewRtpProxyCmd

func NewRtpProxyCmd(cmd string) (*RtpProxyCmd, error)

func (*RtpProxyCmd) String

func (rpc *RtpProxyCmd) String() string

type Rtp_proxy_client_base

type Rtp_proxy_client_base struct {
	// contains filtered or unexported fields
}

func NewRtp_proxy_client_base

func NewRtp_proxy_client_base(heir sippy_types.RtpProxyClient, opts *rtpProxyClientOpts) *Rtp_proxy_client_base

func (*Rtp_proxy_client_base) Address

func (s *Rtp_proxy_client_base) Address() net.Addr

func (*Rtp_proxy_client_base) GetActiveSessions

func (s *Rtp_proxy_client_base) GetActiveSessions() int64

func (*Rtp_proxy_client_base) GetActiveStreams

func (s *Rtp_proxy_client_base) GetActiveStreams() int64

func (*Rtp_proxy_client_base) GetOpts

func (s *Rtp_proxy_client_base) GetOpts() sippy_types.RtpProxyClientOpts

func (*Rtp_proxy_client_base) GetPReceived

func (s *Rtp_proxy_client_base) GetPReceived() int64

func (*Rtp_proxy_client_base) GetPTransmitted

func (s *Rtp_proxy_client_base) GetPTransmitted() int64

func (*Rtp_proxy_client_base) GetProxyAddress

func (s *Rtp_proxy_client_base) GetProxyAddress() string

func (*Rtp_proxy_client_base) GetRtpcDelay

func (s *Rtp_proxy_client_base) GetRtpcDelay() float64

func (*Rtp_proxy_client_base) GetSessionsCreated

func (s *Rtp_proxy_client_base) GetSessionsCreated() int64

func (*Rtp_proxy_client_base) GoOffline

func (s *Rtp_proxy_client_base) GoOffline()

func (*Rtp_proxy_client_base) GoOnline

func (s *Rtp_proxy_client_base) GoOnline()

func (*Rtp_proxy_client_base) IsLocal

func (s *Rtp_proxy_client_base) IsLocal() bool

func (*Rtp_proxy_client_base) IsOnline

func (s *Rtp_proxy_client_base) IsOnline() bool

func (*Rtp_proxy_client_base) IsShutDown

func (s *Rtp_proxy_client_base) IsShutDown() bool

func (*Rtp_proxy_client_base) Reconnect

func (s *Rtp_proxy_client_base) Reconnect(addr net.Addr, bind_addr *sippy_net.HostPort)

func (*Rtp_proxy_client_base) SBindSupported

func (s *Rtp_proxy_client_base) SBindSupported() bool

func (*Rtp_proxy_client_base) SendCommand

func (s *Rtp_proxy_client_base) SendCommand(cmd string, cb func(string))

func (*Rtp_proxy_client_base) Shutdown

func (s *Rtp_proxy_client_base) Shutdown()

func (*Rtp_proxy_client_base) Start

func (s *Rtp_proxy_client_base) Start() error

func (*Rtp_proxy_client_base) TNotSupported

func (s *Rtp_proxy_client_base) TNotSupported() bool

func (*Rtp_proxy_client_base) UpdateActive

func (s *Rtp_proxy_client_base) UpdateActive(active_sessions, sessions_created, active_streams, preceived, ptransmitted int64)

func (*Rtp_proxy_client_base) WdntSupported

func (s *Rtp_proxy_client_base) WdntSupported() bool

type Rtp_proxy_client_stream

type Rtp_proxy_client_stream struct {
	// contains filtered or unexported fields
}

type Rtp_proxy_client_udp

type Rtp_proxy_client_udp struct {
	// contains filtered or unexported fields
}

type Rtp_proxy_session

type Rtp_proxy_session struct {
	// contains filtered or unexported fields
}

func NewRtp_proxy_session

func NewRtp_proxy_session(config sippy_conf.Config, rtp_proxy_clients []sippy_types.RtpProxyClient, call_id, from_tag, to_tag, notify_socket, notify_tag string, session_lock sync.Locker) (*Rtp_proxy_session, error)

func (*Rtp_proxy_session) CallerSessionExists

func (s *Rtp_proxy_session) CallerSessionExists() bool

func (*Rtp_proxy_session) Delete

func (s *Rtp_proxy_session) Delete()

func (*Rtp_proxy_session) GetProxyAddress

func (s *Rtp_proxy_session) GetProxyAddress() (string, error)

func (*Rtp_proxy_session) IsLocal

func (s *Rtp_proxy_session) IsLocal() (bool, error)

func (*Rtp_proxy_session) OnCalleeSdpChange

func (s *Rtp_proxy_session) OnCalleeSdpChange(sdp_body sippy_types.MsgBody, result_callback func(sippy_types.MsgBody)) error

func (*Rtp_proxy_session) OnCallerSdpChange

func (s *Rtp_proxy_session) OnCallerSdpChange(sdp_body sippy_types.MsgBody, result_callback func(sippy_types.MsgBody)) error

func (*Rtp_proxy_session) PlayCaller

func (s *Rtp_proxy_session) PlayCaller(prompt_name string, times int, result_callback func(string), index int)

def version(s, result_callback):

s.send_command("V", s.version_result, result_callback)

def version_result(s, result, result_callback):

result_callback(result)

func (*Rtp_proxy_session) SBindSupported

func (s *Rtp_proxy_session) SBindSupported() (bool, error)

func (*Rtp_proxy_session) SetAfterCallerSdpChange

func (s *Rtp_proxy_session) SetAfterCallerSdpChange(cb func(sippy_types.RtpProxyUpdateResult))

func (*Rtp_proxy_session) SetCalleeLaddress

func (s *Rtp_proxy_session) SetCalleeLaddress(addr string)

func (*Rtp_proxy_session) SetCalleeRaddress

func (s *Rtp_proxy_session) SetCalleeRaddress(addr *sippy_net.HostPort)

func (*Rtp_proxy_session) SetCallerLaddress

func (s *Rtp_proxy_session) SetCallerLaddress(addr string)

func (*Rtp_proxy_session) SetCallerRaddress

func (s *Rtp_proxy_session) SetCallerRaddress(addr *sippy_net.HostPort)

func (*Rtp_proxy_session) SetInsertNortpp

func (s *Rtp_proxy_session) SetInsertNortpp(v bool)

func (*Rtp_proxy_session) StartRecording

func (s *Rtp_proxy_session) StartRecording(rname string, result_callback func(string), index int)

func (*Rtp_proxy_session) StopPlayCaller

func (s *Rtp_proxy_session) StopPlayCaller(result_callback func(string), index int)

func (*Rtp_proxy_session) TNotSupported

func (s *Rtp_proxy_session) TNotSupported() (bool, error)

type RtppStats

type RtppStats struct {
	Verbose bool
	// contains filtered or unexported fields
}

func NewRtppStats

func NewRtppStats(snames []string) *RtppStats

func (*RtppStats) AllNames

func (s *RtppStats) AllNames() []string

func (*RtppStats) ParseAndAdd

func (s *RtppStats) ParseAndAdd(rstr string) error

def __iadd__(s, other):

for sname in s.all_names:
    aname = s.spookyPrefix + sname
    s.__dict__[aname] += other.__dict__[aname]
return s

func (*RtppStats) String

func (s *RtppStats) String() string

type SdpSession

type SdpSession struct {
	// contains filtered or unexported fields
}

func NewSdpSession

func NewSdpSession() *SdpSession

func (*SdpSession) FixupVersion

func (s *SdpSession) FixupVersion(body sippy_types.MsgBody) error

type Timeout

type Timeout struct {
	// contains filtered or unexported fields
}

func NewInactiveTimeout

func NewInactiveTimeout(callback func(), cb_lock sync.Locker, _timeout time.Duration, nticks int, logger sippy_log.ErrorLogger) *Timeout

func StartTimeout

func StartTimeout(callback func(), cb_lock sync.Locker, _timeout time.Duration, nticks int, logger sippy_log.ErrorLogger) *Timeout

func StartTimeoutWithSpread

func StartTimeoutWithSpread(callback func(), cb_lock sync.Locker, _timeout time.Duration, nticks int, logger sippy_log.ErrorLogger, spread float64) *Timeout

func (*Timeout) Cancel

func (s *Timeout) Cancel()

func (*Timeout) SpreadRuns

func (s *Timeout) SpreadRuns(spread float64)

func (*Timeout) Start

func (s *Timeout) Start()

type Ua

type Ua struct {
	// contains filtered or unexported fields
}

func NewUA

func NewUA(sip_tm sippy_types.SipTransactionManager, config sippy_conf.Config, nh_address *sippy_net.HostPort, call_controller sippy_types.CallController, session_lock sync.Locker, heir sippy_types.UA) *Ua

func (*Ua) BeforeRequestSent

func (s *Ua) BeforeRequestSent(sippy_types.SipRequest)

func (*Ua) BeforeResponseSent

func (s *Ua) BeforeResponseSent(sippy_types.SipResponse)

func (*Ua) BeginClientTransaction

func (s *Ua) BeginClientTransaction(req sippy_types.SipRequest, tr sippy_types.ClientTransaction)

func (*Ua) BeginNewClientTransaction

func (s *Ua) BeginNewClientTransaction(req sippy_types.SipRequest, resp_receiver sippy_types.ResponseReceiver)

func (*Ua) CancelCreditTimer

func (s *Ua) CancelCreditTimer()

func (*Ua) CancelExpireTimer

func (s *Ua) CancelExpireTimer()

func (*Ua) CancelNoProgressTimer

func (s *Ua) CancelNoProgressTimer()

func (*Ua) CancelNoReplyTimer

func (s *Ua) CancelNoReplyTimer()

func (*Ua) ChangeState

func (s *Ua) ChangeState(newstate sippy_types.UaState, cb func())

func (*Ua) Cleanup

func (s *Ua) Cleanup()

func (*Ua) Config

func (s *Ua) Config() sippy_conf.Config

func (*Ua) ConnCb

func (s *Ua) ConnCb(rtime *sippy_time.MonoTime, origin string)

func (*Ua) DelayedRemoteSdpUpdate

func (s *Ua) DelayedRemoteSdpUpdate(event sippy_types.CCEvent, remote_sdp_body sippy_types.MsgBody)

func (*Ua) DiscCb

func (s *Ua) DiscCb(rtime *sippy_time.MonoTime, origin string, scode int, inreq sippy_types.SipRequest)

func (*Ua) Disconnect

func (s *Ua) Disconnect(rtime *sippy_time.MonoTime, origin string)

func (*Ua) EmitEvent

func (s *Ua) EmitEvent(event sippy_types.CCEvent)

func (*Ua) Enqueue

func (s *Ua) Enqueue(event sippy_types.CCEvent)

func (*Ua) FailCb

func (s *Ua) FailCb(rtime *sippy_time.MonoTime, origin string, scode int)

func (*Ua) GenRequest

func (s *Ua) GenRequest(method string, body sippy_types.MsgBody, challenge sippy_types.Challenge, extra_headers ...sippy_header.SipHeader) (sippy_types.SipRequest, error)

func (*Ua) GetAcct

func (s *Ua) GetAcct(disconnect_ts *sippy_time.MonoTime) (duration time.Duration, delay time.Duration, connected bool, disconnected bool)

func (*Ua) GetCLD

func (s *Ua) GetCLD() string

func (*Ua) GetCLI

func (s *Ua) GetCLI() string

func (*Ua) GetCallId

func (s *Ua) GetCallId() *sippy_header.SipCallId

func (*Ua) GetClientTransaction

func (s *Ua) GetClientTransaction() sippy_types.ClientTransaction

func (*Ua) GetConnCb

func (s *Ua) GetConnCb() sippy_types.OnConnectListener

func (*Ua) GetConnectTs

func (s *Ua) GetConnectTs() *sippy_time.MonoTime

func (*Ua) GetController

func (s *Ua) GetController() sippy_types.CallController

func (*Ua) GetDeadCb

func (s *Ua) GetDeadCb() sippy_types.OnDeadListener

func (*Ua) GetDiscCb

func (s *Ua) GetDiscCb() sippy_types.OnDisconnectListener

func (*Ua) GetDisconnectTs

func (s *Ua) GetDisconnectTs() *sippy_time.MonoTime

func (*Ua) GetDlgHeaders

func (s *Ua) GetDlgHeaders() []sippy_header.SipHeader

func (*Ua) GetExMtime

func (s *Ua) GetExMtime() *sippy_time.MonoTime

func (*Ua) GetExpireTime

func (s *Ua) GetExpireTime() time.Duration

func (*Ua) GetExtraHeaders

func (s *Ua) GetExtraHeaders() []sippy_header.SipHeader

func (*Ua) GetFailCb

func (s *Ua) GetFailCb() sippy_types.OnFailureListener

func (*Ua) GetGoDeadTimeout

func (s *Ua) GetGoDeadTimeout() time.Duration

func (*Ua) GetKaInterval

func (s *Ua) GetKaInterval() time.Duration

func (*Ua) GetLContact

func (s *Ua) GetLContact() *sippy_header.SipContact

func (*Ua) GetLContacts

func (s *Ua) GetLContacts() []*sippy_header.SipContact

func (*Ua) GetLSDP

func (s *Ua) GetLSDP() sippy_types.MsgBody

func (*Ua) GetLTag

func (s *Ua) GetLTag() string

func (*Ua) GetLUri

func (s *Ua) GetLUri() *sippy_header.SipFrom

func (*Ua) GetLastScode

func (s *Ua) GetLastScode() int

func (*Ua) GetLateMedia

func (s *Ua) GetLateMedia() bool

func (*Ua) GetLocalUA

func (s *Ua) GetLocalUA() *sippy_header.SipUserAgent

func (*Ua) GetNoProgressTime

func (s *Ua) GetNoProgressTime() time.Duration

func (*Ua) GetNoReplyTime

func (s *Ua) GetNoReplyTime() time.Duration

func (*Ua) GetNpMtime

func (s *Ua) GetNpMtime() *sippy_time.MonoTime

func (*Ua) GetNrMtime

func (s *Ua) GetNrMtime() *sippy_time.MonoTime

func (*Ua) GetOnLocalSdpChange

func (s *Ua) GetOnLocalSdpChange() sippy_types.OnLocalSdpChange

func (*Ua) GetOnRemoteSdpChange

func (s *Ua) GetOnRemoteSdpChange() sippy_types.OnRemoteSdpChange

func (*Ua) GetOrigin

func (s *Ua) GetOrigin() string

func (*Ua) GetOutboundProxy

func (s *Ua) GetOutboundProxy() *sippy_net.HostPort

func (*Ua) GetP100Ts

func (s *Ua) GetP100Ts() *sippy_time.MonoTime

func (*Ua) GetP1xxTs

func (s *Ua) GetP1xxTs() *sippy_time.MonoTime

func (*Ua) GetPassAuth

func (s *Ua) GetPassAuth() bool

func (*Ua) GetPassword

func (s *Ua) GetPassword() string

func (*Ua) GetPendingTr

func (s *Ua) GetPendingTr() sippy_types.ClientTransaction

func (*Ua) GetRAddr

func (s *Ua) GetRAddr() *sippy_net.HostPort

func (*Ua) GetRAddr0

func (s *Ua) GetRAddr0() *sippy_net.HostPort

func (*Ua) GetRSDP

func (s *Ua) GetRSDP() sippy_types.MsgBody

func (*Ua) GetRTarget

func (s *Ua) GetRTarget() *sippy_header.SipURL

func (*Ua) GetRUri

func (s *Ua) GetRUri() *sippy_header.SipTo

func (*Ua) GetRemoteUA

func (s *Ua) GetRemoteUA() string

func (*Ua) GetSessionLock

func (s *Ua) GetSessionLock() sync.Locker

func (*Ua) GetSetupTs

func (s *Ua) GetSetupTs() *sippy_time.MonoTime

func (*Ua) GetSourceAddress

func (s *Ua) GetSourceAddress() *sippy_net.HostPort

func (*Ua) GetState

func (s *Ua) GetState() sippy_types.UaStateID

func (*Ua) GetStateName

func (s *Ua) GetStateName() string

func (*Ua) GetUasLossEmul

func (s *Ua) GetUasLossEmul() int

func (*Ua) GetUasResp

func (s *Ua) GetUasResp() sippy_types.SipResponse

func (*Ua) GetUsername

func (s *Ua) GetUsername() string

func (*Ua) HasNoProgressTimer

func (s *Ua) HasNoProgressTimer() bool

func (*Ua) HasNoReplyTimer

func (s *Ua) HasNoReplyTimer() bool

func (*Ua) HasOnLocalSdpChange

func (s *Ua) HasOnLocalSdpChange() bool

func (*Ua) HasOnRemoteSdpChange

func (s *Ua) HasOnRemoteSdpChange() bool

func (*Ua) IsYours

func (s *Ua) IsYours(req sippy_types.SipRequest, br0k3n_to bool) bool

func (*Ua) OnDead

func (s *Ua) OnDead()

func (*Ua) OnEarlyUasDisconnect

func (s *Ua) OnEarlyUasDisconnect(ev sippy_types.CCEvent) (int, string)

func (*Ua) OnLocalSdpChange

func (s *Ua) OnLocalSdpChange(body sippy_types.MsgBody, cb func(sippy_types.MsgBody)) error

func (*Ua) OnReinvite

func (s *Ua) OnReinvite(req sippy_types.SipRequest, event_update sippy_types.CCEvent)

func (*Ua) OnRemoteSdpChange

func (s *Ua) OnRemoteSdpChange(body sippy_types.MsgBody, f func(x sippy_types.MsgBody)) error

func (*Ua) OnUacSetupComplete

func (s *Ua) OnUacSetupComplete()

func (*Ua) OnUnregister

func (s *Ua) OnUnregister()

func (*Ua) PassAuth

func (s *Ua) PassAuth() bool

func (*Ua) PrRel

func (s *Ua) PrRel() bool

func (*Ua) PrepTr

func (s *Ua) PrepTr(req sippy_types.SipRequest, eh []sippy_header.SipHeader) (sippy_types.ClientTransaction, error)

func (*Ua) RecvACK

func (s *Ua) RecvACK(req sippy_types.SipRequest)

func (*Ua) RecvEvent

func (s *Ua) RecvEvent(event sippy_types.CCEvent)

func (*Ua) RecvPRACK

func (s *Ua) RecvPRACK(req sippy_types.SipRequest, resp sippy_types.SipResponse)

func (*Ua) RecvRequest

func (s *Ua) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) *sippy_types.UaContext

func (*Ua) RecvResponse

func (s *Ua) RecvResponse(resp sippy_types.SipResponse, tr sippy_types.ClientTransaction)

func (*Ua) RegConsumer

func (s *Ua) RegConsumer(consumer sippy_types.UA, call_id string)

func (*Ua) ResetCreditTime

func (s *Ua) ResetCreditTime(rtime *sippy_time.MonoTime, new_credit_times map[int64]*sippy_time.MonoTime)

func (*Ua) ResetOnLocalSdpChange

func (s *Ua) ResetOnLocalSdpChange()

func (*Ua) ResetOnRemoteSdpChange

func (s *Ua) ResetOnRemoteSdpChange()

func (*Ua) RingCb

func (s *Ua) RingCb(rtime *sippy_time.MonoTime, origin string, scode int)

func (*Ua) SendUasResponse

func (s *Ua) SendUasResponse(t sippy_types.ServerTransaction, scode int, reason string, body sippy_types.MsgBody, contacts []*sippy_header.SipContact, ack_wait bool, extra_headers ...sippy_header.SipHeader)

func (*Ua) SetAuth

func (s *Ua) SetAuth(auth sippy_header.SipHeader)

func (*Ua) SetBranch

func (s *Ua) SetBranch(branch string)

func (*Ua) SetCallId

func (s *Ua) SetCallId(call_id *sippy_header.SipCallId)

func (*Ua) SetClientTransaction

func (s *Ua) SetClientTransaction(tr sippy_types.ClientTransaction)

func (*Ua) SetConnCb

func (s *Ua) SetConnCb(conn_cb sippy_types.OnConnectListener)

func (*Ua) SetConnectTs

func (s *Ua) SetConnectTs(connect_ts *sippy_time.MonoTime)

func (*Ua) SetCreditTime

func (s *Ua) SetCreditTime(credit_time time.Duration)

func (*Ua) SetDeadCb

func (s *Ua) SetDeadCb(dead_cb sippy_types.OnDeadListener)

func (*Ua) SetDiscCb

func (s *Ua) SetDiscCb(disc_cb sippy_types.OnDisconnectListener)

func (*Ua) SetDisconnectTs

func (s *Ua) SetDisconnectTs(ts *sippy_time.MonoTime)

func (*Ua) SetDlgHeaders

func (s *Ua) SetDlgHeaders(hdrs []sippy_header.SipHeader)

func (*Ua) SetExMtime

func (s *Ua) SetExMtime(t *sippy_time.MonoTime)

func (*Ua) SetExpireStartsOnSetup

func (s *Ua) SetExpireStartsOnSetup(v bool)

func (*Ua) SetExpireTime

func (s *Ua) SetExpireTime(expire_time time.Duration)

func (*Ua) SetExtraHeaders

func (s *Ua) SetExtraHeaders(extra_headers []sippy_header.SipHeader)

func (*Ua) SetFailCb

func (s *Ua) SetFailCb(fail_cb sippy_types.OnFailureListener)

func (*Ua) SetKaInterval

func (s *Ua) SetKaInterval(ka time.Duration)

func (*Ua) SetLCSeq

func (s *Ua) SetLCSeq(cseq int)

func (*Ua) SetLContact

func (s *Ua) SetLContact(contact *sippy_header.SipContact)

func (*Ua) SetLSDP

func (s *Ua) SetLSDP(msg sippy_types.MsgBody)

func (*Ua) SetLUri

func (s *Ua) SetLUri(from *sippy_header.SipFrom)

func (*Ua) SetLastScode

func (s *Ua) SetLastScode(scode int)

func (*Ua) SetLateMedia

func (s *Ua) SetLateMedia(late_media bool)

func (*Ua) SetLocalUA

func (s *Ua) SetLocalUA(ua *sippy_header.SipUserAgent)

func (*Ua) SetNoProgressTime

func (s *Ua) SetNoProgressTime(no_progress_time time.Duration)

func (*Ua) SetNoReplyTime

func (s *Ua) SetNoReplyTime(no_reply_time time.Duration)

func (*Ua) SetNpMtime

func (s *Ua) SetNpMtime(t *sippy_time.MonoTime)

func (*Ua) SetNrMtime

func (s *Ua) SetNrMtime(t *sippy_time.MonoTime)

func (*Ua) SetOnLocalSdpChange

func (s *Ua) SetOnLocalSdpChange(on_local_sdp_change sippy_types.OnLocalSdpChange)

func (*Ua) SetOnRemoteSdpChange

func (s *Ua) SetOnRemoteSdpChange(on_remote_sdp_change sippy_types.OnRemoteSdpChange)

func (*Ua) SetOnUacSetupComplete

func (s *Ua) SetOnUacSetupComplete(fn func())

func (*Ua) SetOrigin

func (s *Ua) SetOrigin(origin string)

func (*Ua) SetOutboundProxy

func (s *Ua) SetOutboundProxy(outbound_proxy *sippy_net.HostPort)

func (*Ua) SetP100Ts

func (s *Ua) SetP100Ts(ts *sippy_time.MonoTime)

func (*Ua) SetP1xxTs

func (s *Ua) SetP1xxTs(ts *sippy_time.MonoTime)

func (*Ua) SetPassword

func (s *Ua) SetPassword(passwd string)

func (*Ua) SetPendingTr

func (s *Ua) SetPendingTr(tr sippy_types.ClientTransaction)

func (*Ua) SetRAddr

func (s *Ua) SetRAddr(addr *sippy_net.HostPort)

func (*Ua) SetRAddr0

func (s *Ua) SetRAddr0(addr *sippy_net.HostPort)

func (*Ua) SetRSDP

func (s *Ua) SetRSDP(sdp sippy_types.MsgBody)

func (*Ua) SetRTarget

func (s *Ua) SetRTarget(url *sippy_header.SipURL)

func (*Ua) SetRUri

func (s *Ua) SetRUri(ruri *sippy_header.SipTo)

func (*Ua) SetRoutes

func (s *Ua) SetRoutes(routes []*sippy_header.SipRoute)

func (*Ua) SetSetupTs

func (s *Ua) SetSetupTs(ts *sippy_time.MonoTime)

func (*Ua) SetSourceAddress

func (s *Ua) SetSourceAddress(addr *sippy_net.HostPort)

func (*Ua) SetUasResp

func (s *Ua) SetUasResp(resp sippy_types.SipResponse)

func (*Ua) SetUsername

func (s *Ua) SetUsername(username string)

func (*Ua) ShouldUseRefer

func (s *Ua) ShouldUseRefer() bool

func (*Ua) StartCreditTimer

func (s *Ua) StartCreditTimer(rtime *sippy_time.MonoTime)

func (*Ua) StartExpireTimer

func (s *Ua) StartExpireTimer(start *sippy_time.MonoTime)

func (*Ua) StartNoProgressTimer

func (s *Ua) StartNoProgressTimer()

func (*Ua) StartNoReplyTimer

func (s *Ua) StartNoReplyTimer()

func (*Ua) String

func (s *Ua) String() string

func (*Ua) UasLossEmul

func (s *Ua) UasLossEmul() int

func (*Ua) UpdateRouting

func (s *Ua) UpdateRouting(resp sippy_types.SipResponse, update_rtarget bool, reverse_routes bool)

type UaStateConnected

type UaStateConnected struct {
	// contains filtered or unexported fields
}

func NewUaStateConnected

func NewUaStateConnected(ua sippy_types.UA, config sippy_conf.Config) *UaStateConnected

func (*UaStateConnected) ID

func (s *UaStateConnected) ID() sippy_types.UaStateID

func (UaStateConnected) IsConnected

func (s UaStateConnected) IsConnected() bool

func (*UaStateConnected) OnActivation

func (s *UaStateConnected) OnActivation()

func (*UaStateConnected) OnDeactivate

func (s *UaStateConnected) OnDeactivate()

func (UaStateConnected) RecvACK

func (UaStateConnected) RecvACK(sippy_types.SipRequest)

func (UaStateConnected) RecvCancel

func (s UaStateConnected) RecvCancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)

func (*UaStateConnected) RecvEvent

func (s *UaStateConnected) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, func(), error)

func (UaStateConnected) RecvPRACK

func (s UaStateConnected) RecvPRACK(req sippy_types.SipRequest, resp sippy_types.SipResponse)

func (*UaStateConnected) RecvRequest

func (s *UaStateConnected) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) (sippy_types.UaState, func())

func (UaStateConnected) RecvResponse

func (s UaStateConnected) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) (sippy_types.UaState, func())

func (*UaStateConnected) String

func (s *UaStateConnected) String() string

type UaStateDead

type UaStateDead struct {
	// contains filtered or unexported fields
}

func NewUaStateDead

func NewUaStateDead(ua sippy_types.UA, config sippy_conf.Config) *UaStateDead

func (*UaStateDead) ID

func (s *UaStateDead) ID() sippy_types.UaStateID

func (UaStateDead) IsConnected

func (s UaStateDead) IsConnected() bool

func (*UaStateDead) OnActivation

func (s *UaStateDead) OnActivation()

func (UaStateDead) OnDeactivate

func (UaStateDead) OnDeactivate()

func (UaStateDead) RecvACK

func (UaStateDead) RecvACK(sippy_types.SipRequest)

func (UaStateDead) RecvCancel

func (s UaStateDead) RecvCancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)

func (UaStateDead) RecvEvent

func (s UaStateDead) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, func(), error)

func (UaStateDead) RecvPRACK

func (s UaStateDead) RecvPRACK(req sippy_types.SipRequest, resp sippy_types.SipResponse)

func (UaStateDead) RecvRequest

func (s UaStateDead) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) (sippy_types.UaState, func())

func (UaStateDead) RecvResponse

func (s UaStateDead) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) (sippy_types.UaState, func())

func (*UaStateDead) String

func (s *UaStateDead) String() string

type UaStateDisconnected

type UaStateDisconnected struct {
	// contains filtered or unexported fields
}

func NewUaStateDisconnected

func NewUaStateDisconnected(ua sippy_types.UA, config sippy_conf.Config) *UaStateDisconnected

func (*UaStateDisconnected) ID

func (s *UaStateDisconnected) ID() sippy_types.UaStateID

func (UaStateDisconnected) IsConnected

func (s UaStateDisconnected) IsConnected() bool

func (*UaStateDisconnected) OnActivation

func (s *UaStateDisconnected) OnActivation()

func (UaStateDisconnected) OnDeactivate

func (UaStateDisconnected) OnDeactivate()

func (UaStateDisconnected) RecvACK

func (UaStateDisconnected) RecvACK(sippy_types.SipRequest)

func (UaStateDisconnected) RecvCancel

func (s UaStateDisconnected) RecvCancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)

func (UaStateDisconnected) RecvEvent

func (s UaStateDisconnected) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, func(), error)

func (UaStateDisconnected) RecvPRACK

func (s UaStateDisconnected) RecvPRACK(req sippy_types.SipRequest, resp sippy_types.SipResponse)

func (*UaStateDisconnected) RecvRequest

func (s *UaStateDisconnected) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) (sippy_types.UaState, func())

func (UaStateDisconnected) RecvResponse

func (s UaStateDisconnected) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) (sippy_types.UaState, func())

func (*UaStateDisconnected) String

func (s *UaStateDisconnected) String() string

type UaStateFailed

type UaStateFailed struct {
	// contains filtered or unexported fields
}

func NewUaStateFailed

func NewUaStateFailed(ua sippy_types.UA, config sippy_conf.Config) *UaStateFailed

func (*UaStateFailed) ID

func (s *UaStateFailed) ID() sippy_types.UaStateID

func (UaStateFailed) IsConnected

func (s UaStateFailed) IsConnected() bool

func (*UaStateFailed) OnActivation

func (s *UaStateFailed) OnActivation()

func (UaStateFailed) OnDeactivate

func (UaStateFailed) OnDeactivate()

func (UaStateFailed) RecvACK

func (UaStateFailed) RecvACK(sippy_types.SipRequest)

func (UaStateFailed) RecvCancel

func (s UaStateFailed) RecvCancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)

func (UaStateFailed) RecvEvent

func (s UaStateFailed) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, func(), error)

func (UaStateFailed) RecvPRACK

func (s UaStateFailed) RecvPRACK(req sippy_types.SipRequest, resp sippy_types.SipResponse)

func (UaStateFailed) RecvRequest

func (s UaStateFailed) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) (sippy_types.UaState, func())

func (UaStateFailed) RecvResponse

func (s UaStateFailed) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) (sippy_types.UaState, func())

func (*UaStateFailed) String

func (s *UaStateFailed) String() string

type UacStateCancelling

type UacStateCancelling struct {
	// contains filtered or unexported fields
}

func NewUacStateCancelling

func NewUacStateCancelling(ua sippy_types.UA, config sippy_conf.Config) *UacStateCancelling

func (*UacStateCancelling) ID

func (s *UacStateCancelling) ID() sippy_types.UaStateID

func (UacStateCancelling) IsConnected

func (s UacStateCancelling) IsConnected() bool

func (*UacStateCancelling) OnActivation

func (s *UacStateCancelling) OnActivation()

func (UacStateCancelling) OnDeactivate

func (UacStateCancelling) OnDeactivate()

func (UacStateCancelling) RecvACK

func (UacStateCancelling) RecvACK(sippy_types.SipRequest)

func (UacStateCancelling) RecvCancel

func (s UacStateCancelling) RecvCancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)

func (UacStateCancelling) RecvEvent

func (s UacStateCancelling) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, func(), error)

func (UacStateCancelling) RecvPRACK

func (s UacStateCancelling) RecvPRACK(req sippy_types.SipRequest, resp sippy_types.SipResponse)

func (UacStateCancelling) RecvRequest

func (s UacStateCancelling) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) (sippy_types.UaState, func())

func (*UacStateCancelling) RecvResponse

func (s *UacStateCancelling) RecvResponse(resp sippy_types.SipResponse, tr sippy_types.ClientTransaction) (sippy_types.UaState, func())

func (*UacStateCancelling) String

func (s *UacStateCancelling) String() string

type UacStateIdle

type UacStateIdle struct {
	// contains filtered or unexported fields
}

func NewUacStateIdle

func NewUacStateIdle(ua sippy_types.UA, config sippy_conf.Config) *UacStateIdle

func (*UacStateIdle) ID

func (s *UacStateIdle) ID() sippy_types.UaStateID

func (UacStateIdle) IsConnected

func (s UacStateIdle) IsConnected() bool

func (UacStateIdle) OnActivation

func (UacStateIdle) OnActivation()

func (UacStateIdle) OnDeactivate

func (UacStateIdle) OnDeactivate()

func (UacStateIdle) RecvACK

func (UacStateIdle) RecvACK(sippy_types.SipRequest)

func (UacStateIdle) RecvCancel

func (s UacStateIdle) RecvCancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)

func (*UacStateIdle) RecvEvent

func (s *UacStateIdle) RecvEvent(_event sippy_types.CCEvent) (sippy_types.UaState, func(), error)

func (UacStateIdle) RecvPRACK

func (s UacStateIdle) RecvPRACK(req sippy_types.SipRequest, resp sippy_types.SipResponse)

func (UacStateIdle) RecvRequest

func (s UacStateIdle) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) (sippy_types.UaState, func())

func (UacStateIdle) RecvResponse

func (s UacStateIdle) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) (sippy_types.UaState, func())

func (*UacStateIdle) String

func (s *UacStateIdle) String() string

type UacStateRinging

type UacStateRinging struct {
	// contains filtered or unexported fields
}

func (*UacStateRinging) ID

func (s *UacStateRinging) ID() sippy_types.UaStateID

func (UacStateRinging) IsConnected

func (s UacStateRinging) IsConnected() bool

func (UacStateRinging) OnActivation

func (UacStateRinging) OnActivation()

func (UacStateRinging) OnDeactivate

func (UacStateRinging) OnDeactivate()

func (UacStateRinging) RecvACK

func (UacStateRinging) RecvACK(sippy_types.SipRequest)

func (UacStateRinging) RecvCancel

func (s UacStateRinging) RecvCancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)

func (*UacStateRinging) RecvEvent

func (s *UacStateRinging) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, func(), error)

func (UacStateRinging) RecvPRACK

func (s UacStateRinging) RecvPRACK(req sippy_types.SipRequest, resp sippy_types.SipResponse)

func (UacStateRinging) RecvRequest

func (s UacStateRinging) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) (sippy_types.UaState, func())

func (*UacStateRinging) RecvResponse

func (s *UacStateRinging) RecvResponse(resp sippy_types.SipResponse, tr sippy_types.ClientTransaction) (sippy_types.UaState, func())

func (*UacStateRinging) String

func (s *UacStateRinging) String() string

type UacStateTrying

type UacStateTrying struct {
	// contains filtered or unexported fields
}

func NewUacStateTrying

func NewUacStateTrying(ua sippy_types.UA, config sippy_conf.Config) *UacStateTrying

func (*UacStateTrying) ID

func (s *UacStateTrying) ID() sippy_types.UaStateID

func (UacStateTrying) IsConnected

func (s UacStateTrying) IsConnected() bool

func (UacStateTrying) OnActivation

func (UacStateTrying) OnActivation()

func (UacStateTrying) OnDeactivate

func (UacStateTrying) OnDeactivate()

func (UacStateTrying) RecvACK

func (UacStateTrying) RecvACK(sippy_types.SipRequest)

func (UacStateTrying) RecvCancel

func (s UacStateTrying) RecvCancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)

func (*UacStateTrying) RecvEvent

func (s *UacStateTrying) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, func(), error)

func (UacStateTrying) RecvPRACK

func (s UacStateTrying) RecvPRACK(req sippy_types.SipRequest, resp sippy_types.SipResponse)

func (UacStateTrying) RecvRequest

func (s UacStateTrying) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) (sippy_types.UaState, func())

func (*UacStateTrying) RecvResponse

func (s *UacStateTrying) RecvResponse(resp sippy_types.SipResponse, tr sippy_types.ClientTransaction) (sippy_types.UaState, func())

func (*UacStateTrying) String

func (s *UacStateTrying) String() string

type UacStateUpdating

type UacStateUpdating struct {
	// contains filtered or unexported fields
}

func NewUacStateUpdating

func NewUacStateUpdating(ua sippy_types.UA, config sippy_conf.Config) *UacStateUpdating

func (*UacStateUpdating) ID

func (s *UacStateUpdating) ID() sippy_types.UaStateID

func (UacStateUpdating) IsConnected

func (s UacStateUpdating) IsConnected() bool

func (UacStateUpdating) OnActivation

func (UacStateUpdating) OnActivation()

func (UacStateUpdating) OnDeactivate

func (UacStateUpdating) OnDeactivate()

func (UacStateUpdating) RecvACK

func (UacStateUpdating) RecvACK(sippy_types.SipRequest)

func (UacStateUpdating) RecvCancel

func (s UacStateUpdating) RecvCancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)

func (*UacStateUpdating) RecvEvent

func (s *UacStateUpdating) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, func(), error)

func (UacStateUpdating) RecvPRACK

func (s UacStateUpdating) RecvPRACK(req sippy_types.SipRequest, resp sippy_types.SipResponse)

func (*UacStateUpdating) RecvRequest

func (s *UacStateUpdating) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) (sippy_types.UaState, func())

func (*UacStateUpdating) RecvResponse

func (s *UacStateUpdating) RecvResponse(resp sippy_types.SipResponse, tr sippy_types.ClientTransaction) (sippy_types.UaState, func())

func (*UacStateUpdating) String

func (s *UacStateUpdating) String() string

type UasStateIdle

type UasStateIdle struct {
	// contains filtered or unexported fields
}

func NewUasStateIdle

func NewUasStateIdle(ua sippy_types.UA, config sippy_conf.Config) *UasStateIdle

func (*UasStateIdle) ID

func (s *UasStateIdle) ID() sippy_types.UaStateID

func (UasStateIdle) IsConnected

func (s UasStateIdle) IsConnected() bool

func (UasStateIdle) OnActivation

func (UasStateIdle) OnActivation()

func (UasStateIdle) OnDeactivate

func (UasStateIdle) OnDeactivate()

func (UasStateIdle) RecvACK

func (UasStateIdle) RecvACK(sippy_types.SipRequest)

func (UasStateIdle) RecvCancel

func (s UasStateIdle) RecvCancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)

func (UasStateIdle) RecvEvent

func (s UasStateIdle) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, func(), error)

func (UasStateIdle) RecvPRACK

func (s UasStateIdle) RecvPRACK(req sippy_types.SipRequest, resp sippy_types.SipResponse)

func (*UasStateIdle) RecvRequest

func (s *UasStateIdle) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) (sippy_types.UaState, func())

func (UasStateIdle) RecvResponse

func (s UasStateIdle) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) (sippy_types.UaState, func())

func (*UasStateIdle) String

func (s *UasStateIdle) String() string

type UasStatePreConnect

type UasStatePreConnect struct {
	// contains filtered or unexported fields
}

func NewUasStatePreConnect

func NewUasStatePreConnect(ua sippy_types.UA, config sippy_conf.Config, confirm_connect bool) *UasStatePreConnect

func (*UasStatePreConnect) ID

func (s *UasStatePreConnect) ID() sippy_types.UaStateID

func (UasStatePreConnect) IsConnected

func (s UasStatePreConnect) IsConnected() bool

func (UasStatePreConnect) OnActivation

func (UasStatePreConnect) OnActivation()

func (*UasStatePreConnect) OnDeactivate

func (s *UasStatePreConnect) OnDeactivate()

func (*UasStatePreConnect) RecvACK

func (s *UasStatePreConnect) RecvACK(req sippy_types.SipRequest)

func (UasStatePreConnect) RecvCancel

func (s UasStatePreConnect) RecvCancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)

func (*UasStatePreConnect) RecvEvent

func (s *UasStatePreConnect) RecvEvent(event sippy_types.CCEvent) (sippy_types.UaState, func(), error)

func (UasStatePreConnect) RecvPRACK

func (s UasStatePreConnect) RecvPRACK(req sippy_types.SipRequest, resp sippy_types.SipResponse)

func (*UasStatePreConnect) RecvRequest

func (s *UasStatePreConnect) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) (sippy_types.UaState, func())

func (UasStatePreConnect) RecvResponse

func (s UasStatePreConnect) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) (sippy_types.UaState, func())

func (*UasStatePreConnect) String

func (s *UasStatePreConnect) String() string

type UasStateRinging

type UasStateRinging struct {
	// contains filtered or unexported fields
}

func NewUasStateRinging

func NewUasStateRinging(ua sippy_types.UA, config sippy_conf.Config) *UasStateRinging

func (*UasStateRinging) ID

func (s *UasStateRinging) ID() sippy_types.UaStateID

func (UasStateRinging) IsConnected

func (s UasStateRinging) IsConnected() bool

func (UasStateRinging) OnActivation

func (UasStateRinging) OnActivation()

func (UasStateRinging) OnDeactivate

func (UasStateRinging) OnDeactivate()

func (UasStateRinging) RecvACK

func (UasStateRinging) RecvACK(sippy_types.SipRequest)

func (*UasStateRinging) RecvCancel

func (s *UasStateRinging) RecvCancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)

func (*UasStateRinging) RecvEvent

func (s *UasStateRinging) RecvEvent(_event sippy_types.CCEvent) (sippy_types.UaState, func(), error)

func (UasStateRinging) RecvPRACK

func (s UasStateRinging) RecvPRACK(req sippy_types.SipRequest, resp sippy_types.SipResponse)

func (*UasStateRinging) RecvRequest

func (s *UasStateRinging) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) (sippy_types.UaState, func())

func (UasStateRinging) RecvResponse

func (s UasStateRinging) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) (sippy_types.UaState, func())

func (*UasStateRinging) String

func (s *UasStateRinging) String() string

type UasStateRingingRel

type UasStateRingingRel struct {
	*UasStateRinging
	// contains filtered or unexported fields
}

func NewUasStateRingingRel

func NewUasStateRingingRel(ua sippy_types.UA, config sippy_conf.Config) *UasStateRingingRel

func (UasStateRingingRel) IsConnected

func (s UasStateRingingRel) IsConnected() bool

func (UasStateRingingRel) OnActivation

func (UasStateRingingRel) OnActivation()

func (UasStateRingingRel) OnDeactivate

func (UasStateRingingRel) OnDeactivate()

func (UasStateRingingRel) RecvACK

func (UasStateRingingRel) RecvACK(sippy_types.SipRequest)

func (*UasStateRingingRel) RecvEvent

func (s *UasStateRingingRel) RecvEvent(_event sippy_types.CCEvent) (sippy_types.UaState, func(), error)

func (*UasStateRingingRel) RecvPRACK

func (s *UasStateRingingRel) RecvPRACK(req sippy_types.SipRequest, resp sippy_types.SipResponse)

func (UasStateRingingRel) RecvResponse

func (s UasStateRingingRel) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) (sippy_types.UaState, func())

type UasStateTrying

type UasStateTrying struct {
	// contains filtered or unexported fields
}

func NewUasStateTrying

func NewUasStateTrying(ua sippy_types.UA, config sippy_conf.Config) *UasStateTrying

func (*UasStateTrying) ID

func (s *UasStateTrying) ID() sippy_types.UaStateID

func (UasStateTrying) IsConnected

func (s UasStateTrying) IsConnected() bool

func (UasStateTrying) OnActivation

func (UasStateTrying) OnActivation()

func (UasStateTrying) OnDeactivate

func (UasStateTrying) OnDeactivate()

func (UasStateTrying) RecvACK

func (UasStateTrying) RecvACK(sippy_types.SipRequest)

func (*UasStateTrying) RecvCancel

func (s *UasStateTrying) RecvCancel(rtime *sippy_time.MonoTime, req sippy_types.SipRequest)

func (*UasStateTrying) RecvEvent

func (s *UasStateTrying) RecvEvent(_event sippy_types.CCEvent) (sippy_types.UaState, func(), error)

func (UasStateTrying) RecvPRACK

func (s UasStateTrying) RecvPRACK(req sippy_types.SipRequest, resp sippy_types.SipResponse)

func (UasStateTrying) RecvRequest

func (s UasStateTrying) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) (sippy_types.UaState, func())

func (UasStateTrying) RecvResponse

func (s UasStateTrying) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) (sippy_types.UaState, func())

func (*UasStateTrying) String

func (s *UasStateTrying) String() string

type UasStateUpdating

type UasStateUpdating struct {
	// contains filtered or unexported fields
}

func NewUasStateUpdating

func NewUasStateUpdating(ua sippy_types.UA, config sippy_conf.Config) *UasStateUpdating

func (*UasStateUpdating) ID

func (s *UasStateUpdating) ID() sippy_types.UaStateID

func (UasStateUpdating) IsConnected

func (s UasStateUpdating) IsConnected() bool

func (UasStateUpdating) OnActivation

func (UasStateUpdating) OnActivation()

func (UasStateUpdating) OnDeactivate

func (UasStateUpdating) OnDeactivate()

func (UasStateUpdating) RecvACK

func (UasStateUpdating) RecvACK(sippy_types.SipRequest)

func (*UasStateUpdating) RecvCancel

func (s *UasStateUpdating) RecvCancel(rtime *sippy_time.MonoTime, inreq sippy_types.SipRequest)

func (*UasStateUpdating) RecvEvent

func (s *UasStateUpdating) RecvEvent(_event sippy_types.CCEvent) (sippy_types.UaState, func(), error)

func (UasStateUpdating) RecvPRACK

func (s UasStateUpdating) RecvPRACK(req sippy_types.SipRequest, resp sippy_types.SipResponse)

func (*UasStateUpdating) RecvRequest

func (s *UasStateUpdating) RecvRequest(req sippy_types.SipRequest, t sippy_types.ServerTransaction) (sippy_types.UaState, func())

func (UasStateUpdating) RecvResponse

func (s UasStateUpdating) RecvResponse(resp sippy_types.SipResponse, t sippy_types.ClientTransaction) (sippy_types.UaState, func())

func (*UasStateUpdating) String

func (s *UasStateUpdating) String() string

type UdpServer

type UdpServer struct {
	// contains filtered or unexported fields
}

func NewUdpServer

func NewUdpServer(config sippy_conf.Config, uopts *udpServerOpts) (*UdpServer, error)

func (*UdpServer) GetLAddress

func (s *UdpServer) GetLAddress() *sippy_net.HostPort

func (*UdpServer) SendTo

func (s *UdpServer) SendTo(data []byte, hostPort *sippy_net.HostPort)

func (*UdpServer) SendToWithCb

func (s *UdpServer) SendToWithCb(data []byte, hostPort *sippy_net.HostPort, onComplete func())

func (*UdpServer) Shutdown

func (s *UdpServer) Shutdown()

type UpdateLookupOpts

type UpdateLookupOpts struct {
	DestinationIP string
	LocalIP       string
	Codecs        []string
	OtherParams   string
	RemoteIP      string
	RemotePort    string
	FromTag       string
	ToTag         string
	NotifySocket  string
	NotifyTag     string
}

func NewUpdateLookupOpts

func NewUpdateLookupOpts(s, args string) (*UpdateLookupOpts, error)

func (*UpdateLookupOpts) Getstr

func (ul *UpdateLookupOpts) Getstr(call_id string, swaptags, skipnotify bool) (string, error)

Directories

Path Synopsis
Package sippy_container Copyright (c) 2015 Andrii Pylypenko.
Package sippy_container Copyright (c) 2015 Andrii Pylypenko.
Package sippy_header Copyright (c) 2015 Andrii Pylypenko.
Package sippy_header Copyright (c) 2015 Andrii Pylypenko.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL