From 88cfd8e98e4b5afa47218747cd1649a5c139eb8b Mon Sep 17 00:00:00 2001 From: kpfleming Date: Thu, 12 Oct 2006 18:38:51 +0000 Subject: Merged revisions 44955 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r44955 | kpfleming | 2006-10-12 13:31:26 -0500 (Thu, 12 Oct 2006) | 2 lines ensure that IAX2 and SIP sockets allow UDP fragmentation when running on Linux (thanks to Brian Candler on the asterisk-dev list for the tip) ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@44956 f38db490-d61c-443f-a65b-d21fe96a405b --- include/asterisk/utils.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'include') diff --git a/include/asterisk/utils.h b/include/asterisk/utils.h index 9ae2e4595..30e9523e2 100644 --- a/include/asterisk/utils.h +++ b/include/asterisk/utils.h @@ -515,4 +515,19 @@ int _ast_vasprintf(char **ret, const char *file, int lineno, const char *func, c })) #endif +/*! + \brief Disable PMTU discovery on a socket + \param sock The socket to manipulate + \return Nothing + + On Linux, UDP sockets default to sending packets with the Dont Fragment (DF) + bit set. This is supposedly done to allow the application to do PMTU + discovery, but Asterisk does not do this. + + Because of this, UDP packets sent by Asterisk that are larger than the MTU + of any hop in the path will be lost. This function can be called on a socket + to ensure that the DF bit will not be set. + */ +void ast_enable_packet_fragmentation(int sock); + #endif /* _ASTERISK_UTILS_H */ -- cgit v1.2.3