Skip to content

Diameter

Diameter peers are the HSSs, SLFs, PCRFs, DRAs, SMSCs, MMEs and SMSFs Ella IMS connects to. Routes set the realm the requests of each routed application go to.

Get the Diameter Identity

This path returns the Diameter identity of the IMS, derived from the operator settings.

Method Path
GET /api/v1/diameter

Response Fields

Field Type Description
host string Origin-Host of the IMS.
realm string Origin-Realm of the IMS.

Sample Response

{
    "result": {
        "host": "ims.ims.mnc001.mcc001.3gppnetwork.org",
        "realm": "ims.mnc001.mcc001.3gppnetwork.org"
    }
}

List Diameter Peers

This path returns the list of Diameter peers, in the order they were created in.

Method Path
GET /api/v1/diameter/peers

Response Fields

Field Type Description
id string Peer identifier, a UUIDv7.
host string DiameterIdentity of the peer, which must match the Origin-Host of its capabilities exchange. Empty takes the Origin-Host the peer gives.
address string IPv4 or IPv6 address of the peer.
port int Port of the peer.
transport string tcp or sctp.
applications array Applications the peer serves: cx for an HSS or an SLF, and sh and s6c for its IP-SM-GW functions; rx for a PCRF or a DRA; sgd for an SMSC, an MME or an SMSF.
priority int Requests try the peers serving their application by priority, lowest first, and share them between peers of the same priority. SMSCs of the same service centre are tried by priority.
service_centres array Service centre addresses of an SMSC, E.164 numbers without +. Absent if none.
status object Connection to the peer.
status.state string down, connecting, open, suspect, reopen or closing. down until the IMS has tried the peer.
status.since string Time of the last state change (RFC 3339).
status.remote_address string Remote address of the connection.
status.host string Origin-Host the peer gave in its last capabilities exchange, else the configured host.
status.realm string Origin-Realm the peer gave in its last capabilities exchange.
status.error string Why the last connection to the peer failed.

Sample Response

{
    "result": {
        "items": [
            {
                "id": "01a1796b-90b3-74bc-b148-bdc28999206e",
                "host": "hss.epc.mnc001.mcc001.3gppnetwork.org",
                "address": "127.0.0.1",
                "port": 3869,
                "transport": "tcp",
                "applications": ["cx"],
                "priority": 10,
                "status": {
                    "state": "down",
                    "since": "2026-10-26T18:14:14.963Z",
                    "host": "hss.epc.mnc001.mcc001.3gppnetwork.org",
                    "error": "tcp: dial tcp 127.0.0.1:0->127.0.0.1:3869: connect: connection refused"
                }
            },
            {
                "id": "01a1796b-90bb-7a57-8972-269dab84d5af",
                "host": "",
                "address": "127.0.0.1",
                "port": 3870,
                "transport": "tcp",
                "applications": ["rx"],
                "priority": 10,
                "status": {
                    "state": "down",
                    "since": "2026-10-26T18:14:14.971Z",
                    "error": "tcp: dial tcp 127.0.0.1:0->127.0.0.1:3870: connect: connection refused"
                }
            }
        ]
    }
}

Get a Diameter Peer

This path returns the details of a specific Diameter peer.

Method Path
GET /api/v1/diameter/peers/{id}

Path Parameters

Name Type Description
id string Peer identifier.

Response Codes

Code Description
404 No peer has this identifier.

Sample Response

{
    "result": {
        "id": "01a1796b-90b3-74bc-b148-bdc28999206e",
        "host": "hss.epc.mnc001.mcc001.3gppnetwork.org",
        "address": "127.0.0.1",
        "port": 3869,
        "transport": "tcp",
        "applications": ["cx"],
        "priority": 10,
        "status": {
            "state": "down",
            "since": "2026-10-26T18:14:14.963Z",
            "host": "hss.epc.mnc001.mcc001.3gppnetwork.org",
            "error": "tcp: dial tcp 127.0.0.1:0->127.0.0.1:3869: connect: connection refused"
        }
    }
}

Create a Diameter Peer

This path creates a Diameter peer, which the IMS then connects to.

Method Path
POST /api/v1/diameter/peers

Request Body

Field Type Required Description
host string No Domain name. Unique among peers.
address string Yes Specific IPv4 or IPv6 address.
port int No 1–65535. Default 3868.
transport string No tcp or sctp. Default tcp.
applications array Yes At least one of cx, rx, sh, s6c and sgd, each once.
priority int No 0–65535. Default 10.
service_centres array No E.164 numbers of 1 to 15 digits, without +, each once. Requires sgd in applications and a host.

Response Codes

Code Description
409 Another peer has the same host, or the same address and transport without a host.

Sample Request

{
    "host": "hss.epc.mnc001.mcc001.3gppnetwork.org",
    "address": "127.0.0.1",
    "port": 3869,
    "transport": "tcp",
    "applications": ["cx"],
    "priority": 10
}

Sample Response

{
    "result": {
        "id": "01a1796b-90b3-74bc-b148-bdc28999206e",
        "host": "hss.epc.mnc001.mcc001.3gppnetwork.org",
        "address": "127.0.0.1",
        "port": 3869,
        "transport": "tcp",
        "applications": ["cx"],
        "priority": 10,
        "status": {
            "state": "down"
        }
    }
}

Update a Diameter Peer

This path replaces a Diameter peer, which the IMS then reconnects to. The request body is that of Create a Diameter Peer.

Method Path
PUT /api/v1/diameter/peers/{id}

Path Parameters

Name Type Description
id string Peer identifier.

Response Codes

Code Description
404 No peer has this identifier.
409 Another peer has the same host, or the same address and transport without a host; or the policy interface is rx and no other peer serves rx.

Sample Request

{
    "host": "hss.epc.mnc001.mcc001.3gppnetwork.org",
    "address": "127.0.0.1",
    "port": 3869,
    "transport": "tcp",
    "applications": ["cx"],
    "priority": 5
}

Sample Response

{
    "result": {
        "id": "01a1796b-90b3-74bc-b148-bdc28999206e",
        "host": "hss.epc.mnc001.mcc001.3gppnetwork.org",
        "address": "127.0.0.1",
        "port": 3869,
        "transport": "tcp",
        "applications": ["cx"],
        "priority": 5,
        "status": {
            "state": "down",
            "since": "2026-10-26T18:14:14.963Z",
            "host": "hss.epc.mnc001.mcc001.3gppnetwork.org",
            "error": "tcp: dial tcp 127.0.0.1:0->127.0.0.1:3869: connect: connection refused"
        }
    }
}

Delete a Diameter Peer

This path deletes a Diameter peer.

Method Path
DELETE /api/v1/diameter/peers/{id}

Path Parameters

Name Type Description
id string Peer identifier.

Response Codes

Code Description
404 No peer has this identifier.
409 The policy interface is rx and no other peer serves rx.

Sample Response

{
    "result": {
        "message": "Diameter peer deleted"
    }
}

List Diameter Routes

This path returns the route of each routed application: cx, rx, sh, then s6c.

Method Path
GET /api/v1/diameter/routes

Response Fields

Field Type Description
application string cx, rx, sh or s6c.
realm string Configured realm: of the HSS for cx, sh and s6c, of the PCRF for rx. Empty if not set.
destination_realm string Destination-Realm of the requests. If realm is empty: the cx realm for sh and s6c, the home domain otherwise.
peers array Peers serving the application, in the order requests try them, each with its id, host, priority and status.

Sample Response

{
    "result": {
        "items": [
            {
                "application": "cx",
                "realm": "epc.mnc001.mcc001.3gppnetwork.org",
                "destination_realm": "epc.mnc001.mcc001.3gppnetwork.org",
                "peers": [
                    {
                        "id": "01a1796b-90b3-74bc-b148-bdc28999206e",
                        "host": "hss.epc.mnc001.mcc001.3gppnetwork.org",
                        "priority": 5,
                        "status": {
                            "state": "down",
                            "since": "2026-10-26T18:14:21.052Z",
                            "host": "hss.epc.mnc001.mcc001.3gppnetwork.org",
                            "error": "tcp: dial tcp 127.0.0.1:0->127.0.0.1:3869: connect: connection refused"
                        }
                    }
                ]
            },
            {
                "application": "rx",
                "realm": "",
                "destination_realm": "ims.mnc001.mcc001.3gppnetwork.org",
                "peers": [
                    {
                        "id": "01a1796b-90bb-7a57-8972-269dab84d5af",
                        "host": "",
                        "priority": 10,
                        "status": {
                            "state": "down",
                            "since": "2026-10-26T18:14:14.971Z",
                            "error": "tcp: dial tcp 127.0.0.1:0->127.0.0.1:3870: connect: connection refused"
                        }
                    }
                ]
            }
        ]
    }
}

Get a Diameter Route

This path returns the route of an application.

Method Path
GET /api/v1/diameter/routes/{application}

Path Parameters

Name Type Description
application string cx, rx, sh or s6c.

Response Codes

Code Description
404 The application is not routed.

Sample Response

{
    "result": {
        "application": "rx",
        "realm": "",
        "destination_realm": "ims.mnc001.mcc001.3gppnetwork.org",
        "peers": [
            {
                "id": "01a1796b-90bb-7a57-8972-269dab84d5af",
                "host": "",
                "priority": 10,
                "status": {
                    "state": "down",
                    "since": "2026-10-26T18:14:14.971Z",
                    "error": "tcp: dial tcp 127.0.0.1:0->127.0.0.1:3870: connect: connection refused"
                }
            }
        ]
    }
}

Update a Diameter Route

This path sets the realm of an application's requests. The next request goes to the new realm.

Method Path
PUT /api/v1/diameter/routes/{application}

Path Parameters

Name Type Description
application string cx, rx, sh or s6c.

Request Body

Field Type Required Description
realm string No Domain name. Absent or empty restores the default.

Response Codes

Code Description
404 The application is not routed.

Sample Request

{
    "realm": "epc.mnc001.mcc001.3gppnetwork.org"
}

Sample Response

{
    "result": {
        "application": "cx",
        "realm": "epc.mnc001.mcc001.3gppnetwork.org",
        "destination_realm": "epc.mnc001.mcc001.3gppnetwork.org",
        "peers": [
            {
                "id": "01a1796b-90b3-74bc-b148-bdc28999206e",
                "host": "hss.epc.mnc001.mcc001.3gppnetwork.org",
                "priority": 10,
                "status": {
                    "state": "down",
                    "since": "2026-10-26T18:14:14.963Z",
                    "host": "hss.epc.mnc001.mcc001.3gppnetwork.org",
                    "error": "tcp: dial tcp 127.0.0.1:0->127.0.0.1:3869: connect: connection refused"
                }
            }
        ]
    }
}