Added separate setting for UDPTL timeout with a default of 25s.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4713 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
parent
a61fcc1723
commit
f8ba1cbf62
|
@ -51,9 +51,12 @@
|
||||||
[timeouts]
|
[timeouts]
|
||||||
; This section controls the behaviour when RTP and RTCP data is missing
|
; This section controls the behaviour when RTP and RTCP data is missing
|
||||||
|
|
||||||
; timeout: int: Receiver timeout in ms (500-60000), zero disables
|
; timeout: int: RTP/RTCP receiver timeout in ms (500-60000), zero disables
|
||||||
;timeout=3000
|
;timeout=3000
|
||||||
|
|
||||||
|
; udptl_timeout: int: UDPTL receiver timeout in ms (500-60000), zero disables
|
||||||
|
;udptl_timeout=25000
|
||||||
|
|
||||||
; notifymsg: string: Name of the notification message sent on timeout
|
; notifymsg: string: Name of the notification message sent on timeout
|
||||||
; Usually it should be chan.notify or call.drop, empty disables the message
|
; Usually it should be chan.notify or call.drop, empty disables the message
|
||||||
;notifymsg=
|
;notifymsg=
|
||||||
|
|
|
@ -102,6 +102,7 @@ static int s_tos = 0;
|
||||||
static int s_sleep = 5;
|
static int s_sleep = 5;
|
||||||
static int s_interval= 0;
|
static int s_interval= 0;
|
||||||
static int s_timeout = 0;
|
static int s_timeout = 0;
|
||||||
|
static int s_udptlTimeout = 0;
|
||||||
|
|
||||||
static int s_minjitter = 0;
|
static int s_minjitter = 0;
|
||||||
static int s_maxjitter = 0;
|
static int s_maxjitter = 0;
|
||||||
|
@ -593,8 +594,12 @@ void YRTPWrapper::setTimeout(const Message& msg, int timeOut)
|
||||||
const String* param = msg.getParam(YSTRING("timeout"));
|
const String* param = msg.getParam(YSTRING("timeout"));
|
||||||
if (param) {
|
if (param) {
|
||||||
// accept true/false to apply default or disable
|
// accept true/false to apply default or disable
|
||||||
if (param->isBoolean())
|
if (param->isBoolean()) {
|
||||||
timeOut = param->toBoolean() ? s_timeout : 0;
|
if (param->toBoolean())
|
||||||
|
timeOut = rtp() ? s_timeout : s_udptlTimeout;
|
||||||
|
else
|
||||||
|
timeOut = 0;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
timeOut = param->toInteger(timeOut);
|
timeOut = param->toInteger(timeOut);
|
||||||
}
|
}
|
||||||
|
@ -745,7 +750,7 @@ bool YRTPWrapper::startUDPTL(const char* raddr, unsigned int rport, Message& msg
|
||||||
"Wrapper %s a hole in firewall/NAT [%p]",
|
"Wrapper %s a hole in firewall/NAT [%p]",
|
||||||
(ok ? "opened" : "failed to open"),this);
|
(ok ? "opened" : "failed to open"),this);
|
||||||
}
|
}
|
||||||
setTimeout(msg,s_timeout);
|
setTimeout(msg,s_udptlTimeout);
|
||||||
return setupUDPTL(msg);
|
return setupUDPTL(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1828,6 +1833,7 @@ void YRTPPlugin::initialize()
|
||||||
RTPGroup::setMinSleep(cfg.getIntValue("general","minsleep"));
|
RTPGroup::setMinSleep(cfg.getIntValue("general","minsleep"));
|
||||||
s_priority = Thread::priority(cfg.getValue("general","thread"));
|
s_priority = Thread::priority(cfg.getValue("general","thread"));
|
||||||
s_timeout = cfg.getIntValue("timeouts","timeout",3000);
|
s_timeout = cfg.getIntValue("timeouts","timeout",3000);
|
||||||
|
s_udptlTimeout = cfg.getIntValue("timeouts","udptl_timeout",25000);
|
||||||
s_notifyMsg = cfg.getValue("timeouts","notifymsg");
|
s_notifyMsg = cfg.getValue("timeouts","notifymsg");
|
||||||
s_warnFirst = cfg.getBoolValue("timeouts","warnfirst",true);
|
s_warnFirst = cfg.getBoolValue("timeouts","warnfirst",true);
|
||||||
s_warnLater = cfg.getBoolValue("timeouts","warnlater",false);
|
s_warnLater = cfg.getBoolValue("timeouts","warnlater",false);
|
||||||
|
|
Loading…
Reference in New Issue