Method: Smpp::Pdu::DeliverSm#initialize
- Defined in:
- lib/smpp/pdu/deliver_sm.rb
#initialize(source_addr, destination_addr, short_message, options = {}, seq = nil) ⇒ DeliverSm
Returns a new instance of DeliverSm.
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/smpp/pdu/deliver_sm.rb', line 14 def initialize(source_addr, destination_addr, , ={}, seq=nil) @udh = [:udh] @service_type = [:service_type]? [:service_type] :'' @source_addr_ton = [:source_addr_ton]?[:source_addr_ton]:0 # network specific @source_addr_npi = [:source_addr_npi]?[:source_addr_npi]:1 # unknown @source_addr = source_addr @dest_addr_ton = [:dest_addr_ton]?[:dest_addr_ton]:1 # international @dest_addr_npi = [:dest_addr_npi]?[:dest_addr_npi]:1 # unknown @destination_addr = destination_addr @esm_class = [:esm_class]?[:esm_class]:0 # default smsc mode @protocol_id = [:protocol_id]?[:protocol_id]:0 @priority_flag = [:priority_flag]?[:priority_flag]:0 @schedule_delivery_time = [:schedule_delivery_time]?[:schedule_delivery_time]:'' @validity_period = [:validity_period]?[:validity_period]:'' @registered_delivery = [:registered_delivery]?[:registered_delivery]:1 # we want delivery notifications @replace_if_present_flag = [:replace_if_present_flag]?[:replace_if_present_flag]:0 @data_coding = [:data_coding]?[:data_coding]:3 # iso-8859-1 @sm_default_msg_id = [:sm_default_msg_id]?[:sm_default_msg_id]:0 @short_message = payload = @udh ? @udh.to_s + @short_message : @short_message @sm_length = payload.length #fields set for delivery report @stat = [:stat] @msg_reference = [:msg_reference] @receipted_message_id = [:receipted_message_id] @message_state = [:message_state] @optional_parameters = [:optional_parameters] pdu_body = sprintf("%s\0%c%c%s\0%c%c%s\0%c%c%c%s\0%s\0%c%c%c%c%c%s", @service_type, @source_addr_ton, @source_addr_npi, @source_addr, @dest_addr_ton, @dest_addr_npi, @destination_addr, @esm_class, @protocol_id, @priority_flag, @schedule_delivery_time, @validity_period, @registered_delivery, @replace_if_present_flag, @data_coding, @sm_default_msg_id, @sm_length, payload) seq ||= next_sequence_number super(DELIVER_SM, 0, seq, pdu_body) end |