Matt, This is the same error. I have made a "make clean && make" to build sprout The P-CSCF is bono (whose binary file I have also replaced with my compiled one)
But the big message comes from an application server. So it arrives first on the S-CSCF... And the message is 10k large, not 64 :-) By the way, why is the binary file that is generated by my compilation 50 MB large whereas the original one has a 2 MB size? -rwxr-xr-x 1 root root 50074660 Jun 2 15:44 bono* -rwxr-xr-x 1 root root 2003216 Jun 2 15:43 bono.orig* Olivier DURECU Bell Labs / IP Platform Research Villarceaux Center Tel: +33(0) 160402759 GSM: +33(0) 683776482 -----Message d'origine----- De : Matt Williams [mailto:[email protected]] Envoyé : lundi 2 juin 2014 16:55 À : DURECU, OLIVIER (OLIVIER) Cc : [email protected] Objet : RE: Size limit of SIP messages? Olivier, Thanks for your email. Presumably this is the same error as you saw before? When you say you rebuilt sprout, please can you confirm you rebuilt everything ("make clean" first)? Also, please can you confirm what you're using as your P-CSCF? If you're using bono, is it possible that bono hasn't had this patch applied and it is that which rejects the message? (From code-reading in pjsip, I'm struggling to see how we'd hit this error if the packet size really was 64k.) Presumably your message is less than 64k long? (!) Please let me know. Thanks, Matt -- Matt Williams Software Development Manager, Project Clearwater +44 (0) 20 8366 1177 -----Original Message----- From: DURECU, OLIVIER (OLIVIER) [mailto:[email protected]] Sent: 02 June 2014 11:20 To: Matt Williams Cc: [email protected] Subject: RE: Size limit of SIP messages? Matt, I have pulled the code from master, moved the limit from 4000 to 65536 on Pjsip/sip_config.h and rebuilt sprout However this does not solve the problem. The registration is OK, and when the big message comes to sprout, I still have the following log 02-06-2014 09:02:27.545 Error pjsip: sip_endpoint.c Error processing packet from 192.168.0.250:39946: Rx buffer overflow (PJSIP_ERXOVERFLOW) [code 171062]: I will go on looking for the problem but can't figure out where it fails... Olivier DURECU Bell Labs / IP Platform Research Villarceaux Center Tel: +33(0) 160402759 GSM: +33(0) 683776482 -----Message d'origine----- De : Matt Williams [mailto:[email protected]] Envoyé : mercredi 28 mai 2014 22:02 À : DURECU, OLIVIER (OLIVIER) Cc : [email protected] Objet : RE: Size limit of SIP messages? Olivier, Thanks for your email. On which node was memcached giving errors? Sprout should only store registration and authentication data (not PUBLISH bodies) in memcached. I'm not so sure about ralf - are you deploying that/is that where you're seeing the error? Can you give more information on this? (In short, yes, I had expected the PJSIP limitation to be the only one.) To get this function into master, are you OK to raise a github issue (https://github.com/Metaswitch/sprout/issues) about this? Both bono and sprout will need to be rebuilt (although they're actually the same binary with different command-line parameters). For instructions on how to build them, see https://github.com/Metaswitch/sprout/blob/dev/docs/Development.md. Please let us know how you get on. Thanks, Matt -----Original Message----- From: DURECU, OLIVIER (OLIVIER) [mailto:[email protected]] Sent: 28 May 2014 22:41 To: Matt Williams Cc: [email protected] Subject: RE : Size limit of SIP messages? Matt, Thanks for looking. I have also seen the pjsip limitation this afternoon. I was wondering if we are sure that this is the only one (I also had errors on memcached replica when too big messages where received) I am using custom presence documents that may contain quite big data (small embedded pics in JPEG format for instance) For SIP over UDP, the max allowed message size is 64 KB. So it's quite surprising that pjsip has a so small limitation internally. For instance, Jain SIP has a upper limitation configured to 64 KB for UDP and uses 4 KB as minimum buffer size for TCP I can try to rebuild pjsip myself but it will make harder for me to stay up to date with the latest release if I have to rebuild it at each upgrade I guess that Bono is also using PJSIP. Is PJSIP installed as a shared library for Bono and Sprout or have they both to be fully rebuilt to incorporate PJSIP modification ? Olivier ________________________________________ De : Matt Williams [[email protected]] Date d'envoi : mercredi 28 mai 2014 20:39 À : DURECU, OLIVIER (OLIVIER) Cc: [email protected] Objet : RE: Size limit of SIP messages? Olivier, I think this limit is controlled by the PJSIP_MAX_PKT_LEN constant in sprout/modules/pjsip/pjlib/include/pj/config_site.h. If you increase that and rebuild (you might need to do a "make clean" - I'm not sure how well PJSIP manages its header dependencies), you should be able to resolve the problem. Is that something you're comfortable doing? Obviously, that would only fix it locally on your machine. I'm sure we could increase the PJSIP_MAX_PKT_LEN constant permanently, but it would be useful to know what the use case is - what data is being transferred in the PUBLISH messages and why is it so large? Please let us know. Thanks, Matt -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of DURECU, OLIVIER (OLIVIER) Sent: 27 May 2014 19:38 To: [email protected] Subject: [Clearwater] Size limit of SIP messages? Hi, In some tests I am doing there are some PUBLISH messages with a 8 kB content. This messages are dropped by sprout with a "Rx buffer overflow" error from pjsip Is there a way to increase this limit ? Olivier _______________________________________________ Clearwater mailing list [email protected] http://lists.projectclearwater.org/listinfo/clearwater _______________________________________________ Clearwater mailing list [email protected] http://lists.projectclearwater.org/listinfo/clearwater
