cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
518
Views
0
Helpful
7
Replies

Redirect a call silently (avoid ringing on initial destination)

jmlacoste
Level 1
Level 1

Hello,

is it possible to redirect a call to a new destination whithout ringing first on the previously called destination.

I have tried to redirect a call on the CallCtlConnOfferedEv event (as documented), but the phone ring once before the call has been redirected ??

Thanks and regards,

JML

7 Replies 7

stephan.steiner
Spotlight
Spotlight

I don't have time to check the JTAPI documentation right now, but is there any chance you can go to earlier events to catch the call? Also, would temporarily redirecting the phone be an option as well? There's always the option of routing calls through a CTI Routepoint and then either route them to the destination terminal or someplace else. Generally, catching calls before the destination and selectively routing is the beginning of a call center and should be done on an RP I think.

Thanks for your answer,

you have done more test in the mean time :

- When trying to redirect on CallActiveEv, we get an error when calling the redirect method on the CallControlConnection.

- We have tried to set Forwarding the address but although we get no error while setting the forward all, it does not seem to forward the call. Anyway as we want to redirect the call to the initialy called address after playing a message, I am not sure it is a good option.

- Finally we avec optimized all the processes and traced the events. We have discovered that between CallCtlOfferedEv (that enable to do a redirect) and TermConnRingingEv (that tell's the telephone is ringing) there is an average of 300ms. In order to redirect, we need to get some information and objects which takes around 150ms, then the redirect methods takes 300ms. Finaly the phone rings for a very short time before the transfer succeed.

We also tried to set a conference between the calling, redirected called and initialy called without success. Does somebody has some experience in conferencing ?

So your scenario is one that screams for an RP after all since you want to play a message (Are you aware that Cisco's JTAPI implementation lacks the proper classes so you need to implement your own streaming?). So basically all incoming calls should first go to an RP, which picks a free CTI Port, where you stream your audio to, then transfer the call once the message has been played. This is how the autoattendant, the whole IPCC suite and Unity Express works.. I guess if it works for cisco it should work for us as well even though I still believe they should implement the full callcontrol capabilities so this can be done directly on an RP.

This is very interesting, we are just trying, to develop an application that play an announcement while ringing the original destination and when the destination answer, transfer the call.

The issue is that we cannot succeed to transfer using the route point.

I Understand that you recommand to dial from Cti port, but how can you then transfer the call conneted to the Route Point.

Thanks for your help,

JM Lacoste

Post your routepoint initialization code. There are multiple ways but not all will expose all functionality (specifically the routing and media part depend on initialization).

Hello,

I have attached the method that initialize the Cti Route Point. You advices we be welcomed.

Regards,

JM Lacoste

Your code ought to do the trick.. you basically call the same commands as I. I just recently added call bouncing where I basically bounce off a call from the routepoint (when I get a CallConnAlerting event, I call CiscoConnection.redirect on the connection I get from the event).

However, this only works if you know that the destination will take the call and can take the call. In your case, there's another approach where you don't need to know the status of your CTI Ports: register the RP as route terminal. You'll find out how to do that by looking at the sourcecode of the jtrace application which is installed if you install cisco's jtapi. Cisco's JTAPI dev guide will then tell you how to route calls once you have an incoming call (you still get incoming calls via CallCtlConnAlertingEv).