UPSIPP

June 28, 2026 · View on GitHub

Use this template

UPSIPP is a SIP endpoint monitor and status page powered entirely by GitHub Actions, Issues, and Pages — inspired by Upptime, with probes executed by gossipper instead of HTTP pings.

This repository is a GitHub template. To monitor your SIP infrastructure, click Use this template above and create your own repository.

Quick start

  1. Use this template → create a new repository under your account or org.
  2. Follow GETTING_STARTED.md — enable Actions (required), optionally enable GitHub Pages for the status site, run Setup CI, edit upsipp.yml.
  3. Replace the example endpoint with your SIP target; SIP Check CI runs hourly by default (configurable in upsipp.yml).

Live status (your repo)

After Setup CI runs in your generated repository, this README section is updated automatically:

EndpointStatusHistoryResponse timeUptime
Run Setup CI in your repo to populate this table.

How it works

LayerUpptimeUPSIPP
Config.upptimerc.ymlupsipp.yml → generates .upptimerc.yml
ProbeHTTP curlgossipper SIP scenario (OPTIONS default)
History / graphs / siteupptime/uptime-monitorSame (compatible history/*.yml)
IncidentsGitHub IssuesSame
Status pageGitHub PagesSame

Workflows

WorkflowSchedulePurpose
Setup CIOn upsipp.yml change / manualAuto-configure owner/repo, workflow schedules, labels, README, site
SIP Check CIHourly (default)gossipper probes, history, incidents
Response Time CIDailyResponse time samples
Summary CIDailyREADME status table
Graphs CIDailyResponse-time graphs
Static Site CIDaily + config changeGitHub Pages deploy

Configuration

All user configuration lives in upsipp.yml. The template includes commented examples for every supported feature — enable them with enabled: true and set your SIP targets.

Check frequency

workflowSchedule:
  uptime: "0 * * * *" # SIP Check CI — every hour (default)
  # uptime: "*/5 * * * *"   # every 5 minutes (GitHub Actions minimum)

Setup CI applies workflowSchedule to the workflow files. GitHub cron minimum is 5 minutes.

Endpoint features (see upsipp.yml for full examples)

FeatureConfig keys
OPTIONS health checkscenario: options (default, enabled)
Built-in INVITEscenario: uac
Custom XML scenarioscenario: scenarios/example_uac.xml
Digest authauth.user_secret / auth.pass_secret → GitHub Secrets
TLS signalingtransport: l1, tls_skip_verify: true
Health gateshealth.min_success_ratio, max_failed_calls, max_timeouts
Per-endpoint assigneesassignees: [username]
Disable without deletingenabled: false
owner: YOUR_GITHUB_USERNAME # auto-filled by Setup CI
repo: YOUR_REPO_NAME

endpoints:
  - name: Example Trunk — OPTIONS
    enabled: true
    remote: sip.example.com:5060
    scenario: options

See GETTING_STARTED.md for the full setup guide and TEMPLATE.md if you maintain this template source.

Local development

Clone your generated repository, not the template source:

./scripts/validate.sh
./scripts/install-gossipper.sh
./scripts/check.sh update

Maintainers of this template run ./scripts/validate-template.sh before publishing changes.

Attribution

License

MIT — see LICENSE.