---
name: Voxtelesys Integration project
description: Frappe app extending ERPNext Helpdesk with Voxtelesys/3CX telephony — inbound webhook works, outbound API integration in progress
type: project
originSessionId: 2352cf59-de5a-4440-8480-69099e3a4cbb
---
`voxtelesys_integration` Frappe app at `forge.wilddragon.net/zgaetano/voxtelesys_integration`. Target site: `erp.broadcastmgmt.cloud`.

**Architecture:** Voxtelesys SIP trunk → 3CX PBX → ERPNext (Frappe Helpdesk). 3CX is the call broker; ERPNext does the ticketing and (planned) outbound origination via Voxtelesys REST API.

**State as of 2026-05-12:**
- v2.0 inbound webhook path is built: 3CX CF_URLFetch → `/api/method/voxtelesys_integration.api.inbound_call` → creates HD Ticket
- `voxtelesys_settings` and `voxtelesys_call_log` doctypes exist
- `api/voxtelesys.py` (~10KB) holds Voxtelesys REST client
- Public JS/CSS for HD Ticket UI extensions

**Why:** User wants ERPNext Helpdesk to be a first-class softphone surface for agents — click-to-call from a ticket, SMS, auto-ticket creation on inbound, all logged.

**How to apply:** When extending, preserve the 3CX inbound webhook (it's deployed). New work focuses on direct Voxtelesys API calls for outbound voice + SMS, and surfacing call history in HD Ticket. Do NOT route outbound through 3CX — use Voxtelesys API directly for ERPNext-originated calls.
