A flight between 2 Canadian cities, as part of a single continuous journey, can only be legally served by a Canadian carrier. A US carrier going between 2 Canadian cities with routing via a US city is called cabotage and is not currently allowed. You can do it with 2 separate tickets and sometimes the systems let these cabotage bookings slip through, but they are not legal nonetheless.