upgrade it... just do it, even at cost price, it'll be worth less headache overall.
in 4.2, you pretty much rely on entering each URI separately from the SOE's I've put in. rather than a wildcard URI with *'s pointing to the ICR, or user SIP tab settings to match the DDI.
SIP was definitely here at 4.2, not sure bout 4.0/4.1. wouldn't try it at that level though. 4.2 enough headache.
There are quite a few differences between every version regarding SIP.
Pretty sure we had to set each DDI separate in the URI tab under SIP trunk, and assign different line group ID to each URI. then each line group was mapped in ICR as if analogue trunk.
could be different if using registered trunk or peering trunk however?
Do you have a public IP address you can assign to the IPO or is it likely to NAT from an internal IP addy?
honestly, the next thing they will want is replacement handsets, and you'll need to put them on 5.0.18 to get access to the 16XX phones, or 7+ to get 14XX phones, 95XX , 96XX etc etc etc... so you'll probably need to upgrade before long anyhow. as 54XX/56XX series are gone gone. you'll have to source refurb phones for them otherwise.