The SPA504; SPA504G is not supported on ISR 2900 series routers. It is mainly designed to be used in the Small Business Segment of Cisco.
The ISR 2900 series routers use CME (Call Manager Express) for handling the voice related features. Therefore, depending on CME compatibility with the phones, the router will not or will support the IP phones. Indeed the Router do support some of the small business IP phones like 9951 and 8961, but not all of the SPA phones.
CME supported firmware, platforms, memory and voice products you can find here: