zhzhy86 / webrtc2sip

Automatically exported from code.google.com/p/webrtc2sip
0 stars 0 forks source link

webrtc2sip gets into stuck state under load. #97

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Sent 4 simultaneous calls into webrtc2sip Server which automatically stay in 
call and then hang up after 30 seconds call duration
2.
3.

What is the expected output? What do you see instead?
Expect that all calls will continue processing.   Instead I see that the 
webrtc2sip application is still running, TCP sockets get connected, but new 
calls are no longer processed.

What version of the product are you using? On what operating system?
VERSION: 2.5.0 on Ubuntu 12.04LTS

Please provide any additional information below.
Individual calls are handled properly.  Server only seems to fail under load 
with multiple calls.

Original issue reported on code.google.com by sdellu...@gmail.com on 28 May 2013 at 8:14

Attachments:

GoogleCodeExporter commented 8 years ago
Noticed several of the following errors

***ERROR: function: "tsip_transport_layer_find()" 
file: "src/transports/tsip_transport_layer.c" 
line: "849" 
MSG: Failed to match response expected to be forwarded via WebSocket transport

***ERROR: function: "tsip_transport_layer_send()" 
file: "src/transports/tsip_transport_layer.c" 
line: "1009" 
MSG: Failed to find valid transport

***ERROR: function: "tdav_video_jb_put()" 
file: "src/video/jb/tdav_video_jb.c" 
line: "298" 
MSG: Too many frames dropped and fps=25

Original comment by sdellu...@gmail.com on 28 May 2013 at 8:18

GoogleCodeExporter commented 8 years ago
Hello,

I am having the same issue for 5+ concurrent calls.

***ERROR: function: "tsip_transport_layer_find()"
file: "src/transports/tsip_transport_layer.c"
line: "849"
MSG: Failed to match response expected to be forwarded via WebSocket transport
***ERROR: function: "tsip_transport_layer_send()"
file: "src/transports/tsip_transport_layer.c"
line: "1009"
MSG: Failed to find valid transport
***ERROR: function: "tsip_transport_layer_find()"
file: "src/transports/tsip_transport_layer.c"
line: "849"
MSG: Failed to match response expected to be forwarded via WebSocket transport
***ERROR: function: "tsip_transport_layer_send()"
file: "src/transports/tsip_transport_layer.c"
line: "1009"
MSG: Failed to find valid transport

Sometimes I also come across different debug info (under load):

***ERROR: function: "tnet_get_ip_n_port()"
file: "src/tnet_utils.c"
line: "1130"
MSG: TNET_GET_SOCKADDR has failed with status code: -1
***ERROR: function: "tnet_get_ip_n_port()"
file: "src/tnet_utils.c"
line: "1130"
MSG: (SYSTEM)NETWORK ERROR ==>Socket operation on non-socket
***ERROR: function: "tsip_transport_send_raw_ws()"
file: "src/transports/tsip_transport.c"
line: "374"
MSG: Failed to find peer with local fd equal to 168
***ERROR: function: "tnet_get_ip_n_port()"
file: "src/tnet_utils.c"
line: "1130"
MSG: TNET_GET_SOCKADDR has failed with status code: -1
***ERROR: function: "tnet_get_ip_n_port()"
file: "src/tnet_utils.c"
line: "1130"

Original comment by ciprian....@gmail.com on 18 Jun 2013 at 10:15

GoogleCodeExporter commented 8 years ago
@ciprian.dosoftei
5 or 500?

Original comment by boss...@yahoo.fr on 18 Jun 2013 at 10:29

GoogleCodeExporter commented 8 years ago
That's actually 5, I cannot figure out a pattern yet (quad core 16GB ram 
server, plenty of file handles available; webrtc2sip/doubango manually built by 
the book).

When the above mentioned transport error occurs it seems webrtc2sip gives up on 
it but the client (built on SIPml5) is not aware of it and keeps waiting. I 
added a timer which kicks in after a certain amount of time that will 
eventually retry the last operation if it hung.

Please let me know if I can provide more information.

Thank you

Original comment by ciprian....@gmail.com on 20 Jun 2013 at 3:37

GoogleCodeExporter commented 8 years ago
After getting rid of the overloading issue (by spawning a dedicated webrtc2sip 
gateway for each user, works well, no overall server overloading issues) I had 
the chance to get to the bottom of the other issues (networking related ones).

I noticed on that particular network there are drops affecting regular plain 
websockets in such way that neither the server nor the client are aware of 
them. I think it is safe to assume that putting 2+2 together is correct in this 
case and the networking issues are causing those warnings (and sometimes call 
drops).

Original comment by ciprian....@gmail.com on 21 Jun 2013 at 5:44

GoogleCodeExporter commented 8 years ago
We haven't checked this issue yet but using a dedicated server for each user is 
not a solution at all.
The error message reported doesn't look to be tied to excessive number of users

Original comment by boss...@yahoo.fr on 21 Jun 2013 at 5:50

GoogleCodeExporter commented 8 years ago
I completely agree, it's not elegant at all. When I designed the system and 
tested in my office it went smooth. When deployed it was a nightmare and it's 
all about those drops. Unfortunately until they fix/replace the LAN, this is my 
only choice (I cannot risk a segfault caused by those drops as everyone will 
get cut off).

Original comment by ciprian....@gmail.com on 21 Jun 2013 at 5:54

GoogleCodeExporter commented 8 years ago
I have the same problem here. One year later! Webrtc2Sip simply stops running  
and all the WebRTC users drops.

I would really apreciate some help.

Original comment by diogo...@gmail.com on 30 May 2014 at 1:56