Almost any softphone has auto-answer option, but if you would like to compile something yourself I'd point to
libre + librem + baresip. It can be built for any platform you mentioned (out of the box it's mainly console application but GUI can be added), it's simpler than pjsip and it has BSD license.
If it is supposed to be maintenance free make sure that your softphone/application is able to detect session teardown (using session timers, re-INVITES, checking for RTP inactivity or maybe just by specifying maximum allowed call length), otherwise if network connection would go down in the middle of call softphone may stay in call state indifinetely not accepting following calls.
As you mentioned internal extension - PABX may be not necessary (direct IP calls).
Edit: for Windows consider tSIP, here are features that may be useful in this use case:
- direct IP calls (answering any call, binding to specified port, making calls to IP with sip:ip_address:port syntax, assigning SIP adresses to speed dial buttons)
- auto answer after configurable delay and/or triggered by Call-Info with answer-after line
- configurable ring wave file (if auto answer would be delayed)
- call recording (caller)
- playing wave file to 2nd party (caller)
- plugin interface, Lua scripting (caller)
- acoustic echo cancellation (callee, if speaker is used) - use WebRTC preferably
RTP timeout option was added in version 0.1.51, enable it to increase reliability in maintenance-free operation.
Edit2: How about hardware? Used SIP phones can be bought cheaply ($25-$30), should be easy to maintain (set password, connect to LAN, optionally configure them to use your provisioning server), probably draw less attention than android tablet or PC box, consume little energy. Be careful with big vendors such as Cisco - some of their phones have poor interoperability (vendor lock-in) and/or are difficult to configure, I would rather look for yealink.