-
Notifications
You must be signed in to change notification settings - Fork 1
Someone can send a text from their mobile phone and your Asterisk will ring/intercom your phone and say it.
License
jkister/jkSMS
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
jkSMS
Copyright (c) 2016 Jeremy Kister
DESCRIPTION:
Lets you send a text from a mobile phone to an email address like
sms@example.com. the email is manipulated a bit, and data is sent
to your asterisk box. the asterisk box uses Page to announce to
your phones that there is a queued text waiting from someone.
Someone goes over to the phone, and dials a code you make up (i use *0)
which connects them to the jkSMS AGI script. The AGI script has a
voicemail like functionality and lets you go listen to, reply to
("yes" or "no"), replay or delete the message(s). You'll be re-alerted
every 5 minutes that there's a text message waiting to be heard.
I created this because my kids have an unlimited sms plan but pay for
minutes. since they use text almost exclusively anyway, it made sense
to build this little interface so they can just text the house and i
don't need to worry about keeping my cell phone attached to my hip.
this package makes use of the following perl modules:
DBI Asterisk::AGI Asterisk::AMI Net::CIDR::Lite Sys::SigAction
run ./contrib/get_cpan_modules to install/upgrade them automatically
the AGI makes use of Swift (Cepstral). if you don't have Swift, you
can use lots of other tts solutions, like festival.
we also require a database. SQLite3, mysql, postgres, oracle and
mssql are completely compatible. make sure the Perl module for
your desired database is installed, and set the dsn/dbun/dbpw in
/etc/jksms.cfg
if you're behind NAT or a firewall and you are not running your MTA
on your Asterisk box, you'll need to open up port 6929/tcp from your
mail server to your Asterisk box. the server that listens on port
6929 is security concious - it drops root privileges as before it
takes network connections and has a sense of who's allowed to connect
vs who's not via the 'allowed' directive in /etc/jksms.cfg
Notes:
I have an intercom context that looks like:
[globals]
INTERCOM=SIP/123&SIP/124&SIP/125&SIP/126
[intercom]
exten => q*,1,SIPAddHeader(Alert-Info: Ring Answer)
exten => q*,2,Page(${INTERCOM},iq)
this allows asterisk to dial "Local/q*@intercom" which will Page
all my phones - they'll go off hook on speakerphone and then
Swift will kick in and start reading off the TTS.
my manager.conf looks like:
[localuser1]
secret = jja3$gSFgldsfg@
deny=0.0.0.0/0.0.0.0
permit=127.0.0.0/255.0.0.0
read = call,log,verbose,dtmf,dialplan
write = command,originate
* NOTE: don't use a pound (#) in your secret. this code treats the #
as a comment in the /etc/jksms.conf and will strips them out.
About
Someone can send a text from their mobile phone and your Asterisk will ring/intercom your phone and say it.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published