There are currently two ways (perl script or snmptt) suggested, both through a third-party library and process.
Since distributions deliver the required packages with varying degrees of support, situations may arise when there are simply no regular capabilities - you need to install additional packages and third-party repositories or build manually. Fresh example:
Another problem is to deal with SNMPv3 traps, every hosts should be added manually to the snmptrapd configuration file or some configuration management system, this becomes more complicated.
- create Zabbix Server/Proxy module for SNMPv1/2/3 with public documentation how to extend and modify it according to the environment needs. Only basic functionality to catch all traps - as perl script provided now, some multithreaded options may be added for large environments with high snmp traps flow like cellular providers, etc...;
- use SNMPv3 credentials for polling to allow incoming traps without additional settings, get EngineID from device directly or allow additional filed to add only this information, not to duplicate credentials in frontend and in snmptrapd;