Documentation
¶
Index ¶
- Variables
- func Debug(message string, args ...interface{})
- func Error(message string, args ...interface{})
- func Info(message string, args ...interface{})
- func Notice(message string, args ...interface{})
- func StringInSlice(str string, list []string) bool
- func Warning(message string, args ...interface{})
- type Client
- type Message
- type Server
- type SocketConnection
- func (sc *SocketConnection) Api(command string) error
- func (sc *SocketConnection) BgApi(command string) error
- func (sc *SocketConnection) Connect() error
- func (c *SocketConnection) Execute(command, args string, sync bool) (m *Message, err error)
- func (sc *SocketConnection) ExecuteAnswer(args string, sync bool) (m *Message, err error)
- func (sc *SocketConnection) ExecuteHangup(uuid string, args string, sync bool) (m *Message, err error)
- func (sc *SocketConnection) ExecuteSet(key string, value string, sync bool) (m *Message, err error)
- func (c *SocketConnection) ExecuteUUID(uuid string, command string, args string, sync bool) (m *Message, err error)
- func (sc *SocketConnection) Exit() error
- func (c *SocketConnection) Handle()
- func (c *SocketConnection) ReadMessage() (*Message, error)
- func (c *SocketConnection) Send(cmd string) error
- func (c *SocketConnection) SendEvent(eventHeaders []string) error
- func (c *SocketConnection) SendMany(cmds []string) error
- func (c *SocketConnection) SendMsg(msg map[string]string, uuid, data string) (m *Message, err error)
Constants ¶
This section is empty.
Variables ¶
var ( EInvalidCommandProvided = "Invalid command provided. Command cannot contain \\r and/or \\n. Provided command is: %s" ECouldNotReadMIMEHeaders = "Error while reading MIME headers: %s" EInvalidContentLength = "Unable to get size of content-length: %s" EUnsuccessfulReply = "Got error while reading from reply command: %s" ECouldNotReadyBody = "Got error while reading reader body: %s" EUnsupportedMessageType = "Unsupported message type! We got '%s'. Supported types are: %v " ECouldNotDecode = "Could not decode/unescape message: %s" ECouldNotStartListener = "Got error while attempting to start listener: %s" EListenerConnection = "Listener connection error: %s" EInvalidServerAddr = "Please make sure to pass along valid address. You've passed: \"%s\"" EUnexpectedAuthHeader = "Expected auth/request content type. Got %s" EInvalidPassword = "Could not authenticate against freeswitch with provided password: %s" ECouldNotCreateMessage = "Error while creating new message: %s" ECouldNotSendEvent = "Must send at least one event header, detected `%d` header" )
var ( // Size of buffer when we read from connection. // 1024 << 6 == 65536 ReadBufferSize = 1024 << 6 // Freeswitch events that we can handle (have logic for it) AvailableMessageTypes = []string{"auth/request", "text/disconnect-notice", "text/event-json", "text/event-plain", "api/response", "command/reply"} )
Functions ¶
func StringInSlice ¶
StringInSlice - Will check if string in list. This is equivalent to python if x in [] @TODO - What the fuck Nevio...
Types ¶
type Client ¶
type Client struct {
SocketConnection
}
Client - In case you need to do inbound dialing against freeswitch server in order to originate call or see sofia statuses or whatever else you came up with
type Message ¶
type Message struct { Headers map[string]string Body []byte // contains filtered or unexported fields }
Message - Freeswitch Message that is received by GoESL. Message struct is here to help with parsing message and dumping its contents. In addition to that it's here to make sure received message is in fact message we wish/can support
func (*Message) Dump ¶
Dump - Will return message prepared to be dumped out. It's like prettify message for output
func (*Message) GetCallUUID ¶
GetCallUUID - Will return Caller-Unique-Id
func (*Message) GetHeader ¶
GetHeader - Will return message header value, or "" if the key is not set.
type Server ¶
Server - In case you need to start server, this Struct have it covered
func (*Server) Start ¶
func (s *Server) Start(fn func(conn *SocketConnection))
Start - Will start new outbound server
type SocketConnection ¶
Main connection against ESL - Gotta add more description here
func (*SocketConnection) Api ¶
func (sc *SocketConnection) Api(command string) error
BgApi - Helper designed to attach api in front of the command so that you do not need to write it
func (*SocketConnection) BgApi ¶
func (sc *SocketConnection) BgApi(command string) error
BgApi - Helper designed to attach bgapi in front of the command so that you do not need to write it
func (*SocketConnection) Connect ¶
func (sc *SocketConnection) Connect() error
Connect - Helper designed to help you handle connection. Each outbound server when handling needs to connect e.g. accept connection in order for you to do answer, hangup or do whatever else you wish to do
func (*SocketConnection) Execute ¶
func (c *SocketConnection) Execute(command, args string, sync bool) (m *Message, err error)
Execute - Helper fuck to execute commands with its args and sync/async mode
func (*SocketConnection) ExecuteAnswer ¶
func (sc *SocketConnection) ExecuteAnswer(args string, sync bool) (m *Message, err error)
ExecuteHangup - Helper desgned to help with executing Answer against active ESL session
func (*SocketConnection) ExecuteHangup ¶
func (sc *SocketConnection) ExecuteHangup(uuid string, args string, sync bool) (m *Message, err error)
ExecuteHangup - Helper desgned to help with executing Hangup against active ESL session
func (*SocketConnection) ExecuteSet ¶
Set - Helper that you can use to execute SET application against active ESL session
func (*SocketConnection) ExecuteUUID ¶
func (c *SocketConnection) ExecuteUUID(uuid string, command string, args string, sync bool) (m *Message, err error)
ExecuteUUID - Helper fuck to execute uuid specific commands with its args and sync/async mode
func (*SocketConnection) Exit ¶
func (sc *SocketConnection) Exit() error
Exit - Used to send exit signal to ESL. It will basically hangup call and close connection
func (*SocketConnection) Handle ¶
func (c *SocketConnection) Handle()
Handle - Will handle new messages and close connection when there are no messages left to process
func (*SocketConnection) ReadMessage ¶
func (c *SocketConnection) ReadMessage() (*Message, error)
ReadMessage - Will read message from channels and return them back accordingy. If error is received, error will be returned. If not, message will be returned back!
func (*SocketConnection) Send ¶
func (c *SocketConnection) Send(cmd string) error
Send - Will send raw message to open net connection
func (*SocketConnection) SendEvent ¶
func (c *SocketConnection) SendEvent(eventHeaders []string) error
SendEvent - Will loop against passed event headers
func (*SocketConnection) SendMany ¶
func (c *SocketConnection) SendMany(cmds []string) error
SendMany - Will loop against passed commands and return 1st error if error happens