java jain sip如何最小化事务超时

时间:2014-04-24 07:44:03

标签: java sip voip jain-sip jain-slee

我正在构建一个发送请求并收到响应的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
}

谢谢你, 姆

2 个答案:

答案 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以了解如何执行此操作。