@Override
  public void messageReceived(NextFilter nextFilter, IoSession session, Object message)
      throws Exception {
    if (message instanceof RtspRequest) {
      for (ControlProvider provider : providers)
        provider.receivedRequest(session, (RtspRequest) message);
    } else if (message instanceof RtspResponse) {
      for (ControlProvider provider : providers)
        provider.receivedResponse(session, (RtspResponse) message);
    } else {
      log.error("Expecting a RtspRequest. Received a {}", message.getClass().getName());
    }

    // Forward message
    nextFilter.messageReceived(session, message);
  }