Fixed bug in initial sequence numbers.
git-svn-id: http://voip.null.ro/svn/yate@873 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
parent
93c4fedab6
commit
f5c6363250
|
@ -591,7 +591,7 @@ IAXFullFrame::IAXFullFrame(Type type, u_int32_t subClass, u_int16_t sCallNo, u_i
|
|||
: IAXFrame(type,sCallNo,tStamp,retrans,buf,len),
|
||||
m_dCallNo(dCallNo), m_oSeqNo(oSeqNo), m_iSeqNo(iSeqNo)
|
||||
{
|
||||
XDebug(DebugAll,"IAXFullFrame::IAXFullFrame(%u,%u) [%p]",
|
||||
DDebug(DebugAll,"IAXFullFrame::IAXFullFrame(%u,%u) [%p]",
|
||||
type,subClass,this);
|
||||
m_subclass = subClass;
|
||||
}
|
||||
|
@ -603,7 +603,7 @@ IAXFullFrame::IAXFullFrame(Type type, u_int32_t subClass, u_int16_t sCallNo, u_i
|
|||
: IAXFrame(type,sCallNo,tStamp,false,0,0),
|
||||
m_dCallNo(dCallNo), m_oSeqNo(oSeqNo), m_iSeqNo(iSeqNo)
|
||||
{
|
||||
XDebug(DebugAll,"IAXFullFrame::IAXFullFrame(%u,%u) [%p]",
|
||||
DDebug(DebugAll,"IAXFullFrame::IAXFullFrame(%u,%u) [%p]",
|
||||
type,subClass,this);
|
||||
|
||||
unsigned char header[12];
|
||||
|
@ -638,6 +638,8 @@ IAXFullFrame::IAXFullFrame(Type type, u_int32_t subClass, u_int16_t sCallNo, u_i
|
|||
|
||||
IAXFullFrame::~IAXFullFrame()
|
||||
{
|
||||
DDebug(DebugAll,"IAXFullFrame::~IAXFullFrame(%u,%u) [%p]",
|
||||
m_type,m_subclass,this);
|
||||
}
|
||||
|
||||
const IAXFullFrame* IAXFullFrame::fullFrame() const
|
||||
|
|
|
@ -44,7 +44,7 @@ IAXTransaction::IAXTransaction(IAXEngine* engine, IAXFullFrame* frame,
|
|||
m_lCallNo(lcallno),
|
||||
m_rCallNo(frame->sourceCallNo()),
|
||||
m_oSeqNo(0),
|
||||
m_iSeqNo(1),
|
||||
m_iSeqNo(0),
|
||||
m_engine(engine),
|
||||
m_private(data),
|
||||
m_lastMiniFrameOut(0xFFFF),
|
||||
|
@ -89,7 +89,7 @@ IAXTransaction::IAXTransaction(IAXEngine* engine, Type type, u_int16_t lcallno,
|
|||
m_lCallNo(lcallno),
|
||||
m_rCallNo(0),
|
||||
m_oSeqNo(0),
|
||||
m_iSeqNo(1),
|
||||
m_iSeqNo(0),
|
||||
m_engine(engine),
|
||||
m_private(data),
|
||||
m_lastMiniFrameOut(0xFFFF),
|
||||
|
@ -531,11 +531,13 @@ bool IAXTransaction::isFrameAcceptable(const IAXFullFrame* frame)
|
|||
return true;
|
||||
if (delta > 0) {
|
||||
// We missed some frames before this one: Send VNAK
|
||||
Debug(m_engine,DebugAll,"IAXTransaction(%u,%u) - received frame out of order!!! Send VNAK",
|
||||
Debug(m_engine,DebugInfo,"IAXTransaction(%u,%u) - received frame out of order!!! Send VNAK",
|
||||
localCallNo(),remoteCallNo());
|
||||
postFrame(IAXFrame::IAX,IAXControl::VNAK,0,0,0,true);
|
||||
m_inOutOfOrderFrames++;
|
||||
}
|
||||
DDebug(m_engine,DebugInfo,"IAXTransaction(%u,%u) - received late frame with oseq=%u expecting %u [%p]",
|
||||
localCallNo(),remoteCallNo(),frame->oSeqNo(),m_iSeqNo,this);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue