< Previous by Date Date Index Next by Date >
  Thread Index Next in Thread >

[reSIProcate] ParseBuffer::assertNotEof() ?




Occasionally, my application is receiving a packet which causes assertNotEof() to throw an exception.

How is this exception meant to be dealt with? Am I intended to catch it with a try { } catch { } block around dum->process()? Or should this exception be caught and handled (presumably by discarding the packet) within the stack?

Here is the content of pb when the exception is thrown, the code in DataParameter.cxx suggests the empty ;tag= is the fault:

(gdb) print pb
$1 = (class resip::ParseBuffer &) @0xbfffe114: {
 static Whitespace = 0xb7ac4264 " \t\r\n",
 static ParamTerm = 0xb7ac4261 ";?",
mBuff = 0x809dd4a "\"Booth2\" <sip:11@xxxxxxxxxxxxxxxxxxxxx>;tag=\r\nTo: <sip:11@xxxxxxxxxxxxxxxxxxxxx>;tag=\r\nContact: <sip:11@xxxxxxxxxx:5070>\r\nSupported: replaces\r\nProxy-Authorization: Digest username=\"11\", realm=\"sip."..., mPosition = 0x809dd76 "\r\nTo: <sip:11@xxxxxxxxxxxxxxxxxxxxx>;tag=\r\nContact: <sip:11@xxxxxxxxxx:5070>\r\nSupported: replaces\r\nProxy-Authorization: Digest username=\"11\", realm=\"sip.callshop.lvdx.com\", algorithm=MD5, uri=\"sip:"..., mEnd = 0x809dd76 "\r\nTo: <sip:11@xxxxxxxxxxxxxxxxxxxxx>;tag=\r\nContact: <sip:11@xxxxxxxxxx:5070>\r\nSupported: replaces\r\nProxy-Authorization: Digest username=\"11\", realm=\"sip.callshop.lvdx.com\", algorithm=MD5, uri=\"sip:"...,
 mErrorContext = @0xb7dc5c18}


Regards,

Daniel