mirror of
https://github.com/Telecominfraproject/wlan-cloud-ucentralsec.git
synced 2025-10-29 18:02:29 +00:00
Adding SMS service integration
This commit is contained in:
@@ -18,10 +18,10 @@ namespace OpenWifi {
|
||||
Region_ = Daemon()->ConfigGetString("smssender.aws.region","");
|
||||
|
||||
if(SecretKey_.empty() || AccessKey_.empty() || Region_.empty()) {
|
||||
Logger_.debug("SMSSender is disabled. Please provide key and access key in configuration.");
|
||||
Logger_.debug("SMSSender is disabled. Please provide key, secret, and region.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
Enabled_=true;
|
||||
AwsConfig_.region = Region_;
|
||||
AwsCreds_.SetAWSAccessKeyId(AccessKey_.c_str());
|
||||
AwsCreds_.SetAWSSecretKey(SecretKey_.c_str());
|
||||
@@ -33,28 +33,24 @@ namespace OpenWifi {
|
||||
}
|
||||
|
||||
int SMSSender::Send(const std::string &PhoneNumber, const std::string &Message) {
|
||||
if(!Enabled_) {
|
||||
Logger_.information("SMS has not been enabled. Messages cannot be sent.");
|
||||
return -2;
|
||||
}
|
||||
|
||||
Aws::SNS::SNSClient sns(AwsCreds_,AwsConfig_);
|
||||
|
||||
Aws::SNS::Model::PublishRequest psms_req;
|
||||
psms_req.SetMessage(Message.c_str());
|
||||
psms_req.SetPhoneNumber(PhoneNumber.c_str());
|
||||
|
||||
std::cout << "Sending message: " << PhoneNumber << " ...:" << Message << std::endl;
|
||||
|
||||
auto psms_out = sns.Publish(psms_req);
|
||||
|
||||
if (psms_out.IsSuccess())
|
||||
{
|
||||
std::cout << "Message published successfully " << psms_out.GetResult().GetMessageId()
|
||||
<< std::endl;
|
||||
if (psms_out.IsSuccess()) {
|
||||
Logger_.debug(Poco::format("SMS sent to %s",PhoneNumber));
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "Error while publishing message " << psms_out.GetError().GetMessage()
|
||||
<< std::endl;
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
Logger_.debug(Poco::format("SMS NOT sent to %s",PhoneNumber));
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@@ -32,6 +32,7 @@ namespace OpenWifi {
|
||||
std::string Region_;
|
||||
Aws::Client::ClientConfiguration AwsConfig_;
|
||||
Aws::Auth::AWSCredentials AwsCreds_;
|
||||
bool Enabled_=false;
|
||||
|
||||
SMSSender() noexcept:
|
||||
SubSystemServer("SMSSender", "SMS-SVR", "smssender.aws")
|
||||
|
||||
Reference in New Issue
Block a user