我正在构建一个发送请求并收到响应的Jain Sip应用程序。 如果没有收到响应,我需要在我的代码中处理它,但是在触发processTimeout函数之前的默认延迟太长(~32秒),我该如何最小化它?
下面的是我的代码片段:
//Sending the request statfully:
sendRegisterStateful{
ClientTransaction transaction = this.sipProvider.getNewClientTransaction(request);
// Send the request statefully, through the client transaction.
transaction.sendRequest();
//Process timeout function:
public void processTimeou{
//Need to fire the timeout here after 7sec instead of ~32s
}
谢谢你, 姆
答案 0 :(得分:0)
我通过编辑SIPTransaction类(Jain Sip Lib)中的计时器因子解决了我的问题: 原始值为64,新值变为14: 式: 超时ms = timeout_factor * T1 // T1是重新发送时间默认值:500ms;超时因子默认值:64。 Defalut超时值,以毫秒为单位= 500 * 64 = 32000ms 所以我最小化64的值,以最小化默认时间32000ms - > 7000ms
class SIPTransaction{
......
protected static final int TIMER_B = 14;
protected static final int TIMER_J = 14;
protected static final int TIMER_F = 14;
protected static final int TIMER_H = 14;
.......
}
答案 1 :(得分:0)
不是首选的做事方式。您不需要编辑代码。设置事务的基本计时器间隔。查看Transaction API以了解如何执行此操作。