VoIP.info Troubleshooting

Asterisk AMI TransportDetail is missing, stale or exposes secrets

Trace endpoint scope, completion framing, object relationships, versioned fields, redaction and runtime transport state before changing listeners or AMI permissions.

Reviewed 2026-10-21Current branch-23 PJSIPShowEndpoint, TransportDetail, EndpointDetail, EndpointDetailComplete, AMI action-index and res_pjsip references plus transport-selection, object-relationship, troubleshooting and AMI guidance were reviewed October 21, 2026. The reviewed action index does not document a standalone PJSIP transport-list action; endpoint-associated TransportDetail is not a complete all-transport inventory. Installed release, linked PJSIP and TLS libraries, loaded modules, manager actions and permissions, configuration owner, transport population, listener state, connection reuse, DNS, certificate validation, selected message path and call behavior remain deployment specific. No PBX, module, manager account, session, endpoint, transport, password, private key, certificate, socket, connection, DNS result, packet, media stream or live call was inspected or testedAdvancedDocumentation based · not lab tested

Freeze one endpoint-detail transaction

Record node, release, loaded modules, configuration owner, manager identity and permissions, exact endpoint name, ActionID, initial response, every associated event and EndpointDetailComplete. Redact protected fields before the record leaves the restricted incident path.

Classify the first mismatch: action absent or denied; endpoint missing; transaction incomplete; endpoint has no explicit association; TransportDetail omitted; object name or field differs; value is loaded but listener or packet path disagrees; or a secret-bearing row escaped its intended boundary.

Do not search for an undocumented all-transport AMI list

The reviewed branch-23 action index documents PJSIPShowEndpoint but no standalone all-transport list action. The single-endpoint action emits associated object detail and ends with EndpointDetailComplete; there is no separate TransportDetailComplete contract in that transaction.

Use the loaded CLI transport inventory or authoritative configuration for fleet scope. Do not send repeated endpoint actions and treat the union as complete unless the endpoint inventory, node, completion and association model are also preserved.

Resolve absent or surprising association

Inspect the exact EndpointDetail transport field and associated TransportDetail object names. An endpoint without an explicit transport can rely on URI-driven compatible selection, so absence of an associated row must not be rewritten as no transport or no listener.

Compare generated and loaded configuration. Similar endpoint, registration and provider labels do not establish ownership. If a FreePBX-managed source generated the object, correct that owner instead of editing a generated file.

Separate stale detail from an unchanged runtime object

Transport configuration is restart-sensitive by default, while allow_reload is an opt-in capability with disruption risk. Compare submitted value, generated file, loaded detail, CLI object, listener and first post-change message. A stale AMI row and an unchanged listener are related but not identical findings.

For external_signaling_hostname, first confirm the installed maintenance release supports the field and that external_signaling_address is not also configured. A hostname row does not prove current DNS resolution, header output or remote acceptance.

Contain password and topology exposure

If Password, sensitive file paths, private addresses or local networks reached a broad log or ticket, stop further collection, restrict access, preserve the minimum incident record and follow the organization’s credential-rotation and incident process. Do not paste another raw row to demonstrate the first leak.

Review manager reachability, TLS, permissions, event filters, client logging and retention. Redaction after central ingestion is too late for every copy already created.

Verify the corrected boundary without claiming a call result

Repeat one authorized endpoint transaction, require EndpointDetailComplete, confirm redaction, then compare the intended transport object with CLI state, exact listener and one bounded SIP message. For TCP or TLS retain connection reuse, certificate presentation and peer verification separately.

A corrected TransportDetail row is not proof of registration, inbound identification, dialplan, SDP, RTP or hangup. No PBX, manager session, endpoint, transport, secret, certificate, socket, packet, media stream or live call was inspected or tested.

Sources & applicability

Primary references for the technical details above. Operational examples and planning checklists are VoIP.info editorial guidance.

Examples require adaptation to your topology. No live PBX or hardware testing is claimed.