In a normal scenario with UCCE it is not possible to perform consult transfer the call to second agent without putting customer call leg on hold.
If you don’t want the customer to put on hold , you can do the blind transfer.
Normally, the consultation transfer will be initiated between the agents and customer will be on hold so that he can’t hear the conversation.
I don’t think with multiline also it is possible because, if agent talks to customer on Line 1 ( ACD line ) and initiates another call to agent 2 ACD line from his Non-ACD line then that will be a new call and some mechanism is needed to merge these two calls
It is possible to make conference with Call.SingleStepConference. Effectively it will be hold-call-conference, but in quick succession, so hold condition will not be detectable by customer. If you want to make it into transfer then, use Call.ClearConnection on first agent.
The problem with this screnario is inability to drop second agent from first agent's client without clearing the whole call if you don't use external API like JTAPI/TAPI or hijack second agent with another CTIOS session.