An idea (not tested):
Create an Outbound Route that imposes a delay before calling the target number. For example (assuming North America), dialing 0001232125551234 would wait 123 seconds then call 2125551234. The Outbound Route itself would have a prefix of 000XXX and a match pattern of “X.” (without the quotes). You would then use a hook that for dialed numbers beginning with 000XXX, delays XXX seconds before exiting.
Then, set up your Ring Group to simultaneously dial the list of on-call people with appropriate staggered delays.
This simple scheme would ring each party for the remainder of the period (some calls would end up in mobile voicemail). If that is undesirable, configure a special trunk that aborts the dial after e.g. 25 seconds.