Thanks for your interest. Connectors for additional 5G cores are the most valuable contribution you can make — they are what turn a working bridge into a portable one.
This project uses the Developer Certificate of Origin rather than a contributor licence agreement. Sign off every commit:
git commit -s -m "connectors/open5gs: initial policy backend"The sign-off certifies that you wrote the contribution, or have the right to submit it under the project's licence. Contributions are accepted under Apache-2.0.
Add the SPDX header to new files:
// SPDX-FileCopyrightText: 2026 <copyright holder>
// SPDX-License-Identifier: Apache-2.0gofmt -l . # must print nothing
go vet ./...
go test ./...The tree builds against the standard library only, offline. Please keep it that way: a dependency has to earn its place, and none has so far.
- Create
connectors/<core>/implementingapi.CoreConnector. - Declare
Capabilities()honestly — the platform adapts to what a core supports. Claiming a capability you do not have produces confusing runtime failures rather than a clean fallback. - Put core-specific constants in
dialects/<core>.json, not in code. - Add tests against a fake core using
httptest; seeconnectors/sdcore/connector_test.go. - Register the connector in
cmd/setu/main.go.
Comments explain why, not what. Cite the specification clause when behaviour follows one, and note gotchas that would otherwise cost someone an afternoon. Skip comments that restate the code.
Include the SETU version, the core and IMS software in use, the relevant configuration with secrets removed, and log excerpts around the failure. Wire-level traces help enormously.
For security issues, follow SECURITY.md instead of opening an issue.