Author Message
NobuhiroTentaku
Joined: Jul 7, 2021
Messages: 93
Offline
Dear Sir ,

Regarding subject above, currently CallControlTerminalConnectionListenerAdapter is watching CallControlConnectionEvent and CallControlTerminalConnectionEvent. Everytime when event callback occured, I get cause of Event and CallControlEvent. I have 2 questions on these cause.

1) I never get CallControlEvent.CAUSE_CALL_PICKUP and CallControlEvent.CAUSE_UNHOLD. Is there any setting and/or condition to get these CAUSE?
2) Most of the value of CallControlEvent.getCallControlCause() is 100 though definition of the CallControlEvent Cause is from 202 (CAUSE_ALTERNATE) to 214 (CAUSE_UNHOLD). So does 100 mean NO CAUSE or UNKNOWN CAUSE in this case?

Thank you for your help in advance.
Best regards,
JohnBiggs
Joined: Jun 20, 2005
Messages: 1139
Location: Rural, Virginia
Offline
Avaya only supports connection established/cleared. It does not support UNHOLD nor PICKUP.

I do not know the answer to your question #2.
NobuhiroTentaku
Joined: Jul 7, 2021
Messages: 93
Offline
Dear John,

Regarding PICKUP I check out event history as follows

2021/08/30 17:27:52.569 - CallControlTerminalConnectionEvent.CALLCTL_TERMINAL_CONNECTION_RINGING
2021/08/30 17:27:52.569 - Event.CAUSE_NORMAL
2021/08/30 17:27:52.570 - callingAddress = 80352250
2021/08/30 17:27:52.570 - calledAddress = 80352600
2021/08/30 17:27:52.570 - lastRedirectedAddress = null
2021/08/30 17:27:52.570 - getUCID() :10000022561630312072

2021/08/30 17:27:58.932 - connectionEstablished()
2021/08/30 17:27:58.933 - CallControlConnectionEvent.CALLCTL_CONNECTION_ESTABLISHED
2021/08/30 17:27:58.933 - Event.CAUSE_NORMAL
2021/08/30 17:27:58.933 - callingAddress = 80352250
2021/08/30 17:27:58.933 - calledAddress = 80352600
2021/08/30 17:27:58.933 - lastRedirectedAddress = 80352600
2021/08/30 17:27:58.933 - getUCID() :10000022561630312072

2021/08/30 17:27:58.975 - terminalConnectionTalking()
2021/08/30 17:27:58.975 - CallControlTerminalConnectionEvent.CALLCTL_TERMINAL_CONNECTION_TALKING
2021/08/30 17:27:58.975 - Event.CAUSE_NORMAL
2021/08/30 17:27:58.975 - callingAddress = 80352250
2021/08/30 17:27:58.975 - calledAddress = 80352600
2021/08/30 17:27:58.975 - lastRedirectedAddress = 80352600
2021/08/30 17:27:58.976 - getUCID() :10000022561630312072

In the above log pickup fills into lastRedirectedAddress by calledAddress which is the original address before pickup.
I wonder how to get pickup address. Please let me know how to get pickup address.
Best regards,
JohnBiggs
Joined: Jun 20, 2005
Messages: 1139
Location: Rural, Virginia
Offline
I dont know JTAPI that well, each terminal that has a monitor which involved in the call will get a connectionEstablished event in TSAPI. That event would have the identifier for the party that joined the call. I don't know how JTAPI turns that event into objects.
NobuhiroTentaku
Joined: Jul 7, 2021
Messages: 93
Offline
Thank you for your comment and help.
Best regards,
NobuhiroTentaku
Joined: Jul 7, 2021
Messages: 93
Offline
Hi John,

Regarding your response on 24/08/2022 16:12:16 you mentioned that "Avaya only supports connection established/cleared. It does not support UNHOLD nor PICKUP.". However when I tested Park hold, Igot CallControlEvent.CAUSE_PARK of CallControlTerminalConnectionEvent.CALLCTL_TERMINAL_CONNECTION_TALKING. What I don't understand is why CAUSE_PICKUP cannot be detected though CAUSE_PARK and CAUSE_PICKUP is similar and CAUSE_PARK can be detected.
HELD is presented or not before PICKUP and PARK makes difference?

Best regards,
JohnBiggs
Joined: Jun 20, 2005
Messages: 1139
Location: Rural, Virginia
Offline
It is not that something is 'detecting' these feature indications. It is that Communication Manager does or does not signal the type of feature that it is processing to AE Services/ the application. It comes down to what someone wrote code in Communication Manager and Applications Enablement Services and the JTAPI Client to signal out to an application. PARK isnt HOLD, and it isn't PICKUP either. UNPARK is a lot like PICKUP - but it is different code in Communication Manager because there are differences between PICKUP and UNPARK. It still comes down to what someone took the time to build and test. Most of the features behaviors are fairly simple at the connection layer... you are in a call or not. And for the most part that is what Avaya CTI provides, an indication that a party is in a call or not. Occasionally, you might get a little more because somewhere in the past someone had reason to build that out, but, in general, the JTAPI standard has a number of pieces of information that not all vendors implement.

Note further as Martin pointed out that JTAPI is a wrapper around TSAPI. It can only do as good as TSAPI can. And TSAPI consumes yet another protocol ASAI which came before either JTAPI or TSAPI was defined. Avaya (then AT&T) worked with other vendors to take the propriatry CTI protocols and form a standard to make iit simpler to have one application integrate with multiple PBXs. There were other contributors to JTAPI/TSAPI who put their spin on the protocol, but note that where they did not have an implementation for them the vendors involved worked to make sure those indications are not manditory in the protocol. PICKUP, UNHOLD are not manditory. AT&T did not have an implementation then, and has not built one since.
NobuhiroTentaku
Joined: Jul 7, 2021
Messages: 93
Offline
Hi John,

Thank you for your quick response and explanation.

Best regards,
Go to:   
Mobile view