def start_enquire_link_timer(delay_secs)
      logger.info "Starting enquire link timer (with #{delay_secs}s interval)"
      timer = EventMachine::PeriodicTimer.new(delay_secs) do
        if error?
          logger.warn "Link timer: Connection is in error state. Disconnecting."
          timer.cancel
          close_connection
        elsif unbound?
          logger.warn "Link is unbound, waiting until next #{delay_secs} interval before querying again"
        else

          # if the user has defined a method to be called periodically, do
          # it now - and continue if it indicates to do so
          rval = defined?(periodic_call_method) ? periodic_call_method : true

          # only send an OK if this worked
          write_pdu Pdu::EnquireLink.new if rval
        end
      end
    end
def start_enquire_link_timer(delay_secs)
      logger.info "Starting enquire link timer (with #{delay_secs}s interval)"
      timer = EventMachine::PeriodicTimer.new(delay_secs) do
        if error?
          logger.warn "Link timer: Connection is in error state. Disconnecting."
          timer.cancel
          close_connection
        elsif unbound?
          logger.warn "Link is unbound, waiting until next #{delay_secs} interval before querying again"
        else

          # if the user has defined a method to be called periodically, do
          # it now - and continue if it indicates to do so
          rval = defined?(periodic_call_method) ? periodic_call_method : true

          # only send an OK if this worked
          write_pdu Pdu::EnquireLink.new if rval
        end
      end
    end
sets up a periodic timer that will periodically enquire as to the
 state of the connection
 Note: to add in custom executable code (that only runs on an open
 connection), derive from the appropriate Smpp class and overload the
 method named: periodic_call_method