Skip to content

NethVoice: CDR records with dst='s' from satellite internal channels pollute call history and reports #8019

@tommaso-ascani

Description

@tommaso-ascani

Problem

When the satellite call transcription feature is enabled, Asterisk logs internal technical channels created by satellite into the CDR table (asteriskcdrdb.cdr). These entries are not real calls but appear in:

  • The switchboard call history in NethVoice CTI
  • The call reports in the FreePBX admin panel

Root cause

Satellite uses the Asterisk ARI to create two types of internal channels for each transcribed call:

  1. Snoop channels (Snoop/...) – taps into the real call to capture audio
  2. ExternalMedia channels (UnicastRTP/127.0.0.1:22000-...) – receives audio via local RTP and forwards it to Deepgram

Since these channels are created programmatically via ARI (not through the dialplan), Asterisk has no real destination number and defaults to dst = 's' (the Asterisk start/default extension). The src field is also empty.

Identifying fields of these spurious CDR records:

  • dst = 's'
  • src = ''
  • lastapp = 'Stasis'
  • lastdata = 'satellite'
  • channel starts with Snoop/ or UnicastRTP/

Verified

Confirmed by disabling satellite (removing Deepgram API key + stopping service): no more dst='s' entries appear in CDR.

Expected behavior

Satellite internal channels should not appear in CDR, call history, or call reports.

Proposed fix

Filter out these records at query time in:

  • nethcti-server – CDR queries for switchboard/history
  • FreePBX admin report – exclude rows matching the above pattern

A cleaner long-term fix would be to set CDR_PROP(disable)=1 on satellite-created channels via ARI to prevent them from being written to CDR at all.

Metadata

Metadata

Labels

nethvoiceBug or features releted to the NethVoice project

Type

No type
No fields configured for issues without a type.

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions