[SR-Users] Problem with ser - INVITE size problem tcp->udp?

Andrei Pelinescu-Onciul andrei at iptel.org
Thu Sep 30 18:02:12 CEST 2010


On Sep 29, 2010 at 10:43, Simone Felici <s.felici at mclink.eu> wrote:
> 
> Hello to all!
> 
> I need a little help with our ser installation (ser-2.0.0-rc1).
> The continuous groving up of our infrastructure and using even more
> codecs, causes the INVITE (udp) to be over 1500bytes. An
> external->incoming call to our proxy sip comes in with a size of
> ~1300 and will be forwarded to the end device (sua) over 1500. Ser
> is adding more than 200bytes in the udp packet. I can see 'INVITE'
> from ser to customer, but the INVITE is not answerred due the size.
> I'm sure about that, because in certain situations, deleting codec
> list the packet-size goes under the 1500bytes and all works.
> To main issue is from external calls to ser server to our customers.
> Calls started from customers to ser and then out are all ok.


Most likely at some point the UDP packet has to be fragmented and since
ser 2.0 doesn't clear the DF bit on linux, the first router that has to
do the fragmentation will just drop the packet.

> Now the question: Could the passage from UDP to TCP solve the issue?

It could, but it also could introduce other problems. I would use at
least 2.1 with TCP (because of the async tcp support).

> Could someone give me an example and how implement it into our ser configuration?
> The atteched configuration, ser on a mysql basis, is working well in expect the issue described.

The easiest way would be with a more recent version, either ser 2.1
or better sr 3.0  (http://sip-router.org/tarballs/sr/sr_3.0/) or the
soon to be released 3.1 (next week). Note however that you will have to
 migrate the config file (but not the DB).

All the version above will make sure the DF bit is clear. They also have
automatic fallback to tcp if the packet is too big (you only have to
set udp_mtu and udp_mtu_try_proto in the config).

If you decide to stick with 2.0, then you could try reducing a bit the
packet size, by turning off some of the options.
For example I would add:
- modparam("rr", "append_fromtag", 0) 
( the fromtag is there only for debugging purposes)
- comment out  setavpflag("$rtp_proxy_node", "dialog_cookie")
 (since according to your config you don't use it anyway)
- sip_warning = 0 (won't affect the INVITEs, but replies will be
  smaller)

You could also try to backport the DF fix to 2.0:
http://git.sip-router.org/cgi-bin/gitweb.cgi?p=sip-router;a=commitdiff;h=f3a2679;hp=2aa5c1f7d7dd2132c2478df6ca36fa8bc42f09e9
It should be quite easy, since this is only a small addition.



Andrei 



More information about the sr-users mailing list