class Smpp::Pdu::SubmitMultiResponse
Recieving response for an MT message sent to multiple addresses Author: Abhishek Parolkar, (abhishekparolkar.com)
Attributes
message_id[RW]
unsuccess_smes[RW]
Public Class Methods
from_wire_data(seq, status, body)
click to toggle source
# File lib/smpp/pdu/submit_multi_response.rb, line 31 def self.from_wire_data(seq, status, body) message_id, no_unsuccess, rest = body.unpack("Z*Ca*") unsuccess_smes = [] no_unsuccess.times do |i| #unpack the next sme dest_addr_ton, dest_addr_npi, destination_addr, error_status_code = rest.unpack("CCZ*N") #remove the SME from rest rest.slice!(0,7 + destination_addr.length) unsuccess_smes << UnsuccessfulSme.new(dest_addr_ton, dest_addr_npi, destination_addr, error_status_code) end new(seq, status, message_id, unsuccess_smes) end
new(seq, status, message_id, unsuccess_smes = [])
click to toggle source
Calls superclass method
Smpp::Pdu::Base::new
# File lib/smpp/pdu/submit_multi_response.rb, line 12 def initialize(seq, status, message_id, unsuccess_smes = []) @unsuccess_smes = unsuccess_smes seq ||= next_sequence_number packed_smes = "" unsuccess_smes.each do |sme| packed_smes << [ sme.dest_addr_ton, sme.dest_addr_npi, sme.destination_addr, sme.error_status_code ].pack("CCZ*N") end body = [message_id, unsuccess_smes.size, packed_smes].pack("Z*Ca*") super(SUBMIT_MULTI_RESP, status, seq, body) @message_id = message_id end