Table of Contents

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.

Next steps