cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
650
Views
0
Helpful
11
Replies

Opening a browser with datas along with caller info display on phone.

Hi,

I need to pop up a browser with caller details and other datas along with caller info display on phone when a call is received .Similar to cisco phone caller information which pops up on screen during incoming calls.

Has anyone tried it before? I tried calling a browser using java script on callerinfo. jsp, but it doesnt work.

Any suggestion would be appreciated.

Thanks

11 Replies 11

stephan.steiner
Spotlight
Spotlight

You are certainly looking into the right direction with the CallerInfoServer. However, CallerInfoServer runs on an application server which has no access to the machine where you want to pop up the browser.

Plus, you cannot just send XML commands to a PC.

You'll need to do one of the following:

1) Run a JTAPI application, similar to callerInfoServer, on the PC where you need the popup. Make sure that the jtapi user you are using controls only the phone associated with the PC where you need the popup (or modify the CallerInfoServer so that it only registers a listener for the device in question.. ). Now, as the callerInfoServer is running on your PC, you can launch the browser.

Here are two lines of Java code I use in a Java Application to start another application:

String command = "c:\\temp\\RoomServiceApp.exe " + orderID;

Process p = Runtime.getRuntime().exec(command);

In your case, the commandline would have to be something like "iexplorer.exe www.somesite.com/someurl?someparameter=DN"

If you don't want to use Java on the Desktop, you can look at TAPI instead. The mechanism is basically the same.. you register a listener for the phone in question, then when a call comes in, you start iexplorer.exe.

The third solution is to create some kind of remote communication between the CallerInfoServer running at a central location, and your client PCs. Each client PC would have a small component that's always running and listening for commands the CallerInfoServer would sent to it... sorta like when you make a HTTP Post to a phone (except it will most likely not be HTTP Post but RPC (C(++)), RMI (Java) or your own TCP/UDP based communication mechanism.

If you can deploy Java to the desktop, I think I would go for that, or the TAPI solution (TAPI is plain C though, and I rather use OO languages). I think it is the "normal" way to approach this problem. And when your users use stuff like dialling from Outlook, they already have a CTI component installed on their clients anyway.

Thanks . It does work with the given java code , so all client PCs should have callerinfoserver.class and jtapi.jar for the browser to popup on their PC.

For the pop up to be enabled on more than one pc , jtapi user has to be assosiated with all the other phones.So how can i restrict it to be assosiated to only one phone connected to the PC?

Have each user user their own user account (which should be associated with the phone connected to their PC). So instead of having one "superuser" account, have each user use their standard user account.

Hi,

Thanks.But for caller info to work all phones must be assosiated to the jtapi userId.So even if i make a separate user account, all phones have to be assosiated to jtapi userid .

So i guess only possibilty is to make changes in CallerinfoServer so that it observes only the incoming phone in question.

CallerInfo doesn't need access to all phones, just the phones it will be controlling. If you're going to be running a callerinfoserver on each users pc, then you only need the users login/password, since that is the only device that particular instance of callinfoserver will be controlling. When the callinfoserver enumerates the available terminals, only the users terminal will be listed (the only terminal that user has access to), so callinfoserver will place an observer on that terminal only.

You'll need to check the enable CTI use checkbox for the user to allow jtapi to connect as that user...

Gosh, that board really hates me.. I posted a reply on Friday that has once again disappeared.

You can of course still have your super user but have the callerinfoserver load the phone from a config file. If you check the code, you'll see it iterates through all the phones it has access to, then registers listeners for all those phones. But it's not a must that you register listeners for every phone you have access to. In my own JTAPI apps, I generally deal with events from just one phone in one class, as to ensure the separation of events without having to write a lot of additional code.

Thanks both of u for ur replies.

So i should load observer only to the phone that is making an incoming call.Callerinfo doesn't work if the incoming call is made from a phone which is not assosiated to my phone(ie where callerinfo is running), i tried that.

In callerinfo. jsp the following line is specified

All phones wanting to use the CallerInfo application (in either pull or push mode), *must* be associated to the JTAPI application userId specified below.

If each user runs their "instance" of the callerinfo service and uses their username which provides access to their phone, they should be alerted to the events occuring on their phone. I'm not sure what you meant in saying that it didn't work?

The callerinfo service was meant to be running in a central location and service all phones, as opposed to running an instance per person on their computer to provide a screen-pop.

My callerinfo works in this way.

I have 2 phones which i have assosiated with my phone on call manager,

ie device assosiation to 2 phones are ticked under my phone configurations in call manger.

Now when a call is made from these 2 phones , caller info comes on my phone. But if i try calling from any other phone which is not device assosiated with my phone , caller info doesn't come up.

So to get caller info on my phone, i need to assosiate that phone also to my phone .

Actually, I see nothing in the callChangedEv method that would require the callee to be JTAPI controlled. If you think about this, you cannot control external callers.

So if you were to trace the http requests for your photodirectory, I'm pretty sure you'd see some traffic even when you call from a non JTAPI controlled phone. But, depending on the modifications you have made to the photodirectory, it may not give you a reply (I've had some trouble setting this up as well but it never was a JTAPI thing). So before you look into JTAPI, I suggest you trace the traffic between the phone and your application server.