I am using asterisk to communicate with the PBX and want to answer the incoming call BUT, what I need is:
Suppose we are 101 and call 102. We can see/monitor the incoming call without problem.
On the receiver side (102), the user sees the notification of the incoming call. I want that the answer is triggered by the client gui, once the user performed some button action on the gui(software), the answer event should propagate to asterix/pbx and THEN the system should be in the answered state and the talking state. When I define some AGI script on 102 for incoming calls and define answer, the caller (101) is put into the talking state but we can not see any action on the telephone device of receiver 102 (called side). Is there a way to put both sides into the talking state when the receiver side performs some action, script etc. (Wait until the receiver performs some answer/pickup action) and then go into the talking state? And the action should be initiated by some script (java based agi/ami script)
To sum up, I want to use the telephone hardware devices and the software works synchronised. The requirement can be done using TAPI/JTAPI/GJTAPI but I want to learn whether that can be implemented using asterix by replacing the TAPI. Currently, we can start a call from our java based client, send action to the telephone hardware and monitor calls using the gjtapi. And we can also see an incoming call on our java client, user can answer by some gui button action, the gjtapi sends answer to the line and then the telephone device enters the talking state. I want to manage the telephone device with software, but I don not want any softphone. I want to control the telephone and trigger makecall, answer actions using software.
Is TAPI the only solution for this requirement and trying asterisk is the wrong way?
Example extensions.conf line
exten => 102,1,Agi(agi://192.168.0.X/answer.agi)
fastagi.properties:
answer.agi = org.asteriskjava.examples.fastagi.ExampleCallIn
ExampleCallIn:
public class ExampleCallIn extends BaseAgiScript {
public void service(AgiRequest request, AgiChannel channel) throws AgiException {
answer();
I start a call from 101, by telephone device or by software (dial), the service method is triggered and answer invoked, on the telephone 101 I see it enters the talking state because of answer call, but on the 102 (telephone device) nothing happens, it is still ringing (inbound call from 101).