freeswitch-outboundsocket
freeswitch-outboundsocket copied to clipboard
An Elixir FreeSWITCH's Event Socket Outbound
Event Socket Outbound
EventSocketOutbound is an Elixir protocol for the FreeSWITCH's Event Socket. This protocol provides support for Outbound method of the Event Socket.
Installation
Add event_socket_outbound to your list of dependencies in mix.exs:
def deps do
[{:event_socket_outbound, "~> 0.5.1"}]
end
Getting started
# In your config/config.exs file
config :event_socket_outbound, EventSocketOutbound.Call.Manager,
call_mgt_adapter: MySample.Call
where MySample.Call will be a module that implements EventSocketOutbound.CallMgmt behaviour and logic for controlling the call. By default EventSocketOutbound uses EventSocketOutbound.ExampleCallMgmt module which answers the call and play a welcome message.
Usage
- Start
EventSocketOutboundwithout options.
>Application.start(:ranch)
:ok
>EventSocketOutbound.start
{:ok, #PID<0.172.0>}
- Start
EventSocketOutboundwith options.
>Application.start(:ranch)
:ok
>EventSocketOutbound.start port: 8090, acceptors: 50
{:ok, #PID<0.174.0>}
- Add the child specs to your supervision tree, using
EventSocketOutbound.Protocolas protocol. For more info, refer to ranch docs.
child_spec = :ranch.child_spec(ref, :ranch_tcp, %{num_acceptors: acceptors, socket_opts: [{:port, port}]}, EventSocketOutbound.Protocol :ranch)
Copyright and License
Copyright (c) 2021, Davide Colombo.
EventSocketOutbound source code is licensed under the MIT License.
