# SIP/2.0 406 Not Acceptable

- **ID:** `communication/sip-406-not-acceptable`
- **Domain:** communication
- **Category:** protocol_error
- **Error Code:** `406`
- **Verification:** ai_generated
- **Fix Rate:** 75%

## Root Cause

The SIP server cannot generate a response that matches the Accept header sent by the client.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| Asterisk 20.5.0 | active | — | — |
| FreeSWITCH 1.10.11 | active | — | — |
| Kamailio 5.7.0 | active | — | — |

## Workarounds

1. **Modify the SIP INVITE to include an Accept header with supported media types. Example: 'Accept: application/sdp' in the request. In Asterisk: set sip.conf globalaccept=application/sdp** (80% success)
   ```
   Modify the SIP INVITE to include an Accept header with supported media types. Example: 'Accept: application/sdp' in the request. In Asterisk: set sip.conf globalaccept=application/sdp
   ```
2. **Ensure the SIP server supports the requested media format. For example, in FreeSWITCH, check the codec list: 'show codec' and add missing codecs to the dialplan.** (85% success)
   ```
   Ensure the SIP server supports the requested media format. For example, in FreeSWITCH, check the codec list: 'show codec' and add missing codecs to the dialplan.
   ```

## Dead Ends

- **Disable all SIP security checks in the server** — The 406 is about content negotiation, not security; disabling security may create vulnerabilities. (70% fail)
- **Ignore Accept headers entirely in client code** — The server may still reject requests if Accept headers are missing or malformed; proper negotiation is required. (60% fail)
