mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Added Clickatell and PlaySMS Transports
This commit is contained in:
@@ -18,6 +18,8 @@ Table of Content:
|
||||
- [Pushover](#transports-pushover)
|
||||
- [Boxcar](#transports-boxcar)
|
||||
- [Pushbullet](#transports-pushbullet)
|
||||
- [Clickatell](#transports-clickatell)
|
||||
- [PlaySMS](#transports-playsms)
|
||||
- [Entities](#entities)
|
||||
- [Devices](#entity-devices)
|
||||
- [BGP Peers](#entity-bgppeers)
|
||||
@@ -372,6 +374,38 @@ $config['alert']['transports']['pushbullet'] = 'MYFANCYACCESSTOKEN';
|
||||
```
|
||||
~~
|
||||
|
||||
## <a name="transports-clickatell">Clickatell</a>
|
||||
|
||||
Clickatell provides a REST-API requiring an Authorization-Token and at least one Cellphone number.
|
||||
Please consult Clickatell's documentation regarding number formating.
|
||||
Here an example using 3 numbers, any amount of numbers is supported:
|
||||
|
||||
~~
|
||||
```php
|
||||
$config['alert']['transports']['clickatell']['token'] = 'MYFANCYACCESSTOKEN';
|
||||
$config['alert']['transports']['clickatell']['to'][] = '+1234567890';
|
||||
$config['alert']['transports']['clickatell']['to'][] = '+1234567891';
|
||||
$config['alert']['transports']['clickatell']['to'][] = '+1234567892';
|
||||
```
|
||||
~~
|
||||
|
||||
## <a name="transports-playsms">PlaySMS</a>
|
||||
|
||||
PlaySMS is an OpenSource SMS-Gateway that can be used via their HTTP-API using a Username and WebService-Token.
|
||||
Please consult PlaySMS's documentation regarding number formating.
|
||||
Here an example using 3 numbers, any amount of numbers is supported:
|
||||
|
||||
~~
|
||||
```php
|
||||
$config['alert']['transports']['playsms']['url'] = 'https://localhost/index.php?app=ws';
|
||||
$config['alert']['transports']['playsms']['user'] = 'user1';
|
||||
$config['alert']['transports']['playsms']['token'] = 'MYFANCYACCESSTOKEN';
|
||||
$config['alert']['transports']['playsms']['to'][] = '+1234567890';
|
||||
$config['alert']['transports']['playsms']['to'][] = '+1234567891';
|
||||
$config['alert']['transports']['playsms']['to'][] = '+1234567892';
|
||||
```
|
||||
~~
|
||||
|
||||
# <a name="entities">Entities
|
||||
|
||||
Entities as described earlier are based on the table and column names within the database, if you are unsure of what the entity is you want then have a browse around inside MySQL using `show tables` and `desc <tablename>`.
|
||||
|
45
includes/alerts/transport.clickatell.php
Normal file
45
includes/alerts/transport.clickatell.php
Normal file
@@ -0,0 +1,45 @@
|
||||
/* Copyright (C) 2015 Daniel Preussker <f0o@librenms.org>
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
/**
|
||||
* Clickatell REST-API Transport
|
||||
* @author f0o <f0o@librenms.org>
|
||||
* @copyright 2015 f0o, LibreNMS
|
||||
* @license GPL
|
||||
* @package LibreNMS
|
||||
* @subpackage Alerts
|
||||
*/
|
||||
|
||||
$data = array("text" => $obj['title'], "to" => $opts['to']);
|
||||
$data = json_encode($data);
|
||||
$curl = curl_init('https://api.clickatell.com/rest/message');
|
||||
|
||||
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
|
||||
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
|
||||
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
|
||||
'Content-Type: application/json',
|
||||
'Content-Length: '.strlen($data),
|
||||
'Authorization: Bearer '.$opts['token'],
|
||||
));
|
||||
|
||||
$ret = curl_exec($curl);
|
||||
$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
|
||||
if( $code > 202 ) {
|
||||
if( $debug ) {
|
||||
var_dump($ret);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
39
includes/alerts/transport.playsms.php
Normal file
39
includes/alerts/transport.playsms.php
Normal file
@@ -0,0 +1,39 @@
|
||||
/* Copyright (C) 2015 Daniel Preussker <f0o@librenms.org>
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
/**
|
||||
* PlaySMS API Transport
|
||||
* @author f0o <f0o@librenms.org>
|
||||
* @copyright 2015 f0o, LibreNMS
|
||||
* @license GPL
|
||||
* @package LibreNMS
|
||||
* @subpackage Alerts
|
||||
*/
|
||||
|
||||
$data = array("msg" => $obj['title'], "to" => implode(',',$opts['to']), "h" => $opts['token'], "u" => $opts['user']);
|
||||
$url = $opts['url'].'&'.http_build_query($data);
|
||||
$curl = curl_init($url);
|
||||
|
||||
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "GET");
|
||||
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
|
||||
|
||||
$ret = curl_exec($curl);
|
||||
$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
|
||||
if( $code > 202 ) {
|
||||
if( $debug ) {
|
||||
var_dump($ret);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
Reference in New Issue
Block a user