403 communication auth_error ai_generated partial

SIP/2.0 403 Forbidden on REGISTER request

ID: communication/sip-403-forbidden-registration

Also available as: JSON · Markdown · 中文
75%Fix Rate
85%Confidence
1Evidence
2024-03-15First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
RFC 3261 active
Kamailio 5.6 active
Asterisk 20 active
FreeSWITCH 1.10 active

Root Cause

SIP server rejects registration due to mismatched credentials, stale nonce, or IP-based access control.

generic

中文

SIP服务器因凭据不匹配、nonce过时或基于IP的访问控制而拒绝注册。

Official Documentation

https://datatracker.ietf.org/doc/html/rfc3261#section-21.4.4

Workarounds

  1. 70% success Regenerate the SIP digest credentials: delete the stored nonce and password hash on the client, then force a fresh REGISTER with the correct username and password. On Linphone, remove the account and re-add it. On a custom client, clear the cached credentials and call sip_register() again.
    Regenerate the SIP digest credentials: delete the stored nonce and password hash on the client, then force a fresh REGISTER with the correct username and password. On Linphone, remove the account and re-add it. On a custom client, clear the cached credentials and call sip_register() again.
  2. 80% success Verify the SIP server's IP access control list (ACL). On Kamailio, check 'allow_trusted' and 'allow_source_address' settings. Add the client's public IP to the trusted list if needed.
    Verify the SIP server's IP access control list (ACL). On Kamailio, check 'allow_trusted' and 'allow_source_address' settings. Add the client's public IP to the trusted list if needed.

中文步骤

  1. Regenerate the SIP digest credentials: delete the stored nonce and password hash on the client, then force a fresh REGISTER with the correct username and password. On Linphone, remove the account and re-add it. On a custom client, clear the cached credentials and call sip_register() again.
  2. Verify the SIP server's IP access control list (ACL). On Kamailio, check 'allow_trusted' and 'allow_source_address' settings. Add the client's public IP to the trusted list if needed.

Dead Ends

Common approaches that don't work:

  1. Re-enter the same SIP username and password in the client settings 60% fail

    Credentials may be correct but the nonce (challenge) is stale or the server requires digest authentication re-challenge

  2. Disable SIP ALG in the router to bypass firewall issues 80% fail

    403 is not a network traversal error; it's an authentication/authorization failure at the application layer

  3. Change the SIP transport from UDP to TCP 90% fail

    Transport protocol does not affect authentication validity; the 403 is generated after the transport handshake succeeds