Install from NuGet
CalloraVoipSdk targets net8.0, net9.0 and net10.0. The core SDK and the platform audio backends ship as separate packages so you only pull in what you need.
Packages
| Package | Purpose |
|---|---|
CalloraVoipSdk |
Recommended entry point — meta-package that pulls in the VoipClient facade (CalloraVoipSdk.Client) and shared audio abstractions |
CalloraVoipSdk.Core |
SIP/RTP/SRTP/SDP stack and the media pipeline (pulled in transitively) |
CalloraVoipSdk.Client |
The public VoipClient facade (if you prefer to reference it directly) |
CalloraVoipSdk.Audio.Linux |
ALSA/PulseAudio device backend for Linux |
CalloraVoipSdk.Audio.Windows |
WASAPI device backend for Windows |
dotnet add package CalloraVoipSdk
# plus the audio backend for your host OS:
dotnet add package CalloraVoipSdk.Audio.Linux
# or
dotnet add package CalloraVoipSdk.Audio.Windows
You can run headless without an audio backend — media then flows through frame receivers/senders (see the Media tap guide) or a silence device.
First VoipClient
The client is the single entry point. Construct it with an optional
VoipConfiguration and dispose it when you shut down.
using CalloraVoipSdk.Client;
using var client = new VoipClient(new VoipConfiguration
{
LoggerFactory = loggerFactory, // optional; wire your ILoggerFactory for diagnostics
UserAgent = "MySoftphone/1.0"
});
SrtpPolicy defaults to Optional — the SDK answers and offers SRTP when the peer
supports it and falls back to plain RTP otherwise. See
SRTP/SRTCP to require or disable encryption.