Skip to content

[bug]: Critical: Superfecta returns empty on all live calls in FreePBX 17 #988

@afonsolaw

Description

@afonsolaw

FreePBX Version

FreePBX 17

Issue Description

Module: Superfecta 17.0.5
FreePBX Version: 17
PHP Version: 8.2.29
Severity: Critical — Superfecta non-functional on all inbound calls
Summary:
Superfecta returns empty caller ID on all live calls. No sources execute. No errors logged.
Root Cause:
In agi/superfecta.agi, the scheme name is parsed with:
php$sn = explode("_", $scheme, 2);
In FreePBX 17, CIDSFSCHEME decodes to Default (no underscore prefix). This produces only $sn[0]; $sn[1] is undefined. The call to execute($sn[1], ...) passes an empty string, which hits the early return in execute():
phpif(empty($scheme) || ...) { return ''; }
Fix:
Add after the explode line:
phpif (!isset($sn[1])) { $sn[1] = $sn[0]; }
Steps to Reproduce:

Install FreePBX 17 with Superfecta 17.0.5
Configure any Superfecta scheme
Place inbound call
Observe SUPERFECTA_NEW is always empty

Operating Environment

See above

Relevant log output

Metadata

Metadata

Assignees

Labels

resolvedIssue fix has been merged to the release branch

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions