Headless SIP/PBX library built on SIPSorcery. Register, answer, dial, transfer, DTMF, and PCM audio — no GUI softphone.
Coding agents should use the sipbot CLI/daemon (tools/sipbot). The JSON Lines contract, env vars, and flows are in AGENTS.md. Play any PCM/μ-law WAV; sipbot resamples to the negotiated codec (PCMU 8 kHz default, G.722 16 kHz unless --pcmu-only). The registered / status / answered events include an audio object so you do not have to scrape the docs.
tools/LiveCallTest is a low-level register → auto-answer → echo harness. Prefer sipbot serve for automation.
dotnet build SipBotLib.sln -c ReleaseLinux x64 self-contained binary:
dotnet publish tools/sipbot/sipbot.csproj -c Release -r linux-x64 --self-contained true \
-p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true \
-o dist/sipbot-linux-x64
./dist/sipbot-linux-x64/sipbot serve --auto-answerConfigure with SIP_SERVER, SIP_USERNAME, SIP_PASSWORD (env wins over sipsettings.json). See AGENTS.md.
SipClient (inbound Accept/Answer, outbound CallAsync, BlindTransferAsync, DTMF events) plus BaseAudioEndPoint for PCM in/out.
dotnet pack SipBotLib.csproj -c ReleaseTarget: net8.0. License: MIT.
Related consumer: SipBotOpen (submodule). Public SipClient inbound behavior is preserved.