johnrivera7/filament-issabel-click-to-call
Filament Issabel Click-to-Call adds one-click dialing to Laravel Filament apps. Launch calls through an Issabel PBX directly from phone numbers in tables and resources, with simple configuration and a smooth agent workflow.
Architecture fit: This package targets Laravel applications that need telephony integration — specifically "click-to-call" originating calls through Asterisk's Manager Interface (AMI). The 1.0.0 scope bundles three concerns into one package: (1) AMI origination logic, (2) a Filament integration surface ("visor con contexto filament-click-to-call"), and (3) a dialplan tag/artifact for deployment. That is a reasonable vertical slice for an ops-adjacent Laravel app, but it means the package straddles application code and telephony infrastructure configuration. The architectural fit is good only if the consuming team already runs Asterisk and accepts a hard dependency on AMI as the control plane.
Integration feasibility: Feasible for Filament-based admin panels, since the UI surface is delivered as a Filament context rather than a bespoke Blade/JS layer. The dialplan "publication tag" implies the package ships or references Asterisk dialplan config that must be installed on the PBX — this is the part most likely to create friction, because it moves deployment beyond composer require into PBX change management.
Technical risk:
Key questions:
Originate semantics and event handling vary)?Stack fit: Suitable for Laravel + Filament monoliths or admin backends where operators need a "call this contact" action, and where an Asterisk estate already exists. Poor fit for greenfield projects without a PBX, for API-only services, and for teams standardizing on a hosted CPaaS (Twilio/Telnyx) rather than self-managed Asterisk.
Migration path: There is no prior assessment and no earlier tracked version, so treat 1.0.0 as a net-new adoption, not an upgrade. Practical path:
Compatibility: Confirm Laravel and PHP version matrix against our current baseline, plus Filament major. The AMI dependency also implies network egress from the Laravel host to the Asterisk host on port 5038 — verify firewall and that AMI is not exposed publicly. TLS-wrapped AMI is worth checking.
Sequencing:
Maintenance: Two maintenance surfaces, not one — the Composer package and the PBX dialplan artifact. Both need ownership. Filament coupling means the package must track Filament majors; expect periodic upgrade work even without feature needs. A first stable release from an unknown maintainer set warrants watching release cadence and issue responsiveness for a quarter before relying on it.
Support: Telephony failures are user-visible and hard to attribute — is a failed click-to-call a package bug, an AMI credential issue, a network/firewall problem, or a dialplan mismatch? Without clear diagnostics this becomes a three-team triage (app, network, telephony). Ask for structured logging, distinguishable exception types, and a documented troubleshooting guide. Note also that release notes are in Spanish — fine internally if the team is Spanish-speaking, but it signals a small, possibly single-maintainer project with limited English-language community support.
Scaling: AMI is a single control connection to a single Asterisk instance; per-request connections will not scale well horizontally. Under load, concern is connection churn and contention rather than CPU. If click-to-call is a low-frequency operator action (tens per minute, not thousands), scaling risk is low. Also check Asterisk-side concurrency limits — the PBX, not Laravel, is the real capacity ceiling.
Failure modes:
Ramp-up: Low-to-moderate for a Laravel developer (Composer install, Filament plugin registration, config publish). High for the telephony half — someone must understand AMI, dialplan context/extension semantics, and PBX deployment. Budget for a telephony-literate engineer or contractor during pilot; do not assume the Laravel team can own the Asterisk side unaided. Recommend a short internal runbook covering credential rotation, dialplan change procedure, and the failure-triage decision tree before production.
How can I help you explore Laravel packages today?