Sorry for the top post, this is from my phone.
What you need to look at are the following:
Is it going to be just one mp3 stream that is shared across all users (I.e everyone hears the same thing at the same time), or is it 1000 separate mp3 streams (everyone always starts at the beginning of whatever they are hearing).
Are you going to have reliable timing generation on an EC2 instance, since IAX streams and music on hold playback will sound bad if the timing isn’t good.
Will you have sufficient bandwidth allocated to you for that many simultaneous calls?
Is there going to be any codec transcoding going on? Can you generate your streams in the preferred codec, instead of mp3?
I think if you’re just using one stream spread across all the callers, you’ll have much better performance from the system as a whole. You may want to look at the quality differences between a SIP trunk and an IAX trunk as well.