asterisk/res/res_pjsip
George Joseph 8b5cee4a4f res_pjsip: Set TCP_NODELAY on TCP transports
Although it's perfectly legal to place multiple SIP messages in the same packet,
it can cause problems because the Linux default is to enable Path MTU Discovery
which sets the Don't Fragment bit on the packets. If adding a second message to
the packet causes the MTU to be exceeded, and the destination isn't equipped to
send a FRAGMENTATION NEEDED response to a large packet, the packet will just be
dropped.

We can't specifically tell the stack to send only 1 message per packet, but we
can turn on TCP_NODELAY when we create the transport. This will at least tell
the stack to send packets as soon as possible.

ASTERISK-26005 #close
Reported-by: Ross Beer

Change-Id: I820f23227183f2416ca5e393bec510e8fe1c8fbd
2016-05-15 19:08:41 -05:00
..
include res_pjsip: Add serialized scheduler (res_pjsip/pjsip_scheduler.c) 2016-04-14 13:16:21 -06:00
config_auth.c res_pjsip: Add "like" processing to pjsip list and show commands 2015-10-24 11:02:43 -05:00
config_domain_aliases.c res_pjsip: Move internal init/destroy prototypes to private header file. 2015-03-11 16:39:29 +00:00
config_global.c res_pjsip: Add ability to identify by Authorization username 2016-04-27 16:33:51 -05:00
config_system.c res_pjsip: Set threadpool max size default to 50. 2015-11-02 18:24:09 -05:00
config_transport.c res_pjsip: Set TCP_NODELAY on TCP transports 2016-05-15 19:08:41 -05:00
location.c res_pjsip: improve realtime performance 2016-05-05 10:45:49 -05:00
pjsip_cli.c chan_pjsip: Add 'pjsip show channelstats' 2016-03-29 14:35:31 -05:00
pjsip_configuration.c res_pjsip: Add ability to identify by Authorization username 2016-04-27 16:33:51 -05:00
pjsip_distributor.c pjsip_distributor: Add missing newline to NOTICE 2016-05-12 09:16:21 -05:00
pjsip_global_headers.c res_pjsip: Fixed invalid empty Server and User-Agent SIP headers. 2015-03-11 15:22:01 +00:00
pjsip_options.c res_pjsip: improve realtime performance 2016-05-05 10:45:49 -05:00
pjsip_resolver.c DNS: Need to use the same serializer for a pjproject SIP transaction. 2015-06-10 19:22:13 -05:00
pjsip_scheduler.c res_pjsip: Add serialized scheduler (res_pjsip/pjsip_scheduler.c) 2016-04-14 13:16:21 -06:00
presence_xml.c res/res_pjsip/presence_xml.c: Add missing 2nd call presence state case. 2016-01-21 16:04:39 -06:00
security_events.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00