# VWP Phone Provisioning Status

**Last Updated:** 2026-07-10 (ext-100 cleanup)
**Status:** Ready for CSV bulk import + Complete VoIP setup documented
**Session Summary:** `SESSION-SUMMARY-2026-07-09.md`

---

## 2026-07-10 — Rogue ext-100 account removed (reception phone fix)

The **Reception** phone (MAC `805e0cdd71b1`, ext 101) was picking up a rogue **ext 100**
config. Root cause: a leftover YMCS device account `100@vwp.91912.service`
(remark "VWP Extension 100 - Final", id `0cc15aa7fb68496db826e5af0b5df825`) from the
2026-07-09 provisioning-exploration test extension. PacketDial was already correct
(MAC `805e0cdd71b1` -> ext 101; ext 100 returns 404 on the PBX), so YMCS was overriding RPS.

Fix (2026-07-10): deleted the YMCS account via `POST /v2/dm/delAccounts` and rebooted the
reception phone (`POST /v2/dm/device/reboot`) so it re-provisions ext 101 from the OIT RPS
URL. Test ext 100 is now gone from both PacketDial and YMCS; do not go looking for it.

**Follow-up (same day): ALL VWP YMCS device accounts deleted.** The remaining
`102a@vwp.91912.service` account was also removed, leaving **zero** YMCS-pushed SIP accounts on
the VWP site. Every VWP phone (incl. 102 and 105) now provisions purely from the PacketDial
OIT RPS URL (`http://ndp.ucaasnetwork.com/cfg`) — YMCS is used for device management only, not
SIP-account push. Any phone that still has an old YMCS-pushed account cached (e.g. ext 102,
MAC `805e0cdd7559`) will re-provision from RPS on its next reboot.

---

## CRITICAL FIX COMPLETED

**RPS Provisioning URL corrected:**
- ❌ **Wrong:** `ftp://p.packetdials.net` (Whitelabel Communication)
- ✅ **Correct:** `http://ndp.ucaasnetwork.com/cfg` (OIT/PacketDial)

**Result:** Test phone (MAC 805e0cdd71b1) **REGISTERED** immediately after fix!

**Two whitelabel accounts:**
- **Whitelabel Communication (WLC):** `ftp://p.packetdials.net`
- **OIT/PacketDial:** `http://ndp.ucaasnetwork.com/cfg` ← VWP uses this one

---

## READY FOR IMPORT

**CSV File Created:** `clients/valleywide/voip/vwp-users-import.csv`

Contains **10 matched users** with:
- ✓ Correct M365 email addresses
- ✓ Proper first/last names
- ✓ Users only, NO devices (`add phone extension: no`)
- ✓ All PacketDial defaults (voicemail, caller ID, dial permissions)

**Device Assignment Strategy:** Users will be created without SIP devices. Physical phones will be assigned later as they're distributed to staff.

**Matched Extensions:**
- 102: Jesse Guerrero (jesse@valleywideplastering.com)
- 103: Rose Guerrero (rose@valleywideplastering.com)
- 104: Shelly Dooley (shelly@valleywideplastering.com)
- 105: JR Guerrero (j-r@valleywideplastering.com)
- 109: Kayla Guerrero (kayla@valleywideplastering.com)
- 110: Ron Winger (ron@valleywideplastering.com)
- 113: Chris Guerrero (chris@valleywideplastering.com)
- 114: Ty Fetters (Ty@CASARICA.NET)
- 115: Toni Billing (billing@valleywideplastering.onmicrosoft.com)
- 116: Bart Graffin (estimating@valleywideplastering.com)

---

## NEXT STEPS (Tomorrow Morning)

### 1. Upload CSV to PacketDial (Users Only)

1. Log in to https://pbx.packetdial.com/
   - Credentials: vault `msp-tools/oitvoip-provisioning.sops.yaml`
   - Username: `Prov_Admin`
   - Password: `YJ5UgRd9pV`

2. Navigate to: **Domains** → **vwp.91912.service** → **Users** → **Import**

3. Upload: `clients/valleywide/voip/vwp-users-import.csv`

4. Verify import completed successfully (all 11 users created WITHOUT devices)

### 2. Device Assignment Workflow (Per Phone)

As each physical phone is distributed to a user, follow this process:

**Step A: Create SIP Device in PacketDial**

```bash
# Example for extension 102
bash .claude/scripts/py.sh ns.py create-device vwp.91912.service 102 --body '{
  "device": "sip:102a@vwp.91912.service"
}' --confirm
```

**Step B: Get SIP Password**

```bash
bash .claude/scripts/py.sh ns.py devices vwp.91912.service 102 | \
  python3 -c "import sys, json; d=json.load(sys.stdin); \
  print(f\"102: {d[0].get('device-sip-registration-password')}\")"
```

**Step C: Create YMCS SIP Account**

```bash
ymcs.py add-sipaccount --body '{
  "registerName": "102@vwp.91912.service",
  "username": "102@vwp.91912.service",
  "password": "<SIP-PASSWORD-FROM-STEP-B>",
  "label": "Ext 102 - Jesse Guerrero",
  "displayName": "Jesse Guerrero",
  "sipServer1": {
    "host": "pbx.packetdial.com",
    "port": 5060
  },
  "siteId": "1e7578a6fe0e41cfb5a3e8b40933ffee"
}' --confirm
```

**Step D: Identify Physical Phone**

User provides last 4 digits of MAC address. Find device in YMCS:

```bash
ymcs.py devices | grep -i "<LAST-4-OF-MAC>"
```

**Step E: Bind Account to Phone**

```bash
# Get account ID from step C output, device ID from step D
ymcs.py raw POST /v2/dm/devices/{device-id}/bindAccounts --body '[{
  "lineId": 1,
  "accountType": 0,
  "accountId": "{account-id}"
}]' --confirm

# Reboot phone to apply
ymcs.py reboot --body '{
  "deviceIds": ["{device-id}"],
  "deviceType": 1
}' --confirm
```

### 3. Clarified Extensions (2026-07-10)

**Extension 101 - Natalya (Receptionist)**
- M365 Account: Customer Service (customerservice@valleywideplastering.com)
- Phone: Test phone from yesterday (MAC 805e0cdd71b1 / Last 4: 71b1)
- Status: Phone already registered, ready for user provisioning
- **Action:** Create user 101 separately (see provision-natalya-101.md)

**Extension 102 - Jesse Sr (Jesse Guerrero)**
- M365 Account: Jesse Guerrero (jesse@valleywideplastering.com)
- Phone: MAC last 4 digits: 7559
- Status: In CSV bulk import, phone assignment noted for device workflow
- **Action:** Use standard device assignment workflow with known MAC

**Extension 103 - Rose (Rose Guerrero)**
- M365 Account: Rose Guerrero (rose@valleywideplastering.com)
- Phone: MAC last 4 digits: 5217
- Status: In CSV bulk import, phone assignment noted for device workflow
- **Action:** Use standard device assignment workflow with known MAC

**Extension 104 - Shelly (Shelly Dooley)**
- M365 Account: Shelly Dooley (shelly@valleywideplastering.com)
- Phone: MAC last 4 digits: 96b8
- Status: In CSV bulk import, phone assignment noted for device workflow
- **Action:** Use standard device assignment workflow with known MAC

**Extension 105 - J.R. (JR Guerrero)**
- M365 Account: JR Guerrero (j-r@valleywideplastering.com, also jr@CASARICA.NET)
- Phone: MAC last 4 digits: 7441
- Status: In CSV bulk import, phone assignment noted for device workflow
- **Action:** Use standard device assignment workflow with known MAC

**Extension 106 - Tammy**
- M365 Account: Accounts Payable (acctpay@valleywideplastering.com)
- Phone: MAC last 4 digits: 6a36
- Status: Ready to add to second CSV batch with phone assignment noted
- **Action:** Include in second CSV import, then use standard device assignment workflow

**Extension 109 - Kayla (Kayla Guerrero)**
- M365 Account: Kayla Guerrero (kayla@valleywideplastering.com)
- Phone: MAC last 4 digits: 73b7
- Status: In CSV bulk import, phone assignment noted for device workflow
- **Action:** Use standard device assignment workflow with known MAC

**Extension 110 - Ron (Ron Winger)**
- M365 Account: Ron Winger (ron@valleywideplastering.com)
- Phone: MAC last 4 digits: 6509
- Status: In CSV bulk import, phone assignment noted for device workflow
- **Action:** Use standard device assignment workflow with known MAC

**Extension 113 - Chris (Chris Guerrero)**
- M365 Account: Chris Guerrero (chris@valleywideplastering.com)
- Phone: MAC last 4 digits: 755b
- Status: In CSV bulk import, phone assignment noted for device workflow
- **Action:** Use standard device assignment workflow with known MAC

**Extension 115 - Toni (Toni Billing)**
- M365 Account: Toni (billing@valleywideplastering.onmicrosoft.com)
- Phone: MAC last 4 digits: 6cf9
- Status: In CSV bulk import, phone assignment noted for device workflow
- **Action:** Use standard device assignment workflow with known MAC

**Extension 116 - Bart (Bart Graffin)**
- M365 Account: Bart Graffin (estimating@valleywideplastering.com)
- Phone: MAC last 4 digits: a890
- Status: In CSV bulk import, phone assignment noted for device workflow
- **Action:** Use standard device assignment workflow with known MAC

**Extension 111 - Kitchen (Shared Phone)**
- Phone: MAC last 4 digits: 958e
- Status: Shared extension - no M365 account required
- **Action:** Provision as shared extension using device assignment workflow

**Extension 114 - Ty (Ty Fetters)**
- M365 Account: Ty Fetters (Ty@CASARICA.NET - external domain)
- Phone: MAC last 4 digits: 6d01
- Status: In CSV bulk import, phone assignment noted for device workflow
- **Action:** Use standard device assignment workflow with known MAC

**Extension 117 - Jesse III**
- Email: jesse@nescoap.com (external domain, like Ty@CASARICA.NET)
- Phone: MAC last 4 digits: 6cf5
- Status: Ready to add to second CSV batch with phone assignment noted
- **Action:** Include in second CSV import, then use standard device assignment workflow

---

## PARKED FOR LATER (4 Extensions)

**Need client clarification:**

| Ext | Name Given | Status | Notes |
|-----|------------|--------|-------|
| 107 | Payroll | Parked - shared mailbox | Waiting for decision on shared extension setup |
| 108 | Shannon | Parked - no info yet | Waiting for clarification |
| 112 | Conference Room | Shared phone | May not need M365 account |
| 118 | Warehouse | Shared phone | May not need M365 account |

**Action:** Get client clarification on Payroll (shared mailbox setup), Shannon, and remaining shared phones (Conference Room/Warehouse).

---

## FILES CREATED

- **Extension Mapping:** `clients/valleywide/voip/extension-mapping.md`
- **Bulk Import CSV:** `clients/valleywide/voip/vwp-users-import.csv`
- **This Status:** `clients/valleywide/voip/PROVISIONING-STATUS.md`

---

## DOCUMENTATION UPDATE NEEDED

`docs/VOIP_ONBOARDING_WORKFLOW.md` needs update:
- Add OIT vs WLC provisioning URL distinction
- Document CSV bulk import method
- Add troubleshooting section for wrong RPS URL

---

## RELATED DOCUMENTATION

### This Directory (clients/valleywide/voip/)

- **`extension-mapping.md`** - M365 account matching (11 matched, 7 unmatched)
- **`vwp-users-import.csv`** - Bulk import file for PacketDial
- **`PROVISIONING-STATUS.md`** - This file (status + next steps)
- **`COMPLETE-CLIENT-SETUP.md`** - Full VoIP setup guide (DIDs, queues, IVRs, time frames)
- **`SESSION-SUMMARY-2026-07-09.md`** - Complete session documentation

### Skills Documentation

- **`.claude/skills/packetdial/SKILL.md`** - PacketDial skill reference
- **`.claude/skills/packetdial/docs/VOIP_ONBOARDING_WORKFLOW.md`** - Workflow guide
- **`.claude/skills/yealink-ymcs/SKILL.md`** - YMCS skill reference
- **`.claude/skills/yealink-ymcs/docs/SIPSERVER_SCHEMA.md`** - SIP account schema

### Wiki

- **`wiki/clients/valleywide.md`** - VWP client infrastructure (M365 tenant, phones, etc.)
