Gang Liu schrieb: > Put a SIP SBC in front of your SIP server, and let bad SIP phones talk > to SIP SBC. > Some SBC will reformat bad SIP message before send to SIP server. Then this is a real broken SBC. regards klaus > > regards, > Gang > > On Fri, Apr 3, 2009 at 10:18 PM, Alexei Kuznetsov <eofster at gmail.com > <mailto:eofster at gmail.com>> wrote: > > On Fri, Apr 3, 2009 at 3:40 PM, Benny Prijono <bennylp at teluu.com > <mailto:bennylp at teluu.com>> wrote: > > On Thu, Apr 2, 2009 at 11:46 PM, Alexei Kuznetsov > <eofster at gmail.com <mailto:eofster at gmail.com>> wrote: > >> > >> Hi, > >> > >> Some SIP phones produce Contact like "user at domain@x.x.x.x". > pjsip fails to > >> parse such headers: > >> > >> 17:24:24.363 sip_transport. Error processing 800 bytes packet > from UDP > >> 10.0.0.1:5060 <http://10.0.0.1:5060/> : PJSIP syntax error > exception when parsing '' header on line > >> 11 col 36: > >> SIP/2.0 200 OK > >> Via: SIP/2.0/UDP 10.0.0.24:55187;rport=55187;branch=111 > >> From: "John Smith" <sip:john@xxxxxxxxxxx > <mailto:sip%3Ajohn at example.com>>;tag=222 > >> To: "John Smith" <sip:john at example.com > <mailto:sip%3Ajohn at example.com>>;tag=333 > >> Call-ID: 444 > >> CSeq: 555 REGISTER > >> Expires: 300 > >> Contact: <sip:john at 10.0.0.24:55187 > <http://sip:john at 10.0.0.24:55187>>;expires=300 > >> Contact: <sip:john at 10.0.0.24:55175 > <http://sip:john at 10.0.0.24:55175>>;expires=139 > >> Contact: <sip:john at 10.0.0.24:55134 > <http://sip:john at 10.0.0.24:55134>>;expires=4 > >> Contact: <sip:john at example.com > <mailto:sip%3Ajohn at example.com>@10.0.0.41:5070 > <http://10.0.0.41:5070/>>;q=0.90;expires=31 > >> > > > > That's not valid according to the spec. Character "@" is not > allowed in the > > user part of URI, so it should have been escaped. FYI > > > > SIP-URI = "sip:" [ userinfo ] hostport > > uri-parameters [ headers ] > > userinfo = ( user / telephone-subscriber ) [ ":" > password ] "@" > > user = 1*( unreserved / escaped / user-unreserved ) > > user-unreserved = "&" / "=" / "+" / "$" / "," / ";" / "?" / "/" > > unreserved = alphanum / mark > > mark = "-" / "_" / "." / "!" / "~" / "*" / "'" > > / "(" / ")" > > Oh yes, I completely understand that. I'm just trying to survive in > such cases. Other SIP phone can register with the wrong Contact on the > other computer, but with the same credentials. And pjsip will fail to > do its job without even cooperating with that bad SIP phone directly. > What we get is a failure to register just because some other phone > registered with the bad Contact somewhere. I just thought it might be > reasonable for pjsip to survive in such situations and not to be so > dependent on that. What do you think? > > Alexei > > _______________________________________________ > Visit our blog: http://blog.pjsip.org <http://blog.pjsip.org/> > > pjsip mailing list > pjsip at lists.pjsip.org <mailto:pjsip at lists.pjsip.org> > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip at lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org