EventSocketOutbound
is an Elixir protocol for the FreeSWITCH's Event Socket. This protocol provides support for Outbound method of the Event Socket.
Add event_socket_outbound to your list of dependencies in mix.exs
:
def deps do
[{:event_socket_outbound, "~> 0.5.1"}]
end
# 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.
- Start
EventSocketOutbound
without options.
>Application.start(:ranch)
:ok
>EventSocketOutbound.start
{:ok, #PID<0.172.0>}
- Start
EventSocketOutbound
with 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.Protocol
as 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 (c) 2021, Davide Colombo.
EventSocketOutbound source code is licensed under the MIT License.