Connecting a voice and a data channel in the context of a customer interaction is a fundamental challenge for call center technology.
Attaching a data channel (IM, Screen-Sharing, Web-Sharing, Video) to an already established conventional phone call requires manual interaction by the customer. The agent needs to provide a "session ID" to the customer, so that the customer can initiate the data session (using the web browser or a custom software e.g. for screen sharing) and by providing the session ID he will be able connect it to the existing voice session, i.e. route the data connection to the agent who is already talking with him on the phone.
The more elegant alternative is to establish both connections at once. Through the web browser or custom software the customer requests a combined session. The session request needs to be routed through an ACD engine in the call center. As soon as an agent is available, the data connection is established. Then a unique phone number for the session is generated for the customer, the customer calls this phone number and is directly connected to the agent. Alternatively the customer has supplied a call-back number with his session request and is now automatically called back. The third and most elegant option is using the existing data connection for voice with VoIP.
If an agent needs to refer the caller to someone else, the data channel should be handed over together with the voice call.