取消
显示结果 
搜索替代 
您的意思是: 
cancel
2150
查看次数
0
有帮助
0
评论
tao.li
Level 3
Level 3
呼叫转移的功能是由呼叫控制包提供的特性。这里需要说明的是呼叫控制包中提供了所有的电话控制操作:例如呼叫接听,拒接,转接,hold,unhold,示忙等。
呼叫控制包中的CallControlAddress接口提供的setForwarding方法来设置呼叫转移的功能。但在sun标志JTAPI1.2文档和cisco的JTAPI文档介绍的并不是很明确。
以SUN-JTAPI1.2文档为例:我们可以通过JTAPI设置好需要转接的电话号码,当有电话呼入时,程序可以将呼入电话转移呼叫到预先设置好的电话号码上。转移呼叫还可以根据不同情况进行转移呼叫:例如在线路1000上所有的呼叫转移到2000上,也可以当无人接听时将呼叫转移到2000上。这些设定需要由CallControlForwarding类来完成。CallControlAddress.setForwarding()方法指定转移呼叫;CallControlAddress.cancelForwarding()方法取消转移呼叫。下面通过实例说明如何通过JTAPI程序设定转移呼叫。
一:获得Provider对象并通过Provider获得需要进行呼叫转移设置的Address。
JtapiPeer peer = JtapiPeerFactory.getJtapiPeer(null);
String providerString = ip + ";login=" + admin + ";passwd=" + pwd;
this.provider = peer.getProvider(providerString);
if (peer instanceof CiscoJtapiPeer) {
CiscoJtapiProperties jProps = ((CiscoJtapiPeer) peer).getJtapiProperties();
jProps.setUseJavaConsoleTrace(false);
this.provider.addObserver(this);
}
Address address = provider.getAddress("2008");//获得需要设置转移的Address
二:创建CallControlForwarding对象,指定呼叫转移号码
Vector ccfVector = new Vector();
ccfVector.add(new CallControlForwarding("2009",CallControlForwarding.FORWARD_UNCONDITIONALLY));//呼叫转移号码设置为2009。
CallControlForwarding[] ccfArray = new CallControlForwarding[ccfVector.size()];
ccfArray = ccfVector.toArray(ccfArray);
(CallControlAddress) address).setForwarding(ccfArray);
完成呼叫转移设置,此时所有拨打到在2008上的电话都将转移呼叫道2009上。
我们可以查看CallManager上的2008电话号码配置界面中Forward All 2009
需要说明在Cisco JTAPI--7.0中我们可以通过AddressImpl.setForwarding()方法来实现CallControlAddress.setForwarding()功能。(CiscoJTAPI6.0中AddressImpl类不是public的不能直接使用这个抽象类,可能是我的版本低吧~~)
三:取消呼叫转移功能
(CallControlAddress) address).cancelForwarding();
以上为呼叫转移设置的代码实现,已在Call Manager6.0测试通过。
劳动光荣,转载请注明~~~~~哈哈!:lol
以后介绍Transfer,Conference,consult功能实现!!
入门指南

使用上面的搜索栏输入关键字、短语或问题,搜索问题的答案。

我们希望您在这里的旅程尽可能顺利,因此这里有一些链接可以帮助您快速熟悉思科社区:









快捷链接