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 }
[[commands.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
Force IPv4 only
-6
Force IPv6 only
-d
Daemon
-e <commands>
Execute commands (repeat)
-f <path>
Config path
-s
Enable SIP trace
-t <sec>
Quit after <sec> seconds
-v
Verbose debug
"""
[[commands.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"]
[[commands.field]]
id = "ipv4"
label = "IPv4 only"
type = "boolean"
option = ["-4"]
sources = ["man"]
[[commands.field]]
id = "ipv6"
label = "IPv6 only"
type = "boolean"
option = ["-6"]
sources = ["man"]
[[commands.field]]
id = "daemon"
label = "Run as daemon"
type = "boolean"
option = ["-d"]
sources = ["man"]
[[commands.field]]
id = "commands"
label = "Commands to execute"
description = "Repeatable; each value is one baresip command."
type = "string"
option = ["-e"]
multiple = true
sources = ["man"]
[[commands.field]]
id = "sip_trace"
label = "SIP trace"
type = "boolean"
option = ["-s"]
sources = ["man"]
[[commands.field]]
id = "quit_after"
label = "Quit after (seconds)"
type = "integer"
option = ["-t"]
sources = ["man"]
[[commands.field]]
id = "verbose"
label = "Verbose debug"
type = "boolean"
option = ["-v"]
sources = ["man"]
[[commands.task]]
id = "start"
label = "Start"
fields = ["config_path", "verbose"]
required = []
[[commands.task]]
id = "debug"
label = "Start with SIP trace"
fields = ["config_path", "sip_trace", "verbose"]
required = []
set = { sip_trace = [true], verbose = [true] }
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["config_path", "commands", "verbose"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["ipv4", "ipv6", "daemon", "sip_trace", "quit_after"]