In the process of building an operator application in C# I have encountered some problems. They all stem from the fact that the operator isn’t actually a phone. So doing things like transfer a call (a BYE then REFER), or placing a call on hold (send another INVITE as a=recvonly) are easy for phones to do because they already hold state information about the call dialog from the initial handshake.
Is it possible to send INVITEs on behalf of another phone to get them into conference? Is it possible to send INVITEs on behalf of another phone to get them into hold?
Well, if you are using Asterisk I’d recommend looking into Asterisk Manager Interface and not deal with SIP protocol directly. It provides methods to create/transfer/hangup calls,monitor,etc, and everything else you might need.