Found the file:
C:\Program Files\3CX Phone System\Bin\3CXPhoneSystem.ini
The line "LocalCodecs = PCMU PCMA G722 GSM G729" looks more relevant to a local phone deployment. I would love for a 3CX guy to chime in, only to answer if we can enter this into "instance1" and if this is kept after upgrading/updating (I've lost changes this way).
Edit: I think the more logical solution is custom template, please see excerpt below of the standard Yealink Template:
<Codecspriorities>
<Codecspriority variableName="codec1" PayloadTypeName="payload1" priority="1">
<!--The first entry is the selected entry in management console. codec1 will be replaced by value, payload1 will be replaced by payload-->
<option value="0" payload="PCMU">PCMU</option>
<option value="8" payload="PCMA">PCMA</option>
<option value="18" payload="G729">G729</option>
<option value="9" payload="G722">G722</option>
</Codecspriority>
<Codecspriority variableName="codec2" PayloadTypeName="payload2" priority="2">
<!--The first entry is the selected entry in management console-->
<option value="8" payload="PCMA">PCMA</option>
<option value="0" payload="PCMU">PCMU</option>
<option value="18" payload="G729">G729</option>
<option value="9" payload="G722">G722</option>
</Codecspriority>
<Codecspriority variableName="codec3" PayloadTypeName="payload3" priority="3">
<!--The first entry is the selected entry in management console-->
<option value="9" payload="G722">G722</option>
<option value="0" payload="PCMU">PCMU</option>
<option value="8" payload="PCMA">PCMA</option>
<option value="18" payload="G729">G729</option>
</Codecspriority>
<Codecspriority variableName="codec4" PayloadTypeName="payload4" priority="4">
<!--The first entry is the selected entry in management console-->
<option value="18" payload="G729">G729</option>
<option value="0" payload="PCMU">PCMU</option>
<option value="8" payload="PCMA">PCMA</option>
<option value="9" payload="G722">G722</option>
</Codecspriority>
</Codecspriorities>