Forums » Project Fedena - Features » SMS Technology
Hi, i was wondering what technology you are using to send bulk text messages, i have found on internet http://www.kannel.org and also http://www.clickatell.com
Hi ivan,
In Fedena, you will need to enter the SMS Gateway API settings at (lib/sms_manager.rb).
Kannel is an open-source software to make an SMS gateway. You can connect your mobile phone or GSM modem and create your own SMS Gateway service. When you setup a API for this Gateway, you will get some settings and you need to enter that in Fedena.
ClickaTell is a BULK SMS service provider. If you register at their site (of course,it is paid service), they will provide you the API settings, which you can enter it to Fedena. They have worldwide coverage. but as far as a school/college is concerned, you need not go of International SMS. You will get cheaper SMS services from your National BULK SMS service providers.

Sooraj
Hi Sooraj,

How exactly does the SMS module work? Is it possible to schedule them such that you only get the notifications when some important anouncements are out. E.g. New Information posted on the bulletin, exam results are out or when your payslip has been approved and so on. Please clarify.

Thanks again,
Apuesto
Hi Apuesto,

When you register with a Bulk SMS provider, they would provide you API settings. You need to fill those settings inside lib/sms_manager.rb.
Then, Add a database entry to `configurations` table as told in "install" page of this site.
After, that when you go to settings page, you will find all the options you need. Yes, it possible to schedule SMS for important notifications only.
hi friends
i have given details in lib/sms_manager.rb all (url,username,password,sendername) but even though i was not able to send the sms from fedena ,can any body help me in this regard...
bkharish,
Could you show some error messages / logs ? , See the files production.log and development.log in your logs folder of fedena .
dear srihari,

in my user profile do not have column to insert the number phone..
and then, when i send the message, it appear that sms already send..
actually not..

so, what should i do sir..

should i insert something in database table sir?

thank you very much
can any body help that i need to print the response of sms sent ,example: if i sent bulk sms to more than 10 people if in that any numbers are invalid then i have to print the numbers for which the messege was not sent/invalid,then wat type of code i need to write and where?
thanks in advance......
bkharish,
You would need to modify sms_manager.rb inside /lib direcotry.. Does your Bulk SMS provider provide a return value ?, You can modify that function to give the return value and show the output in a flash message.
yes Mr.soorajb but how to print the response in view like for ex: if i getting response and storing in variable @var = response.body in sms_manager.lib but how to send this variable @var from sms_manager.lib to view i need code help..
thank u..
Dear Soorajb,

I am trying to test the clickatell services and got so many confusing options.

HTTP/S, SMTP [Email to SMS], COM OBJECT, XML, SOAP, FTP and SMPP.

Which one do I choose?

Thanks,

MgB.
just http, the basic one
where can i found fedena version 2.1?
MY fedena in install on another server and my kannel is install on another server. how can i configure my fedena?????????????/
This is how my sms configuration looks like but still not working. Can you help me pls.

require 'net/http'
require 'yaml'
require 'translator'

class SmsManager
attr_accessor :recipients, :message

def initialize(message, recipients)
@recipients = recipients
@message = message
@config = SmsSetting.get_sms_config
unless @config.blank?
@sendername = @config['sms_settings']['Mighty']
@sms_url = @config['sms_settings']['http://www.smsglobal.com/http-api.php']
@username = @config['sms_settings']['axxxxxxe']
@password = @config['sms_settings']['bxxxxxxr']
@success_code = @config['sms_settings']['success']
@username_mapping = @config['parameter_mappings']['username']
@username_mapping ||= 'username'
@password_mapping = @config['parameter_mappings']['password']
@password_mapping ||= 'password'
@phone_mapping = @config['parameter_mappings']['phone']
@phone_mapping ||= 'phone'
@sender_mapping = @config['parameter_mappings']['sendername']
@sender_mapping ||= 'Mighty'
@message_mapping = @config['parameter_mappings']['message']
@message_mapping ||= 'message'
unless @config['additional_parameters'].blank?
@additional_param = ""
@config['additional_parameters'].split(',').each do |param|
@additional_param += "&#{param}"
end
end
end
end

def perform
if @config.present?
message_log = SmsMessage.new(:body=> @message)
message_log.save
encoded_message = URI.encode(@message)
request = "#{@sms_url}?#{@username_mapping}=#{@username}&#{@password_mapping}=#{@password}&#{@sender_mapping}=#{@sendername}&#{@message_mapping}=#{encoded_message}#{@additional_param}&#{@phone_mapping}="
@recipients.each do |recipient|
cur_request = request
cur_request += "#{recipient}"
begin
response = Net::HTTP.get_response(URI.parse(cur_request))
if response.body.present?
message_log.sms_logs.create(:mobile=>recipient,:gateway_response=>response.body)
if @success_code.present?
if response.body.to_s.include? @success_code
sms_count = Configuration.find_by_config_key("TotalSmsCount")
new_count = sms_count.config_value.to_i + 1
sms_count.update_attributes(:config_value=>new_count)
end
end
end
rescue Timeout::Error => e
message_log.sms_logs.create(:mobile=>recipient,:gateway_response=>e.message)
rescue Errno::ECONNREFUSED => e
message_log.sms_logs.create(:mobile=>recipient,:gateway_response=>e.message)
end
end
end
end
end