Skip to main content

FrameRelay over E1

FrameRelay-over-E1 Daemon (FRED)

Intro

  • Gateway software to run on on-site E1 connection (see article E1/T1 Interface)
  • Bridges IPv4/IPv6/Ethernet packets between Linux kernel and FrameRelay over E1 (RFC 2427, RFC 2590)
  • Suitable to connect Motorola EBTS (can be used instead of Cisco routers with E1 card installed)
  • Supports FRF.12 (inner and outer) fragmentation for incoming traffic (Frame Relay -> Linux)
  • Implements basic DCE-PVC LMI with support of ITU-T Q.933-A, ANSI T1.617-D, GOF (automatic detection)
  • Acts via TUN/TAP network interfaces (one per DLCI) on Linux side
  • Debian 12 arm64 or amd64, tested on Raspberry Pi CM4, Raspberry Pi 5

Installation

sudo apt install extrepo
sudo extrepo enable osmocom-latest
curl http://packages.tetrapack.online/install/tools/Debian/add-repository.sh | bash
sudo apt install -y osmo-e1d fred

Configuration

Default configuration file is /opt/FRED/default.env

#
# Parameters for FRED binary
#

# E1D interface and line in format <interface number>.<line number>
FRED_LINE=0.0

# E1 slot list in format <first slot>-<last slot>
FRED_SLOT_LIST=1-31

# FrameRelay feature list in format <option>[,...]
# FRF.12-OUTER - outer frame sequence counting and fragmentation (incoming frames only supported)
FRED_FEATURE_LIST=

# DLCI list in format <DLCI>:<type>[,...]
# LMI-DCE-PVC
# IP  - IP bridge (RFC 2427 for IPv4, RFC 2590 for IPv6)
# ETH - Ethernet bridge (RFC 2427)
FRED_DLCI_LIST=0:LMI-DCE-PVC,16:IP,17:IP

# Path to configuration script to manage IP interface configuration on up and down
FRED_SCRIPT=./dimetra-hook.sh

#
# Parameters for dimetra-hook.sh
#

# Zone ID
DIMETRA_ZONE=1

# Local Site ID
DIMETRA_SITE=12

# FrameRelay DLCIs
DIMETRA_DLCI_PRIMARY=16
DIMETRA_DLCI_SECONDARY=17

# When set, routes will be added to FRR's OSPF prefix list
FRR_PREFIX_LIST=dimetra

Use with Dimetra

FRED package includes prepared scripts to establish connection between EBTS and Dimetra MPVPN network. 

sudo /opt/FRED/dimetra-setup.sh

Best settings for EBTS TSC will be:

Multiple instances

You can have several separated systems connected to a local Linux system. For such case you need to have several .env files for each configuration. use sudo ./setup.sh install to register all instances.

Also it's possible to run FRED in command line - sudo ./run.sh <configuration.env>