class RubySipgate::Sms
Public Class Methods
deliver(phonenumber, text)
click to toggle source
# File lib/ruby_sipgate/sms.rb, line 10 def self.deliver(phonenumber, text) user = RubySipgate::Config.get :username url = "https://#{user}:#{RubySipgate::Config.get :password}@samurai.sipgate.net/RPC2" client = XMLRPC::Client.new2(url) client.call('samurai.ClientIdentify', {'ClientName' => 'Ruby-Client'} ) number = strip_phonenumber(phonenumber) args = { 'RemoteUri' => "sip:#{number}@sipgate.net", 'TOS' => 'text', 'Content' => text[0,159] } if RubySipgate::Config.get :debug puts "*** I would have sent the following to #{phonenumber}:" puts args.inspect else if r = client.call('samurai.SessionInitiate', args) if RubySipgate::Config.get :verbose puts "*** SMS sent to #{number} (#{r.inspect})" puts "*** SMS text: #{text}" end return r else raise "sms send failed: #{r.inspect}" end end end
hi()
click to toggle source
# File lib/ruby_sipgate/sms.rb, line 6 def self.hi puts "Hi #{RubySipgate::Config.get :username}, your pass is '#{RubySipgate::Config.get :password}'!" end
Private Class Methods
strip_phonenumber(number)
click to toggle source
# File lib/ruby_sipgate/sms.rb, line 38 def self.strip_phonenumber(number) number.gsub!(/\D/, '') number.gsub!(/^01/, '491') number.gsub!(/^00491/, '491') number end