The following SIP applications provide functionality to originate an announcement as an RTP stream.

This section describes how the announcement audio stream is constructed by combining:

  1. The Announcement ID(s),
  2. The Language Name,
  3. The variable part types and values.

The LhoSipApp also supports “external” announcement-playing by hand-off to an external SRP or similar supported media server, which then becomes responsible for assembling the audio fragments using those input parameters.

Naturally, if that external SRP is the N2SRP as implemented by SrpSipApp then the announcement construction rules described here will again be applicable.

Mapping File & Rules

The announcement mapping configuration may be stored locally on-disk in a JSON format file named mapping.json. Alternatively the announcement mapping configuration and associated files may be stored in a PostgreSQL database accessible to the service node (ideally co-located with the service node n2svcd instance for low latency robust access).

The N2SRP management GUI is responsible for synchronizing the necessary files across the various N2SRP nodes from the main management node. When using file-based storage, this is done using the rsync application. When using database storage, syncing is done using the built-in database replication system.

This JSON file is constructed using the following JSON structure. The file definition also describes the rules for assembling announcements. The mechanism for constructing variable parts is defined separately for each language.