voicemail: mailbox config, voicemail on no-answer/busy, *97/*98, MWI

Generate voicemail_selfphoneng.conf (03 §7) with one mailbox per extension
that has voicemail on, turn on ARG3 in sp-sub-user, and add *97/*98 to
sp-featurecodes (which replaces the pending placeholder). Endpoints with a
mailbox get mwi_subscribe_replaces_unsolicited so phones that SUBSCRIBE for
MWI aren't refused with a 500. A new test:asterisk check leaves a message,
sees MWI on a baresip phone, plays it with *97 and sees MWI turn off.

Task: M4-T1
This commit is contained in:
iamdoubz committed 2026-10-17 22:21:53 -05:00
1 parent 1e50d12c6e
commit 0d29131d18
31 files changed
+588 -48

No files matched your search

+2 -2
View File
@@ -13,10 +13,10 @@ import { loadSnapshot, type Snapshot } from './load.ts';
import { renderPjsip, renderRtp, renderTransports } from './pjsip.ts';
import { STATIC_DIALPLAN } from './dialplan/static.ts';
import { renderGlobals, renderLocalNumbers } from './dialplan/local.ts';
import { PENDING_CONTEXTS } from './dialplan/pending.ts';
import { renderDids, renderTrunkEntries } from './dialplan/inbound.ts';
import { renderOutbound } from './dialplan/outbound.ts';
import { renderEmergency } from './dialplan/emergency.ts';
import { renderVoicemail } from './voicemail.ts';
export { renderTransports };
@@ -43,6 +43,7 @@ const BODIES: Partial<Record<GeneratedFileName, (snap: Snapshot) => string>> = {
'pjsip_selfphoneng.conf': renderPjsip,
'rtp_selfphoneng.conf': renderRtp,
'extensions_globals_selfphoneng.conf': renderGlobals,
'voicemail_selfphoneng.conf': renderVoicemail,
'extensions_selfphoneng.conf': (snap) =>
[
STATIC_DIALPLAN,
@@ -51,7 +52,6 @@ const BODIES: Partial<Record<GeneratedFileName, (snap: Snapshot) => string>> = {
renderDids(snap),
renderOutbound(snap),
renderEmergency(snap),
PENDING_CONTEXTS,
]
.filter(Boolean)
.join('\n'),