Hello,
That's an interesting project. I understand the communication model you explained. It can be implemented in several ways with C#. If you are not comfortable with using low-level socket then .NET provides other high-level APIs to implement such scenarios. I'm new in freelancing world, but I've dealt with this sort of communication model back at my job/workplace. In your scenario the real challenge comes after making successful communication, when you'd want to stream the "control" of the Client to the Technician.
Please disregard the pricing and timing I've put, as it seem they might vary and be a subject to update if we discuss the specifics.