cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1158
Views
0
Helpful
4
Replies

Consult Call with JTAPI

ehtasham.malik
Level 1
Level 1

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 !!!!

1 Accepted Solution

Accepted Solutions

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)

View solution in original post

4 Replies 4

pmnkumar
Level 1
Level 1

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

Thank you for you answer.
Here is what I did.
I got terminalConnection from call B , below is the code

TC1.PNG

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

TC2.PNG

looking forward.

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)

You are a champ..Tumbs up  (Y)

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: