#
# logger:
#
#  o Set OGS_LOG_INFO to all domain level
#   - If `level` is omitted, the default level is OGS_LOG_INFO)
#   - If `domain` is omitted, the all domain level is set from 'level'
#    (Nothing is needed)
#
#  o Set OGS_LOG_ERROR to all domain level
#   - `level` can be set with none, fatal, error, warn, info, debug, trace
#    level: error
#
#  o Set OGS_LOG_DEBUG to mme/emm domain level
#    level: debug
#    domain: mme,emm
#
#  o Set OGS_LOG_TRACE to all domain level
#    level: trace
#    domain: core,pfcp,gtp,sgwu,event,tlv,mem,sock
#
logger:
    file: ${sgwu.log_filename}
    level: debug

#
# sgwu:
#
#  <PFCP Server>
#
#  o PFCP Server(127.0.0.6:8805, ::1:8805)
#    pfcp:
#      - addr: 127.0.0.6
#      - addr: ::1
#
#  o PFCP-U Server(127.0.0.1:2152, [::1]:2152)
#    pfcp:
#      - name: localhost
#
#  <GTP-U Server>
#
#  o GTP-U Server(127.0.0.6:2152, [::1]:2152)
#    gtpu:
#      - addr: 127.0.0.6
#      - addr: ::1
#
#  o GTP-U Server(127.0.0.1:2152, [::1]:2152)
#    gtpu:
#      - name: localhost
#
sgwu:
    pfcp:
      - addr: ${epc.addr_sgwu}
    gtpu:
      - addr: ${epc.run_addr}
        port: 2152

#
# sgwc:
#
#  <PFCP Client>>
#
#  o PFCP Client(127.0.0.6:8805)
#
#    pfcp:
#      addr: 127.0.0.6
#
sgwc:
    pfcp:
      - addr: ${epc.addr_sgwc}

#
# parameter:
#
#  o Number of output streams per SCTP associations.
#      sctp_streams: 30
#
#  o Disable use of IPv4 addresses (only IPv6)
#      no_ipv4: true
#
#  o Disable use of IPv6 addresses (only IPv4)
#      no_ipv6: true
#
#  o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
#      prefer_ipv4: true
#
#  o Enable Multicast traffic to the UE
#      multicast: true
#
#  o Disable Stateless Address Autoconfiguration for IPv6
#      no_slaac: true
#
parameter:

#
# max:
#
# o Maximum Number of UE per AMF/MME
#    ue: 1024
# o Maximum Number of gNB/eNB per AMF/MME
#    gnb: 32
#
max:

#
# pool:
#
# o The default memory pool size was set assuming 1024 UEs.
#   To connect more UEs, you need to increase the size further.
#
#   - Pool-size 128         => 65536 Number
#   - Pool-size 256         => 16384 Number
#   - Pool-size 512         => 4096 Number
#   - Pool-size 1024        => 1024 Number
#   - Pool-size 2048        => 512 Number
#   - Pool-size 8192        => 128 Number
#   - Pool-size 1024*1024   => 8 Number
#
#    128:  65536
#    256:  16384
#    512:  4096
#    1024: 1024
#    2048: 512
#    8192: 128
#    big:  8
#
pool:

#
# time:
#
#  o Message Wait Duration (Default : 10,000 ms = 10 seconds)
#
#  o Message Wait Duration (3000 ms)
#    message:
#        duration: 3000
time:
