Skip to content
/ jkSMS Public

Someone can send a text from their mobile phone and your Asterisk will ring/intercom your phone and say it.

License

Notifications You must be signed in to change notification settings

jkister/jkSMS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jkSMS
Copyright (c) 2016 Jeremy Kister

DESCRIPTION:
 Lets you send a text from a mobile phone to an email address like
 [email protected].  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

No packages published