Bug fix: after the last retransmission of a frame, wait for a while for an answer before destroying the transaction. Changed debug level for message regarding media transmission.

git-svn-id: http://yate.null.ro/svn/yate/trunk@5191 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
oana 2012-07-13 12:49:44 +00:00
parent dcb21aa3b1
commit e0b65c6394
2 changed files with 3 additions and 3 deletions

View File

@ -480,7 +480,7 @@ unsigned int IAXTransaction::sendMedia(const DataBlock& data, u_int32_t format,
else
Debug(m_engine,DebugStub,
"IAXTransaction::sendMedia() not implemented for type '%s'",fmt->typeName());
DDebug(m_engine,sent == data.length() ? DebugAll : DebugNote,
XDebug(m_engine,sent == data.length() ? DebugAll : DebugNote,
"Transaction(%u,%u) sent %u/%u media=%s mark=%u ts=%u [%p]",
localCallNo(),remoteCallNo(),sent,data.length(),
fmt->typeName(),mark,ts,this);
@ -536,7 +536,7 @@ IAXEvent* IAXTransaction::getEvent(u_int64_t time)
if (state() == NewRemoteInvite_AuthSent && frame->ack())
frame->adjustAuthTimeout(time + m_engine->authTimeout() * 1000);
// No response. Timeout ?
if (frame->timeout()) {
if (frame->timeout() && frame->timeForRetrans(time)) {
if (m_state == Terminating)
// Client already notified: Terminate transaction
ev = terminate(IAXEvent::Timeout,true);

View File

@ -1375,7 +1375,7 @@ void YIAXDriver::initialize()
Engine::install(new YIAXRegDataHandler);
// Init IAX engine
u_int16_t transListCount = 64;
u_int16_t retransCount = 5;
u_int16_t retransCount = 4;
u_int16_t retransInterval = 500;
u_int16_t authTimeout = 30;
u_int16_t transTimeout = 10;