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

Created by: Gionata Navarra on 20-04-2010 08:18:20 AM
I open a new thread linked with "configuring CTI port" thread.
 
Trying to realize a multyPartyCall application I'm using a CTI Route Point to make multiple call to several DN, following suggestions you gave me:
 
- Launch X number of  calls via the CTI RP
- As each call becomes connected, Redirect the call to the CTI port
- Answer the call on the CTI port and hold/add-to-conference
- When the conference is over, drop the primary call at the CTI port
 
The problem is when I redirect the call to the cti port, because I obtain:
 
CCNException not handled: com.cisco.cti.client.CCNException: redirect failure
 
It looks like redirect is not supported by route point.
 
Here my code:

*************************************************************************

try {
    ciscoRoutePoint = (CiscoRouteTerminal) provider.getTerminal("CTIRP");
   
} catch (Exception e) {
    throw new ServiceException("...", null);
}

    CiscoMediaCapability[] capabilities = new CiscoMediaCapability[3];
    capabilities[0] = new CiscoG711MediaCapability();
    capabilities[1] = new CiscoG723MediaCapability();
    capabilities[2] = new CiscoG729MediaCapability();

 
    try{
        ciscoRoutePoint.register(capabilities, CiscoRouteTerminal.NO_MEDIA_REGISTRATION);
       
    } catch (Exception e) {
        // TODO: handle exception
    }

CiscoCall call = (CiscoCall) provider.createCall();

Address calling = provider.getAddress(callParticipants.get(0)); //my route point DN
String callee = callParticipants.get(1);  //first party number

MyObserver obs = new MyObserver(this, callSessionId, pbx, null);
call.addObserver(obs);
calling.addObserver(obs);
calling.addCallObserver(obs);
provider.getAddress(callParticipants.get(1)).addObserver(obs);
provider.getAddress(callParticipants.get(1)).addCallObserver(obs);
provider.getAddress(callParticipants.get(2)).addObserver(obs);  // second party to which redirect
provider.getAddress(callParticipants.get(2)).addCallObserver(obs);

Thread.sleep(500);
call.connect(calling.getTerminals()[0],calling,callee);

Connection[] conns = call.getConnections();
CiscoConnection conn = (CiscoConnection) conns[0];

conn.redirect("3001"); //this is my second party

************************************************************************
 
 3001 is a registered number on CUCM.
 
 
This is a list of scenarios I've tried with relative exceptions:
 
CtiRoutePoint calls first party A;
first party A answers the call;
redirect CRP connection to second party B
exception: com.cisco.jtapi.PlatformExceptionImpl: CCNException not handled: com.cisco.cti.client.CCNException: redirect failure
 
 
The same if I try to redirect first party A:
 
CtiRoutePoint calls first party A;
first party A answers the call;
redirect A connection to second party B.
exception: com.cisco.jtapi.PlatformExceptionImpl: CCNException not handled: com.cisco.cti.client.CCNException: redirect failure
 
Redirect runs well only if working with registered number instead of a CtiRP or in this scenario:
 
CtiRoutePoint calls first party A;
first party A ringing;
redirect CRP connection to second party B
but in this case it looks like a call forwarding and it's not what I need.
 
 
Isn't it possible that Cti Route Point doesn't support redirect method?
 
Thank you
Gionata Navarra
 
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