public function report($parameters = [])
    {
        $query = [
            'username' => $this->config->get('username'),
            'password' => $this->config->get('password'),
        ];

        if (isset($parameters['id'])) {
            $query['msg_id'] = $parameters['id'];
        }

        if (isset($parameters['from'])) {
            $query['from'] = $parameters['from'];
        }

        if (isset($parameters['to'])) {
            $query['to'] = $parameters['to'];
        }

        $result = $this->client->request('GET', 'dlr.php', [
            'query' => $query,
            'verify' => false
        ]);

        if ($result->getStatusCode() != 200) {
            throw new \Exception('Response code: ' . $result->getStatusCode());
        }

        $resultContent = $result->getBody()->getContents();
        $xml = simplexml_load_string($resultContent);
        $result = [];
        foreach ($xml->message as $message) {
            $result[] = [
                'id'     => isset($message['id']) ? (int)$message['id'] : '',
                'sent'   => isset($message['sentdate']) ? (string)$message['sentdate'] : '',
                'done'   => isset($message['donedate']) ? (string)$message['donedate'] : '',
                'status' => isset($message['status']) ? (string)$message['status'] : '',
            ];
        }

        return $result;
    }