Author Message
KenMills
Joined: Oct 23, 2008
Messages: 0
Offline
I have two digital extensions (20201/20202) connected and wish to monitor the conversation.

I use the Dashboard and start an application session. I then Get Dev ID for ext 10001. I'm able to Start Monitors and Register Terminal for 10001. What next?

I've tried to register 20201/20202 and get a generic CSTA error response.

My thoughts were that I needed to get the callRef from a snapshot of either 20201 or 20202, but that command fails too.

Any ideas?
DaveBurritt
Joined: Dec 19, 2005
Messages: 0
Offline
Ken:

What exectly do you want to monitor?

If you want to monitor things like lamps and displays then you need to create a Phone Monitor. Go to the "Main" screen on the Dashboard, in that screen you will see "Event Registration". Select the Phone Tab and then select the event(s) you want to monitor (e.g., Display Update, Lamp Mode, etc.).

If you want access to the RTP data, then you will have to register in "Client Mode" media and have the dependency mode set to "Independent". Note: The current version of the Dashboard will just show you the RTP data, it will not play it or do anything like that. We are thinking about enhancing the dashboard to allow you to save the RTP data to a file on your PC and then allow you to play the file via Windows Media Player.

In order to register "Softphone" must be enabled for the extension you want to monitor on Communication Manager.

You indicate that you are getting a CSTA error message in registration. If you could provide the XML that contains the error we can probably help you out.

Dave
JohnBiggs
Joined: Jun 20, 2005
Messages: 1139
Location: Rural, Virginia
Offline
If snapshotDevice is failing, most likely you are missing a provisioned Switch Connection, or the CLAN IP you provided in the getDeviceID message was not provisioned as a CLAN for the SwitchConnection that is provisioned, or the deviceID in the query was not one you acquired through getDeviceID or getThirdPartyDeviceID.

There are two paths you could take to your app. one would be to do the snapshot to learn of the presence of the call-id. Another approach would be to use call control events by setting up a call control monitor. Using a call control monitor requires a TSAPI link to be provisioned on your AE Services server to Communication Manager. The instructions for provisioning this link are in the AE Services Administration and Maintenance guide. Given that I like events as compared to polling, I prefer the latter approach.

The device registrations for 20201/20202 should be media mode, none, and dependancy mode, dependant, a security code/password must be provided in Communicaiton Manager and in the register request and IP Softphone must be "y" in Communication Manager.
KenMills
Joined: Oct 23, 2008
Messages: 0
Offline
@Dave
Eventually I'll want to forward the RTP to a recording device, but for now I just want to connect a softphone to an ongoing conversation. (baby steps...).

The softphone (ext 10001) is in the CM and seems to get registered fine with the Dashboard.

I think I have a problem with the Dashboard. It doesn't seem to send the client mode or dependency mode selected in the GUI. It sends the default value in the config.xml file.

I register ext 10001 with Client/Main (I had to modify the config file). When I try to register ext 20201/20202 it sends Client/Main even though I changed the GUI to No Media/Dependant.

If I change the config file to No Media/Dependant, then 20201/20202 register fine, but then I can't register 10001.

Thanks
KenMills
Joined: Oct 23, 2008
Messages: 0
Offline
@John

I was hoping to not have to maintain the passwords for the extensions I'm monitoring, only the login/passwords for the recording extensions.

In my previos example I was hoping to only need the password for ext 10001 and not for 20201 and 20202. My app will only have access to the extension number that it wants to monitor. I need to be able to join the 20201/20202 conversation and forward RTP.

Is it possible to find/join a conversation without the callRef ID or device passwords for no-recording devices?

Thanks
JohnBiggs
Joined: Jun 20, 2005
Messages: 1139
Location: Rural, Virginia
Offline
>main/dependancy mode... use the scrolling updown arrows and then click in the field (click in the text box that show Main, dependant, independant, etc), so that the selection turns blue... that is a quirk of the current dashboard as of this writing that should be addressed shortly..... if it isn't blue, itsnt what you are sending. Same for media mode.

I keep forgetting to be careful. To get call control events, you don't need to register, just setup the call control monitor. You will get events for the calls that occur at the monitored extension(s)
KenMills
Joined: Oct 23, 2008
Messages: 0
Offline
When I try to get a snapshot using the dashboard I get:
---------------------
Outgoing XML 3
<?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">20202::10.1.9.90:0</device>
<loginInfo>
<forceLogin>true</forceLogin>
<sharedControl>false</sharedControl>
<password>20202</password>
<mediaMode>NONE</mediaMode>
<dependencyMode>DEPENDENT</dependencyMode>
</loginInfo>
</RegisterTerminalRequest>
-----------------------
Incoming XML 3 20202::10.1.9.90:0
<?xml version="1.0" encoding="UTF-8"?><RegisterTerminalResponse xmlns="http://www.avaya.com/csta"><device><deviceIdentifier xmlns:ns1="http://www.ecma-international.org/standards/ecma-323/csta/ed3" typeOfNumber="other" mediaClass="voice" bitRate="constant">20202::10.1.9.90:0</deviceIdentifier></device><signalingEncryption>challenge</signalingEncryption><code>1</code></RegisterTerminalResponse>
---------------------
Outgoing XML 4
<?xml version="1.0" encoding="utf-8"?>
<SnapshotDevice 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">
<snapshotObject typeOfNumber="other" mediaClass="notKnown">20202::10.1.9.90:0</snapshotObject>
</SnapshotDevice>
-----------------------
Incoming XML 4 20202::10.1.9.90:0
<?xml version="1.0" encoding="UTF-8"?><CSTAErrorCode xmlns="http://www.ecma-international.org/standards/ecma-323/csta/ed3"><operation>generic</operation></CSTAErrorCode>

When I try my app, I get
2009-01-26 16:34:27,326 [1] DEBUG DMCCWrapperLib.ServiceProviderWrapper - getEvents cmKey (1), eventCode (EVT_ERROR), deviceID (), errorMsg (getThirdPartyCallController_OnSnapshotDeviceResponse error: <?xml version="1.0" encoding="UTF-8"?><CSTAException xmlns="http://www.avaya.com/csta"><exceptionClass>java.lang.reflect.InvocationTargetException</exceptionClass><stackTrace>java.lang.reflect.InvocationTargetException
   at sun.reflect.GeneratedMethodAccessor143.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   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:327)
   at com.avaya.mvcs.proxy.AbstractPipelineNode.process(AbstractPipelineNode.java:130)
   at com.avaya.mvcs.proxy.Pipeline$PipelineSubscriber.inform(Pipeline.java:430)
   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:224)
   at com.avaya.common.util.concurrent.impl.RunnableWrapper.run(RunnableWrapper.java:47)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
   at java.lang.Thread.run(Thread.java:595)
Caused by: ch.ecma.csta.errors.OperationException: Invalid switch name: address or tlink not found. Double check that the switchname.
   at com.avaya.cs.callcontrol.delegs.TsapiSessionMap.getTsapiSession(TsapiSessionMap.java:388)
   at com.avaya.cs.callcontrol.CallControlSnapshotImpl.doSnapshotDevice(CallControlSnapshotImpl.java:270)
   at com.avaya.cs.callcontrol.CallControlSnapshotImpl.snapshotDevice(CallControlSnapshotImpl.java:261)
   at com.avaya.cmapi.extsvc.SnapshotServicesImpl.snapshotDevice(SnapshotServicesImpl.java:50)
   ... 21 more


It does sound like it's a switch name error, but the device ID I get is from the getDeviceID command. My CM is 10.1.9.90.
JohnBiggs
Joined: Jun 20, 2005
Messages: 1139
Location: Rural, Virginia
Offline
it is the switch name error.
20202::10.1.9.90:0
should be something like
20202:SWITCHNAME:10.1.9.90:0

but you have to provision the switch connection using the instructions in the AE Services Administration and Maintenance guide in order to effect that change. You also need to provision a TSAPI link.
KenMills
Joined: Oct 23, 2008
Messages: 0
Offline
Thanks, looks like I have some work to do...
Go to:   
Mobile view