Commit b3c9280b8ec23a7f6fea3f4e5dfcfa525308285d
1 parent
cd577b20c2
Exists in
master
beta
Showing 2 changed files with 51 additions and 3 deletions Side-by-side Diff
index.js
1 | +var request = require('request'); | |
2 | +var http = require('http'); | |
3 | +var url = require('url'); | |
1 | 4 | var fs = require('fs'); |
2 | 5 | var ini = require('ini'); |
3 | 6 | var xmpp = require('simple-xmpp'); |
4 | 7 | |
5 | 8 | var config = ini.parse(fs.readFileSync('./config.ini', 'utf-8')); |
6 | 9 | |
10 | +function createHttpListener() { | |
11 | + | |
12 | + var httpServer = http.createServer(function(request,response){ | |
13 | + | |
14 | + var qs = url.parse(request.url, true).query; | |
15 | + console.log('Incoming message from SMSIN server:'); | |
16 | + console.log(qs); | |
17 | + response.end('OK'); | |
18 | + | |
19 | + sendMessage(qs.PhoneNumber, qs.text); | |
20 | + }); | |
21 | + | |
22 | + httpServer.listen(config.globals.listen_port, function(){ | |
23 | + console.log("listening on " + config.globals.listen_port); | |
24 | + }) | |
25 | +} | |
26 | + | |
27 | +function sendMessage(destination, message) { | |
28 | + xmpp.send(destination, message); | |
29 | +} | |
30 | + | |
31 | +function reportToSMSIN(from, message) { | |
32 | + var opts = { | |
33 | + url: config.globals.smsin, | |
34 | + qs: { | |
35 | + PhoneNumber: from, | |
36 | + Text: message, | |
37 | + Res_Port: config.globals.listen_port, | |
38 | + SMSCID: config.globals.smscid | |
39 | + } | |
40 | + } | |
41 | + | |
42 | + request(opts, function(err, response, body) { | |
43 | + if (err) { | |
44 | + console.log('Error reporting to SMSIN: ' + err); | |
45 | + return; | |
46 | + } | |
47 | + }); | |
48 | +} | |
49 | + | |
7 | 50 | xmpp.on('online', function(data) { |
8 | 51 | console.log('Online'); |
9 | 52 | console.log(data); |
10 | 53 | console.log('Connected with JID: ' + data.jid.user); |
11 | - console.log('Yes, I\'m connected!'); | |
12 | 54 | }); |
13 | 55 | |
14 | 56 | xmpp.on('chat', function(from, message) { |
15 | - xmpp.send(from, 'echo: ' + message); | |
57 | + //xmpp.send(from, 'echo: ' + message); | |
58 | + console.log('Incoming message from ' + from + ': ' + message); | |
59 | + reportToSMSIN(from, message); | |
16 | 60 | }); |
17 | 61 | |
18 | 62 | xmpp.on('error', function(err) { |
... | ... | @@ -30,3 +74,5 @@ xmpp.connect({ |
30 | 74 | |
31 | 75 | // check for incoming subscription requests |
32 | 76 | xmpp.getRoster(); |
77 | + | |
78 | +createHttpListener(); |