sync: auto-sync from GURU-5070 at 2026-06-22 09:44:14

Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-22 09:44:14
This commit is contained in:
2026-06-22 09:45:01 -07:00
parent d1d1302d55
commit 1dbefd5457
3 changed files with 30 additions and 0 deletions

View File

@@ -141,6 +141,7 @@
- [Radio show co-host — Tara, not Tom](radio_show_no_cohost_named_tom.md) — Co-host in 2014-s6e19 and 2016-s8e43 is Tara. "Tom" was hallucinated; rename complete.
- [Proposal: centralize config in identity.json](proposal_identity_centralization.md) — Rationale for the identity.json machine-config centralization (claudetools_root, ollama/python); now implemented.
- [ACG MSP tool stack](reference_acg_msp_stack.md) — ScreenConnect/CW Control, Splashtop, Syncro, Datto RMM, Datto EDR/AV, GuruRMM are ACG's OWN tools; do not flag as foreign/threat on managed machines (Defender-off is expected when Datto AV is active).
- [VoIP vendor stack: PacketDial / OIT / NetSapiens / YMCS](reference_packetdial_oit_netsapiens.md) — PacketDial = ACG's VoIP-dept brand (pbx.packetdial.com, the `packetdial` skill); NetSapiens = the PBX platform (API v2); OIT/OITVOIP = white-label wholesaler running NetSapiens (api.ucaasnetwork.com); reseller `91912.service`. YMCS (Yealink) = phone device-mgmt, pairs with the PBX.
- [ACG Website Hosting](project_azcomputerguru_hosting.md) — azcomputerguru.com is hosted on IX Web Hosting via cPanel.
- [jq on Windows emits CRLF](feedback_jq_crlf_windows.md) — winget jq outputs CRLF; trailing \r silently breaks `for x in $(jq ...)` loops + read-from-@tsv. Override `jq(){ command jq "$@"|tr -d '\r'; }`. Windows-build-specific (passes on Mac/Linux).
- [ScreenConnect RESTful API auth](reference_screenconnect_api.md) — CTRLAuthHeader = raw api_secret (no Basic/b64) + Origin header; now wrapped by the /screenconnect skill. Verified surface: GetSessionsByName/GetSessionDetails + writes SendCommand/SendMessage/UpdateCustomProperties + parameterized self-tagging installer. Still NO full-fleet inventory method (GetSessions missing).

View File

@@ -0,0 +1,27 @@
---
name: reference_packetdial_oit_netsapiens
description: VoIP vendor stack — PacketDial = ACG's VoIP department/brand; runs on NetSapiens (the PBX platform) supplied by OIT/OITVOIP (white-label wholesaler). YMCS = Yealink device mgmt.
metadata:
type: reference
---
ACG's VoIP vendor stack, top to bottom (don't conflate these):
- **PacketDial** = ACG's own **VoIP department / customer-facing brand**. `pbx.packetdial.com` is
the ACG-branded host. The `packetdial` skill is ACG's VoIP-management tool — keep it named
`packetdial` (ACG's brand) even though it speaks the NetSapiens API.
- **NetSapiens** = the underlying **PBX/UCaaS software platform** (open API v2, v44.4.10). What the
skill actually talks to.
- **OIT / OITVOIP** = the **white-label wholesale provider** that runs NetSapiens and resells it to
MSPs; ACG buys VoIP wholesale from OIT. `api.ucaasnetwork.com` is the OIT/NetSapiens host (same
platform as `pbx.packetdial.com`, different white-label hostname). Reseller territory
`91912.service` is ACG's account on OIT's platform; the reseller API key is vaulted at
`msp-tools/oitvoip.sops.yaml` (key-id `nsr_hSGUB5Wo`).
- **YMCS (Yealink Management Cloud Service)** = separate Yealink **device-management** cloud for the
physical phones (`us-api.ymcs.yealink.com`); pairs with the PBX (phones register to
pbx.packetdial.com). API creds `services/yealink-ymcs.sops.yaml`; portal login
`infrastructure/voip-phones.sops.yaml`.
One line: customer-facing brand = **PacketDial (ACG)**; platform = **NetSapiens**; wholesaler =
**OIT/OITVOIP**; phone device-mgmt = **YMCS (Yealink)**.
Related: [[reference_resource_map]]

View File

@@ -17,6 +17,8 @@ Categories (the `[type]` tag): _(none)_ = skill/command execution failure ·
<!-- Append entries below this line -->
2026-06-22 | GURU-5070 | packetdial/vendor-model | [correction] conflated PacketDial/NetSapiens/OIT; correct: PacketDial = ACG's VoIP-dept brand, NetSapiens = the PBX platform, OIT/OITVOIP = white-label wholesaler running NetSapiens (api.ucaasnetwork.com)
2026-06-22 | GURU-5070 | packetdial | HTTP 400 DELETE https://pbx.packetdial.com/ns-api/v2/domains/arizonacomputerguru/number-filters: {"code":400,"message":"The default answering rule cannot be deleted."} [ctx: cmd=unblock-numbers]
2026-06-22 | GURU-5070 | packetdial | HTTP 400 DELETE https://pbx.packetdial.com/ns-api/v2/domains/arizonacomputerguru/number-filters: {"code":400,"message":"The default answering rule cannot be deleted."} [ctx: cmd=unblock-numbers]