cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
429
Views
5
Helpful
9
Replies

Getting info on connected party real time ?

cgm
Level 1
Level 1

I'm trying to show some info related to the distant party when someone calls using an IP phone.

So far, I'm able to get the (translated) dialed number using TAPI or JTapi, but no way to know the remote party's IP address. Is there one ?

9 Replies 9

aaronw.ca
Level 5
Level 5

If the called party is an xml-capable ip phone on the same cluster as the calling party, then you could do a getname on the called party and look up that name in the devicelistx report.

Not sure if that's what you meant though...

No, that's not :(

I'm looking into a way of determining when outside calls go through certaing gateways or if they go on-net, or...

The phone knows the party it's talking to. I want to access that info before com ends. (I guess this goes into CDR at that time)

Actually... it's ACD.. only in a callcenter do you know whos calling before the call is picked up. You could create your own ACD having your own CTI routepoint where calls are routed to (rather than directly to the phone), then the routepoint could distribute the calls as you see fit (and modify the calling number so that the call seems to come from the original caller rather than the routepoint). You can find more information on using a CTI Routepoint for call routing in the JTAPI development guide:

http://www.cisco.com/en/US/products/sw/voicesw/ps556/products_programming_reference_guide_chapter09186a0080405106.html#wp1029081

and here's a link on how to configure a routepoint:

http://www.cisco.com/en/US/products/sw/voicesw/ps556/products_administration_guide_chapter09186a00803ed6d3.html

Nope, I have not been clear in explaining the thing. Sorry.

IP phone A is dialing an outside number B. I want to know B's IP address (or its local intervening gateway's) in real time. This is an outgoing call from ccm perspective.

So far I can get B's number using TAPI/JTAPI. But I want to know the route being used. Actually, if I could "mark" the route in some form that (J)TAPI could see, that would be enough.

Check out the getRemoteAddress function from the CiscoRTPOutputProperties class. It returns a java.net.InetAddress class representing the destination address for media.

You can get it from CiscoTerminal or the CiscoRTPOutputStartedEv callChanged event.

Hmmm, I've seen that but thought that was only aplicable when you are using the controlled RTP peer, i.e. , you are making the phone talk to some specific endpoint via RTP.

Do you have an example Jtapi code I can use to test ? Otherwise I'll write a small app to see. Thanks!

well, if you make an outgoing call, the RTP endpoint will be your PSTN gateway.. after that it's all TDM and IP addresses no longer come into play. But even if your gateway were to route the RTP to another network, I have a strong suspicion that the gateway would still be the endpoint from CCM's point of view. After all.. once the call hits the gateway, it's out of CCM's control.

If call is going on-net, then the IP address would be the distant party. If not, it would be "a" gateway, not necesarily "the" gateway...

Sorry for the mistake: it's terminalChangedEvent not callChangedEvent.

Since it's the RTP stream, I would also assume the IP address would be of the distant party, and not an intercluster trunk address, using the intercluster trunk for signalling and RTP between IP phones for media.

I tested this on an intercluster call, and the jtapi monitor on CM one watching a phone call an ip phone on a second cluster through an intercluster trunk noted the IP address of the called phone in the terminalChangedEvent.