---
# System prepended metadata

title: Untitled

---

docker.yaml
```
version: '3.8'

services:
    cassandra:
        image: cassandra:2.1
        container_name: demo-cassandra
        networks:
            private_net:
                ipv4_address: 192.168.68.130
        environment:
            CASSANDRA_CLUSTER_NAME: "OAI HSS Cluster"
            CASSANDRA_ENDPOINT_SNITCH: GossipingPropertyFileSnitch
        healthcheck:
            test: /bin/bash -c "nodetool status"
            interval: 10s
            timeout: 5s
            retries: 5

    db_init:
        image: cassandra:2.1
        container_name: demo-db-init
        depends_on: [cassandra]
        deploy:
            restart_policy:
                condition: on-failure
                max_attempts: 10
        networks:
            private_net:
                ipv4_address: 192.168.68.132
        volumes:
            - ../../component/oai-hss/src/hss_rel14/db/oai_db.cql:/home/oai_db.cql
        entrypoint: /bin/bash -c "cqlsh --file /home/oai_db.cql 192.168.68.130 && echo 'OK'"

    oai_hss:
        image: oai-hss:production
        container_name: demo-oai-hss
        privileged: true
        depends_on: [cassandra]
        networks:
            private_net:
                ipv4_address: 192.168.68.131
            public_net:
                ipv4_address: 192.168.61.130
        environment:
            TZ: Europe/Paris
            REALM: openairinterface.org
            HSS_FQDN: hss.openairinterface.org
            PREFIX: /openair-hss/etc
            cassandra_Server_IP: 192.168.68.130
            OP_KEY: 11111111111111111111111111111111
            LTE_K: 3BA565A6CFEF4BCBC5D697C31B5ECDD1
            APN1: oai.ipv4
            APN2: oai2.ipv4
            FIRST_IMSI: 230770000000001
            NB_USERS: 1
        healthcheck:
            test: /bin/bash -c "pgrep oai_hss"
            interval: 10s
            timeout: 5s
            retries: 5

    redis:
        image: redis:6.0.5
        container_name: demo-redis
        privileged: true
        networks:
            public_net:
                ipv4_address: 192.168.61.148
        volumes:
            - ./redis_extern.conf:/usr/local/etc/redis/redis.conf
        entrypoint: /bin/bash -c "redis-server /usr/local/etc/redis/redis.conf"
        healthcheck:
            test: /bin/bash -c "redis-cli -h 192.168.61.148 -p 6380 ping"
            interval: 10s
            timeout: 5s
            retries: 5

    magma_mme:
        image: magma-mme:master
        container_name: demo-magma-mme
        hostname: mme
        privileged: true
        depends_on: [oai_hss, redis]
        networks:
            public_net:
                ipv4_address: 192.168.61.149
        environment:
            TZ: Europe/Paris
            REALM: openairinterface.org
            PREFIX: /openair-mme/etc
            HSS_HOSTNAME: hss
            HSS_FQDN: hss.openairinterface.org
            HSS_REALM: openairinterface.org
            MME_FQDN: mme.openairinterface.org
            FEATURES: mme_oai
        volumes:
            - ./mme_fd.sprint.conf:/magma-mme/etc/mme_fd.conf.tmplt
            - ./mme.conf:/magma-mme/etc/mme.conf
            - ./mme-cfg.sh:/magma-mme/scripts/mme-cfg.sh
        entrypoint: /bin/bash -c "cd /magma-mme/scripts; ./mme-cfg.sh"
        healthcheck:
            test: /bin/bash -c "pgrep oai_mme"
            interval: 10s
            timeout: 5s
            retries: 5

    oai_spgwc:
        image: oai-spgwc:production
        privileged: true
        depends_on: [magma_mme]
        container_name: demo-oai-spgwc
        networks:
            public_net:
                ipv4_address: 192.168.61.132
        environment:
            TZ: Europe/Paris
            SGW_INTERFACE_NAME_FOR_S11: eth0
            PGW_INTERFACE_NAME_FOR_SX: eth0
            DEFAULT_DNS_IPV4_ADDRESS: 192.168.27.1
            DEFAULT_DNS_SEC_IPV4_ADDRESS: 8.8.4.4
            PUSH_PROTOCOL_OPTION: 'true'
            APN_NI_1: oai.ipv4
            APN_NI_2: oai2.ipv4
            DEFAULT_APN_NI_1: oai.ipv4
            UE_IP_ADDRESS_POOL_1: '12.1.1.2 - 12.1.1.254'
            UE_IP_ADDRESS_POOL_2: '12.0.0.2 - 12.0.0.254'
            MCC: '230'
            MNC: '77'
            MNC03: '077'
            TAC: 1
            GW_ID: 1
            REALM: openairinterface.org
        healthcheck:
            test: /bin/bash -c "pgrep oai_spgwc"
            interval: 10s
            timeout: 5s
            retries: 5

    oai_spgwu:
        image: oai-spgwu-tiny:production
        privileged: true
        container_name: demo-oai-spgwu-tiny
        depends_on: [oai_spgwc]
        networks:
            public_net:
                ipv4_address: 192.168.61.133
        environment:
            TZ: Europe/Paris
            PID_DIRECTORY: /var/run
            INSTANCE: 1
            SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP: eth0
            PGW_INTERFACE_NAME_FOR_SGI: eth0
            SGW_INTERFACE_NAME_FOR_SX: eth0
            SPGWC0_IP_ADDRESS: 192.168.61.132
            NETWORK_UE_IP: '12.1.1.0/24'
            NETWORK_UE_NAT_OPTION: 'yes'
            MCC: '230'
            MNC: '77'
            MNC03: '077'
            TAC: 1
            GW_ID: 1
            REALM: openairinterface.org
        healthcheck:
            test: /bin/bash -c "pgrep oai_spgwu"
            interval: 10s
            timeout: 5s
            retries: 5

    trf_gen:
        image: trf-gen:production
        privileged: true
        container_name: demo-trf-gen
        networks:
            public_net:
                ipv4_address: 192.168.61.139
        entrypoint: /bin/bash -c "ip route add 12.1.1.0/24 via 192.168.61.133 dev eth0; sleep infinity"
        healthcheck:
            test: /bin/bash -c "ping -c 2 192.168.61.133"
            interval: 10s
            timeout: 5s
            retries: 5

networks:
    private_net:
        name: demo-oai-private-net
        ipam:
            config:
                - subnet: 192.168.68.128/26
    public_net:
        name: demo-oai-public-net
        ipam:
            config:
                - subnet: 192.168.61.128/26
```
MME.conf
```
# generated by generate_mme_config_script.py
MME :
{
    REALM                                     = "openairinterface.org"
    PID_DIRECTORY                             = "/var/run";
    MAXENB                                    = 8;                              # power of 2
    MAXUE                                     = 16;                             # power of 2
    RELATIVE_CAPACITY                         = 10;

    EMERGENCY_ATTACH_SUPPORTED                     = "no";
    UNAUTHENTICATED_IMSI_SUPPORTED                 = "no";

    # EPS network feature support
    EPS_NETWORK_FEATURE_SUPPORT_IMS_VOICE_OVER_PS_SESSION_IN_S1      = "no";    # DO NOT CHANGE
    EPS_NETWORK_FEATURE_SUPPORT_EMERGENCY_BEARER_SERVICES_IN_S1_MODE = "no";    # DO NOT CHANGE
    EPS_NETWORK_FEATURE_SUPPORT_LOCATION_SERVICES_VIA_EPC            = "no";    # DO NOT CHANGE
    EPS_NETWORK_FEATURE_SUPPORT_EXTENDED_SERVICE_REQUEST             = "no";    # DO NOT CHANGE

    # Display statistics about whole system (expressed in seconds)
    MME_STATISTIC_TIMER                       = 10;
    IP_CAPABILITY = "IPV4";                                                   # UE PDN_TYPE
    USE_STATELESS = "";

    INTERTASK_INTERFACE :
    {
        # max queue size per task
        ITTI_QUEUE_SIZE            = 2000000;
    };

    S6A :
    {
        S6A_CONF                   = "/magma-mme/etc/mme_fd.conf"; # YOUR MME freeDiameter config file path
        HSS_HOSTNAME               = "hss.openairinterface.org";
        HSS_REALM                  = "openairinterface.org";
    };

    # ------- SCTP definitions
    SCTP :
    {
        # Number of streams to use in input/output
        SCTP_INSTREAMS  = 8;
        SCTP_OUTSTREAMS = 8;
    };

    # ------- S1AP definitions
    S1AP :
    {
        # outcome drop timer value (seconds)
        S1AP_OUTCOME_TIMER = 10;
    };

    # ------- MME served GUMMEIs
    GUMMEI_LIST = (
         { MCC="230" ; MNC="77"; MME_GID="32768" ; MME_CODE="3"; }
    );

    # ------- MME served TAIs
    TAI_LIST = (
         {MCC="230" ; MNC="77";  TAC = "1"; },
         {MCC="230" ; MNC="77";  TAC = "2"; },
         {MCC="230" ; MNC="77";  TAC = "3"; }
    );

    TAC_LIST = (
         {MCC="230" ; MNC="77";  TAC = "1"; }
    );

    CSFB :
    {
        NON_EPS_SERVICE_CONTROL = "OFF";
        CSFB_MCC = "230";
        CSFB_MNC = "77";
        LAC = "1";
    };
    NAS :
    {
        ORDERED_SUPPORTED_INTEGRITY_ALGORITHM_LIST = [ "EIA2" , "EIA1" , "EIA0" ];
        ORDERED_SUPPORTED_CIPHERING_ALGORITHM_LIST = [ "EEA0" , "EEA1" , "EEA2" ];
        T3402                                 =  1                              # in minutes (default is 12 minutes)
        T3412                                 =  54                             # in minutes (default is 54 minutes, network dependent)
        T3422                                 =  6                              # in seconds (default is 6s)
        T3450                                 =  6                              # in seconds (default is 6s)
        T3460                                 =  6                              # in seconds (default is 6s)
        T3470                                 =  6                              # in seconds (default is 6s)
        T3485                                 =  8                              # UNUSED in seconds (default is 8s)
        T3486                                 =  8                              # UNUSED in seconds (default is 8s)
        T3489                                 =  4                              # UNUSED in seconds (default is 4s)
        T3495                                 =  8                              # UNUSED in seconds (default is 8s)
    };

    SGS :
    {
        TS6_1                                 =  10                             # in seconds (default is 10s)
        TS8                                   =  4                              # in seconds (default is 4s)
        TS9                                   =  2                              # in seconds (default is 4s)
        TS10                                   =  4                              # in seconds (default is 4s)
        TS13                                   =  4                              # in seconds (default is 4s)
    };

    NETWORK_INTERFACES :
    {
        MME_INTERFACE_NAME_FOR_S1_MME         = "eth0";
        MME_IPV4_ADDRESS_FOR_S1_MME           = "192.168.61.149/24";
        MME_INTERFACE_NAME_FOR_S11_MME        = "eth0";
        MME_IPV4_ADDRESS_FOR_S11_MME          = "192.168.61.149/24";
        MME_PORT_FOR_S11_MME                  = 2123;
    };

    LOGGING :
    {
        OUTPUT            = "CONSOLE";
        THREAD_SAFE       = "no";
        COLOR             = "no";

        SCTP_LOG_LEVEL     = "ERROR";
        GTPV1U_LOG_LEVEL   = "INFO";
        SPGW_APP_LOG_LEVEL = "INFO";
        UDP_LOG_LEVEL      = "INFO";
        S1AP_LOG_LEVEL     = "DEBUG";
        NAS_LOG_LEVEL      = "INFO";
        MME_APP_LOG_LEVEL  = "DEBUG";
        GTPV2C_LOG_LEVEL   = "INFO";
        S11_LOG_LEVEL      = "DEBUG";
        S6A_LOG_LEVEL      = "DEBUG";
        UTIL_LOG_LEVEL     = "INFO";
        MSC_LOG_LEVEL      = "ERROR";
        ITTI_LOG_LEVEL     = "ERROR";
        MME_SCENARIO_PLAYER_LOG_LEVEL = "ERROR";
        ASN1_VERBOSITY    = "INFO";
    };

    S-GW :
   {
       SGW_IPV4_ADDRESS_FOR_S11              = "192.168.61.132";
   };
};

```