Olivier,

Sorry for not being very responsive this week - I've been (and still am) 
travelling.  It sounds as though you've been making great progress without my 
help, though - it's great that you've got this working now!

I'll take a look at your pull request when I get back next week - I hope that's 
OK?

Before we'd accept it, though, we'd need you to review and accept the 
Contributor Agreement discussed at http://www.projectclearwater.org/community/. 
 Please can you take a look at this?

Thanks,

Matt

--
 
Matt Williams
Software Development Manager, Project Clearwater
+44 (0) 20 8366 1177

-----Original Message-----
From: DURECU, OLIVIER (OLIVIER) [mailto:[email protected]] 
Sent: 05 June 2014 15:11
To: Matt Williams
Cc: [email protected]
Subject: RE: Size limit of SIP messages?

Me again :-)

I did not pay attention that forking Sprout for myself had not made a fork of 
submodules

So I forked pjsip, pushed my changes and sent you a pull request if I made 
everything fine
https://github.com/Metaswitch/pjsip-upstream/pull/18


Olivier 


-----Message d'origine-----
De : DURECU, OLIVIER (OLIVIER) 
Envoyé : jeudi 5 juin 2014 10:57
À : 'Matt Williams'
Cc : [email protected]
Objet : RE: Size limit of SIP messages?

Matt, 

That is finally working!

I had not read carefully your first mail. PJSIP_MAX_PKT_LEN is defined in 
config_site.h and overwrites sip_config.h value. I was doing my modifications 
on spi_config.h...
So I tested the fix by only modifying config_site.h and it's ok

I described the issue in https://github.com/Metaswitch/sprout/issues/592 and 
made a local branch to commit the modified file However I am far to be familiar 
with Git and I get an error while trying to push my branch back to origin repo

sprout/modules/pjsip$ git push origin branch592
error: The requested URL returned error: 403 while accessing 
https://github.com/Metaswitch/pjsip-upstream.git/info/refs
fatal: HTTP request failed

My credentials are OK. Isn't it allowed to push a branch of a a submodule? 
What's the right way to do it?

Thanks for your patience!

Olivier 

-----Message d'origine-----
De : Matt Williams [mailto:[email protected]]
Envoyé : mardi 3 juin 2014 11:48
À : DURECU, OLIVIER (OLIVIER)
Cc : [email protected]
Objet : RE: Size limit of SIP messages?

Olivier,

Thanks for the clarifications.

I think the reason that the bono/sprout binaries are so much larger is that we 
build including full debug symbols and then strip them as part of the packaging 
process (resulting in the sprout and sprout-dbg packages).  I'd suggest 
building the packages ("make deb") and then installing from them ("sudo dpkg -i 
<deb file name>").  I don't think you'll have affected sprout-libs, but it's 
worth installing your rebuilt of that package too, just in case.

Presumably you restarted bono/sprout after you patched them?  "sudo dpkg -i 
<deb file name>" will do this automatically.

I hope this helps - 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 16:58
To: Matt Williams
Cc: [email protected]
Subject: RE: Size limit of SIP messages?

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

Reply via email to