IctBaden.pjsua 1.5.0

dotnet add package IctBaden.pjsua --version 1.5.0                
NuGet\Install-Package IctBaden.pjsua -Version 1.5.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="IctBaden.pjsua" Version="1.5.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add IctBaden.pjsua --version 1.5.0                
#r "nuget: IctBaden.pjsua, 1.5.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install IctBaden.pjsua as a Cake Addin
#addin nuget:?package=IctBaden.pjsua&version=1.5.0

// Install IctBaden.pjsua as a Cake Tool
#tool nuget:?package=IctBaden.pjsua&version=1.5.0                

IctBaden.pjsua2

.NET wrapper for PJSUA2 (not the first one).

There are several others on nuget:

For more information about the PJSIP project see https://www.pjsip.org/

Motivation

The problem was, only pjsip-pjsua2-cs uses PJSIP version 2.10.1, that is also not the latest. There is no public repository to build that and mailing the owner has not answered.

pjsip-pjsua2-csharp is two years inactive.

So i decided to do it my own, using the help of pjsip-pjsua2-csharp's build-it-yourself documentation (thanks a lot).

What is in the Package

pjsua2.net.dll - .NET Core (netcoreapp3.1) wrapper library
pjsua2.dll - Native Windows x64 PJSUA2 library including SWIG generated C# wrappers

Extensions

The pjsua2.net.dll includes two additional static classes:

    public static class PjsipInfo
    {
        // Get included PJSIP version
        public static string GetVersionInfo();
    }
    
    public static class PjsipExt
    {
        // Enable the pj-media-neg extension
        public static int EnableTelephoneEventNegotiationExtension();
    }

Mor information for pj-media-neg...

Roadmap

April 2021

  • automate build to support latest PJSIP release     ✓
  • build nuget package     ✓
  • support Windows (>= 7, x64)     ✓

June 2021

  • support Linux (Ubuntu >= 18.04, x64)     ✓

October 2023

  • NET 6.0
  • Updated to PJSIP version 2.13-dev

March 2024

  • C#12, NET 8.0
  • Updated to PJSIP version 2.14-dev

October 2024

  • Audio stream capture added

Further plans:

  • support RaspberryPi (Linux ARM)     ⌛

Enable Logging

Set PJ_LOG_MAX_LEVEL to desired value in site_config.h

For example:

#   define PJ_LOG_MAX_LEVEL			5

License

The code in this repository is under MIT license.

The code in PJSIP (not included here) is under General Public License (GPL) version 2.
For more information see: https://www.pjsip.org/licensing.htm

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on IctBaden.pjsua:

Package Downloads
IctBaden.VoIP

Voice over IP library

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.5.0 104 10/12/2024
1.4.1 145 7/10/2024
1.4.0 100 7/10/2024
1.3.0 427 3/30/2024
1.2.3 871 10/17/2023
1.2.2 134 10/17/2023
1.2.0 261 10/13/2023
1.1.0 635 6/23/2021
1.0.1 337 5/3/2021
1.0.0 299 4/13/2021
0.2.0 384 4/12/2021 0.2.0 is deprecated.

Stable