public IActionResult Failover(FailoverModel failoverModel)
        {
            // create a logger
            Logger logger = NexmoLogger.GetLogger("FailoverLogger");

            logger.Open();

            if (ModelState.IsValid)
            {
                try
                {
                    // send the message with failover
                    if (NexmoApi.SendDispatchFailover(failoverModel, logger, configuration))
                    {
                        ViewData["feedback"] = "Your message has been sent successfully.";
                    }
                    else
                    {
                        ViewData["error"] = "We could not send your message. Please try again later";
                    }
                }
                catch (Exception e)
                {
                    logger.Log(Level.Exception, e);
                    ViewData["error"] = "There has been an issue dealing with your request. Please try again later.";
                }
                finally
                {
                    logger.Close();
                    logger.Deregister();
                }
            }
            else
            {
                logger.Log(Level.Warning, "Model State: " + ModelState.ValidationState);
                logger.Log(Level.Warning, "Model State Values: " + ModelState.Values);
            }

            return(View());
        }