Ng911Lib 2.0.1

dotnet add package Ng911Lib --version 2.0.1
                    
NuGet\Install-Package Ng911Lib -Version 2.0.1
                    
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="Ng911Lib" Version="2.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Ng911Lib" Version="2.0.1" />
                    
Directory.Packages.props
<PackageReference Include="Ng911Lib" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Ng911Lib --version 2.0.1
                    
#r "nuget: Ng911Lib, 2.0.1"
                    
#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.
#:package Ng911Lib@2.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Ng911Lib&version=2.0.1
                    
Install as a Cake Addin
#tool nuget:?package=Ng911Lib&version=2.0.1
                    
Install as a Cake Tool

Introduction

The Ng911Lib project is a class library that provides a set of classes for the data schemas required for implementing Next Generation 9-1-1 (NG9-1-1) applications. This class library provides classes that enable application developers to create, serialize and deserialize JSON and XML documents used in NG9-1-1.

This portable, cross-platform class library is written in the C# language and the library package targets the .NET 9.0 environment. It may be used by applications that target the Windows (version 10 or later) or Linux operating systems.

The following document specifies the design and functional requirements of various functional elements as well as the protocols and interfaces required for those functional elements to communicate with each other.

NENA i3 Standard for Next Generation 9-1-1, National Emergency Number Association (NENA) 911 Core Services Committee, i3 Architecture Working Group, NENA-STA-010.3f-2021, December 17, 2024.

This class library may be used to build many of the NG9-1-1 functional elements described in this standard.

Documentation

The documentation pages project for this project is located at https://phrsite.github.io/Ng911Lib. The documentation web site includes class documentation and articles that explain usage of the classes in this library.

External Dependancies

This project has no external dependencies.

Installation

This class library is available on NuGet.

To install it from the .NET CLI type:

dotnet add package Ng911Lib --version x.x.x

To install using the NuGET Package Manager Command window type:

NuGet\Install-Package Ng911Lib --version x.x.x

Or, you can install it from the Visual Studio GUI.

  1. Right click on the project
  2. Select Manage NuGet Packages
  3. Search for Ng911Lib
  4. Click on Install

Project Structure

ClassLibrary Directory

This directory contains the project files for the Ng911Lib project and the following subdirectories.

Directory Description
AdditionalData Provides classes for working with additional data provided with NG9-1-1 calls. RFC 7852 specifies five components of additional data: Provider Information, Device Information, Service Information, Subscriber Information and Comments. This namespace also provides classes for hangling xCard (the XML format of a vCard) and jCard (the JSON format of a vCard).
AgencyLocator Contains data/model classes required by the server side and the client side of the Agency Locator service specified in Sections 4.15 and E.10 of NENA-STA-010.3b.
BadActor Data/model classes for passing data to the bad actor service of a Border Control Function (BCF)
CertUtils Contains utility classes for building self-signed and signed X.509 certificates that can be used for testing. These classes can build X.509 certificates that include the certificate extensions required for NG9-1-1 systems. See Public Safety Answering Point (PSAP) Credentialing Agency (PCA) Certificate Policy
CommonAlertingProtocol Data/model classes for handling Common Alerting Protocol (CAP) calls as specified in the Common Alerting Protocol Version 1.2 OASIS Standard
ConferenceEvent Data/model classes for the subscribe/notify SIP interface for conference state as specified in RFC 4575 SIP Event Package for Conference State.
DiscrepancyReporting Data/model classes for implementing the client side and the server side of the discrepancy reporting service. These classes can be used by the different functional elements within a NG9-1-1 system. See Sections 3.7 and E.2 of NENA-STA-010.3b.
docs The docs directory contains HTML and other generated files generated by DOCFX and used for the GitHub pages located at https://phrsite.github.io/Ng911Lib.
Documentation This directory contains the DOCFX configuration files, documentation markdown source files and other files required to generate the on-line documentation web pages.
Geocode Classes for the Geocode Conversion Service specified in Sections 4.5.1, 4.5.2 and E.5 of NENA-STA-010.3b.
Held Classes for the HELD protocol as specified in RFC 5985 HTTP-Enabled Location Delivery
HttpUtils Contains utility classes for performing HTTP operations, such as the AsyncHttpRequestor class which is a general purpose HTTP(S) client for NG9-1-1 applications.
I3V3.LogEvents Data/model classes for NG9-1-1 logging as specified in Sections 4.12.3 and E.8 of NENA-STA-010.3b. Also includes the model classes for the log events specified in the NENA EIDO Conveyance Standard (NENA-STA-024.1a-2023)
I3V3.LoggingHelpers Contains helper classes for logging I3V3 log events.
I3SubNot Data/model classes for handling NG9-1-1 SIP Subscribe/Notify event packages such as Element State, Service State, Queue State, etc.
Lost Data/model classes for handling NG9-1-1 SIP Subscribe/Notify event packages such as Element State, Service State, Queue State, etc.
Msag Data/model classes for the Master Street Address Guide (MSAG) conversion service. See Sections 4.4.1 and E.4 of NENA-STA-010.3b.
Ng911Common Data/model classes used by all REST/JSON schemas defined in NENA-STA-010.3b.
NgWebSockets Contains general purpose classes for performing communications using Web Sockets.
Pidf Data/model and utility classes for dealing with location data in NG9-1-1 applications.
PolicyRouting Data/model classes for implemting the NG9-1-1 policy routing rules. See Sections 3.3.3 and E.1 of NENA-STA-010.3b.
PolicyStore Data/model classes for implementing the server side and the client side of the Policy Store Services defined in Sections 3.3.1 and E.1 of NENA-STA-010.3b.
SipRecMetaData Data/model classes for dealing with the meta data XML document used in the SIP Session Recording (SIPREC) protocol. See RFC 7865 Session Initiation Protocol (SIP) Recording Metadata.
TestCall Data/model classes for the NG9-1-1 test call generator interface. See Sections 4.6.18, 4.6.17.1 and E.6 of NENA-STA-010.3b.
Utilities Utility classes for serializing and deserializing JSON and XML documents.
Veds Data/Model classes for the Vehicle Emergency Data Set (VEDS) used in NG9-1-1 Advanced Automatic Crash Notification (AACN) calls. See RFC 8148 Next-Generation Vehicle-Initiated Emergency Calls and Advanced Automatic Collision Notification (AACN) Vehicle Emergency Data Set (VEDS) APCO/NENA Candidate ANS 2.102.1.2022.

Testing Directory

This directory contains the following subdirectory.

Directory Description
Ng911UnitTests xUnit unit test project for the Ng911Lib class library
Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net9.0

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Ng911Lib:

Package Downloads
Ng911CadIfLib

A .NET cross-platform class library that implements the EIDO Conveyance Web Sockets server interface between a PSAP CHFE and CAD systems

SipRecClient

SIP Recording (SIPREC) client .NET class library for NG9-1-1 applications

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.1 243 9/29/2025
2.0.0 271 9/4/2025
1.1.0 297 2/26/2025
1.0.3 334 6/29/2023
1.0.2 251 6/9/2023
1.0.1 257 5/8/2023
1.0.0 280 4/9/2023

2.0.1 - Minor additions to the Ng911CertUtils namespace . See VersionHistory.md.