[
 %% ===========================================
 %% Application config
 %% ===========================================
 {osmo_epdg,
  [% GSUP Server connection parameters
   {gsup_local_ip, "172.18.10.20"},
   {gsup_local_port, 4222},
   % Diameter Connection parameters
   {dia_swx_remote_ip, "172.18.10.103"},
   {dia_swx_remote_port, 3868},
   {dia_swx_proto, sctp},
   {dia_swx_connect_timer, 200},
   {dia_swx_watchdog_timer, 6000},
   {dia_swx_watchdog_config,
    [{okay, 1},
     {suspect, 1}]},
   {dia_swx_vendor_id, 0},
   {dia_swx_origin_host, "epdg.localdomain"},
   {dia_swx_origin_realm, "localdomain"},
   {dia_swx_context_id, "epdg@localdomain"},
   % Diameter s6b Connection parameters
   {dia_s6b_local_ip, "172.18.10.20"},
   {dia_s6b_local_port, 3869},
   {dia_s6b_proto, sctp},
   {dia_s6b_connect_timer, 200},
   {dia_s6b_watchdog_timer, 6000},
   {dia_s6b_watchdog_config,
   [{okay, 1},
    {suspect, 1}]},
   {dia_s6b_vendor_id, 0},
   {dia_s6b_origin_host, "aaa.localdomain"},
   {dia_s6b_origin_realm, "localdomain"},
   {dia_s6b_context_id, "aaa@localdomain"},
   % GTPv2C Connection parameters
   {gtpc_local_ip, "172.18.10.20"},
   {gtpc_local_port, 2123},
   {gtpc_remote_ip, "172.18.10.103"},
   {gtpc_remote_port, 2123}
  ]
 },
 %% ===========================================
 %% gtp_u_kmod config
 %% ===========================================
  {gtp_u_kmod, [
    {sockets, [{gtp0, [%% ip: IP Address assigned at the tunnel:
                       {ip, {172,18,10,20}},
                       %% Allow binding to an IP address that is nonlocal or does not (yet) exist (IP_FREEBIND):
                       freebind,
                       % Create gtp tundev with role SGSN:
                       {role, sgsn}
                     ]
              }]
    }
  ]},
 %% ===========================================
 %% gen_socket config
 %% ===========================================
 {gen_socket, [
  {libdir, "/tmp/osmo-epdg/_build/default/lib/gen_socket/priv/lib"}
]},
 %% ===========================================
 %% Lager logging config
 %% ===========================================
  {lager, [
    {log_root, "/data/"},
    {colored, true},
    {handlers,
      [{lager_console_backend, [{level, debug}]},
      {lager_file_backend,
        [{file, "console.log"}, {level, debug}, {size, 104857600}, {date, "$D0"}, {count, 10}]},
      {lager_file_backend,
        [{file, "error.log"}, {level, error}, {size, 104857600}, {date, "$D0"}, {count, 10}]}]},
    {crash_log, "crash.log"},
    {crash_log_msg_size, 65536},
    {crash_log_size, 104857600},
    {crash_log_date, "$D0"},
    {crash_log_count, 10},
    {error_logger_redirect, true}
  ]},
  {kernel, [
   {logger, [{handler, debug, logger_std_h,  % {handler, HandlerId, Module,
              #{config => #{file => "/data/erlang.log"}}
            }]
    }
  ]}
].
