Files
selfphoneng/apps/web/TESTING.md
T
iamdoubz 33d5f1a5f5
ci / check (push) Successful in 1m34s
ci / images (push) Successful in 27s
ci / check (pull_request) Successful in 1m18s
ci / images (pull_request) Successful in 5s
web: answer incoming calls from the browser notification
Owner follow-up to the softphone (spec 05 §5).

- the incoming call notification comes from a service worker
  (public/sw.js) so it carries Answer and Decline buttons (Chromium);
  Answer and a plain click focus the softphone tab, Decline doesn't
- shown whenever the tab isn't focused, not only when it's hidden; kept
  up while it rings and closed once it stops
- the softphone panel says how to allow notifications when they're blocked
2026-10-27 12:35:43 -05:00

6.3 KiB

Browser softphone — manual test (M5-T2)

Run all 12 steps in Chrome and again in Firefox, on the real server behind the reverse proxy (https://<your host>/me). You need: a user with an extension that has the browser softphone on (say 101), a second phone (desk phone or phone app, say 102), and a third extension to transfer to (say 103, any phone). Headphones help with echo.

# Do this Pass when
1 Sign in as the user, click Enable softphone, allow the microphone. Status turns Ready; Admin → Dashboard shows 101 online.
2 Reload the page. It comes back Ready without asking again.
3 Open /me in a second tab. The second tab says Active in another tab. Click Use here: it becomes Ready and the first tab says Active in another tab. Close the second tab and click Use here in the first.
4 Open Keypad, type 102 (also try typing on the keyboard and pressing Enter), call. 102 rings; when answered both sides hear each other; the card shows a running timer.
5 Press Mute, talk, then Unmute. 102 hears nothing while muted, then hears you again.
6 Press Hold, then Resume. 102 hears hold music, then you again; the card says On hold meanwhile.
7 During the call open the call's Keypad and press 1 2 3. If 102 is a voicemail menu or an IVR, it reacts; otherwise call *97 instead and enter your PIN. The tones are recognized.
8 Hang up. From 102 call 101. The Incoming call dialog shows 102's name, the ringtone plays; Answer connects with two-way audio. Hang up from 102: the card goes away.
9 Switch to another tab or app, then have 102 call 101 again (first allow notifications with Notify me of calls). A desktop notification appears; clicking it brings the tab back. In Chrome/Edge, its Answer button answers and brings the tab back, its Decline button declines; it closes by itself if 102 hangs up first. Decline sends 102 to busy/voicemail.
10 While on a call with 102, have 103 call 101. A second, smaller Incoming call card appears (no dialog). Answer puts 102 on hold (hears music) and connects 103. Hang up both.
11 Call 102, Transfer → type 103 → Transfer now. 102 is connected to 103; the browser call ends.
12 Call 102, Transfer → 103 → Talk first; talk to 103; Complete transfer. Repeat with Cancel instead. Complete: 102 and 103 are connected, the browser is out. Cancel: 103's call ends and you're back with 102. Also check Microphone/Speaker selects list your devices and a change takes effect on the next call.

Record the result (browser, version, pass/fail per step) in the PR or issue for M5-T2.