REQUIRED
- You have administered a production Asterisk or FreePBX system with real inbound traffic. Not a lab, not a course, not a Twilio/Vapi integration on its own.
- Shell access comfort: asterisk -rvvvvv, pjsip set logger on, reading the full log, querying the CDR database
- You can write and debug dialplan by hand, not only through the GUI
- Comfortable on Ubuntu: systemd, Nginx, log files, firewall
- Node.js well enough to read, fix, and build backend services around the PBX
- Git workflow: branch, commit with a clear message, pull request
- You trace a problem to root cause before changing anything, and you can say which segment of the call path owns the fault
- Strong written English - every fix needs a written explanation
PART ONE - PBX ISSUE BACKLOG
- Working through an existing backlog of audited issues
- Inbound call routing: DIDs, inbound routes, IVRs, queues, time conditions, failover destinations
- Custom dialplan work where the FreePBX GUI cannot express the logic
- SIP trunk configuration and carrier troubleshooting
- Debugging call failures end to end - carrier SIP trace, Asterisk logs, AstDB, dialplan, database state, backend workers
- Blocking, rate limiting, and spam-protection logic
- CDR reporting and call-data queries
PART TWO - AFTER-HOURS VOICE AI AGENT
- Time-condition routing so calls go to the AI outside business hours and on weekends, and to the normal destinations during the day
- Getting call audio in and out of Asterisk to the AI service - AudioSocket, ARI externalMedia, or equivalent - with acceptable latency
- Handling interruption and barge-in so the caller can speak over the agent
- Warm transfer and escalation: the agent hands off to a human, a queue, or voicemail when it can't handle the call
- A fallback path so that if the AI service is slow or down, the call still gets answered. Callers must never hit dead air.
- Capturing what happened on the call - transcript, caller details, outcome - and pushing it somewhere useful
- Tuning the agent based on real call recordings, not assumptions
TECHNICAL ENVIRONMENT
- Asterisk / FreePBX on Ubuntu
- chan_pjsip, SIP trunks (registration-based and IP-authenticated)
- Custom dialplan in extensions_custom.conf, AGI hand-offs
- Node.js backend services, PM2, Nginx
- PostgreSQL / MySQL, Redis
- Git / GitHub - issues, branches, pull requests
- Several thousand DIDs under management
PROCESS
- Short call, then a PAID technical assessment on an isolated staging PBX (4-6 hours, paid at your rate).
- Long-term full-time position.
- References checked before any production access is granted.
- You will need 3-4 hours of daily overlap with US Central time.