def user_data_header parts_count, part_number
      return '' if parts_count == 1
      @concatenated_message_reference ||= rand((2**16)-1)
      udh =  '06' # Length of User Data Header
      udh << '08' # Concatenated short messages, 16-bit reference number
      udh << '04' # Length of the header, excluding the first two fields
      udh << "%04X" % @concatenated_message_reference
      udh << "%02X" % parts_count
      udh << "%02X" % part_number
      udh
    end
def user_data_header parts_count, part_number
      return '' if parts_count == 1
      @concatenated_message_reference ||= rand((2**16)-1)
      udh =  '06' # Length of User Data Header
      udh << '08' # Concatenated short messages, 16-bit reference number
      udh << '04' # Length of the header, excluding the first two fields
      udh << "%04X" % @concatenated_message_reference
      udh << "%02X" % parts_count
      udh << "%02X" % part_number
      udh
    end
http://en.wikipedia.org/wiki/Concatenated_SMS#Sending_a_concatenated_SMS_using_a_User_Data_Header