Freeze the disputed observation without copying secrets
Record timestamp and timezone, node and branch, manager identity, action and ActionID, response, AuthListComplete, expected object name, configuration owner, intended endpoint or registration, auth role, username, realm and algorithm labels. Record only whether protected credential fields were present; do not retain their values.
Classify the symptom: action missing; list incomplete; auth absent; unexpected duplicate or stale object; wrong association; wrong realm or algorithm; authentication failure despite a loaded row; or secret-bearing fields reaching logs or an unauthorized client.
Prove action availability, authority and completion
Verify the installed branch and loaded module expose PJSIPShowAuths. Confirm the manager account can execute the action and receive command-class list events. Require AuthListComplete and reconcile its ListItems after documented parsing and redaction.
Do not interpret permission denial, disconnect, timeout, cancellation, parser loss or querying another node as a completed empty list. Do not broaden a production manager account merely to make one inventory call work.
Resolve the loaded object and consumer relationship
Match ObjectName byte-for-byte in the completed inventory. Then inspect the exact endpoint through its bounded detail transaction and compare Auth and OutboundAuth references with every associated AuthDetail row. Inspect the exact outbound-registration object separately when it owns the challenge response.
If saved and loaded state differ, follow the supported configuration owner, generation and reload path. On FreePBX, repair the owning GUI or supported custom setting rather than editing generated files.
Check role, realm and algorithm capability
Determine whether Asterisk is the UAS issuing a challenge or the UAC answering one. For incoming authentication, the realm is advertised in WWW-Authenticate; for outgoing authentication it must match the received realm or use the documented empty or wildcard behavior. Do not reuse one object across roles merely because the username matches.
Compare loaded auth_type, realm, password or digest presence and supported UAC/UAS algorithms with the running branch, pjproject and OpenSSL build. A configuration value is not runtime support, and a digest made for one username, realm and algorithm cannot repair another.
Trace one challenge exchange and the identification path
Preserve the original request, 401 or 407 challenge, each advertised algorithm, retried request, Authorization or Proxy-Authorization header metadata and final response. Redact response values and credentials before storage. A normal first challenge is not the same as a final authentication failure.
Keep endpoint identification separate. If auth_username participates, the matching header appears only after a challenge, which changes security-event timing. IP, From username, Request-URI and auth username are different matching inputs.
Correct the first divergence and contain any disclosure
Correct only the proven boundary: action availability, AMI authority, parser, node, configuration ownership, missing association, role, realm, algorithm support or credential material. Repeat a redacted completed inventory, exact consumer detail and one authorized exchange, then verify the intended registration or call separately.
If a password, digest, OAuth secret or refresh token reached an unauthorized log, ticket or client, restrict access, preserve minimal incident evidence and rotate or revoke the affected credential through its authoritative owner. No PBX, module, manager account, session, auth object, password, digest, OAuth secret, endpoint, registration, SIP challenge, 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.
- Asterisk 23 PJSIPShowAuths action ↗
- Asterisk 23 AuthList event ↗
- Asterisk 23 AuthListComplete event ↗
- Asterisk 23 AuthDetail event ↗
- Asterisk 23 PJSIPShowEndpoint action ↗
- Asterisk 23 EndpointDetail event ↗
- Asterisk 23 res_pjsip configuration reference ↗
- Asterisk PJSIP authentication guide ↗
- Asterisk PJSIP troubleshooting guide ↗
- Asterisk AMI v2 specification ↗
- Asterisk Manager TCP/IP API ↗
Examples require adaptation to your topology. No live PBX or hardware testing is claimed.