I've been tasked to look for a solution to manage our customer service requests. Any suggestions for what software we should use?

Some of our requirements are:
* Be able to login from anywhere
* Mobile friendly
* Good ticket management system & log incoming requests via email and phone
* Knowledgebase management?

Thank You