Files
claudetools/clients/valleywide/voip/PROVISIONING-STATUS.md
Mike Swanson 06ed9ba562 voip: VWP clarify ext 106 (Tammy) and park ext 108 (Shannon)
Extension 106 (Tammy) matched to acctpay@valleywideplastering.com
Extension 108 (Shannon) parked pending clarification
Updated counts: 14 matched, 4 unmatched/parked

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-07-10 07:13:58 -07:00

6.3 KiB

VWP Phone Provisioning Status

Last Updated: 2026-07-09 20:45 MST Status: Ready for CSV bulk import + Complete VoIP setup documented Session Summary: SESSION-SUMMARY-2026-07-09.md


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 11 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:


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: Domainsvwp.91912.serviceUsersImport

  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

# 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 .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

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:

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

Step E: Bind Account to Phone

# 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 106 - Tammy

Extension 117 - Jesse III


PARKED FOR LATER (4 Extensions)

Need client clarification:

Ext Name Given Status Notes
108 Shannon Parked - no info yet Waiting for clarification
111 Kitchen Shared phone May not need M365 account
112 Conference Room Shared phone May not need M365 account
118 Warehouse Shared phone May not need M365 account

Action: Get client clarification on Shannon. For shared phones (Kitchen/Conference Room/Warehouse), confirm whether they need individual M365 accounts or can be configured as shared extensions.


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

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.)