Author Message
RobertoValtorta
Joined: Nov 19, 2013
Messages: 27
Offline
Hello Guys,
is there any docs that compare the capabilities of DMCC .net API versus TSAPI SDK?
I'm not interested about building a custom softphone, my needs are to monitor queues, stations, getting UUI info for incoming calls, route calls to certain extensions and then transfer calls to PSTN (via ISDN) setting the UUI field with custom data.

Are the above capabilities feasible with both API packages?
Is there any suggested way to implement my need?

thanks and regards,
Roberto
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Offline
As of AE Services 6.1, DMCC can perform all the functions of TSAPI. I think there are a couple of obscure omissions but all your requirements are covered.

I would suggest, however, that you use the latest version of the .Net SDK as a couple of errors were fixed along the way (eg. problems with UUI).

Martin
mlapunzina
Joined: Feb 4, 2017
Messages: 27
Offline
Goodmorning everyone,
I'm new to the topic in question as well as with the use of this forum, so I ask pardon in advance if you do not use it properly.

I have a question which is actually one of my needs.

I ask first if it is correct to think that the UUI (received within the call setup of an incoming phone call) remains available for the entire duration of the current call and i can to get it through my AES server (version 6.2) at any time of the call in progress?

If the assumption is correct, there is a class of DMMC SDK (.NET) that exposes a function/method that accepts parameters user/password/extension and return the UUI of the live call which involves the extension passed as a parameter?

Thank you.

Matteo.
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Offline
Yes, UUI is associated with a call for its duration and, yes, it is possible to view it using a DMCC application. However, it is not quite as simple as making an API call. There are two possible mechanisms:

Using Call Control:
It is not possible to use Call Control to request the UUI of an active call. Instead, the application must monitor a phone or VDN for Call Control events. When a call alerts at the phone/VDN, the monitor will receive a Delivered event. This will include any UUI associated with the call. Note: some later events (e.g. Established event) will also include the UUI but only if the monitor was in place before the Delivered event was received.

I think you should be able to find some code snippets on this forum what describe how to get the UUI (UserData) from the Delivered event.

Using First Party:
It is possible to use First Party control of a phone to request the UUI of an active call.

1. Configure the station on Communication Manager to include a uui-info button. When a user presses this button, the UUI is displayed on the phone's screen.
2. The DMCC application registers the station in Dependent mode. This allows the application to control the phone.
3. The DMCC application monitors the phone for DisplayUpdated events.
4. The DMCC application performs GetButtonInfo. This will tell the application which is the uui-info button.
5. When the application wants to know the UUI, it ButtonPress the uui-info button.
6. The UUI is sent to the application as a DisplayUpdated event. The application can then parse the UUI from this event.

The actual mechanics of performing these actions are described in the Programmers Guide and there are several sample applications (on the Devconnect website and included in the SDK) which should give you an idea of how to go about putting it all together.

I would also suggest that you use the DMCC Dashboard (included in the SDK) to make yourself familiar with the DMCC API.

Martin
mlapunzina
Joined: Feb 4, 2017
Messages: 27
Offline
Hello Martin, thank you for the information.

At this point, as I understand it, I will have to change the solution I had imagined.

My requirement is to integrate a client-CTI component with a existing web application and then I thought of deployment that Client-CTI module on the Web server.

The idea was that of a resident DMCC-API on the web server that could asynchronously query (that is, at the request of the Web client) Avaya AES server, retrieve the UUI of an extension passed as a parameter, pass the UUI to Web- server for further processing and presentation of content to the web client.

Given that the working mechanism that you described is based on the registration of a Client-CTI and subsequent monitoring of particular events (although not know very well the difference between the techniques "Call Control" and "First Party"), I could to deploy my Client-Cti no longer on the web server but on the web client, for which I have seen that there is also an Avaya framework based on JavaScript.

My assumption is correct? And if so, do you think is a particularly difficult?

After all, I need that my operator working with a Web application, when ringing the TELEPHONE that we has alongside his PC (Phone and PC are technologically independent), can call a page of its Web-Application, passing as a parameter the UUI in the current call.

Thanks Again

Matteo.
mlapunzina
Joined: Feb 4, 2017
Messages: 27
Offline
I forgot to tell you that I've seen something similar with One-X Agent (Pop-Screen), but not this is right for me because I have to integrate the CTI client into a Web-Application (user autenticated) and not simply pass the UUI to a standalone web page (as I could do with one-X Agent).
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Offline
Firstly, I recommend that you be cautious about using the DMCC Javascript API on the client. It actually uses ActiveX and so has very limited support. It also requires a lot of security configuration to get to work - I have had very limited success when I tried to use it.

I am not a web application developer so I can only give very limited advice about using DMCC in such an environment. As DMCC requires a long-term connection to AE Services, I can see that it may be difficult to integrate it into a web application.

One think that I do suggest you consider would be to implement your DMCC code as a separate application. Your web application could then communicate with it (to request call information and to ask it to monitor stations) using some standard inter-process communication (e.g your own protocol via a socket). I think you may find this the simplest solution.

Martin
mlapunzina
Joined: Feb 4, 2017
Messages: 27
Offline
Thanks always Martin for information and good advice.

Now I have to start get familiar with the SDK so I hope to have your support in case of need.

Matteo.
mlapunzina
Joined: Feb 4, 2017
Messages: 27
Offline

Hi Martin,
I am here again to ask for advice.

I started to test and become familiar with the Dashboard but I have some doubts, especially because it can not get over what I would do.

After making:
1) "Start App Server" (from XML messages it appears that the operation is successful);
2) "Get DevID" of Extension I want to monitor (from XML messages it appears that the operation is successful);
3) "Start Monitor" of the Call Control Events "Delivered" and "Established" (from XML messages it appears that the operation is successful);

I expect that, dialing the PSTN number of PBX, which rotates the call in mode "ring all" to a group of phones (including my extension which then rings), I can see the "ringing" event on "dashboard."

Actually I do not see any events. Is correct what I expect? Or am I doing wrong to interpret / configure something?

Thank you.

Matteo.
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Offline
You should start with the most simplest call to make sure that everything is correct. That is, make a call from one extension directly to the monitored extension. Make sure that you get events for that call before you try more complex scenarios.

Martin
mlapunzina
Joined: Feb 4, 2017
Messages: 27
Offline
Hi Martin,
I am here again to ask for information.

I took your advice starting with a simple test case but, after I racked my brains a lot, I found that the system is licensed for TSAPI service but not for the DMCC (as I was assured).

Since you know my need to acquire the UUI via Call Cantrol (included in the Delivered / Established and other events), could you tell me which type of license DMCCC must purchase?

A basic or advanced DMCC license type? And also, you can confirm that we need a license for each phone/extension I want to monitor call events?

Always thanks.

Matteo.
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Offline
All the features that you seem to require are Call Control features. As such, they require a TSAPI Basic license. They do not require a DMCC license.

The key to knowing whether or not you need a DMCC license is whether or not you need to perform a RegisterTerminalRequest. If you register a terminal then you will need a DMCC license. You will only need to do this if you want to get first party events (e.g. Media or Phone events) or perform first party functions on the phone (e.g. press a button, go off-hook).

Martin
mlapunzina
Joined: Feb 4, 2017
Messages: 27
Offline
Good morning Martin, here I am here to ask for support.

I can not detect the user data field in the XML event envelope of the event I receive from my AES version 6.2, using the XML services that it exposes.

Is it a version issue or a configuration issue? As I write, I'm thinking if it may be a Private Data Version problem that my application negotiates at the time of the session with the AES: I'm using PDV 6.

This is an example of an event I receive, where I do not see the USER DATA node, I would imagine to find within the PRIVATE DATA node, being sure that the sender has correctly inserted and sent some data into the UUI of the ISDN signaling:


<EstablishedEvent
xmlns="http://www.ecma-international.org/standards/ecma-323/csta/ed3">
<monitorCrossRefID>73</monitorCrossRefID>
<establishedConnection>
<callID>12146</callID>
<deviceID typeOfNumber="other" mediaClass="notKnown" bitRate="constant">4002:CMCT::0</deviceID>
</establishedConnection>
<answeringDevice>
<deviceIdentifier typeOfNumber="other" mediaClass="notKnown" bitRate="constant">4002:CMCT:172.31.200.143:0</deviceIdentifier>
</answeringDevice>
<callingDevice>
<deviceIdentifier typeOfNumber="explicitPublic:national" mediaClass="notKnown" bitRate="constant">957129001:CMCT::0</deviceIdentifier>
</callingDevice>
<calledDevice>
<deviceIdentifier typeOfNumber="explicitPublic:national" mediaClass="notKnown" bitRate="constant">95724331:CMCT::0</deviceIdentifier>
</calledDevice>
<lastRedirectionDevice>
<notKnown/>
</lastRedirectionDevice>
<localConnectionInfo>connected</localConnectionInfo>
<cause>newCall</cause>
<networkCallingDevice>
<notKnown/>
</networkCallingDevice>
<networkCalledDevice>
<notKnown/>
</networkCalledDevice>
<callLinkageData>
<globalCallData>
<globalCallLinkageID>
<globallyUniqueCallLinkageID>00001121461497274430</globallyUniqueCallLinkageID>
</globalCallLinkageID>
</globalCallData>
</callLinkageData>
<extensions>
<privateData>
<private>
<ns1:EstablishedEventPrivateData
xmlns:ns1="http://www.avaya.com/csta"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns1:EstablishedEventPrivateData">
<ns1:trunkGroup>1</ns1:trunkGroup>
<ns1:trunkMember>3</ns1:trunkMember>
<ns1:reason>none</ns1:reason>
<ns1:distributingDevice>
<notKnown/>
</ns1:distributingDevice>
<ns1:distributingVDN>
<notKnown/>
</ns1:distributingVDN>
<ns1:originalCallInfo>
<ns1:reason>0</ns1:reason>
<ns1:callLinkageData>
<globalCallData>
<globalCallLinkageID>
<globallyUniqueCallLinkageID>00000000000000000000</globallyUniqueCallLinkageID>
</globalCallLinkageID>
</globalCallData>
</ns1:callLinkageData>
</ns1:originalCallInfo>
</ns1:EstablishedEventPrivateData>
</private>
</privateData>
</extensions>
</EstablishedEvent>


Thank you always.

Matteo.
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Offline
Hi Matteo,

This seems to be a completely different question. Can you please start a new thread for it. That way it will be easier for members to search for information in the forum in the future.

Martin
mlapunzina
Joined: Feb 4, 2017
Messages: 27
Offline
Thanks Martin,
I do not have much experience with the forums so, hoping to have posted in the correct context, I just opened the new topic "UUI missing in the XML Call Event envelope".

Matteo.
Go to:   
Mobile view