For example, if I use asterisk, should I define one extension per
announcement type? Is this the common approach?
Take a look to RFC 4240, it defines some approachs for what you want.
For example, section 3 " Announcement Service" suggest to use an
INVITE RURI with the following syntax:
sip:annc@ms2.example.net;play=file://fileserver.example.net//geminii/yourHoroscope.wav
This sounds cool, but in Asterisk there is no way to read the RURI
parameters so it's not valid for you.
SEMS media server allows multiple methods to set the announcement:
- As RURI username
- As RURI parameter
- As custom header value
there is also an application that works with the RFC 4240 uri method from
above