An implementation of the 3GPP ePDG (Evolved Packet Data Gateway) for VoWiFi https://osmocom.org/projects/osmo-epdg/wiki
Go to file
Pau Espin 67555a7cc4 Import generated code with bug
Change-Id: Ie0a53d8e305ca9b085938373f54cdb22f627832a
2024-03-07 16:43:02 +01:00
config aaa_diameter_swx: Make tx timeout configurable and increase default to 10 seconds 2024-02-28 20:44:27 +01:00
contrib debian: Fixes in systemd service 2024-02-21 15:36:20 +01:00
debian debian: Fixes in systemd service 2024-02-21 15:36:20 +01:00
dia diameter: rfc7155: move Framed-* AVP into a separate file 2024-02-08 15:54:22 +01:00
include Import generated code with bug 2024-03-07 16:43:02 +01:00
src Import generated code with bug 2024-03-07 16:43:02 +01:00
.gitignore Import generated code with bug 2024-03-07 16:43:02 +01:00
.gitreview gitreview: new file 2023-10-05 16:20:02 +00:00
Makefile Makefile: run 'rebar3 clean' upon make clean 2023-10-23 13:11:59 +02:00
README.md README.md: Major update with the usual information 2024-02-22 10:38:39 +01:00
TODO.md Rename s/epdg_diameter_swx/aaa_diameter_swx 2024-01-25 18:04:36 +01:00
rebar.config Update osmo_ss7 to gerrit remote with latest patches 2024-02-28 18:49:22 +01:00
rebar.lock Update osmo_ss7 to gerrit remote with latest patches 2024-02-28 18:49:22 +01:00

README.md

osmo-ePDG

This project is about the implementation of an ePDG (evolved Packet Data Gateway) within the 3GPP EPC (Evolved Packet Core) architecture. It is part of the Osmocom Open Source Mobile Communications project.

The ePDG is what your smartphone talks to when performing so-called VoWiFi calls.

This repostory contains the code implementing the signaling/control plane of the ePDG functionality, together with an embedded AAA server.

osmo-epdg requires the Linux kernel GTP-U as well as a modified strongwan

[UE] <-> [strongswan] <-> [osmo-ePDG] <> [HSS]
                                      <> [PGW]

Homepage

For more information, please see the osmo-epdg homepage and more specifically the osmo-epdg implementation plan

GIT Repository

You can clone from the official osmo-bsc.git repository using

    git clone https://gitea.osmocom.org/erlang/osmo-epdg

There is a web interface at https://gitea.osmocom.org/erlang/osmo-epdg

Documentation

Once the project reaches a usable milestone, we will be working on a user manual. Stay tuned.

Contributing

Our coding standards are described at https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards

We us a gerrit based patch submission/review process for managing contributions. Please see https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for more details

The current patch queue for osmo-bsc can be seen at https://gerrit.osmocom.org/#/q/project:osmo-epdg+status:open

Building

Install erlang and rebar3 packages (not "rebar", that's version 2! You may need to compile it from source in some distros).

$ rebar3 compile
$ rebar3 escriptize

Testing

Unit tests can be run this way:

$ rebar3 eunit

Running

Once osmo_epdg is built, you can start it this way:

$ rebar3 shell

In the erlang shell:

1> osmo_epdg:start().

Configuration

$ rebar3 shell --config ./config/sys.config

1> osmo_epdg:start().