cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
144
Views
0
Helpful
0
Comments
cdnadmin
Level 11
Level 11
This document was generated from CDN thread

Created by: Jacek Materna on 20-01-2010 05:53:17 PM
What would be the best approach in using the current API for call monitoring with dynamic CME provisioning (cti watch) to allow for monitoring of all lines.
 
My intial thoughts where something like this:
 
1. Use the HttpXML API to query all extensions periodically OR the provider API to get only active calls (getCalls())
2. For each extension find out all the associated terminals
3. Create address-terminal pairs for all combinations (Virtual type?)
4. For each pair, instantiate them via the API
5. The CME will return the capabilties of each {
 
If cti watch is not present on the CME, montioring is impossible, How can we force it? I saw some mention of:
 
ISExtension a;
a.setISAllowWatch("true");
 
but how to push this config, execCLI(<List>)?
}

Next. assuming cti is active,
 
6. The application can receive events and control calls based on the view of the extensions as where queried at the moment of 1.
 
Is there a more efficent approach?
 
Namely, I would like todo something like:
 
1. Setup provider
2. Force all lines to be watchable
3. Register my CSTA listener(s) for any devices/extensions that come and go from the CME
4. Receive events for all calls. Based on events instantiate address/terminal obejcts to allow for call control.
 
It would be nice to be able to build a map of controllable entities via an event driven model versus requireing a pre-determined view of devices via a query-type approach.

Subject: RE: How-to do efficient Call Monitoring
Replied by: Yawming Chen on 20-01-2010 06:23:14 PM
Hi,
 
Have you already checked out the SDK developer guide
http://developer.cisco.com/c/document_library/get_file?folderId=1621717&name=DLFE-25212.pdf
but still cannot find your answers ?
 
The follwoing is an example of executing IOS configuration in developer guide. There is  sample code as well in Cisco CDN where you posted this message.

Thanks !
 


2.1) Executing Cisco IOS configuration commands:

The following example will configure an ephone-dn on the router.
Example:
We want to provision the following CUCME config using SDK:
The following SDK code snippet will configure the above commands:

2.2) Querying Cisco IOS Configuration commands:

Example: Querying status of CUCME system
!
ephone-dn 1 dual-line
number 1001
name John Doe
!
CMEXmlHttp cme_http = new CMEXmlHttp(cmeIp, xmlUser, xmlPw);
List<String> addclis = Arrays.asList("ephone-dn 1 dual-line", "number 1001", "name John Doe");
cme_http.execCLI(addclis);

Subject: RE: How-to do efficient Call Monitoring
Replied by: Jacek Materna on 20-01-2010 06:50:16 PM
Yes Ive seen everything. However, these do not address my question of clear end-to-end call monitoring approach

Subject: RE: How-to do efficient Call Monitoring
Replied by: Yawming Chen on 20-01-2010 07:23:43 PM
When you said "monitoring all lines", what would you like to watch the most ?

For #5 you can do something like this:
 
List<String> addclis = Arrays.asList(
                                                                "ephone-dn 1  dual-line",                                                            
                                                                "cti watch");                                      
                                cme_http.execCLI(addclis);

Subject: RE: How-to do efficient Call Monitoring
Replied by: Jacek Materna on 20-01-2010 08:58:28 PM
Again, I am interested in monitoring all lines registered to a CME without prior knowledge of the configuration infrastructure. Think of it as passive topology learning. The steps I outlined are basic to any call monitoring application. My flow will work but is ineffecient and has some caveats. I am seeking validation of the presence of a better way.
 
If there is no better approach than the one I outlined, then that is all I need as an answer from engineering here.

Subject: RE: How-to do efficient Call Monitoring
Replied by: Yawming Chen on 20-01-2010 09:23:42 PM
I think you got the correct idea about monitoring all lines with current API.
Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Quick Links