Skip to content

jonajames/freeswitch-outboundsocket

 
 

Repository files navigation

Event Socket Outbound

Hex.pm Build Status Coverage Status

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

  1. Start EventSocketOutbound without options.
>Application.start(:ranch)
:ok
>EventSocketOutbound.start
{:ok, #PID<0.172.0>}
  1. Start EventSocketOutbound with options.
>Application.start(:ranch)
:ok
>EventSocketOutbound.start port: 8090, acceptors: 50
{:ok, #PID<0.174.0>}
  1. 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 and License

Copyright (c) 2021, Davide Colombo.

EventSocketOutbound source code is licensed under the MIT License.

About

An Elixir FreeSWITCH's Event Socket Outbound

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Elixir 100.0%