Go to file
Pau Espin f199ae0c7f epdg_ue_fsm: Properly define type of field in record
Change-Id: I0d1c91be2fadbcfecef8ca5aaf6df07b98a834f2
2024-03-18 17:24:43 +01:00
config Implement RTR Deregistration-Reason PERMANENT_TERMINATION 2024-03-14 17:04:48 +01:00
contrib jenkins.sh: use available Makefile, clean before building 2024-03-13 20:12:55 +01:00
debian debian: Fixes in systemd service 2024-02-21 15:36:20 +01:00
dia dia/diameter_3gpp_ts29_273_s6b.dia: Fix missing whitespace 2024-03-15 18:12:08 +01:00
include AAA: Swx: Answer RTR with RTA 2024-03-11 16:58:17 +01:00
src epdg_ue_fsm: Properly define type of field in record 2024-03-18 17:24:43 +01:00
.gitignore Implement UE-initiated Detach 2024-01-24 21:33:26 +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 rebar.config: Update required OTP version 25.2.3 2024-03-13 20:20:39 +01:00
rebar.lock Implement RTR Deregistration-Reason PERMANENT_TERMINATION 2024-03-14 17:04:48 +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().