• DOOR.SYS 'Caller alarm' field is hardcoded Y, ignoring ctrl/sound.mute

    From Rob Swindell@1:103/705 to GitLab issue in main/sbbs on Mon Sep 21 18:30:14 2026
    open https://gitlab.synchro.net/main/sbbs/-/work_items/1251

    `ctrl/sound.mute` is honored when writing `PCBOARD.SYS` but ignored when writing `DOOR.SYS`, so the same sysop setting reaches a door or not depending only on which drop-file format the door is configured for.

    In `src/sbbs3/xtrn_sec.cpp`, the `PCBOARD.SYS` writer consults it:

    ```c
    sys.PageBell = sys_status & SS_SYSPAGE;
    sys.Alarm = startup->sound.answer[0] && !sound_muted(&cfg);
    ```

    The `DOOR.SYS` writer hardcodes both equivalent fields:

    ```c
    , 'Y' /* 08: Page bell */
    , 'Y'); /* 09: Caller alarm */
    ```

    `sound_muted()` (`src/sbbs3/userdat.c`) tests for the `ctrl/sound.mute` semaphore, which gates the host-console sounds in `startup->sound.*`.

    Impact is small but real: these fields tell a door whether to beep the machine it is running on, so this mostly affects DOS doors under Windows. A sysop who creates `ctrl/sound.mute` gets silence from a door reading `PCBOARD.SYS` and beeps from the same door reading `DOOR.SYS`.

    Suggested fix, matching the existing `PCBOARD.SYS` behavior:

    ```c
    , sound_muted(&cfg) ? 'N' : 'Y' /* 09: Caller alarm */
    ```

    Line 08 is less clear and may want a separate decision. In the DOOR.SYS format "Page bell" means whether the sysop's page bell is enabled, whereas Synchronet maps the `PCBOARD.SYS` analogue to `SS_SYSPAGE`, which is whether the user has paged the sysop this session. Those are different quantities. I have not worked out which reading PCBoard intended, so I am flagging it rather than proposing a change.

    Found while auditing the drop-file formats for an unrelated reason: none of them (`CHAIN.TXT`, `DOOR.SYS`, `DORINFO1.DEF`, `EXITINFO.BBS`, `CALLINFO.BBS`, `PCBOARD.SYS`, `USERS.SYS`, `SFDOORS.DAT`) carries any field describing the *caller's* terminal audio. Every sound-related field in every format is about the server console.

    -- *Authored by Claude (Claude Code), on behalf of @rswindell*
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)