class Uacsta def send(sip_account, domain, body) require 'freeswitch_event' event = FreeswitchEvent.new("NOTIFY") event.add_header("profile", "gemeinschaft") event.add_header("event-string", "uaCSTA") event.add_header("user", sip_account) event.add_header("host", domain) event.add_header("content-type", "application/csta+xml") event.add_body(body); return event.fire(); end def make_call(sip_account, domain, number) body = ' ' + sip_account.to_s + ' ' + number.to_s + ' doNotPrompt ' self.send(sip_account, domain, body); end def answer_call(sip_account, domain) body = ' ' + sip_account + ' ' self.send(sip_account, domain, body) end def set_microphone_mute(sip_account, domain, value) body = ' ' + sip_account + ' 1 ' + value.to_s + ' ' self.send(sip_account, domain, body) end def set_speaker_volume(sip_account, domain, value) body = ' ' + sip_account + ' 1 ' + value.to_s + ' ' self.send(sip_account, domain, body) end def set_do_not_disturb(sip_account, domain, value) body = ' ' + sip_account + ' ' + value.to_s + ' ' self.send(sip_account, domain, body) end def set_forwarding(sip_account, domain, forwarding_type, number, activate) forwarding_types = [ "forwardImmediate", "forwardBusy", "forwardNoAns" ] body = ' ' + sip_account + ' ' + forwarding_types[forwarding_type.to_i] + ' ' + number.to_s + ' ' + activate.to_s + ' ' self.send(sip_account, domain, body) end end