« Back to Cisco JTAPI Questions

Can I get MAC address and/or IP address of a caller at a CTI route point?

Combination View Flat View Tree View
Threads [ Previous | Next ]
<table class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;" border="0" cellpadding="0">
<tbody>
<tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;">
<td style="background-color: transparent; border: #d4d0c8; padding: 0.75pt;">
We are thinking about using JTAPI to monitor a device (CTI route point) and want to be able to get the device name (MAC ADDRESS) and/or IP address of the inbound caller at the route point.  Is there a way to do this using JTAPI?

Also wanted to check if JTAPI provides a way to change the caller id of the inbound caller at the route point before it is forwarded elsewhere.
</td>
</tr>
</tbody>
</table>

Devicename/IP are not available, but  you will have the DN of the calling party.  You can use the AXL SOAP web service to lookup the devicename(s multiple if shared line), and the Risport SOAP web service to lookup IP address.
 
It is possibly to modify the calling ID via an overload of the JTAPI selectRoute() method.  Please see the JTAPI dev guide for details.

you get the device name of calling party using CiscoCall.getCurrentCallingTerminal().getName().

Thanks Mohan...I would assume the device would need to be in the controlled device list..?  Would it need to be observed as well?

The device does not need to be observed. I do assume it has to be in the controlled device list, but can't check right now.
 
It should be noted that the API Mohan is referencing, CiscoCall.getCurrentCallingTerminal() is only available in 8.0+.
 
Prior to that, we expose CiscoCall.getCallingTerminal(), which is sometimes incorrect after multiple features are invoked on a call, because of lack of updates from CTI. This method is being deprecated in favor of the new APIs in 8.0, which are always updated and accurate, but for now applications can use what we have.
 
Prior to 8.0:
-------------
CiscoCall.getCallingTerminal()
* NO API FOR CALLED TERMINAL *
 
8.0 Onward:
-------------
CiscoCall.getCurrentCallingTerminal()
CiscoCall.getCurrentCalledTerminal()

Do you know if it is also possible to change the caller id of an inbound call that is being monitored at a route point?

There are two ways where you can modify the caller id.. one is with a redirect when you haven't answered the call yet (though iirc you can only re-instate the original caller id), and the other is using the route functionality. Look for "modifying calling number" in the JTAPI developer guide http://developer.cisco.com/c/document_library/get_file?folderId=192392&name=DLFE-23006.pdf