Stepan Novotill
Member
- Joined
- Jul 6, 2013
- Messages
- 82
- Reaction score
- 28
These instructions configure 3 different ways to overhead page via your Raspberry Pi with Incredible GUI. You will need to plug an amplified PC speaker into your Pi. This has been tested to work out of the box on a fresh install. Nothing profound here but nevertheless hereby released under GPL.
1 - Call extension 789
or
2 - Dial feature code *51
or
3 - Directly from IVR
Note: Pi has no microphone input. If you need bidirectional sound then a USB sound card will be needed. If you need a doorphone then GPIO will need to be used to trigger an outbound call from the Pi paging extension 789(in this example) and with additional complexity to unlock the door remotely. Google the following phrase without any quotes for information how to do this: Raspberry Doorbell Asterisk
Example: http://pbxinaflash.com/community/index.php?resources/raspberry-pi-as-an-asterisk-doorbell.19/
It would be VERY cool if "doorphone" was one of the standard apps on IncrediblePBX for Pi2. (I'm not going to have time to implement that any time soon)
1 - Call extension 789
or
2 - Dial feature code *51
or
3 - Directly from IVR
Note: Pi has no microphone input. If you need bidirectional sound then a USB sound card will be needed. If you need a doorphone then GPIO will need to be used to trigger an outbound call from the Pi paging extension 789(in this example) and with additional complexity to unlock the door remotely. Google the following phrase without any quotes for information how to do this: Raspberry Doorbell Asterisk
Example: http://pbxinaflash.com/community/index.php?resources/raspberry-pi-as-an-asterisk-doorbell.19/
It would be VERY cool if "doorphone" was one of the standard apps on IncrediblePBX for Pi2. (I'm not going to have time to implement that any time soon)
Code:
All configuration is done via the GUI, but the initial sound test is via command prompt.
(A) Configure built in ALSA sound card for Asterisk autoanswer:
Plug an amplified PC speaker into your Pi and test the sound via ALSA:
SSH in as root and type: echo "Hello World" | flite
If you don't hear anything then fix this first.
Other / Config Edit /etc/asterisk / alsa.conf
(modify the following entries to be as shown)
autoanswer=yes
context=local
extension=s
;input_device=hw:0,0
output_device=hw:0,0
noaudiocapture=true
Click: Update
Tell Asterisk to load ALSA at startup:
Other / Config Edit /etc/asterisk / modules.conf
(modify the following entries to be as shown)
load => chan_alsa.so
noload => chan_oss.so
Click: Update
(B) Configure overhead paging feature, feature code *51 was free on my system.
Add in (insert) a custom dial plan script under existing label [from-internal-custom]
so that we can access the soundcard as a paging port:
Other / Config Edit /etc/asterisk / extensions_custom.conf
(insert the following entries under existing label [from-internal-custom])
;# // BEGIN Overhead Paging
exten => *51,1,Flite("Please speak after the beep, then hang up.")
exten => *51,2,playback(beep)
exten => *51,3,Dial(console/alsa,20,A(beep))
exten => *51,4,Hangup()
;In place of the "beep", you can put any gsm/ulaw audio file.
;# // END Overhead Paging
Restart Asterisk and test paging functionality (you may have to do this later)
Reload the config via CLI: core reload
Dial the "Paging Code"? *51 from any handy telephone.
(C) Register the Paging Application with FreePBX so it can be accessed in IVR
Applications / Misc Destinations
Add Misc Destination
Description: Overhead Paging
Dial: *51
Click Submit followed by Apply Config.
Applications / Misc Applications
Add Misc Application
Description: Overhead Paging
Feature Code: *51
Status: Enabled
Destination: Misc Destinations Overhead Paging
Click Submit followed by Apply Config.
(D) Add it to your existing IVR
Applications / nv-ivr (at far right))
Add the IVR Entry: Misc Destinations Overhead Paging
Don't forget to update your original IVR announcement
(E) Optionally configure Custom Extension 789 (or any other) for soundcard output:
Applications / Extensions
Device: Other (Custom) Device
Click on Submit
Add Extension | Edit Extension
User Extension: 789
Display Name: Overhead
CID Num Alias: <leave blank>
SIP Alias: <leave blank>
Extension Options
Queue State Detection: Use State
Outbound CID: <leave blank>
Asterisk Dial Options: Ttr Override: No
Ring Time: Default (this extension is Auto Answer instead)
Call Forward Ring Time: Default
Outbound Concurrency Limit: No Limit
Call Waiting: Enable
Internal Auto Answer: Intercom
Call Screening: Disable
Pinless Dialing: Disable
Emergency CID: <leave blank>
Assigned DID/CID
DID Description: <leave blank>
Add Inbound DID: <leave blank>
Add Inbound CID: <leave blank>
Device Options
dial: console/alsa
Call Camp-On Services
Caller Policy: Generic Device
Callee Policy: Generic Device
Default Group Inclusion
Default Directory: Exclude
Dictation Services
Dictation Service: Disabled
Dictation Format: Ogg Vorbis
Email Address: <leave blank>
Fax
Enabled: No
Fax Email: <leave blank>
Attachment Format: pdf
Paging and Intercom
Intercom Override: Force
Recording Options
Inbound External Calls: Yes
Outbound External Calls: Yes
Inbound Internal Calls: Yes
Outbound Internal Calls: Yes
On Demand Recording: Enable
Record Priority Policy: 10
User Manager Settings
Assign to a Default User: None
Voicemail
Status: Disabled
Voicemail Password: <leave blank>
Email Address: <leave blank>
Pager Email Address: <leave blank>
Email Attachment: <leave blank>
Play CID: <leave blank>
Play Envelope: <leave blank>
Delete Voicemail: <leave blank>
VM Options: <leave blank>
VM Context: default
VmX Locater
VmX Locater: Disabled
Use When: unavailable: No busy: No temp: No
Voicemail Instructions: Standard Voicemail prompts
Press 0: <leave blank> Go To Operator: Yes
Press 1: <leave blank>
Press 2: <leave blank>
Optional Destinations
No Answer: Unavail Voicemail if Enabled
CID Prefix: <leave blank>
Busy: Busy Voicemail if Enabled
CID Prefix: <leave blank>
Not Reachable: Unavail Voicemail if Enabled
CID Prefix: <leave blank>
Click Submit followed by Apply Config.
If you skip the CLI reloads then you may need to reboot after configuring.