code: def connect(self, addr=None, userinfo=None):
          
          if _debug: ProxyClientService._debug("connect addr=%r", addr)
  
          # if the address was provided, use it
          if addr:
              self.address = addr
          else:
              addr = self.address
  
          # if the user was provided, save it
          if userinfo:
              self.userinfo = userinfo
  
          # make a connection
          conn = ConnectionState(addr)
          self.multiplexer.connections[addr] = conn
          if _debug: ProxyClientService._debug("    - conn: %r", conn)
  
          # associate with this service, but it is not connected until the ack comes back
          conn.service = self
  
          # keep a list of pending BSLPDU objects until the ack comes back
          conn.pendingBSLPDU = []
  
          # build a service request
          request = ServiceRequest(PROXY_SERVICE_ID)
          request.pduDestination = addr
  
          # send it
          self.service_request(request)
  
          # return the connection object
          return conn
docs: Initiate a connection request to the device.