java jain sip, как минимизировать время ожидания транзакции

Я создаю приложение 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 ответа

Не предпочтительный способ сделать вещи. Вам не нужно редактировать код. Установите базовый интервал таймера для вашей транзакции. Посмотрите API транзакций, чтобы увидеть, как это сделать.

Я решил свою проблему, отредактировав коэффициент таймера в классе SIPTransaction (Jain Sip Lib): исходное значение было 64, новое значение стало 14: Формула: время ожидания ms = timeout_factor*T1 //T1 - время повторной передачи по умолчанию: 500 мс; коэффициент времени ожидания по умолчанию: 64. Значение времени ожидания по умолчанию в миллисекундах = 500*64 = 32000 мс. Поэтому я минимизировал значение 64, чтобы минимизировать время ожидания по умолчанию 32000 мс -> 7000 мс.

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;
.......
}
Другие вопросы по тегам