I don't know of others but I have tried that and is limited because is specially designed to people that is there to mainly answer calls
For people that make calls or mixed use you have to create users as "call back agents", configure them as "dynamic agents", but in that way, the module doesn't show the agents as online, also you receive as agent others incoming calls when you are already on a call.
The only way I partially solved this "call waiting" thing was to take off the extra "S" letter from the extension number in the dynamics users list (S+ext number+weight example S101,0) and entered as always 101,0 but without the "S" for Sip user and "I" (caps i) for IAX user that doesn't work for the call centre module and that means stop using the call centre module. The users without the S or I cannot log in using the call centre console and had to log in with feature code *45
It was embarrassing with the client because I had not managed to solve that "call waiting" thing with the module in production.
There are others if you search but free as open source I don't know another one, and commercial ones are sometimes expensive.