< Previous by Date | Date Index | Next by Date > |
< Previous in Thread | Thread Index | Next in Thread > |
Hi all, I checked testParserCategories using unchanged mainline sources and I obtained errors again. I found that errors are produced by function testParseAndWrite() for NameAddr and Via (see attached file testParserCategories_output.txt), and not by changes. In the new patch file I inserted also the changes for testParserCategories.cxx and testGperfHash.cxx to check new headers and parameters and it seems that they work. I didn't follow testParserCategories.cxx code using a debugger. Does anyone know testParseAndWrite() function and can he explain errors reported in the log? Best regards, Dario. -----Original Message----- From: resiprocate-devel [mailto:resiprocate-devel-bounces@xxxxxxxxxxxxxxx] On Behalf Of Daniel Pocock Sent: martedì 16 settembre 2014 21.32 To: resiprocate-devel@xxxxxxxxxxxxxxx Subject: Re: [reSIProcate] RFC 3455 headers and parameters On 16/09/14 20:27, Scott Godin wrote: > I just tried applying the patch and running the > stack/test/testParserCategories test suite. I got failures. My > cycles are limited right now - can you try out this test suite and see > if you can pinpoint the issue? This would be an interesting contribution to submit as a Github pull request. Travis-CI will automatically try to build the project with the proposed patch and run the test cases and tell us if it is good to merge. _______________________________________________ resiprocate-devel mailing list resiprocate-devel@xxxxxxxxxxxxxxx https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
Attachment:
NewHeadersAndParameters_Update1.patch
Description: NewHeadersAndParameters_Update1.patch
Class App Lib Possible Culprit Flags resip::Connection 400 400 resip::Data 32 32 resip::DnsResult 732 732 resip::Headers 1 1 resip::MsgHeaderScanner 32 32 resip::SipMessage 4104 4104 resip::TransportSelector 840 840 resip::Tuple 108 108 resip::UdpTransport 712 712 resip::GenericIPAddress 28 28 --> Test poorly formed NameAddr by construction DEBUG | 20140917-125600.938 | test.exe | RESIP | 5804 | parsebuffer.cxx:971 | c:\dev.resiprocate\main\rutil\parsebuffer.cxx:70, Parse failed expected ':' in context: <jason_AT_example.com@10.0.0.1;transport=TCP> ^ DEBUG | 20140917-125600.978 | test.exe | RESIP | 5804 | baseexception.cxx:21 | BaseException at c:\dev.resiprocate\main\rutil\parsebuffer.cxx:70 c:\dev.resiprocate\main\rutil\parsebuffer.cxx :70, Parse failed expected ':' in context: <jason_AT_example.com@10.0.0.1;transport=TCP> ^ ParseException c:\dev.resiprocate\main\rutil\parsebuffer.cxx:70, Parse failed expected ':' in context: <jason_AT_example.com@10.0.0.1;transport=TCP> ^ @ c:\dev.resiprocate\main\rutil\parsebuffer.cxx:70 <-- Test poorly formed NameAddr by construction --> Test copy transport param <sip:jason_AT_example.com@10.0.0.1:5060;transport=TCP> <sip:jason_AT_example.com@10.0.0.1:5060;transport=TCP> <-- Test copy transport param --> Test iterator erase in ParserContainer <-- Test iterator erase in ParserContainer --> Test NameAddr encode from underlying after read-only parse <sip:jason_AT_example.com@10.0.0.1:5060;opaque=blah> <sip:jason_AT_example.com@10.0.0.1:5060;opaque=blah> <-- Test NameAddr encode from underlying after read-only parse --> Test find in ParserContainer <-- Test find in ParserContainer --> Test remove parameters that appear multiple times <-- Test remove parameters that appear multiple times --> Test remove parameters that appear multiple times sips:bob@xxxxxxx <-- Test remove parameters that appear multiple times --> Test remove parameters that appear multiple times; mixed predefined and extensions <-- Test remove parameters that appear multiple times; mixed predefined and extensions --> Test exists unknown parameter b <-- Test exists unknown parameter --> Test non-quoted tokens displayname in NameAddr (torture test: 2.39) !!"A. Bell"<sip:a.g.bell@xxxxxxxxxxxx>;tag=459843 <-- Test non-quoted tokens displayname in NameAddr (torture test: 2.39) --> Test quoted displayname in NameAddr (torture test: 2.39) !!A. Bell <-- Test quoted displayname in NameAddr (torture test: 2.39) --> Test NameAddr parameter handling !!<sip:foo@xxxxxxx;user=phone> <-- Test NameAddr parameter handling --> Test tel aor canonicalization +14156268178 <-- Test tel aor canonicalization --> Test aor canonicalization !! User@xxxxxxxxxxxxxxxx:5666 User@xxxxxxxxxxxxxxxx:5666 <-- Test aor canonicalization --> Test tel NameAddr 98267168 <-- Test tel NameAddr --> Test empty NameAddr <-- Test empty NameAddr --> Test NameAddr q value <-- Test NameAddr q value --> Test NameAddr comparison <-- Test NameAddr comparison --> Test parameter with spaces <-- Test parameter with spaces --> Test uri with no user sip:kelowna.gloo.net <-- Test uri with no user --> Test uri with empty transport param DEBUG | 20140917-125601.302 | test.exe | RESIP | 5804 | baseexception.cxx:21 | BaseException at .\DataParameter.cxx:32 Empty value in string-type parameter. <-- Test uri with empty transport param --> Test uri with empty transport param DEBUG | 20140917-125601.332 | test.exe | RESIP | 5804 | baseexception.cxx:21 | BaseException at .\DataParameter.cxx:32 Empty value in string-type parameter. <-- Test uri with empty transport param --> Test assignment for NameAddr original NameAddr: ->"Original"<sip:orig@xxxxxxxxxxx>;tag=original<- new NameAddr : ->"new"<sip:new@xxxxxxxxxxx>;tag=new<- original : ->"new"<sip:new@xxxxxxxxxxx>;tag=new<- <-- Test assignment for NameAddr --> Test @ in params for Uri <-- Test @ in params for Uri --> Test unquoted @ in params for Uri <-- Test unquoted @ in params for Uri --> Test : in params for Uri <-- Test : in params for Uri --> Test unquoted : in params for Uri <-- Test unquoted : in params for Uri --> Test unquoted : in params for Uri (2) <-- Test unquoted : in params for Uri (2) --> Test @ in headers for Uri <-- Test @ in headers for Uri --> Test unquoted @ in headers for Uri <-- Test unquoted @ in headers for Uri --> Test : in headers for Uri <-- Test : in headers for Uri --> Test unquoted : in headers for Uri <-- Test unquoted : in headers for Uri --> Test unquoted : in headers for Uri (2) <-- Test unquoted : in headers for Uri (2) --> Test typeless parameter copy <-- Test typeless parameter copy --> Test typeless parameter overwrite value;expires=17;retry-after=21;lr;foobie=quux <-- Test typeless parameter overwrite --> Test StringCategory Lame Agent <-- Test StringCategory --> Test Token parameters active;expires=666 <-- Test Token parameters --> StatusLine, with reason code Ringing <-- StatusLine, with reason code --> Checking hash of: CSeq <-- Checking hash of: CSeq --> Checking hash of: Subject <-- Checking hash of: Subject --> Checking hash of: Expires <-- Checking hash of: Expires --> Checking hash of: Session-Expires <-- Checking hash of: Session-Expires --> Checking hash of: Min-SE <-- Checking hash of: Min-SE --> Checking hash of: Accept <-- Checking hash of: Accept --> Checking hash of: Accept-Encoding <-- Checking hash of: Accept-Encoding --> Checking hash of: Accept-Language <-- Checking hash of: Accept-Language --> Checking hash of: Alert-Info <-- Checking hash of: Alert-Info --> Checking hash of: Allow <-- Checking hash of: Allow --> Checking hash of: Authentication-Info <-- Checking hash of: Authentication-Info --> Checking hash of: Call-Info <-- Checking hash of: Call-Info --> Checking hash of: Content-Disposition <-- Checking hash of: Content-Disposition --> Checking hash of: Content-Encoding <-- Checking hash of: Content-Encoding --> Checking hash of: Content-ID <-- Checking hash of: Content-ID --> Checking hash of: Content-Language <-- Checking hash of: Content-Language --> Checking hash of: Content-Transfer-Encoding <-- Checking hash of: Content-Transfer-Encoding --> Checking hash of: Content-Type <-- Checking hash of: Content-Type --> Checking hash of: Date <-- Checking hash of: Date --> Checking hash of: Error-Info <-- Checking hash of: Error-Info --> Checking hash of: In-Reply-To <-- Checking hash of: In-Reply-To --> Checking hash of: Min-Expires <-- Checking hash of: Min-Expires --> Checking hash of: MIME-Version <-- Checking hash of: MIME-Version --> Checking hash of: Organization <-- Checking hash of: Organization --> Checking hash of: Sec-WebSocket-Key <-- Checking hash of: Sec-WebSocket-Key --> Checking hash of: Sec-WebSocket-Key1 <-- Checking hash of: Sec-WebSocket-Key1 --> Checking hash of: Sec-WebSocket-Key2 <-- Checking hash of: Sec-WebSocket-Key2 --> Checking hash of: Origin <-- Checking hash of: Origin --> Checking hash of: Host <-- Checking hash of: Host --> Checking hash of: Sec-WebSocket-Accept <-- Checking hash of: Sec-WebSocket-Accept --> Checking hash of: Cookie <-- Checking hash of: Cookie --> Checking hash of: Priority <-- Checking hash of: Priority --> Checking hash of: Proxy-Authorization <-- Checking hash of: Proxy-Authorization --> Checking hash of: Reply-To <-- Checking hash of: Reply-To --> Checking hash of: Retry-After <-- Checking hash of: Retry-After --> Checking hash of: Flow-Timer <-- Checking hash of: Flow-Timer --> Checking hash of: Server <-- Checking hash of: Server --> Checking hash of: SIP-ETag <-- Checking hash of: SIP-ETag --> Checking hash of: SIP-If-Match <-- Checking hash of: SIP-If-Match --> Checking hash of: Supported <-- Checking hash of: Supported --> Checking hash of: Timestamp <-- Checking hash of: Timestamp --> Checking hash of: Unsupported <-- Checking hash of: Unsupported --> Checking hash of: User-Agent <-- Checking hash of: User-Agent --> Checking hash of: Warning <-- Checking hash of: Warning --> Checking hash of: WWW-Authenticate <-- Checking hash of: WWW-Authenticate --> Checking hash of: Subscription-State <-- Checking hash of: Subscription-State --> Checking hash of: Refer-To <-- Checking hash of: Refer-To --> Checking hash of: Referred-By <-- Checking hash of: Referred-By --> Checking hash of: Authorization <-- Checking hash of: Authorization --> Checking hash of: Replaces <-- Checking hash of: Replaces --> Checking hash of: Event <-- Checking hash of: Event --> Checking hash of: Allow-Events <-- Checking hash of: Allow-Events --> Checking hash of: Security-Client <-- Checking hash of: Security-Client --> Checking hash of: Security-Server <-- Checking hash of: Security-Server --> Checking hash of: Security-Verify <-- Checking hash of: Security-Verify --> Checking hash of: RSeq <-- Checking hash of: RSeq --> Checking hash of: RAck <-- Checking hash of: RAck --> Checking hash of: Reason <-- Checking hash of: Reason --> Checking hash of: Privacy <-- Checking hash of: Privacy --> Checking hash of: Request-Disposition <-- Checking hash of: Request-Disposition --> Checking hash of: P-Media-Authorization <-- Checking hash of: P-Media-Authorization --> Checking hash of: Join <-- Checking hash of: Join --> Checking hash of: Target-Dialog <-- Checking hash of: Target-Dialog --> Checking hash of: P-Asserted-Identity <-- Checking hash of: P-Asserted-Identity --> Checking hash of: P-Preferred-Identity <-- Checking hash of: P-Preferred-Identity --> Checking hash of: Accept-Contact <-- Checking hash of: Accept-Contact --> Checking hash of: Reject-Contact <-- Checking hash of: Reject-Contact --> Checking hash of: P-Called-Party-ID <-- Checking hash of: P-Called-Party-ID --> Checking hash of: P-Associated-URI <-- Checking hash of: P-Associated-URI --> Checking hash of: Content-Length <-- Checking hash of: Content-Length --> Checking hash of: Refer-Sub <-- Checking hash of: Refer-Sub --> Checking hash of: Answer-Mode <-- Checking hash of: Answer-Mode --> Checking hash of: Priv-Answer-Mode <-- Checking hash of: Priv-Answer-Mode --> Checking hash of: Remote-Party-ID <-- Checking hash of: Remote-Party-ID --> Checking hash of: History-Info <-- Checking hash of: History-Info 12 To = To 13 From = From 0 Via = Via 14 Call-ID = CallID 15 CSeq = CSeq 2 Route = Route 3 Record-Route = RecordRoute 11 Contact = Contact 16 Subject = Subject 17 Expires = Expires 1 Max-Forwards = MaxForwards 20 Accept = Accept 21 Accept-Encoding = AcceptEncoding 22 Accept-Language = AcceptLanguage 23 Alert-Info = AlertInfo 24 Allow = Allow 25 Authentication-Info = AuthenticationInfo 26 Call-Info = CallInfo 27 Content-Disposition = ContentDisposition 28 Content-Encoding = ContentEncoding 30 Content-Language = ContentLanguage 31 Content-Transfer-Encoding = ContentTransferEncoding 32 Content-Type = ContentType 33 Date = Date 35 In-Reply-To = InReplyTo 36 Min-Expires = MinExpires 37 MIME-Version = MIMEVersion 38 Organization = Organization 46 Priority = Priority 7 Proxy-Authenticate = ProxyAuthenticate 47 Proxy-Authorization = ProxyAuthorization 6 Proxy-Require = ProxyRequire 48 Reply-To = ReplyTo 10 Require = Require 49 Retry-After = RetryAfter 51 Server = Server 52 SIP-ETag = SIPETag 53 SIP-If-Match = SIPIfMatch 54 Supported = Supported 55 Timestamp = Timestamp 56 Unsupported = Unsupported 57 User-Agent = UserAgent 58 Warning = Warning 59 WWW-Authenticate = WWWAuthenticate 60 Subscription-State = SubscriptionState 61 Refer-To = ReferTo 62 Referred-By = ReferredBy 63 Authorization = Authorization 64 Replaces = Replaces 65 Event = Event 66 Allow-Events = AllowEvents 67 Security-Client = SecurityClient 68 Security-Server = SecurityServer 69 Security-Verify = SecurityVerify 84 Content-Length = ContentLength 29 Content-ID = ContentId 0 data = data 1 control = control 2 mobility = mobility 3 description = description 4 events = events 5 priority = priority 6 methods = methods 7 schemes = schemes 8 application = application 9 video = video 10 language = language 11 type = type 12 isfocus = isFocus 13 actor = actor 14 text = text 16 extensions = extensions 17 +sip.instance = Instance 22 gr = gr 70 transport = transport 73 user = user 44 method = method 71 ttl = ttl 43 maddr = maddr 42 lr = lr 54 q = q 53 purpose = purpose 37 expires = expires 40 handling = handling 68 tag = tag 69 to-tag = toTag 39 from-tag = fromTag 35 duration = duration 26 branch = branch 57 received = received 29 comp = comp 62 rport = rport 24 algorithm = algorithm 28 cnonce = cnonce 34 domain = domain 41 id = id 49 nonce = nonce 48 nc = nc 50 opaque = opaque 55 realm = realm 59 response = response 67 stale = stale 75 username = username 88 qop = qop 72 uri = uri 60 retry-after = retryAfter 56 reason = reason 30 d-alg = dAlg 31 d-qop = dQop 32 d-ver = dVer 66 smime-type = smimeType 47 name = name 38 filename = filename 52 protocol = protocol 45 micalg = micalg 25 boundary = boundary 36 expiration = expiration 65 size = size 51 permission = permission 64 site = site 33 directory = directory 46 mode = mode 63 server = server 27 charset = charset 23 access-type = accessType 78 profile-type = profileType 79 vendor = vendor 80 model = model 81 version = version 82 effective-by = effectiveBy 83 document = document 84 app-id = appId 85 network-user = networkUser 86 url = url --> Checking hash of: data <-- Checking hash of: data --> Checking hash of: control <-- Checking hash of: control --> Checking hash of: mobility <-- Checking hash of: mobility --> Checking hash of: description <-- Checking hash of: description --> Checking hash of: events <-- Checking hash of: events --> Checking hash of: priority <-- Checking hash of: priority --> Checking hash of: methods <-- Checking hash of: methods --> Checking hash of: schemes <-- Checking hash of: schemes --> Checking hash of: application <-- Checking hash of: application --> Checking hash of: video <-- Checking hash of: video --> Checking hash of: language <-- Checking hash of: language --> Checking hash of: type <-- Checking hash of: type --> Checking hash of: isfocus <-- Checking hash of: isfocus --> Checking hash of: actor <-- Checking hash of: actor --> Checking hash of: text <-- Checking hash of: text --> Checking hash of: cause <-- Checking hash of: cause --> Checking hash of: extensions <-- Checking hash of: extensions --> Checking hash of: +sip.instance <-- Checking hash of: +sip.instance --> Checking hash of: reg-id <-- Checking hash of: reg-id --> Checking hash of: ob <-- Checking hash of: ob --> Checking hash of: pub-gruu <-- Checking hash of: pub-gruu --> Checking hash of: temp-gruu <-- Checking hash of: temp-gruu --> Checking hash of: gr <-- Checking hash of: gr --> Checking hash of: access-type <-- Checking hash of: access-type --> Checking hash of: algorithm <-- Checking hash of: algorithm --> Checking hash of: boundary <-- Checking hash of: boundary --> Checking hash of: branch <-- Checking hash of: branch --> Checking hash of: charset <-- Checking hash of: charset --> Checking hash of: cnonce <-- Checking hash of: cnonce --> Checking hash of: comp <-- Checking hash of: comp --> Checking hash of: d-alg <-- Checking hash of: d-alg --> Checking hash of: d-qop <-- Checking hash of: d-qop --> Checking hash of: d-ver <-- Checking hash of: d-ver --> Checking hash of: directory <-- Checking hash of: directory --> Checking hash of: domain <-- Checking hash of: domain --> Checking hash of: duration <-- Checking hash of: duration --> Checking hash of: expiration <-- Checking hash of: expiration --> Checking hash of: expires <-- Checking hash of: expires --> Checking hash of: filename <-- Checking hash of: filename --> Checking hash of: from-tag <-- Checking hash of: from-tag --> Checking hash of: handling <-- Checking hash of: handling --> Checking hash of: id <-- Checking hash of: id --> Checking hash of: lr <-- Checking hash of: lr --> Checking hash of: maddr <-- Checking hash of: maddr --> Checking hash of: method <-- Checking hash of: method --> Checking hash of: micalg <-- Checking hash of: micalg --> Checking hash of: mode <-- Checking hash of: mode --> Checking hash of: name <-- Checking hash of: name --> Checking hash of: nc <-- Checking hash of: nc --> Checking hash of: nonce <-- Checking hash of: nonce --> Checking hash of: opaque <-- Checking hash of: opaque --> Checking hash of: permission <-- Checking hash of: permission --> Checking hash of: protocol <-- Checking hash of: protocol --> Checking hash of: purpose <-- Checking hash of: purpose --> Checking hash of: q <-- Checking hash of: q --> Checking hash of: realm <-- Checking hash of: realm --> Checking hash of: reason <-- Checking hash of: reason --> Checking hash of: received <-- Checking hash of: received --> Checking hash of: require <-- Checking hash of: require --> Checking hash of: response <-- Checking hash of: response --> Checking hash of: retry-after <-- Checking hash of: retry-after --> Checking hash of: rinstance <-- Checking hash of: rinstance --> Checking hash of: rport <-- Checking hash of: rport --> Checking hash of: server <-- Checking hash of: server --> Checking hash of: site <-- Checking hash of: site --> Checking hash of: size <-- Checking hash of: size --> Checking hash of: smime-type <-- Checking hash of: smime-type --> Checking hash of: stale <-- Checking hash of: stale --> Checking hash of: tag <-- Checking hash of: tag --> Checking hash of: to-tag <-- Checking hash of: to-tag --> Checking hash of: transport <-- Checking hash of: transport --> Checking hash of: ttl <-- Checking hash of: ttl --> Checking hash of: uri <-- Checking hash of: uri --> Checking hash of: user <-- Checking hash of: user --> Checking hash of: ext <-- Checking hash of: ext --> Checking hash of: username <-- Checking hash of: username --> Checking hash of: early-only <-- Checking hash of: early-only --> Checking hash of: refresher <-- Checking hash of: refresher --> Checking hash of: profile-type <-- Checking hash of: profile-type --> Checking hash of: vendor <-- Checking hash of: vendor --> Checking hash of: model <-- Checking hash of: model --> Checking hash of: version <-- Checking hash of: version --> Checking hash of: effective-by <-- Checking hash of: effective-by --> Checking hash of: document <-- Checking hash of: document --> Checking hash of: app-id <-- Checking hash of: app-id --> Checking hash of: network-user <-- Checking hash of: network-user --> Checking hash of: url <-- Checking hash of: url --> Checking hash of: sigcomp-id <-- Checking hash of: sigcomp-id --> Checking hash of: index <-- Checking hash of: index --> Checking hash of: rc <-- Checking hash of: rc --> Checking hash of: mp <-- Checking hash of: mp --> Checking hash of: np <-- Checking hash of: np --> Checking hash of: addTransport <-- Checking hash of: addTransport --> Checking hash of: ws-src-ip <-- Checking hash of: ws-src-ip --> Checking hash of: ws-src-port <-- Checking hash of: ws-src-port --> simple Token parse test <-- simple Token parse test --> Token + parameters parse test <-- Token + parameters parse test --> Test NameAddr(Data) constructor <-- Test NameAddr(Data) constructor --> full on via parse <-- full on via parse --> Test poorly formed DataParameter by construction DEBUG | 20140917-125602.874 | test.exe | RESIP | 5804 | parsebuffer.cxx:971 | c:\dev.resiprocate\main\rutil\parsebuffer.hxx:230, Parse failed unexpected eof in context: SIP/2.0/UDP example.com:5000;;tag= ^ DEBUG | 20140917-125602.904 | test.exe | RESIP | 5804 | baseexception.cxx:21 | BaseException at c:\dev.resiprocate\main\rutil\parsebuffer.hxx:230 c:\dev.resiprocate\main\rutil\parsebuffer.hx x:230, Parse failed unexpected eof in context: SIP/2.0/UDP example.com:5000;;tag= ^ Caught parse exception for Via <-- Test poorly formed DataParameter by construction --> Test poorly formed UnknownParameter by construction DEBUG | 20140917-125602.957 | test.exe | RESIP | 5804 | parsebuffer.cxx:971 | c:\dev.resiprocate\main\rutil\parsebuffer.hxx:230, Parse failed unexpected eof in context: SIP/2.0/UDP example.com:5000;;foobar= ^ DEBUG | 20140917-125602.987 | test.exe | RESIP | 5804 | baseexception.cxx:21 | BaseException at c:\dev.resiprocate\main\rutil\parsebuffer.hxx:230 c:\dev.resiprocate\main\rutil\parsebuffer.hx x:230, Parse failed unexpected eof in context: SIP/2.0/UDP example.com:5000;;foobar= ^ Caught parse exception for Via <-- Test poorly formed UnknownParameter by construction --> Test poorly formed UInt32Parameter by construction DEBUG | 20140917-125603.040 | test.exe | RESIP | 5804 | parsebuffer.cxx:971 | c:\dev.resiprocate\main\rutil\parsebuffer.hxx:230, Parse failed unexpected eof in context: SIP/2.0/UDP example.com:5000;;duration= ^ DEBUG | 20140917-125603.069 | test.exe | RESIP | 5804 | baseexception.cxx:21 | BaseException at c:\dev.resiprocate\main\rutil\parsebuffer.hxx:230 c:\dev.resiprocate\main\rutil\parsebuffer.hx x:230, Parse failed unexpected eof in context: SIP/2.0/UDP example.com:5000;;duration= ^ Caught parse exception for Via <-- Test poorly formed UInt32Parameter by construction --> Test poorly formed QuotedDataParameter by construction DEBUG | 20140917-125603.124 | test.exe | RESIP | 5804 | parsebuffer.cxx:971 | c:\dev.resiprocate\main\rutil\parsebuffer.cxx:427, Parse failed Missing '"' in context: SIP/2.0/UDP example.com:5000;;domain=" ^ DEBUG | 20140917-125603.153 | test.exe | RESIP | 5804 | baseexception.cxx:21 | BaseException at c:\dev.resiprocate\main\rutil\parsebuffer.cxx:427 c:\dev.resiprocate\main\rutil\parsebuffer.cx x:427, Parse failed Missing '"' in context: SIP/2.0/UDP example.com:5000;;domain=" ^ Caught parse exception for Via <-- Test poorly formed QuotedDataParameter by construction --> URI parse !! <sip:bob@xxxxxxx> <-- URI parse --> URI parse, no displayName <-- URI parse, no displayName --> URI parse, parameters <-- URI parse, parameters --> URI parse, parameters, port <-- URI parse, parameters, port --> URI parse, parameters, correct termination check Uri:foo.com <-- URI parse, parameters, correct termination check --> URI parse, transport parameter <-- URI parse, transport parameter URI comparison tests A: sip:bob@xxxxxxxxxx;transport=udp B: sip:bob@xxxxxxxxxx A:exists(transport) 1 --> Request Line parse foo.com <-- Request Line parse --> Request Line parse tel <-- Request Line parse tel --> Request Line parse, parameters foo.com SIP/2.0 <-- Request Line parse, parameters --> NameAddr parse <-- NameAddr parse --> NameAddr parse, displayName <-- NameAddr parse, displayName --> NameAddr parse, quoted displayname <-- NameAddr parse, quoted displayname --> NameAddr parse, quoted displayname, embedded quotes <-- NameAddr parse, quoted displayname, embedded quotes --> NameAddr parse, unquoted displayname, paramterMove Uri params: Header params: ;tag=456248;mobility="hobble" <-- NameAddr parse, unquoted displayname, paramterMove --> NameAddr parse, quoted displayname, parameterMove Uri params: Header params: ;tag=456248;mobility="hobble" <-- NameAddr parse, quoted displayname, parameterMove --> NameAddr parse, unquoted displayname, paramterMove Uri params: ;tag=456248;mobility="hobble" Header params: <-- NameAddr parse, unquoted displayname, paramterMove --> NameAddr parse, unquoted displayname, paramterMove Uri params: ;mobility="hobb;le";tag="true;false" Header params: <-- NameAddr parse, unquoted displayname, paramterMove --> NameAddr parse <-- NameAddr parse --> NameAddr parse, no user in uri <-- NameAddr parse, no user in uri --> StatusLine, no reason code <-- StatusLine, no reason code --> StatusLine, no reason code <-- StatusLine, no reason code --> Auth Schemes Auth scheme: Digest realm: 66.100.107.120 Digest realm="66.100.107.120",username="1234",nonce="1011235448",uri="sip:66.100.107.120",algorithm=MD5,response="8a5165b024fda362ed9c1e29a7af0ef2" <-- Auth Schemes --> More Auth Auth scheme: realm: 66.100.107.120 realm="66.100.107.120",username="1234",nonce="1011235448",uri="sip:66.100.107.120",algorithm=MD5,response="8a5165b024fda362ed9c1e29a7af0ef2" <-- More Auth --> Testing qop stuff <-- Testing qop stuff --> More Auth Encoding <-- More Auth Encoding --> Generic URI stuff icon <http://www.google.com>;purpose=icon;fake=true <-- Generic URI stuff --> Date testing 1 Mon, 04 Nov 2002 17:34:15 GMT !! original date : Mon, 04 Nov 2002 17:34:15 GMT !! original string : Mon, 04 Nov 2002 17:34:15 GMT !! otherDate : Mon, 04 Nov 2002 17:34:15 GMT !! encoded otherDate : Mon, 04 Nov 2002 17:34:15 GMT <-- Date testing 1 --> Date testing 2 <-- Date testing 2 --> Mime types 1 <-- Mime types 1 --> Mime types 2 <-- Mime types 2 --> Mime types 3 <-- Mime types 3 --> Via 1 SIP/2.0/ ;branch=z9hG4bK-524287-1---4005d852b6129164;rport <-- Via 1 --> Via 2 SIP/2.0/UDP ;branch=z9hG4bKwkl3lkjsdfjklsdjklfdsjlkdklj !! SIP/2.0/UDP ;branch=z9hG4bK-524287-1---jason <-- Via 2 --> Via 3 <-- Via 3 --> Via 4 <-- Via 4 --> Via 5 assignment with unknown parameter !! SIP/2.0/UDP ;branch=z9hG4bKwkl3lkjsdfjklsdjklfdsjlkdklj;ttl=70;stid=abcd.2 <-- Via 5 assignment with unknown parameter --> Via 6 parse with known parameter !! SIP/2.0/UDP whistler.gloo.net:5061;branch=z9hG4bK-524287-1---ec1e.0;ttl=4 <-- Via 6 parse with known parameter --> Via 7 parse with unknown parameter !! SIP/2.0/UDP whistler.gloo.net:5061;branch=z9hG4bK-524287-1---ec1e.0;stid=489573115 <-- Via 7 parse with unknown parameter --> Branch parameter 1 branch=z9hG4bK-524287-1---jason.10 !! branch=z9hG4bK-524287-1---jason.10 <-- Branch parameter 1 --> Branch parameter 2 !! branch=z9hG4bK-524287-14---jason.1.2.3 <-- Branch parameter 2 --> Branch parameter 3 !! branch=z9hG4bK-524287-14---3e565-ef7w-17.1.2.3foobie !! branch=z9hG4bK-524287-1---foobie <-- Branch parameter 3 --> Branch parameter 4 !! branch=z9hG4bK-524287-14---3e565-ef7w-17.1.2.3 <-- Branch parameter 4 --> Branch parameter 7 empty ours !! branch=z9hG4bK-524287-1--- <-- Branch parameter 7 empty ours --> Branch parameter 8 badly formed ours DEBUG | 20140917-125603.611 | test.exe | RESIP | 5804 | parsebuffer.cxx:971 | c:\dev.resiprocate\main\rutil\parsebuffer.cxx:735, Parse failed Expected a digit in context: =z9hG4bK-524287------- ^ DEBUG | 20140917-125603.639 | test.exe | RESIP | 5804 | baseexception.cxx:21 | BaseException at c:\dev.resiprocate\main\rutil\parsebuffer.cxx:735 c:\dev.resiprocate\main\rutil\parsebuffer.cx x:735, Parse failed Expected a digit in context: =z9hG4bK-524287------- ^ <-- Branch parameter 8 badly formed ours --> Branch parameter 9 !! PA32768 branch=z9hG4bK-524287-1-UEEzMjc2OA..--5b42cb698e8c6827790212ac5bdade1a <-- Branch parameter 9 --> Branch parameter 10; magic cookie case mismatch !! branch=z9hG4bk15775865934415 !! branch=z9hG4bk15775865934415 !! branch=z9hG4bk15775865934415 <-- Branch parameter 10; magic cookie case mismatch --> Branch testing 1 <-- Branch testing 1 --> Branch testing 2 <-- Branch testing 2 --> Branch testing 3 <-- Branch testing 3 --> Branch testing 4 with clientData <-- Branch testing 4 with clientData --> Branch testing 5 with sigcomp ID <-- Branch testing 5 with sigcomp ID --> Branch testing 6 with sigcomp ID and Client Data <-- Branch testing 6 with sigcomp ID and Client Data --> Token + parameters parse test 3329 <-- Token + parameters parse test 3329 --> Token + parameters parse test <-- Token + parameters parse test --> Token + parameters parse test <-- Token + parameters parse test --> Test CSeqCategory 1 <-- Test CSeqCategory 1 --> Test CSeqCategory 2 <-- Test CSeqCategory 2 --> Test RAckCategory 1 <-- Test RAckCategory 1 --> Test RAckCategory 2 <-- Test RAckCategory 2 --> Test Privacy Category 1 <-- Test Privacy Category 1 --> Test Privacy Category 2 <-- Test Privacy Category 2 --> Test Privacy Category 3 <-- Test Privacy Category 3 --> Test * <-> * .\testParserCategories.cxx:88 - pre-parse "" ( toData(raw) ) != "*" ( rawInput ) .\testParserCategories.cxx:89 - pre-parse "" ( toData(rawCopy) ) != "*" ( rawInput ) .\testParserCategories.cxx:94 - post-parse "" ( toData(raw) ) != "*" ( rawInput ) .\testParserCategories.cxx:95 - post-parse "" ( toData(parsedCopy) ) != "*" ( rawInput ) .\testParserCategories.cxx:100 - dirty "" ( toData(raw) ) != "*" ( parsedOutput ) .\testParserCategories.cxx:101 - dirty "" ( toData(dirtyCopy) ) != "*" ( parsedOutput ) .\testParserCategories.cxx:104 - restored to raw "" ( toData(raw) ) != "*" ( rawInput ) .\testParserCategories.cxx:107 - post-parse "" ( toData(rawCopy) ) != "*" ( rawInput ) .\testParserCategories.cxx:109 - dirty "" ( toData(rawCopy) ) != "*" ( parsedOutput ) <-- Test * <-> * --> Test * <-> * .\testParserCategories.cxx:88 - pre-parse "" ( toData(raw) ) != " *" ( rawInput ) .\testParserCategories.cxx:89 - pre-parse "" ( toData(rawCopy) ) != " *" ( rawInput ) .\testParserCategories.cxx:94 - post-parse "" ( toData(raw) ) != " *" ( rawInput ) .\testParserCategories.cxx:95 - post-parse "" ( toData(parsedCopy) ) != " *" ( rawInput ) .\testParserCategories.cxx:100 - dirty "" ( toData(raw) ) != "*" ( parsedOutput ) .\testParserCategories.cxx:101 - dirty "" ( toData(dirtyCopy) ) != "*" ( parsedOutput ) .\testParserCategories.cxx:104 - restored to raw "" ( toData(raw) ) != " *" ( rawInput ) .\testParserCategories.cxx:107 - post-parse "" ( toData(rawCopy) ) != " *" ( rawInput ) .\testParserCategories.cxx:109 - dirty "" ( toData(rawCopy) ) != "*" ( parsedOutput ) <-- Test * <-> * --> Test * <-> * .\testParserCategories.cxx:88 - pre-parse "" ( toData(raw) ) != "* " ( rawInput ) .\testParserCategories.cxx:89 - pre-parse "" ( toData(rawCopy) ) != "* " ( rawInput ) .\testParserCategories.cxx:94 - post-parse "" ( toData(raw) ) != "* " ( rawInput ) .\testParserCategories.cxx:95 - post-parse "" ( toData(parsedCopy) ) != "* " ( rawInput ) .\testParserCategories.cxx:100 - dirty "" ( toData(raw) ) != "*" ( parsedOutput ) .\testParserCategories.cxx:101 - dirty "" ( toData(dirtyCopy) ) != "*" ( parsedOutput ) .\testParserCategories.cxx:104 - restored to raw "" ( toData(raw) ) != "* " ( rawInput ) .\testParserCategories.cxx:107 - post-parse "" ( toData(rawCopy) ) != "* " ( rawInput ) .\testParserCategories.cxx:109 - dirty "" ( toData(rawCopy) ) != "*" ( parsedOutput ) <-- Test * <-> * --> Test * ;foo <-> *;foo .\testParserCategories.cxx:88 - pre-parse "" ( toData(raw) ) != "* ;foo" ( rawInput ) .\testParserCategories.cxx:89 - pre-parse "" ( toData(rawCopy) ) != "* ;foo" ( rawInput ) .\testParserCategories.cxx:94 - post-parse "" ( toData(raw) ) != "* ;foo" ( rawInput ) .\testParserCategories.cxx:95 - post-parse "" ( toData(parsedCopy) ) != "* ;foo" ( rawInput ) .\testParserCategories.cxx:100 - dirty "" ( toData(raw) ) != "*;foo" ( parsedOutput ) .\testParserCategories.cxx:101 - dirty "" ( toData(dirtyCopy) ) != "*;foo" ( parsedOutput ) .\testParserCategories.cxx:104 - restored to raw "" ( toData(raw) ) != "* ;foo" ( rawInput ) .\testParserCategories.cxx:107 - post-parse "" ( toData(rawCopy) ) != "* ;foo" ( rawInput ) .\testParserCategories.cxx:109 - dirty "" ( toData(rawCopy) ) != "*;foo" ( parsedOutput ) <-- Test * ;foo <-> *;foo --> Test *bob*<sip:bob@foo> <-> "*bob*"<sip:bob@foo> .\testParserCategories.cxx:88 - pre-parse "*bob*<sip:bob@fo" ( toData(raw) ) != "*bob*<sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:89 - pre-parse "*bob*<sip:bob@fo" ( toData(rawCopy) ) != "*bob*<sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:94 - post-parse "*bob*<sip:bob@fo" ( toData(raw) ) != "*bob*<sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:95 - post-parse "*bob*<sip:bob@fo" ( toData(parsedCopy) ) != "*bob*<sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:100 - dirty ""*bob*"<sip:bob@" ( toData(raw) ) != ""*bob*"<sip:bob@foo>" ( parsedOutput ) .\testParserCategories.cxx:101 - dirty ""*bob*"<sip:bob@" ( toData(dirtyCopy) ) != ""*bob*"<sip:bob@foo>" ( parsedOutput ) .\testParserCategories.cxx:104 - restored to raw "*bob*<sip:bob@fo" ( toData(raw) ) != "*bob*<sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:107 - post-parse "*bob*<sip:bob@fo" ( toData(rawCopy) ) != "*bob*<sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:109 - dirty ""*bob*"<sip:bob@" ( toData(rawCopy) ) != ""*bob*"<sip:bob@foo>" ( parsedOutput ) <-- Test *bob*<sip:bob@foo> <-> "*bob*"<sip:bob@foo> --> Test "bob"<sip:bob@foo> <-> "bob"<sip:bob@foo> .\testParserCategories.cxx:88 - pre-parse ""bob"<sip:bob@fo" ( toData(raw) ) != ""bob"<sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:89 - pre-parse ""bob"<sip:bob@fo" ( toData(rawCopy) ) != ""bob"<sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:94 - post-parse ""bob"<sip:bob@fo" ( toData(raw) ) != ""bob"<sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:95 - post-parse ""bob"<sip:bob@fo" ( toData(parsedCopy) ) != ""bob"<sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:100 - dirty ""bob"<sip:bob@fo" ( toData(raw) ) != ""bob"<sip:bob@foo>" ( parsedOutput ) .\testParserCategories.cxx:101 - dirty ""bob"<sip:bob@fo" ( toData(dirtyCopy) ) != ""bob"<sip:bob@foo>" ( parsedOutput ) .\testParserCategories.cxx:104 - restored to raw ""bob"<sip:bob@fo" ( toData(raw) ) != ""bob"<sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:107 - post-parse ""bob"<sip:bob@fo" ( toData(rawCopy) ) != ""bob"<sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:109 - dirty ""bob"<sip:bob@fo" ( toData(rawCopy) ) != ""bob"<sip:bob@foo>" ( parsedOutput ) <-- Test "bob"<sip:bob@foo> <-> "bob"<sip:bob@foo> --> Test bob<sip:bob@foo> <-> "bob"<sip:bob@foo> .\testParserCategories.cxx:88 - pre-parse "bob<sip:bob@foo>" ( toData(raw) ) != "bob<sip:bob@foo> " ( rawInput ) .\testParserCategories.cxx:89 - pre-parse "bob<sip:bob@foo>" ( toData(rawCopy) ) != "bob<sip:bob@foo> " ( rawInput ) .\testParserCategories.cxx:94 - post-parse "bob<sip:bob@foo>" ( toData(raw) ) != "bob<sip:bob@foo> " ( rawInput ) .\testParserCategories.cxx:95 - post-parse "bob<sip:bob@foo>" ( toData(parsedCopy) ) != "bob<sip:bob@foo> " ( rawInput ) .\testParserCategories.cxx:100 - dirty ""bob"<sip:bob@fo" ( toData(raw) ) != ""bob"<sip:bob@foo>" ( parsedOutput ) .\testParserCategories.cxx:101 - dirty ""bob"<sip:bob@fo" ( toData(dirtyCopy) ) != ""bob"<sip:bob@foo>" ( parsedOutput ) .\testParserCategories.cxx:104 - restored to raw "bob<sip:bob@foo>" ( toData(raw) ) != "bob<sip:bob@foo> " ( rawInput ) .\testParserCategories.cxx:107 - post-parse "bob<sip:bob@foo>" ( toData(rawCopy) ) != "bob<sip:bob@foo> " ( rawInput ) .\testParserCategories.cxx:109 - dirty ""bob"<sip:bob@fo" ( toData(rawCopy) ) != ""bob"<sip:bob@foo>" ( parsedOutput ) <-- Test bob<sip:bob@foo> <-> "bob"<sip:bob@foo> --> Test *bob* <sip:bob@foo> <-> "*bob*"<sip:bob@foo> .\testParserCategories.cxx:88 - pre-parse "*bob* <sip:bob@f" ( toData(raw) ) != "*bob* <sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:89 - pre-parse "*bob* <sip:bob@f" ( toData(rawCopy) ) != "*bob* <sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:94 - post-parse "*bob* <sip:bob@f" ( toData(raw) ) != "*bob* <sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:95 - post-parse "*bob* <sip:bob@f" ( toData(parsedCopy) ) != "*bob* <sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:100 - dirty ""*bob*"<sip:bob@" ( toData(raw) ) != ""*bob*"<sip:bob@foo>" ( parsedOutput ) .\testParserCategories.cxx:101 - dirty ""*bob*"<sip:bob@" ( toData(dirtyCopy) ) != ""*bob*"<sip:bob@foo>" ( parsedOutput ) .\testParserCategories.cxx:104 - restored to raw "*bob* <sip:bob@f" ( toData(raw) ) != "*bob* <sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:107 - post-parse "*bob* <sip:bob@f" ( toData(rawCopy) ) != "*bob* <sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:109 - dirty ""*bob*"<sip:bob@" ( toData(rawCopy) ) != ""*bob*"<sip:bob@foo>" ( parsedOutput ) <-- Test *bob* <sip:bob@foo> <-> "*bob*"<sip:bob@foo> --> Test "bob" <sip:bob@foo> <-> "bob"<sip:bob@foo> .\testParserCategories.cxx:88 - pre-parse ""bob" <sip:bob@f" ( toData(raw) ) != ""bob" <sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:89 - pre-parse ""bob" <sip:bob@f" ( toData(rawCopy) ) != ""bob" <sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:94 - post-parse ""bob" <sip:bob@f" ( toData(raw) ) != ""bob" <sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:95 - post-parse ""bob" <sip:bob@f" ( toData(parsedCopy) ) != ""bob" <sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:100 - dirty ""bob"<sip:bob@fo" ( toData(raw) ) != ""bob"<sip:bob@foo>" ( parsedOutput ) .\testParserCategories.cxx:101 - dirty ""bob"<sip:bob@fo" ( toData(dirtyCopy) ) != ""bob"<sip:bob@foo>" ( parsedOutput ) .\testParserCategories.cxx:104 - restored to raw ""bob" <sip:bob@f" ( toData(raw) ) != ""bob" <sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:107 - post-parse ""bob" <sip:bob@f" ( toData(rawCopy) ) != ""bob" <sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:109 - dirty ""bob"<sip:bob@fo" ( toData(rawCopy) ) != ""bob"<sip:bob@foo>" ( parsedOutput ) <-- Test "bob" <sip:bob@foo> <-> "bob"<sip:bob@foo> --> Test bob <sip:bob@foo> <-> "bob"<sip:bob@foo> .\testParserCategories.cxx:88 - pre-parse "bob <sip:bob@foo" ( toData(raw) ) != "bob <sip:bob@foo> " ( rawInput ) .\testParserCategories.cxx:89 - pre-parse "bob <sip:bob@foo" ( toData(rawCopy) ) != "bob <sip:bob@foo> " ( rawInput ) .\testParserCategories.cxx:94 - post-parse "bob <sip:bob@foo" ( toData(raw) ) != "bob <sip:bob@foo> " ( rawInput ) .\testParserCategories.cxx:95 - post-parse "bob <sip:bob@foo" ( toData(parsedCopy) ) != "bob <sip:bob@foo> " ( rawInput ) .\testParserCategories.cxx:100 - dirty ""bob"<sip:bob@fo" ( toData(raw) ) != ""bob"<sip:bob@foo>" ( parsedOutput ) .\testParserCategories.cxx:101 - dirty ""bob"<sip:bob@fo" ( toData(dirtyCopy) ) != ""bob"<sip:bob@foo>" ( parsedOutput ) .\testParserCategories.cxx:104 - restored to raw "bob <sip:bob@foo" ( toData(raw) ) != "bob <sip:bob@foo> " ( rawInput ) .\testParserCategories.cxx:107 - post-parse "bob <sip:bob@foo" ( toData(rawCopy) ) != "bob <sip:bob@foo> " ( rawInput ) .\testParserCategories.cxx:109 - dirty ""bob"<sip:bob@fo" ( toData(rawCopy) ) != ""bob"<sip:bob@foo>" ( parsedOutput ) <-- Test bob <sip:bob@foo> <-> "bob"<sip:bob@foo> --> Test bob < sip:bob@foo> <-> "bob"<sip:bob@foo> .\testParserCategories.cxx:88 - pre-parse "bob < sip:bob@fo" ( toData(raw) ) != "bob < sip:bob@foo> " ( rawInput ) .\testParserCategories.cxx:89 - pre-parse "bob < sip:bob@fo" ( toData(rawCopy) ) != "bob < sip:bob@foo> " ( rawInput ) .\testParserCategories.cxx:94 - post-parse "bob < sip:bob@fo" ( toData(raw) ) != "bob < sip:bob@foo> " ( rawInput ) .\testParserCategories.cxx:95 - post-parse "bob < sip:bob@fo" ( toData(parsedCopy) ) != "bob < sip:bob@foo> " ( rawInput ) .\testParserCategories.cxx:100 - dirty ""bob"<sip:bob@fo" ( toData(raw) ) != ""bob"<sip:bob@foo>" ( parsedOutput ) .\testParserCategories.cxx:101 - dirty ""bob"<sip:bob@fo" ( toData(dirtyCopy) ) != ""bob"<sip:bob@foo>" ( parsedOutput ) .\testParserCategories.cxx:104 - restored to raw "bob < sip:bob@fo" ( toData(raw) ) != "bob < sip:bob@foo> " ( rawInput ) .\testParserCategories.cxx:107 - post-parse "bob < sip:bob@fo" ( toData(rawCopy) ) != "bob < sip:bob@foo> " ( rawInput ) .\testParserCategories.cxx:109 - dirty ""bob"<sip:bob@fo" ( toData(rawCopy) ) != ""bob"<sip:bob@foo>" ( parsedOutput ) <-- Test bob < sip:bob@foo> <-> "bob"<sip:bob@foo> --> Test bob<sip:bob@foo> <-> "bob"<sip:bob@foo> .\testParserCategories.cxx:88 - pre-parse " bob<sip:bob@foo" ( toData(raw) ) != " bob<sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:89 - pre-parse " bob<sip:bob@foo" ( toData(rawCopy) ) != " bob<sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:94 - post-parse " bob<sip:bob@foo" ( toData(raw) ) != " bob<sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:95 - post-parse " bob<sip:bob@foo" ( toData(parsedCopy) ) != " bob<sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:100 - dirty ""bob"<sip:bob@fo" ( toData(raw) ) != ""bob"<sip:bob@foo>" ( parsedOutput ) .\testParserCategories.cxx:101 - dirty ""bob"<sip:bob@fo" ( toData(dirtyCopy) ) != ""bob"<sip:bob@foo>" ( parsedOutput ) .\testParserCategories.cxx:104 - restored to raw " bob<sip:bob@foo" ( toData(raw) ) != " bob<sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:107 - post-parse " bob<sip:bob@foo" ( toData(rawCopy) ) != " bob<sip:bob@foo>" ( rawInput ) .\testParserCategories.cxx:109 - dirty ""bob"<sip:bob@fo" ( toData(rawCopy) ) != ""bob"<sip:bob@foo>" ( parsedOutput ) <-- Test bob<sip:bob@foo> <-> "bob"<sip:bob@foo> --> Test sip:bob@foo <-> <sip:bob@foo> .\testParserCategories.cxx:88 - pre-parse "" ( toData(raw) ) != "sip:bob@foo" ( rawInput ) .\testParserCategories.cxx:89 - pre-parse "" ( toData(rawCopy) ) != "sip:bob@foo" ( rawInput ) .\testParserCategories.cxx:94 - post-parse "" ( toData(raw) ) != "sip:bob@foo" ( rawInput ) .\testParserCategories.cxx:95 - post-parse "" ( toData(parsedCopy) ) != "sip:bob@foo" ( rawInput ) .\testParserCategories.cxx:100 - dirty "" ( toData(raw) ) != "<sip:bob@foo>" ( parsedOutput ) .\testParserCategories.cxx:101 - dirty "" ( toData(dirtyCopy) ) != "<sip:bob@foo>" ( parsedOutput ) .\testParserCategories.cxx:104 - restored to raw "" ( toData(raw) ) != "sip:bob@foo" ( rawInput ) .\testParserCategories.cxx:107 - post-parse "" ( toData(rawCopy) ) != "sip:bob@foo" ( rawInput ) .\testParserCategories.cxx:109 - dirty "" ( toData(rawCopy) ) != "<sip:bob@foo>" ( parsedOutput ) <-- Test sip:bob@foo <-> <sip:bob@foo> --> Test sip:bob@foo;foo <-> <sip:bob@foo>;foo .\testParserCategories.cxx:88 - pre-parse "" ( toData(raw) ) != "sip:bob@foo;foo" ( rawInput ) .\testParserCategories.cxx:89 - pre-parse "" ( toData(rawCopy) ) != "sip:bob@foo;foo" ( rawInput ) .\testParserCategories.cxx:94 - post-parse "" ( toData(raw) ) != "sip:bob@foo;foo" ( rawInput ) .\testParserCategories.cxx:95 - post-parse "" ( toData(parsedCopy) ) != "sip:bob@foo;foo" ( rawInput ) .\testParserCategories.cxx:100 - dirty "<sip:bob@foo>;fo" ( toData(raw) ) != "<sip:bob@foo>;foo" ( parsedOutput ) .\testParserCategories.cxx:101 - dirty "<sip:bob@foo>;fo" ( toData(dirtyCopy) ) != "<sip:bob@foo>;foo" ( parsedOutput ) .\testParserCategories.cxx:104 - restored to raw "" ( toData(raw) ) != "sip:bob@foo;foo" ( rawInput ) .\testParserCategories.cxx:107 - post-parse "" ( toData(rawCopy) ) != "sip:bob@foo;foo" ( rawInput ) .\testParserCategories.cxx:109 - dirty "<sip:bob@foo>;fo" ( toData(rawCopy) ) != "<sip:bob@foo>;foo" ( parsedOutput ) <-- Test sip:bob@foo;foo <-> <sip:bob@foo>;foo --> Test sip:bob@foo; foo <-> <sip:bob@foo>;foo .\testParserCategories.cxx:88 - pre-parse "" ( toData(raw) ) != "sip:bob@foo; foo" ( rawInput ) .\testParserCategories.cxx:89 - pre-parse "" ( toData(rawCopy) ) != "sip:bob@foo; foo" ( rawInput ) .\testParserCategories.cxx:94 - post-parse "" ( toData(raw) ) != "sip:bob@foo; foo" ( rawInput ) .\testParserCategories.cxx:95 - post-parse "" ( toData(parsedCopy) ) != "sip:bob@foo; foo" ( rawInput ) .\testParserCategories.cxx:100 - dirty "<sip:bob@foo>;fo" ( toData(raw) ) != "<sip:bob@foo>;foo" ( parsedOutput ) .\testParserCategories.cxx:101 - dirty "<sip:bob@foo>;fo" ( toData(dirtyCopy) ) != "<sip:bob@foo>;foo" ( parsedOutput ) .\testParserCategories.cxx:104 - restored to raw "" ( toData(raw) ) != "sip:bob@foo; foo" ( rawInput ) .\testParserCategories.cxx:107 - post-parse "" ( toData(rawCopy) ) != "sip:bob@foo; foo" ( rawInput ) .\testParserCategories.cxx:109 - dirty "<sip:bob@foo>;fo" ( toData(rawCopy) ) != "<sip:bob@foo>;foo" ( parsedOutput ) <-- Test sip:bob@foo; foo <-> <sip:bob@foo>;foo --> Test sip:bob@foo;foo <-> <sip:bob@foo>;foo .\testParserCategories.cxx:88 - pre-parse "" ( toData(raw) ) != "sip:bob@foo;foo " ( rawInput ) .\testParserCategories.cxx:89 - pre-parse "" ( toData(rawCopy) ) != "sip:bob@foo;foo " ( rawInput ) .\testParserCategories.cxx:94 - post-parse "" ( toData(raw) ) != "sip:bob@foo;foo " ( rawInput ) .\testParserCategories.cxx:95 - post-parse "" ( toData(parsedCopy) ) != "sip:bob@foo;foo " ( rawInput ) .\testParserCategories.cxx:100 - dirty "<sip:bob@foo>;fo" ( toData(raw) ) != "<sip:bob@foo>;foo" ( parsedOutput ) .\testParserCategories.cxx:101 - dirty "<sip:bob@foo>;fo" ( toData(dirtyCopy) ) != "<sip:bob@foo>;foo" ( parsedOutput ) .\testParserCategories.cxx:104 - restored to raw "" ( toData(raw) ) != "sip:bob@foo;foo " ( rawInput ) .\testParserCategories.cxx:107 - post-parse "" ( toData(rawCopy) ) != "sip:bob@foo;foo " ( rawInput ) .\testParserCategories.cxx:109 - dirty "<sip:bob@foo>;fo" ( toData(rawCopy) ) != "<sip:bob@foo>;foo" ( parsedOutput ) <-- Test sip:bob@foo;foo <-> <sip:bob@foo>;foo --> Test SIP/2.0/UDP biloxi.com <-> SIP/2.0/UDP biloxi.com .\testParserCategories.cxx:88 - pre-parse "SIP/2.0/UDP bilo" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com" ( rawInput ) .\testParserCategories.cxx:89 - pre-parse "SIP/2.0/UDP bilo" ( toData(rawCopy) ) != "SIP/2.0/UDP biloxi.com" ( rawInput ) .\testParserCategories.cxx:94 - post-parse "SIP/2.0/UDP bilo" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com" ( rawInput ) .\testParserCategories.cxx:95 - post-parse "SIP/2.0/UDP bilo" ( toData(parsedCopy) ) != "SIP/2.0/UDP biloxi.com" ( rawInput ) .\testParserCategories.cxx:100 - dirty "SIP/2.0/UDP bilo" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com" ( parsedOutput ) .\testParserCategories.cxx:101 - dirty "SIP/2.0/UDP bilo" ( toData(dirtyCopy) ) != "SIP/2.0/UDP biloxi.com" ( parsedOutput ) .\testParserCategories.cxx:104 - restored to raw "SIP/2.0/UDP bilo" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com" ( rawInput ) .\testParserCategories.cxx:107 - post-parse "SIP/2.0/UDP bilo" ( toData(rawCopy) ) != "SIP/2.0/UDP biloxi.com" ( rawInput ) .\testParserCategories.cxx:109 - dirty "SIP/2.0/UDP bilo" ( toData(rawCopy) ) != "SIP/2.0/UDP biloxi.com" ( parsedOutput ) <-- Test SIP/2.0/UDP biloxi.com <-> SIP/2.0/UDP biloxi.com --> Test SIP/2.0/UDP biloxi.com;branch=first <-> SIP/2.0/UDP biloxi.com;branch=first .\testParserCategories.cxx:88 - pre-parse "SIP/2.0/UDP bilo" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com;branch=first" ( rawInput ) .\testParserCategories.cxx:89 - pre-parse "SIP/2.0/UDP bilo" ( toData(rawCopy) ) != "SIP/2.0/UDP biloxi.com;branch=first" ( rawInput ) .\testParserCategories.cxx:94 - post-parse "SIP/2.0/UDP bilo" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com;branch=first" ( rawInput ) .\testParserCategories.cxx:95 - post-parse "SIP/2.0/UDP bilo" ( toData(parsedCopy) ) != "SIP/2.0/UDP biloxi.com;branch=first" ( rawInput ) .\testParserCategories.cxx:100 - dirty "SIP/2.0/UDP bilo" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com;branch=first" ( parsedOutput ) .\testParserCategories.cxx:101 - dirty "SIP/2.0/UDP bilo" ( toData(dirtyCopy) ) != "SIP/2.0/UDP biloxi.com;branch=first" ( parsedOutput ) .\testParserCategories.cxx:104 - restored to raw "SIP/2.0/UDP bilo" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com;branch=first" ( rawInput ) .\testParserCategories.cxx:107 - post-parse "SIP/2.0/UDP bilo" ( toData(rawCopy) ) != "SIP/2.0/UDP biloxi.com;branch=first" ( rawInput ) .\testParserCategories.cxx:109 - dirty "SIP/2.0/UDP bilo" ( toData(rawCopy) ) != "SIP/2.0/UDP biloxi.com;branch=first" ( parsedOutput ) <-- Test SIP/2.0/UDP biloxi.com;branch=first <-> SIP/2.0/UDP biloxi.com;branch=first --> Test sip/2.0/udp biloxi.com:5060;branch=first <-> sip/2.0/udp biloxi.com:5060;branch=first .\testParserCategories.cxx:88 - pre-parse "sip/2.0/udp bilo" ( toData(raw) ) != "sip/2.0/udp biloxi.com:5060;branch=first" ( rawInput ) .\testParserCategories.cxx:89 - pre-parse "sip/2.0/udp bilo" ( toData(rawCopy) ) != "sip/2.0/udp biloxi.com:5060;branch=first" ( rawInput ) .\testParserCategories.cxx:94 - post-parse "sip/2.0/udp bilo" ( toData(raw) ) != "sip/2.0/udp biloxi.com:5060;branch=first" ( rawInput ) .\testParserCategories.cxx:95 - post-parse "sip/2.0/udp bilo" ( toData(parsedCopy) ) != "sip/2.0/udp biloxi.com:5060;branch=first" ( rawInput ) .\testParserCategories.cxx:100 - dirty "sip/2.0/udp bilo" ( toData(raw) ) != "sip/2.0/udp biloxi.com:5060;branch=first" ( parsedOutput ) .\testParserCategories.cxx:101 - dirty "sip/2.0/udp bilo" ( toData(dirtyCopy) ) != "sip/2.0/udp biloxi.com:5060;branch=first" ( parsedOutput ) .\testParserCategories.cxx:104 - restored to raw "sip/2.0/udp bilo" ( toData(raw) ) != "sip/2.0/udp biloxi.com:5060;branch=first" ( rawInput ) .\testParserCategories.cxx:107 - post-parse "sip/2.0/udp bilo" ( toData(rawCopy) ) != "sip/2.0/udp biloxi.com:5060;branch=first" ( rawInput ) .\testParserCategories.cxx:109 - dirty "sip/2.0/udp bilo" ( toData(rawCopy) ) != "sip/2.0/udp biloxi.com:5060;branch=first" ( parsedOutput ) <-- Test sip/2.0/udp biloxi.com:5060;branch=first <-> sip/2.0/udp biloxi.com:5060;branch=first --> Test SIP/2.0/UDP biloxi.com:5060;branch=z9hG4bK <-> SIP/2.0/UDP biloxi.com:5060;branch=z9hG4bK .\testParserCategories.cxx:88 - pre-parse "SIP/2.0/UDP bilo" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com:5060;branch=z9hG4bK" ( rawInput ) .\testParserCategories.cxx:89 - pre-parse "SIP/2.0/UDP bilo" ( toData(rawCopy) ) != "SIP/2.0/UDP biloxi.com:5060;branch=z9hG4bK" ( rawInput ) .\testParserCategories.cxx:94 - post-parse "SIP/2.0/UDP bilo" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com:5060;branch=z9hG4bK" ( rawInput ) .\testParserCategories.cxx:95 - post-parse "SIP/2.0/UDP bilo" ( toData(parsedCopy) ) != "SIP/2.0/UDP biloxi.com:5060;branch=z9hG4bK" ( rawInput ) .\testParserCategories.cxx:100 - dirty "SIP/2.0/UDP bilo" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com:5060;branch=z9hG4bK" ( parsedOutput ) .\testParserCategories.cxx:101 - dirty "SIP/2.0/UDP bilo" ( toData(dirtyCopy) ) != "SIP/2.0/UDP biloxi.com:5060;branch=z9hG4bK" ( parsedOutput ) .\testParserCategories.cxx:104 - restored to raw "SIP/2.0/UDP bilo" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com:5060;branch=z9hG4bK" ( rawInput ) .\testParserCategories.cxx:107 - post-parse "SIP/2.0/UDP bilo" ( toData(rawCopy) ) != "SIP/2.0/UDP biloxi.com:5060;branch=z9hG4bK" ( rawInput ) .\testParserCategories.cxx:109 - dirty "SIP/2.0/UDP bilo" ( toData(rawCopy) ) != "SIP/2.0/UDP biloxi.com:5060;branch=z9hG4bK" ( parsedOutput ) <-- Test SIP/2.0/UDP biloxi.com:5060;branch=z9hG4bK <-> SIP/2.0/UDP biloxi.com:5060;branch=z9hG4bK --> Test SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk <-> SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk .\testParserCategories.cxx:88 - pre-parse "SIP/2.0/UDP bilo" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk" ( rawInput ) .\testParserCategories.cxx:89 - pre-parse "SIP/2.0/UDP bilo" ( toData(rawCopy) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk" ( rawInput ) .\testParserCategories.cxx:94 - post-parse "SIP/2.0/UDP bilo" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk" ( rawInput ) .\testParserCategories.cxx:95 - post-parse "SIP/2.0/UDP bilo" ( toData(parsedCopy) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk" ( rawInput ) .\testParserCategories.cxx:100 - dirty "SIP/2.0/UDP bilo" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk" ( parsedOutput ) .\testParserCategories.cxx:101 - dirty "SIP/2.0/UDP bilo" ( toData(dirtyCopy) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk" ( parsedOutput ) .\testParserCategories.cxx:104 - restored to raw "SIP/2.0/UDP bilo" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk" ( rawInput ) .\testParserCategories.cxx:107 - post-parse "SIP/2.0/UDP bilo" ( toData(rawCopy) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk" ( rawInput ) .\testParserCategories.cxx:109 - dirty "SIP/2.0/UDP bilo" ( toData(rawCopy) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk" ( parsedOutput ) <-- Test SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk <-> SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk --> Test SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-999999- <-> SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-999999- .\testParserCategories.cxx:88 - pre-parse "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-99999" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-999999-" ( rawInput ) .\testParserCategories.cxx:89 - pre-parse "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-99999" ( toData(rawCopy) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-999999-" ( rawInput ) .\testParserCategories.cxx:94 - post-parse "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-99999" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-999999-" ( rawInput ) .\testParserCategories.cxx:95 - post-parse "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-99999" ( toData(parsedCopy) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-999999-" ( rawInput ) .\testParserCategories.cxx:100 - dirty "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-99999" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-999999-" ( parsedOutput ) .\testParserCategories.cxx:101 - dirty "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-99999" ( toData(dirtyCopy) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-999999-" ( parsedOutput ) .\testParserCategories.cxx:104 - restored to raw "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-99999" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-999999-" ( rawInput ) .\testParserCategories.cxx:107 - post-parse "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-99999" ( toData(rawCopy) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-999999-" ( rawInput ) .\testParserCategories.cxx:109 - dirty "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-99999" ( toData(rawCopy) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-999999-" ( parsedOutput ) <-- Test SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-999999- <-> SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-999999- --> Test SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-524287-11-feedbeef-beefdead-uhoh <-> SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-524287-11-feedbeef-beefdead-uhoh .\testParserCategories.cxx:88 - pre-parse "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-52428" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-524287-11-feedbeef-beefdead-uhoh" ( rawInput ) .\testParserCategories.cxx:89 - pre-parse "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-52428" ( toData(rawCopy) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-524287-11-feedbeef-beefdead-uh oh" ( rawInput ) .\testParserCategories.cxx:94 - post-parse "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-52428" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-524287-11-feedbeef-beefdead-uhoh" ( rawInput ) .\testParserCategories.cxx:95 - post-parse "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-52428" ( toData(parsedCopy) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-524287-11-feedbeef-beefdea d-uhoh" ( rawInput ) .\testParserCategories.cxx:100 - dirty "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-52428" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-524287-11-feedbeef-beefdead-uhoh" ( p arsedOutput ) .\testParserCategories.cxx:101 - dirty "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-52428" ( toData(dirtyCopy) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-524287-11-feedbeef-beefdead-uho h" ( parsedOutput ) .\testParserCategories.cxx:104 - restored to raw "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-52428" ( toData(raw) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-524287-11-feedbeef-beefdead -uhoh" ( rawInput ) .\testParserCategories.cxx:107 - post-parse "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-52428" ( toData(rawCopy) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-524287-11-feedbeef-beefdead- uhoh" ( rawInput ) .\testParserCategories.cxx:109 - dirty "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-52428" ( toData(rawCopy) ) != "SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-524287-11-feedbeef-beefdead-uhoh" ( parsedOutput ) <-- Test SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-524287-11-feedbeef-beefdead-uhoh <-> SIP/2.0/UDP biloxi.com:5060;branch=Z9Hg4Bk-524287-11-feedbeef-beefdead-uhoh Raw header-field-value creation/deletion 0 microseconds Auth creation/deletion 0 microseconds Digest nonce="1305231689:fed475e952ee1d3ecaf60b17bce12218",algorithm=MD5,realm="localhost",qop="auth,auth-int" 25987 microseconds encodes: 9998 microseconds Digest username="derek",realm="localhost",nonce="1305231689:fed475e952ee1d3ecaf60b17bce12218",uri="sip:jason@localhost",response="88f519f04c2a09c500af88ff7bccdf52",cnonce="foo",nc=0000005D,q op=auth-int,algorithm=MD5 43970 microseconds encodes: 19002 microseconds CSeq creation/deletion 1006 microseconds 9872643 INVITE 2007 microseconds encodes: 2997 microseconds 1 INVITE 1997 microseconds encodes: 3001 microseconds CallId creation/deletion 982 microseconds NOIUYCEOGoIUBaocuwyVCopiuVAbcs 1999 microseconds encodes: 997 microseconds Date creation/deletion 0 microseconds Thu, 21 Feb 2002 13:02:03 GMT 3997 microseconds encodes: 13998 microseconds Expires creation/deletion 0 microseconds 3600 999 microseconds encodes: 3997 microseconds Mime creation/deletion 0 microseconds application/rlmi+xml 1975 microseconds encodes: 959 microseconds application/sdp 1930 microseconds encodes: 990 microseconds NameAddr creation/deletion 998 microseconds <sip:rls.example.com> 4965 microseconds encodes: 3982 microseconds <sip:rls.example.com;lr> 9998 microseconds encodes: 4998 microseconds <sipsipsipsipsipsipsipsipsipsipsipsipsipsipsipsipsipsipsipsipsipsipsipsipsipsipsipsipsipsipsipsipsipsipsip:rls.example.com;lr> 15000 microseconds encodes: 4932 microseconds <sip:%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0%d1%8e%d1%89%d0%b8%d0%b9@xxxxxxxxxxx;lr> 12998 microseconds encodes: 19999 microseconds "Derek" <sip:derek@localhost>;tag=16d1246e 10991 microseconds encodes: 6898 microseconds <sip:line1@192.0.2.2;transport=tcp>; reg-id=1;+sip.instance="<urn:uuid:00000000-0000-1000-8000-000A95A0E128>" 21995 microseconds encodes: 12935 microseconds <sip:line1@192.0.2.2:5060;transport=tcp>; reg-id=1;+sip.instance="<urn:uuid:00000000-0000-1000-8000-000A95A0E128>" 23971 microseconds encodes: 14974 microseconds RequestLine creation/deletion 1013 microseconds INVITE sip:bob@xxxxxxxxxxx SIP/2.0 4002 microseconds encodes: 3896 microseconds UNKNOWN sip:bob@xxxxxxxxxxx SIP/2.0 4998 microseconds encodes: 3013 microseconds StatusLine creation/deletion 0 microseconds SIP/2.0 200 OK 1896 microseconds encodes: 2970 microseconds SIP/2.0 200 OKokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokok 966 microseconds encodes: 3963 microseconds NOTSIP/2.0 200 OK 1916 microseconds encodes: 3018 microseconds Via creation/deletion 981 microseconds SIP/2.0/TCP 127.0.0.1:5060;branch=z9hG4bK-524287-1---307cd5596615cb2e;rport 16998 microseconds encodes: 13010 microseconds 0 microseconds 997 microseconds encodes: 979 microseconds Assertion failed: !failed, file .\testParserCategories.cxx, line 3073