Well, not knowing much about your environment, this may not work entirely. But it might give you some help.
I’d have context that would just record the page, and then create a .call file. The .call file would refer to a context that would simply play the page message.
This is really just a starter point. You should consider such things as what would happen if two people were to try to page someone at the same time, (in this case, the page recording would be overwritten, and the page would play twice because two .call files would be built) and the ability to review and re-record your page if you make a mistake, sneeze, etc… while recording it… things like that. If all you want is something quick and dirty, this should work ok.
If you decide to do things like make unique names for page message recordings (so you can queue 2 or more at once) you’ll need to think about deleting the files after they’re played.
Give this a look anyway, and review .call files here.
the-asterisk-book.com/unstab … -file.html
[page-record]
exten => 1234,1,Answer()
exten => 1234,n,Playback(please-record-page)
exten => 1234,n,Record(/tmp/page.gsm,3,10)
exten => 1234,n,System(echo -e “Channel: SIP/XXXX\nMaxRetries: 3\nRetryTime: 7\nContext: play-page\nExtension: 1235” > /tmp/${UNIQUEID}.call)
exten => 1234,n,System(mv /tmp/${UNIQUEID}.call /var/spool/asterisk/outgoing/)
exten => 1234,n,Playback(your-page-is-queued)
exten => 1234,n,Hangup()
[play-page]
exten => 1235,1,Answer()
exten => 1235,n,Wait(3)
exten => 1235,n,Playback(/tmp/page.gsm)
exten => 1235,n,Wait(1)
exten => 1235,n,Hangup()
In this example, you’d dial extension 1234 to record a page. THe page is limited to 10 seconds with no more than 3 seconds of silence. It would get played back by extension 1235. In the line that says:
exten => 1234,n,System(echo -e “Channel: SIP/XXXX\nMaxRetries: 3\nRetryTime: 7\nContext: play-page\nExtension: 1235” > /tmp/${UNIQUEID}.call)
you’d change Channel: SIP/XXXX to the sip station that you have hooked up to your amp and speakers.
You’ll also need two prompts. One that says “Please record your page” and one that says “Your page has been queued.” And of course, you’ll want to change the extensions to something that fits your dial plan.
You don’t have to make the play-page context part of your dial plan, but if you did, you’d be able to dial 1235, and you’d be able to hear the last page sent. (Which is good in noisy environments when you might miss a page sent.)