Well, to my understanding: anyone who sends work outside of their own company is essentially outsourcing, so any client who works with you is outsourcing. Any process or service you subcontract out to have done is outsourcing.
Offshoring is when you go outside the country to outsource the work you need to have done.
I hope that helps clarify!