{
  "id": "baresip",
  "name": "Baresip",
  "homepage": "https://github.com/baresip/baresip",
  "description": "A portable and modular SIP User-Agent with audio and video support.",
  "executables": [
    "baresip"
  ],
  "dotfiles": {
    "paths": [
      "~/.baresip/config",
      "~/.baresip/contacts"
    ],
    "secret": [
      "~/.baresip/accounts"
    ]
  },
  "commands": {
    "format": 1,
    "label": "Start Baresip",
    "description": "Start the SIP user agent with an optional config directory, commands to execute and SIP trace. Module loading, network interface and UA parameters are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": false,
      "short_attached": false,
      "short_bundles": false
    },
    "source": [
      {
        "id": "man",
        "kind": "manual",
        "url": "https://manpages.debian.org/unstable/baresip-core/baresip.1.en.html",
        "revision": "debian unstable 2026-10-27",
        "evidence": "-4\nForce IPv4 only\n-6\nForce IPv6 only\n-d\nDaemon\n-e <commands>\nExecute commands (repeat)\n-f <path>\nConfig path\n-s\nEnable SIP trace\n-t <sec>\nQuit after <sec> seconds\n-v\nVerbose debug\n"
      }
    ],
    "field": [
      {
        "id": "config_path",
        "label": "Config directory",
        "description": "Defaults to ~/.baresip.",
        "type": "path",
        "option": [
          "-f"
        ],
        "path": {
          "kind": "directory",
          "role": "input",
          "must_exist": true
        },
        "sources": [
          "man"
        ]
      },
      {
        "id": "ipv4",
        "label": "IPv4 only",
        "type": "boolean",
        "option": [
          "-4"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "ipv6",
        "label": "IPv6 only",
        "type": "boolean",
        "option": [
          "-6"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "daemon",
        "label": "Run as daemon",
        "type": "boolean",
        "option": [
          "-d"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "commands",
        "label": "Commands to execute",
        "description": "Repeatable; each value is one baresip command.",
        "type": "string",
        "option": [
          "-e"
        ],
        "multiple": true,
        "sources": [
          "man"
        ]
      },
      {
        "id": "sip_trace",
        "label": "SIP trace",
        "type": "boolean",
        "option": [
          "-s"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "quit_after",
        "label": "Quit after (seconds)",
        "type": "integer",
        "option": [
          "-t"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "verbose",
        "label": "Verbose debug",
        "type": "boolean",
        "option": [
          "-v"
        ],
        "sources": [
          "man"
        ]
      }
    ],
    "task": [
      {
        "id": "start",
        "label": "Start",
        "fields": [
          "config_path",
          "verbose"
        ],
        "required": []
      },
      {
        "id": "debug",
        "label": "Start with SIP trace",
        "fields": [
          "config_path",
          "sip_trace",
          "verbose"
        ],
        "required": [],
        "set": {
          "sip_trace": [
            true
          ],
          "verbose": [
            true
          ]
        }
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "config_path",
          "commands",
          "verbose"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "ipv4",
          "ipv6",
          "daemon",
          "sip_trace",
          "quit_after"
        ]
      }
    ]
  }
}
