Cloud servers, domains, and hosting — get started or contact us. Learn more →

Hero Image

After checkout
Ordered ops checklist for every LightningArrows Voice seat

When a customer pays for Desk or Office Voice, the system opens this checklist for ops — complete the steps in order so the line works and support is ready.

Voice fulfillment checklist (ops)

Engage. Execute. Deploy. — after Snipcart checkout for Desk Voice or Office Voice.

This is the ordered list of work LightningArrows completes for the customer. A checklist file is created automatically when Snipcart reports a paid Voice order.


What the system does on checkout

  1. Detects Snipcart items la-voice-desk / la-voice-office / la-voice-did / la-voice-did-payg / la-voice-minutes-500 / la-voice-trunk / la-voice-payg-credit-* (and matching names).
  2. Works when Voice is standalone on the Voice page or bolted onto a cloud server checkout (second cart line).
  3. Reads cart custom field Outside calling (PSTN) when present (DID + outbound, 500 min, PayG, etc.).
  4. Creates a fulfillment record under user/data/la-domains/voice-orders/.
  5. Creates or attaches a member account (same hub as domains/servers).
  6. Marks Voice on the customer record so My Tickets is allowed.
  7. Emails ops the full checklist (DID / LA PSTN steps required when outside calling was ordered).
  8. Emails the customer that setup has started + useful guides (LA branding only — never expose upstream carrier brands).

CLI:

cd /var/www/html/lightningarrows.com/grav
php user/plugins/la-domains/bin/manage-voice.php list
php user/plugins/la-domains/bin/manage-voice.php show vff_YYYYMMDD_xxxx
php user/plugins/la-domains/bin/manage-voice.php done vff_… create_sip_seat "ext 101"
php user/plugins/la-domains/bin/manage-voice.php seat vff_… --ext=101 --pass='…' --token=…

LA PSTN webhooks (ops)

Signed carrier messaging/call webhooks land at /domains-api/telnyx-webhook (Ed25519 verify).
Connection/account names and keys live only in server env — never in public docs. Logs: user/data/la-domains/telnyx-webhooks/.

Inbound verification SMS (Google Voice codes, etc.) surface for authorized ops at:

Surface Path
HTML inbox /domains-api/voice-sms?view=1
Site page /cloud-servers/voice-sms
JSON /domains-api/voice-sms

Do not publish live DIDs, SIP passwords, or webhook secrets on these pages.

php user/plugins/la-domains/bin/manage-telnyx-webhooks.php health
php user/plugins/la-domains/bin/manage-telnyx-webhooks.php list
php user/plugins/la-domains/bin/manage-telnyx-webhooks.php register-connection

Checklist — complete in order

# Step ID What to do for the customer
1 confirm_order Confirm paid Snipcart order (invoice, email, SKU, amount). Usually auto-checked.
2 member_account Ensure LightningArrows login exists and Voice seat is on the customer record. Often auto-checked.
3 create_sip_seat Create unique PJSIP extension(s) + password on the PBX (Desk = 1 seat, Office = up to 5). Never reuse shared lab extensions for paid customers.
4 provision_profile Write tokenized phone.xml under /la-voice-prov/<token>/ (Proxy, User ID, Auth ID, Password). Optional SEP<MAC>.xml when MAC known.
5 email_customer Email Ext 1 fields + Profile Rule URL + bolt-in + Enterprise→MPP if Cisco.
6 mac_optional Record handset MAC when customer provides it; attach to seat / provision file. Optional.
7 verify_register Confirm Registered on Asterisk; help with proxy, password, NAT, DNS.
8 e911 Collect dispatchable service address before real outbound. Required when PSTN/DID was ordered.
9 did_optional / LA PSTN Provision US DID + outbound on LA carrier platform when cart option or DID / trunk SKU ordered; set caller ID + dialplan routes.
9b minutes_pack Apply 500 min (or ordered) allotment when selected.
10 support_access Confirm they can log in and open My Tickets for line setup issues.
11 activate_close Set seat status=active, finish required steps, close checklist.

Customer-facing path (what they experience)

Pay for Desk/Office Voice
  → “Setup started” email
  → Ops creates SIP + provision URL
  → Credentials email
  → Customer sets Ext 1 or Profile Rule
  → Registered
  → e911
  → Tickets if stuck

Related docs:


Support tickets

Members with a Voice seat on their account can use My Tickets the same way as domain/server customers. Suggested categories: voice, billing, account.


Security notes

  • Store extension passwords only in restricted checklist / provision files (not public pages).
  • Rotate any credential that was ever used only for lab testing before assigning to a paid customer.
  • Snipcart Test mode does not create production Voice checklists.

LightningArrows Inc. — Cloud · domains · voice. Engage. Execute. Deploy.