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:
- Snoop channels (
Snoop/...) – taps into the real call to capture audio
- 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.
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:Root cause
Satellite uses the Asterisk ARI to create two types of internal channels for each transcribed call:
Snoop/...) – taps into the real call to capture audioUnicastRTP/127.0.0.1:22000-...) – receives audio via local RTP and forwards it to DeepgramSince 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). Thesrcfield is also empty.Identifying fields of these spurious CDR records:
dst = 's'src = ''lastapp = 'Stasis'lastdata = 'satellite'channelstarts withSnoop/orUnicastRTP/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/historyA cleaner long-term fix would be to set
CDR_PROP(disable)=1on satellite-created channels via ARI to prevent them from being written to CDR at all.