-
Notifications
You must be signed in to change notification settings - Fork 200
Description
I have cloned the latest 1.13.9
I have a FS env with 8 different physical phones, grandstream/yealin/poly/etc that don't use the WSS port and they all don't have any issues with signalling or audio.
I use ctxSIP (SIP.js 0.7.8) as well as my own WebPhone (SIP.js 0.20.0). Both work perfectly 90% of the time.
Both use the WSS port - this is where the issue appears to be...
After a day of testing with 2 WebPhones constantly dialing, listening to MOH for 5 seconds, hangup and repeat, it seems to be the WSS port stops reading/listening.
I set SIP.js keepalives to 1 second.
I have TPORT_DEBUG=9
I have SOFIA_DEBUG=9
I have tcpdump in one window, watching for traffic on the WSS port - it never stops
I have fs_cli opened with and it comes to a complete stop on the receiving side.
After about 10-15 seconds, the receiving continues...
Looks like the receiving port gets blocked for a short bit then possibly timeout while reading and continues...
Here is the fs_cli output...
tport.c:3528 tport_send_msg() tport_vsend returned 731
tport_type_ws.c:530 tport_ws_deinit_secondary() 0x7fac802dd750 destroy wss transport 0x7fac802dd940.
ws.c:889 ws_close() wsh_ssl: 1
ws.c:901 ws_close() code: = -1
ws.c:902 ws_close() ssl_error: = 5
ws.c:924 ws_close() ssl_error: = 5-SSL_ERROR_SYSCALL
ws.c:931 ws_close() ssl_error: SSL_ERROR_SYSCALL = YES errno=9
ws.c:932 ws_close() ws_close() errno=Input/output error
tport_type_ws.c:530 tport_ws_deinit_secondary() 0x7fac80323480 destroy wss transport 0x7fac80323670.
ws.c:889 ws_close() wsh_ssl: 1
ws.c:901 ws_close() code: = -1
ws.c:902 ws_close() ssl_error: = 5
ws.c:924 ws_close() ssl_error: = 5-SSL_ERROR_SYSCALL
ws.c:931 ws_close() ssl_error: SSL_ERROR_SYSCALL = YES errno=9
ws.c:932 ws_close() ws_close() errno=Input/output error
tport_type_ws.c:530 tport_ws_deinit_secondary() 0x7fac80369310 destroy wss transport 0x7fac80369500.
ws.c:889 ws_close() wsh_ssl: 1
ws.c:901 ws_close() code: = -1
ws.c:902 ws_close() ssl_error: = 5
ws.c:924 ws_close() ssl_error: = 5-SSL_ERROR_SYSCALL
ws.c:931 ws_close() ssl_error: SSL_ERROR_SYSCALL = YES errno=9
ws.c:932 ws_close() ws_close() errno=Input/output error
tport_type_ws.c:530 tport_ws_deinit_secondary() 0x7fac803af5d0 destroy wss transport 0x7fac803af7c0.
ws.c:889 ws_close() wsh_ssl: 1
ws.c:901 ws_close() code: = -1
ws.c:902 ws_close() ssl_error: = 5
ws.c:924 ws_close() ssl_error: = 5-SSL_ERROR_SYSCALL
ws.c:931 ws_close() ssl_error: SSL_ERROR_SYSCALL = YES errno=9
ws.c:932 ws_close() ws_close() errno=Input/output error
tport_type_ws.c:530 tport_ws_deinit_secondary() 0x7fac803f5570 destroy wss transport 0x7fac803f5760.
ws.c:889 ws_close() wsh_ssl: 1
ws.c:901 ws_close() code: = -1
ws.c:902 ws_close() ssl_error: = 5
ws.c:924 ws_close() ssl_error: = 5-SSL_ERROR_SYSCALL
ws.c:931 ws_close() ssl_error: SSL_ERROR_SYSCALL = YES errno=9
ws.c:932 ws_close() ws_close() errno=Input/output error
tport_type_ws.c:530 tport_ws_deinit_secondary() 0x7fac80aaa820 destroy wss transport 0x7fac80aaaa10.
ws.c:889 ws_close() wsh_ssl: 1
ws.c:901 ws_close() code: = -1
ws.c:902 ws_close() ssl_error: = 5
ws.c:924 ws_close() ssl_error: = 5-SSL_ERROR_SYSCALL
ws.c:931 ws_close() ssl_error: SSL_ERROR_SYSCALL = YES errno=0
ws.c:932 ws_close() ws_close() errno=Input/output error
tport_type_ws.c:530 tport_ws_deinit_secondary() 0x7fac8043f2f0 destroy wss transport 0x7fac8043f4e0.
ws.c:889 ws_close() wsh_ssl: 1
ws.c:901 ws_close() code: = -1
ws.c:902 ws_close() ssl_error: = 5
ws.c:924 ws_close() ssl_error: = 5-SSL_ERROR_SYSCALL
ws.c:931 ws_close() ssl_error: SSL_ERROR_SYSCALL = YES errno=9
ws.c:932 ws_close() ws_close() errno=Input/output error
tport_type_ws.c:530 tport_ws_deinit_secondary() 0x7fac80af3e50 destroy wss transport 0x7fac80af4040.
ws.c:889 ws_close() wsh_ssl: 1
ws.c:901 ws_close() code: = -1
ws.c:902 ws_close() ssl_error: = 5
ws.c:924 ws_close() ssl_error: = 5-SSL_ERROR_SYSCALL
ws.c:931 ws_close() ssl_error: SSL_ERROR_SYSCALL = YES errno=9
ws.c:932 ws_close() ws_close() errno=Input/output error
tport_type_ws.c:530 tport_ws_deinit_secondary() 0x7fac80101c30 destroy wss transport 0x7fac80101e20.
tport_type_ws.c:530 tport_ws_deinit_secondary() 0x7fac805aa250 destroy wss transport 0x7fac805aa440.
ws.c:889 ws_close() wsh_ssl: 1
ws.c:901 ws_close() code: = -1
ws.c:902 ws_close() ssl_error: = 5
ws.c:924 ws_close() ssl_error: = 5-SSL_ERROR_SYSCALL
ws.c:931 ws_close() ssl_error: SSL_ERROR_SYSCALL = YES errno=9
ws.c:932 ws_close() ws_close() errno=Input/output error
tport_type_ws.c:530 tport_ws_deinit_secondary() 0x7fac80633140 destroy wss transport 0x7fac80633330.
ws.c:889 ws_close() wsh_ssl: 1
ws.c:901 ws_close() code: = -1
ws.c:902 ws_close() ssl_error: = 1
ws.c:926 ws_close() ssl_error: = 1-SSL_ERROR_SSL
ws.c:937 ws_close() ssl_error: SSL_ERROR_SSL = YES errno=0
ws.c:938 ws_close() ws_close() errno=Operation not permitted
tport_type_ws.c:530 tport_ws_deinit_secondary() 0x7fac808e9d90 destroy wss transport 0x7fac808e9f80.
ws.c:889 ws_close() wsh_ssl: 1
ws.c:901 ws_close() code: = -1
ws.c:902 ws_close() ssl_error: = 5
ws.c:924 ws_close() ssl_error: = 5-SSL_ERROR_SYSCALL
ws.c:931 ws_close() ssl_error: SSL_ERROR_SYSCALL = YES errno=9
ws.c:932 ws_close() ws_close() errno=Input/output error
tport_type_ws.c:530 tport_ws_deinit_secondary() 0x7fac808b9ab0 destroy wss transport 0x7fac808b9ca0.
ws.c:889 ws_close() wsh_ssl: 1
ws.c:901 ws_close() code: = -1
ws.c:902 ws_close() ssl_error: = 5
ws.c:924 ws_close() ssl_error: = 5-SSL_ERROR_SYSCALL
ws.c:931 ws_close() ssl_error: SSL_ERROR_SYSCALL = YES errno=9
ws.c:932 ws_close() ws_close() errno=Input/output error
tport_type_ws.c:530 tport_ws_deinit_secondary() 0x7fac809b27a0 destroy wss transport 0x7fac809b2990.
ws.c:889 ws_close() wsh_ssl: 1
ws.c:901 ws_close() code: = -1
ws.c:902 ws_close() ssl_error: = 5
ws.c:924 ws_close() ssl_error: = 5-SSL_ERROR_SYSCALL
ws.c:931 ws_close() ssl_error: SSL_ERROR_SYSCALL = YES errno=9
ws.c:932 ws_close() ws_close() errno=Input/output error
tport.c:2777 tport_wakeup_pri() tport_wakeup_pri(0x7fac80006290): events IN
tport.c:2900 tport_recv_event() tport_recv_event(0x7fac80006290)
I added custom debug messages to ws_close to spit out those extra messages when things go wrong.