Documentation
¶
Index ¶
- Variables
- func ReadHeaderByType[T sip.Header](m sip.Message, name string) ([]T, error)
- type Dialog
- type DialogMutex
- type Proxy
- type ProxyOption
- type RegisterBinding
- type RegistryMemory
- func (r *RegistryMemory) CreateRegisterBinding(rec RegisterBinding) error
- func (r *RegistryMemory) DeleteRegisterBinding(user string) error
- func (r *RegistryMemory) DeleteRegisterBindingContact(user string, contact sip.Uri) error
- func (r *RegistryMemory) GetRegisterBinding(user string) (RegisterBinding, error)
- type RegistryStore
- type RequestContext
- func (rc *RequestContext) Close()
- func (rc *RequestContext) Dialog() *DialogMutex
- func (rc *RequestContext) RelayRequest(req *sip.Request) (<-chan *sip.Response, error)
- func (rc *RequestContext) RelayResponse(res *sip.Response) error
- func (rc *RequestContext) SetLogger(log zerolog.Logger)
- func (rc *RequestContext) Topos(req *sip.Request) *sip.Request
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrRegistryDoesNotExist = errors.New("registry does not exist")
)
View Source
var (
ErrRelayNotFound = errors.New("Destination not found")
)
Functions ¶
Types ¶
type DialogMutex ¶
type DialogMutex struct {
// contains filtered or unexported fields
}
type Proxy ¶
type Proxy struct {
InboundTargets []sip.Uri
OutboundTarget sip.Uri
Authentication string
OnRequest func(rc *RequestContext)
// contains filtered or unexported fields
}
proxy aka core
type ProxyOption ¶
type ProxyOption func(p *Proxy)
func WithProxyInboundTarget ¶
func WithProxyInboundTarget(uri sip.Uri) ProxyOption
WithProxyInboundTarget adds inbound target can be called multiple
func WithProxyLogger ¶
func WithProxyLogger(logger zerolog.Logger) ProxyOption
func WithProxyOutboundTarget ¶
func WithProxyOutboundTarget(uri sip.Uri) ProxyOption
func WithProxyRegistry ¶
func WithProxyRegistry(registry RegistryStore) ProxyOption
type RegisterBinding ¶
type RegistryMemory ¶
func NewRegistryMemory ¶
func NewRegistryMemory() *RegistryMemory
func (*RegistryMemory) CreateRegisterBinding ¶
func (r *RegistryMemory) CreateRegisterBinding(rec RegisterBinding) error
func (*RegistryMemory) DeleteRegisterBinding ¶
func (r *RegistryMemory) DeleteRegisterBinding(user string) error
func (*RegistryMemory) DeleteRegisterBindingContact ¶
func (r *RegistryMemory) DeleteRegisterBindingContact(user string, contact sip.Uri) error
func (*RegistryMemory) GetRegisterBinding ¶
func (r *RegistryMemory) GetRegisterBinding(user string) (RegisterBinding, error)
type RegistryStore ¶
type RequestContext ¶
func (*RequestContext) Close ¶
func (rc *RequestContext) Close()
func (*RequestContext) Dialog ¶
func (rc *RequestContext) Dialog() *DialogMutex
func (*RequestContext) RelayRequest ¶
func (*RequestContext) RelayResponse ¶
func (rc *RequestContext) RelayResponse(res *sip.Response) error
func (*RequestContext) SetLogger ¶
func (rc *RequestContext) SetLogger(log zerolog.Logger)
SetLogger can be used to change default logger before any relaying or other action on request
Click to show internal directories.
Click to hide internal directories.