Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#1197 closed defect (fixed)

WSAECONNRESET errors on Windows 2000 or 2003 may cause UDP transport to stop working

Reported by: bennylp Owned by: bennylp
Priority: normal Milestone: release-1.10
Component: pjlib Version: trunk
Keywords: Cc:
Backport to 1.x milestone: Backported:

Description

According to the following KB:

http://support.microsoft.com/kb/263823/en-us

a bug in Windows 2000 prior to SP2, and reportedly in Window 2003 as well, will cause error WSAECONNRESET to be returned for the UDP socket until the socket is closed, effectively making the socket unusable. In PJSIP, we handle this by stopping the UDP transport if we have ten (10) consecutive errors from the OS.

This ticket disables WSAECONNRESET for all UDP sockets instantiated from PJLIB, using SIO_UDP_CONNRESET IOCTL as described by the KB. To disable this feature (in other words to revert to the behavior of previous PJSIP versions), declare PJ_SOCK_DISABLE_WSAECONNRESET to 0 in your config_site.h.

Change History (2)

comment:1 Changed 9 years ago by bennylp

  • Resolution set to fixed
  • Status changed from new to closed

(In [3408]) Fixed #1197: WSAECONNRESET errors on Windows 2000 or 2003 may cause UDP transport to stop working

comment:2 Changed 9 years ago by bennylp

(In [3409]) Re #1197: also increase MAX_IMMEDIATE_PACKET from 10 to 50 to make it more resilient against errors

Note: See TracTickets for help on using tickets.