Author Message
CristianMĂșnera
Joined: Mar 7, 2013
Messages: 7
Offline
Hi everyone!

First of all, sorry for my bad English!! :lol:

I need to simulate pressing the function button 1 of the physical phone. So, in the dashboard tool, from the Phone Commands tab, I do the test by sending the request getting the following error (See image1.png):

---------------------
Outgoing XML 245
<?xml version="1.0" encoding="utf-8"?>
<ButtonPress xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.ecma-international.org/standards/ecma-323/csta/ed3">
<device typeOfNumber="other" mediaClass="notKnown">6574:CMPOBLADO:0.0.0.0:0</device>
<button>263</button>
</ButtonPress>
-----------------------
Incoming XML 245 6574:CMPOBLADO:0.0.0.0:0
<?xml version="1.0" encoding="UTF-8"?>
<CSTAErrorCode xmlns="http://www.ecma-international.org/standards/ecma-323/csta/ed3">
<unspecified />
</CSTAErrorCode>

Other functions in the Phone Commands tab like Get Display, Get Button Info, Get Ringer Status and others are disabled.

So, my first question is: Why i'm getting this error? Why the other buttons are disabled? I need to do some thing before send this kind of request?

It is necessary to register the terminal before executing this function?

If so, I have tried to register the terminal getting the following error (See image2.png):

---------------------
Outgoing XML 270
<?xml version="1.0" encoding="utf-8"?>
<RegisterTerminalRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.avaya.com/csta">
<device typeOfNumber="other" mediaClass="notKnown">6574:CMPOBLADO:0.0.0.0:0</device>
<loginInfo>
<forceLogin>false</forceLogin>
<sharedControl>false</sharedControl>
<password>6574</password>
<mediaMode>NONE</mediaMode>
<dependencyMode>INDEPENDENT</dependencyMode>
</loginInfo>
</RegisterTerminalRequest>
-----------------------
Incoming XML 270 6574:CMPOBLADO:0.0.0.0:0
<?xml version="1.0" encoding="UTF-8"?>
<CSTAErrorCode xmlns="http://www.ecma-international.org/standards/ecma-323/csta/ed3">
<operation>invalidParameterValue</operation>
</CSTAErrorCode>

The call control functions works fine, but never before I tried to make control over the physical device, so I do not know the prerequisites of this kind of functions.

What i'm doing wrong? Thanks for your support!
  • [Thumb - image2.png]
[Disk] Download
  • [Thumb - image1.png]
[Disk] Download
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Offline
You must register the terminal before you can press buttons on the phone.

I cannot see any obvious error with your RegisterTerminalRequest so you should login to the AE Services and cd to /var/log/avaya/aes . Look at the file dmcc-traces.log.0. It will give more information on the cause of the problem.

Martin
CristianMĂșnera
Joined: Mar 7, 2013
Messages: 7
Offline
Hi Martin:

These are the logs in the AES:

Before the application starts, these logs periodically appear:

2014-06-09 06.54.54,212 com.avaya.mvcs.station.h323.GatekeeperIpToInterfaceMapImpl$GkTimerTask run
FINE: Running Station GkTimerTask - checking GKs for switch=CMPOBLADO
2014-06-09 06.54.54,213 com.avaya.mvcs.station.h323.GatekeeperIpToInterfaceMapImpl$GkTimerTask run
WARNING: Failed to check GK sanity: java.lang.IllegalArgumentException: The gatekeeper address was not found for switch=CMPOBLADO
2014-06-09 06.59.54,219 com.avaya.mvcs.station.h323.GatekeeperIpToInterfaceMapImpl$GkTimerTask run
FINE: Running Station GkTimerTask - checking GKs for switch=CMPOBLADO
2014-06-09 06.59.54,219 com.avaya.mvcs.station.h323.GatekeeperIpToInterfaceMapImpl$GkTimerTask run
WARNING: Failed to check GK sanity: java.lang.IllegalArgumentException: The gatekeeper address was not found for switch=CMPOBLADO
2014-06-09 07.00.10,196 com.avaya.licensesvc.LicenseServiceImpl$RenewTimerTask run
FINE: Running License Service RenewTimerTask
2014-06-09 07.00.10,197 com.avaya.common.logger.PrintStreamLogger log
INFO: STANDARD OUT: Current Retry Count : 1

2014-06-09 07.04.54,226 com.avaya.mvcs.station.h323.GatekeeperIpToInterfaceMapImpl$GkTimerTask run
FINE: Running Station GkTimerTask - checking GKs for switch=CMPOBLADO
2014-06-09 07.04.54,226 com.avaya.mvcs.station.h323.GatekeeperIpToInterfaceMapImpl$GkTimerTask run
WARNING: Failed to check GK sanity: java.lang.IllegalArgumentException: The gatekeeper address was not found for switch=CMPOBLADO
2014-06-09 07.09.10,202 com.avaya.licensesvc.LicenseServiceImpl$RenewTimerTask run
FINE: Running License Service RenewTimerTask
2014-06-09 07.09.10,202 com.avaya.common.logger.PrintStreamLogger log
INFO: STANDARD OUT: Current Retry Count : 1

2014-06-09 07.09.54,233 com.avaya.mvcs.station.h323.GatekeeperIpToInterfaceMapImpl$GkTimerTask run
FINE: Running Station GkTimerTask - checking GKs for switch=CMPOBLADO
2014-06-09 07.09.54,233 com.avaya.mvcs.station.h323.GatekeeperIpToInterfaceMapImpl$GkTimerTask run
WARNING: Failed to check GK sanity: java.lang.IllegalArgumentException: The gatekeeper address was not found for switch=CMPOBLADO
2014-06-09 07.14.54,239 com.avaya.mvcs.station.h323.GatekeeperIpToInterfaceMapImpl$GkTimerTask run
FINE: Running Station GkTimerTask - checking GKs for switch=CMPOBLADO
2014-06-09 07.14.54,240 com.avaya.mvcs.station.h323.GatekeeperIpToInterfaceMapImpl$GkTimerTask run
WARNING: Failed to check GK sanity: java.lang.IllegalArgumentException: The gatekeeper address was not found for switch=CMPOBLADO



These are the logs after the application starts and after execute the RegisterTerminal command:

2014-06-09 07.17.06,131 com.avaya.api.sessionsvc.SessionSecurityContextFactory getSessionSecurityContext
INFO: created SSC: com.avaya.sessionsvc.securityContext.SSCSDBAuthz@1a6347 for Farend: null, AAMethod: AAMethod [Authn: true, Authz: SdbAuthz]
2014-06-09 07.17.06,131 com.avaya.sessionsvc.SessionMulticaster addSessionListener
FINE: com.avaya.mvcs.proxy.TPacketReaderNode$MySessionListener@6be0efadded to com.avaya.sessionsvc.SessionMulticaster@7ca8ac
2014-06-09 07.17.06,131 com.avaya.mvcs.proxy.TPacketReaderNode getSessionId
FINE: Mapping channel DefaultTCPChannel Bound to SocketAddress: /10.3.1.71:4722 Connected to SocketAddress: /10.1.148.157:63462session object session AB3C54C136CF3E8BEAABCAC151163D4D-126
2014-06-09 07.17.06,173 com.avaya.sessionsvc.SessionMulticaster addSessionListener
FINE: com.avaya.mvcs.proxy.CstaRouterNode$MySessionListener@25eeecadded to com.avaya.sessionsvc.SessionMulticaster@7ca8ac
2014-06-09 07.17.06,173 com.avaya.mvcs.proxy.CstaRouterNode processPacket
FINE: Creating a new SubscriptionManager for session=session[session AB3C54C136CF3E8BEAABCAC151163D4D-126,DefaultTCPChannel Bound to SocketAddress: /10.3.1.71:4722 Connected to SocketAddress: /10.1.148.157:63462]
2014-06-09 07.17.06,174 com.avaya.mvcs.proxy.CstaRouterNode processPacket
FINE: invokeID= 1 Routing request=session[session AB3C54C136CF3E8BEAABCAC151163D4D-126] ch.ecma.csta.binding.start.StartApplicationSession@745120
2014-06-09 07.17.06,174 com.avaya.mvcs.proxy.CstaRouterNode processPacket
FINE: invokeID= 1 Received com.avaya.platform.broker.impl.AsyncResponse@17061bd in response to session[session AB3C54C136CF3E8BEAABCAC151163D4D-126] ch.ecma.csta.binding.start.StartApplicationSession@745120
2014-06-09 07.17.06,174 com.avaya.sessionsvc.SessionServicesImpl asyncStartApplicationSession
FINE: appInfo is not null
2014-06-09 07.17.06,174 com.avaya.api.sessionsvc.ProtocolVersion findMatchingProtocol
INFO: Protocol version negotiated: http://www.ecma-international.org/standards/ecma-323/csta/ed3/priv5
2014-06-09 07.17.06,175 com.avaya.common.logger.PrintStreamLogger log
INFO: STANDARD OUT: 2014-06-09 07:17:06,175 [pool-2-thread-1] DEBUG net.sf.jpam.Pam - Debug mode active.

2014-06-09 07.17.06,178 com.avaya.sessionsvc.securityContext.SSCBaseClass authenticate
INFO: Login successful on CUS Store: user=pruebasms, after 3msecs
2014-06-09 07.17.06,178 com.avaya.sessionsvc.SessionObjectImpl validate
INFO: Login successful: user=pruebasms, clientID=XML Encrypted:10.1.148.157:63462
2014-06-09 07.17.06,178 com.avaya.sessionsvc.SessionObjectImpl validate
FINE: session AB3C54C136CF3E8BEAABCAC151163D4D-126 _sessionTimeout=180, _cleanupTimeout=60
2014-06-09 07.17.06,178 com.avaya.sessionsvc.SessionServicesImpl asyncStartApplicationSession
INFO: Validated session=session AB3C54C136CF3E8BEAABCAC151163D4D-126, requested sessionTimeout=180, actual sessionTimeout=180, requested cleanupTimeout=60, actual cleanupTimeout=60
2014-06-09 07.17.06,178 com.avaya.sessionsvc.SessionMulticaster addSessionListener
FINE: com.avaya.sessionsvc.SessionServicesImpl$MySessionListener@13203f1added to com.avaya.sessionsvc.SessionMulticaster@7ca8ac
2014-06-09 07.17.06,178 com.avaya.sessionsvc.SessionObjectImpl start
FINE: session AB3C54C136CF3E8BEAABCAC151163D4D-126 is starting.
2014-06-09 07.17.11,529 com.avaya.mvcs.proxy.CstaRouterNode processPacket
FINE: invokeID= 2 Routing request=session[session AB3C54C136CF3E8BEAABCAC151163D4D-126] com.avaya.csta.binding.GetDeviceId@1e80538
2014-06-09 07.17.11,529 com.avaya.cs.dataservice.CMInfoDataService <init>
FINE: GOING TO THE DBCONNECTION POOL...
2014-06-09 07.17.11,534 com.avaya.sessionsvc.SessionMulticaster addSessionListener
FINE: com.avaya.cmapi.extsvc.DeviceServicesImpl$MySessionListener@1998b4added to com.avaya.sessionsvc.SessionMulticaster@7ca8ac
2014-06-09 07.17.11,534 com.avaya.cmapi.extsvc.DeviceServicesImpl getDeviceID
INFO: "session[session AB3C54C136CF3E8BEAABCAC151163D4D-126] " mapped to [6574:CMPOBLADO:0.0.0.0:0] via Client API call
2014-06-09 07.17.11,539 com.avaya.mvcs.proxy.CstaRouterNode processPacket
FINE: invokeID= 2 Received session[null] com.avaya.csta.binding.GetDeviceIdResponse@1364e3c in response to session[session AB3C54C136CF3E8BEAABCAC151163D4D-126] com.avaya.csta.binding.GetDeviceId@1e80538
2014-06-09 07.17.21,150 com.avaya.mvcs.proxy.CstaRouterNode processPacket
FINE: invokeID= 3 Routing request=session[session AB3C54C136CF3E8BEAABCAC151163D4D-126] com.avaya.csta.binding.RegisterTerminalRequest@f41a60
2014-06-09 07.17.21,150 com.avaya.cs.callinfo.DapiHandshake isTTSCapableCM
FINE: CMPOBLADO can be used for TTS - Major=15, Minor=2
2014-06-09 07.17.21,151 com.avaya.mvcs.station.h323.ras.DefaultTerminalDevice <init>
INFO: [CMPOBLADO:0.0.0.0:6574:0] Resetting the re-discovery counter to 0
2014-06-09 07.17.21,151 com.avaya.cmapi.intsvc.CstaTerminalImpl acquireAesLicense
FINE: [CMPOBLADO:0.0.0.0:6574:0] : Attempting to acquire AES license for cName=null
2014-06-09 07.17.21,151 com.avaya.common.logger.PrintStreamLogger log
INFO: STANDARD OUT: Current Retry Count : 1

2014-06-09 07.17.21,208 com.avaya.cmapi.intsvc.CstaTerminalImpl acquireAesLicense
FINE: [CMPOBLADO:0.0.0.0:6574:0] : Failed to acquire AES license

2014-06-09 07.17.21,208 com.avaya.cmapi.intsvc.TerminalSession registerDevice
FINE: [CMPOBLADO:0.0.0.0:6574:0] : registerSharedDevice() is called - aesLicense=false
2014-06-09 07.17.21,208 com.avaya.mvcs.terminal.h323.TerminalH323 privateRegisterDevice
FINE: [CMPOBLADO:0.0.0.0:6574:0] codecList is null, setting to default codecs
2014-06-09 07.17.21,208 com.avaya.mvcs.terminal.h323.TerminalH323 privateRegisterDevice
FINE: [CMPOBLADO:0.0.0.0:6574:0] encryptionList is null, setting to default encryption
2014-06-09 07.17.21,208 com.avaya.mvcs.terminal.h323.TerminalH323 privateRegisterDevice
FINE: [CMPOBLADO:0.0.0.0:6574:0] state=REGISTERING
2014-06-09 07.17.21,209 com.avaya.mvcs.station.h323.ras.DefaultTerminalDevice privateRegisterDevice
FINE: [CMPOBLADO:0.0.0.0:6574:0] RegisterDevice.
2014-06-09 07.17.21,209 com.avaya.mvcs.station.h323.ras.DefaultTerminalDevice privateRegisterDevice
FINE: [CMPOBLADO:0.0.0.0:6574:0] Switch is TTS capable
2014-06-09 07.17.21,209 com.avaya.mvcs.terminal.h323.TerminalH323 privateRegisterDevice
FINE: [CMPOBLADO:0.0.0.0:6574:0] state=IDLE
2014-06-09 07.17.21,209 com.avaya.mvcs.terminal.h323.TerminalH323 tearDownDevice
FINE: [CMPOBLADO:0.0.0.0:6574:0] Tearing down station
2014-06-09 07.17.21,209 com.avaya.mvcs.terminal.h323.TerminalH323 tearDownDevice
FINE: [CMPOBLADO:0.0.0.0:6574:0] state=IDLE prevState=IDLE
2014-06-09 07.17.21,209 com.avaya.cmapi.intsvc.TerminalSession stopRecording
FINE: [CMPOBLADO:0.0.0.0:6574:0] stopRecording request
2014-06-09 07.17.21,209 com.avaya.mvcs.station.h323.ras.TerminalMulticaster removeTerminalListener
INFO: A null listener was removed.
2014-06-09 07.17.21,209 com.avaya.mvcs.station.h323.ras.TerminalMulticaster removeTerminalListener
INFO: A null listener was removed.
2014-06-09 07.17.21,210 com.avaya.cmapi.intsvc.ToneCollectionAdapter removeToneCollectorListener
FINE: [CMPOBLADO:0.0.0.0:6574:0] 4: Removing listener
2014-06-09 07.17.21,210 com.avaya.cmapi.intsvc.CstaTerminalImpl freeAesLicense
FINE: [CMPOBLADO:0.0.0.0:6574:0] : Attempting to release AES license
2014-06-09 07.17.21,210 com.avaya.cmapi.intsvc.CstaTerminalImpl tearDownDevice
FINE: [CMPOBLADO:0.0.0.0:6574:0] station is now clear
2014-06-09 07.17.21,210 com.avaya.platform.broker.impl.AsyncServiceMethodImpl invoke
WARNING: Exception when calling method.invoke
java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor453.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.avaya.platform.broker.impl.AsyncServiceMethodImpl.invoke(AsyncServiceMethodImpl.java:164)
at com.avaya.workflow.impl.RouterImpl.routeRequest(RouterImpl.java:97)
at com.avaya.mvcs.proxy.CstaRouter.routeRequest(CstaRouter.java:173)
at com.avaya.mvcs.proxy.CstaRouterService.routeRequest(CstaRouterService.java:141)
at com.avaya.mvcs.proxy.CstaRouterNode.processPacket(CstaRouterNode.java:332)
at com.avaya.mvcs.proxy.AbstractPipelineNode.process(AbstractPipelineNode.java:130)
at com.avaya.mvcs.proxy.Pipeline$PipelineSubscriber.inform(Pipeline.java:427)
at com.avaya.common.eventservice.UnfilteredSubscription.notify(UnfilteredSubscription.java:70)
at com.avaya.common.multicaster.Multicaster.notify(Multicaster.java:386)
at com.avaya.common.channel.Channel.publish(Channel.java:115)
at com.avaya.common.eventservice.EventService.publish(EventService.java:123)
at com.avaya.common.eventservice.EventServiceManager.publish(EventServiceManager.java:156)
at com.avaya.common.eventservice.Publisher.publish(Publisher.java:110)
at com.avaya.mvcs.proxy.CstaUnmarshallerNode$CstaUnmarshallerProcessorThread.run(CstaUnmarshallerNode.java:253)
at com.avaya.common.util.concurrent.impl.RunnableWrapper.run(RunnableWrapper.java:53)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: ch.ecma.csta.errors.InvalidParameterValueException: java.lang.IllegalArgumentException: [CMPOBLADO:0.0.0.0:6574:0] No GK IP address is available for switch=CMPOBLADO
at com.avaya.cmapi.intsvc.CstaTerminalImpl.register(CstaTerminalImpl.java:444)
at com.avaya.cmapi.intsvc.CstaTerminalImpl.registerTerminal(CstaTerminalImpl.java:645)
at com.avaya.cmapi.extsvc.H323RegistrationServices.registerTerminal(H323RegistrationServices.java:100)
... 21 more
Caused by: java.lang.IllegalArgumentException: [CMPOBLADO:0.0.0.0:6574:0] No GK IP address is available for switch=CMPOBLADO
at com.avaya.mvcs.station.h323.ras.DefaultTerminalDevice.privateRegisterDevice(DefaultTerminalDevice.java:685)
at com.avaya.mvcs.station.h323.ras.DefaultTerminalDevice.registerDevice(DefaultTerminalDevice.java:633)
at com.avaya.mvcs.station.h323.H323Station.privateRegisterDevice(H323Station.java:310)
at com.avaya.mvcs.station.h323.H323Station.registerDevice(H323Station.java:288)
at com.avaya.mvcs.station.h323.H323Station.registerSharedDevice(H323Station.java:254)
at com.avaya.mvcs.terminal.h323.TerminalH323.privateRegisterDevice(TerminalH323.java:387)
at com.avaya.mvcs.terminal.h323.TerminalH323.registerDevice(TerminalH323.java:288)
at com.avaya.mvcs.terminal.h323.TerminalH323.registerSharedDevice(TerminalH323.java:234)
at com.avaya.cmapi.intsvc.TerminalSession.registerDevice(TerminalSession.java:174)
at com.avaya.cmapi.intsvc.CstaTerminalImpl.register(CstaTerminalImpl.java:430)
... 23 more
2014-06-09 07.17.21,210 com.avaya.mvcs.proxy.CstaRouterNode processPacket
FINE: invokeID= 3 Received com.avaya.platform.broker.impl.AsyncResponse@17061bd in response to session[session AB3C54C136CF3E8BEAABCAC151163D4D-126] com.avaya.csta.binding.RegisterTerminalRequest@f41a60
2014-06-09 07.17.21,210 com.avaya.mvcs.proxy.CstaMarshallerNode$CstaMarshallerThread convertThrowable
FINE: Exception is instance of InvocationTargetException
2014-06-09 07.17.21,210 com.avaya.mvcs.proxy.CstaMarshallerNode$CstaMarshallerThread convertThrowable
FINE: InvocationTargetException cause is: ch.ecma.csta.errors.InvalidParameterValueException: java.lang.IllegalArgumentException: [CMPOBLADO:0.0.0.0:6574:0] No GK IP address is available for switch=CMPOBLADO
2014-06-09 07.17.21,211 com.avaya.mvcs.proxy.CstaMarshallerNode$CstaMarshallerThread convertThrowable
FINE: Returning negative ack to client session (AB3C54C136CF3E8BEAABCAC151163D4D-126) : ch.ecma.csta.errors.InvalidParameterValueException: java.lang.IllegalArgumentException: [CMPOBLADO:0.0.0.0:6574:0] No GK IP address is available for switch=CMPOBLADO
2014-06-09 07.18.00,497 com.avaya.mvcs.proxy.CstaRouterNode processPacket
FINE: invokeID= 4 Routing request=session[session AB3C54C136CF3E8BEAABCAC151163D4D-126] ch.ecma.csta.binding.reset.ResetApplicationSessionTimer@15e3441
2014-06-09 07.18.00,497 com.avaya.sessionsvc.SessionServicesImpl resetApplicationSessionTimer
FINE: Resetting session timer: session AB3C54C136CF3E8BEAABCAC151163D4D-126
2014-06-09 07.18.00,497 com.avaya.sessionsvc.SessionObjectImpl refresh
FINE: session AB3C54C136CF3E8BEAABCAC151163D4D-126 is being refreshed.
2014-06-09 07.18.00,497 com.avaya.mvcs.proxy.CstaRouterNode processPacket
FINE: invokeID= 4 Received session[null] ch.ecma.csta.binding.reset.ResetApplicationSessionTimerPosResponse@1b8c330 in response to session[session AB3C54C136CF3E8BEAABCAC151163D4D-126] ch.ecma.csta.binding.reset.ResetApplicationSessionTimer@15e3441
2014-06-09 07.18.10,208 com.avaya.licensesvc.LicenseServiceImpl$RenewTimerTask run
FINE: Running License Service RenewTimerTask
2014-06-09 07.18.10,208 com.avaya.common.logger.PrintStreamLogger log
INFO: STANDARD OUT: Current Retry Count : 1



The only weird thing I see is an error getting a license.

Another error I see is an InvocationTargetException exception when trying to invoke an external service.

What kind of license do I need for this type of function?

I remember you that the call control (TSAPI license) works correctly.

Thanks for your support!
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Offline
You must configure a Gatekeeper address for your Switch Connection.

Open the AE Services Web Interface and use the Communication Manager Interface -> Switch Connection menu on the left. Select your Switch Connection called "CMPOBLADO" and click "Edit H.323 Gatekeeper". Enter the IP address of CMPOBLADO and click "Add name or IP".

Martin
Go to:   
Mobile view