02-01-2018 03:04 AM
We have simple JTAPI application for all call control.
I am getting the issue in consult call.
Why I try to get TerminalConnection for the required terminal I am getting NULL in terminal Connection. Therefor I am not able to transfer the call from callControlCall.consult(TC) method.
This is how I am getting TerminalConnection for consult call.
TerminalConnection terminal=(TerminalConnection) callControlCall.getProvider().getTerminal("1234").getTerminalConnections()[0];
Anyhelp !!!!
Solved! Go to Solution.
02-01-2018 11:26 PM
Consult involves 2 calls. One existing call with terminalConnection1 in talking state and new call.
try this:
Call call = provider.CreateCall();
call.consult(terminalConnection1, "8881");
After this you should see terminalConnection1 going to ONHOLD state and a new call is initiated to 8881. When 8881 answers the call you can transfer the call using callControlCall.transfer(call)
02-01-2018 09:37 AM
Do you already have a call on the terminal? In a typical transfer scenario: A calls B (say call GC1) , B answers the call and then B can do a consult API using the terminal connection of the call between A and B (GC1).
As mentioned in the other post you need to have call observer on B to do a consult in this scenario.
callControlCall is a newly created call object using createCall API.
TC is the terminal connection of the Terminal B in the call from A to B. Check if you have an answered call at B.
HTH
02-01-2018 10:37 PM
Thank you for you answer.
Here is what I did.
I got terminalConnection from call B , below is the code
As B has answer the call so Call is active and TerminalConnection for B is Talking.
After that whet, i try to consult the call it throw exception. According to the document for consult call, Call Must be in idle state, but here in my case call is in Active state
looking forward.
02-01-2018 11:26 PM
Consult involves 2 calls. One existing call with terminalConnection1 in talking state and new call.
try this:
Call call = provider.CreateCall();
call.consult(terminalConnection1, "8881");
After this you should see terminalConnection1 going to ONHOLD state and a new call is initiated to 8881. When 8881 answers the call you can transfer the call using callControlCall.transfer(call)
02-02-2018 01:59 AM
You are a champ..Tumbs up (Y)
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide