## User
- **User:** Mike Swanson (mike)
- **Machine:** GURU-5070
- **Role:** admin

## Session Summary

Read the NetSapiens white-label VoIP onboarding best-practices guide (voipdocs.io/onboarding-recommendations) and the ns-api `GET /ns-api/v2/version` reference, then produced two onboarding checklist documents for the OIT/PacketDial VoIP work.

Reviewed the existing Valley Wide Plastering (VWP) VoIP provisioning docs under `clients/valleywide/voip/` (README, PROVISIONING-STATUS, COMPLETE-CLIENT-SETUP) to capture actual project state before writing. Created a VWP-specific onboarding checklist mapping the NetSapiens 17-step onboarding flow to VWP's real status: user roster/domain/E911/RPS-fix done; user CSV upload is the immediate next step; DID routing, auto-attendant/queue build, and per-phone hardware handout are mid-flight; and the billing/porting-side steps (payment authorization, port application, orientation call) flagged for verification since they are account/sales-side and not confirmable from the repo.

Created a reusable general OIT/PacketDial onboarding template in the packetdial skill's references directory so it deploys globally on sync and is discoverable for future client onboardings. The template uses the same 17-step spine plus ACG-specific detail: the per-phone device-assignment workflow (PacketDial SIP device -> YMCS SIP account -> bind -> reboot), the field gotchas that cost time on VWP (the two-whitelabel RPS URL trap, the YMCS `sipServer1` HTTP 412 schema, users-only bulk import, M365 email matching), and vault paths / tooling / support contacts.

No code, API calls, or live provisioning were performed this session — documentation only. The earlier VWP provisioning work (domain creation, RPS URL fix, CSV prep) was done in a prior session on Mike's MacBook (commit db10206a).

## Key Decisions

- **Two separate docs, two homes** — the VWP-specific checklist lives with the client (`clients/valleywide/voip/`) and reflects live state; the generic reusable template lives in `.claude/skills/packetdial/references/` so it deploys globally and is found by the skill on future onboardings. Kept client-specific detail out of the template.
- **Placed the template in packetdial/references, not a new docs/ dir** — the skill already keeps reusable reference material in `references/` (api.md); the previously-referenced `docs/VOIP_ONBOARDING_WORKFLOW.md` did not actually exist, so followed the established `references/` pattern.
- **Marked billing/porting steps [?]/[ ] rather than asserting done** — payment auth, port application, and orientation call are account/sales-side; status was not confirmable from the repo, so flagged for verification instead of guessing.
- **ASCII checkbox markers, not the emoji check/cross style** — the existing VWP docs use emoji; house rule is no emojis, so used `[x]`/`[~]`/`[ ]`/`[?]` markdown checkboxes.

## Configuration Changes

- Created `clients/valleywide/voip/ONBOARDING-CHECKLIST.md` — VWP-specific 17-step onboarding checklist mapped to current state.
- Created `.claude/skills/packetdial/references/OIT-ONBOARDING-CHECKLIST.md` — reusable general OIT/PacketDial + YMCS onboarding template.

## Credentials & Secrets

No new credentials. Referenced existing vault entries only:
- `msp-tools/oitvoip-provisioning.sops.yaml` (Prov_Admin — RPS/portal login)
- `msp-tools/oitvoip.sops.yaml` (reseller API key)

## Infrastructure & Servers

- **VWP domain:** `vwp.91912.service` (reseller 91912.service / ACG), main number 480-705-9500, timezone America/Phoenix, dial policy US+Canada.
- **RPS provisioning URL (OIT/PacketDial):** `http://ndp.ucaasnetwork.com/cfg` — NOT the Whitelabel Communication (WLC) `ftp://p.packetdials.net`. Using the wrong one leaves phones unregistered with otherwise-correct SIP creds.
- **YMCS site:** Valley Wide Plastering / `1e7578a6fe0e41cfb5a3e8b40933ffee`.
- **VWP E911 address ID:** `a-6a395c03d4cfe` (301 N 56TH ST, Chandler AZ 85226).
- **PacketDial API:** `https://pbx.packetdial.com/ns-api/v2` (fallback `https://api.ucaasnetwork.com/ns-api/v2`).

## Commands & Outputs

Documentation session — no live commands run. Per-phone device-assignment sequence captured in both checklist docs:
`ns.py create-device` -> read `device-sip-registration-password` -> `ymcs.py add-sipaccount` (sipServer1 as object {host,port}) -> `ymcs.py ... bindAccounts` -> `ymcs.py reboot`.

## Pending / Incomplete Tasks

- **VWP immediate next step:** upload `vwp-users-import.csv` to PacketDial (Domains -> vwp.91912.service -> Users -> Import); verify 11 users created without devices.
- **VWP 7 parked extensions** need client clarification (101 Natalya, 106 Tammy, 108 Shannon, 111 Kitchen, 112 Conference, 117 "Jesse III"/Ryan?, 118 Warehouse) -> second CSV / shared-phone decision.
- **VWP Phase 2:** reception queue 8000, main AA 3000, assign DID 480-705-9500, test inbound; Phase 3 business-hours timeframes.
- **VWP billing/porting side** unverified: payment authorization, port application, orientation call.
- **YMCS `sipServer1` HTTP 412** schema blocker from prior session still needs confirmation against `.claude/skills/yealink-ymcs/docs/SIPSERVER_SCHEMA.md` before smooth end-to-end device binding.

## Reference Information

- VWP checklist: `clients/valleywide/voip/ONBOARDING-CHECKLIST.md`
- Reusable template: `.claude/skills/packetdial/references/OIT-ONBOARDING-CHECKLIST.md`
- Onboarding best-practices: https://voipdocs.io/onboarding-recommendations/orders-tasks/version/1
- NetSapiens API docs: https://docs.ns-api.com — `GET /ns-api/v2/version`
- Prior VWP provisioning commit: db10206a (feat(voip): VWP complete provisioning prep + setup documentation)
- Related VWP docs: `clients/valleywide/voip/{README,PROVISIONING-STATUS,COMPLETE-CLIENT-SETUP,DEVICE-ASSIGNMENT-COMMANDS,extension-mapping,SESSION-SUMMARY-2026-07-09}.md`, `vwp-users-import.csv`
