Bug #8136
closed'PING' causes dialer to disconnect.
100%
Description
In module goautodial/modulesGOagent/GOagentJS.php the code:
// WebSocket Keep-alive
var checkWebsocketConn = setInterval(function() {
if (is_logged_in && (use_webrtc && phoneRegistered) && typeof socket !== 'undefined' && (live_customer_call < 1 && XD_live_customer_call < 1)) {
socket.send('PING');
}
}, 60000);
is not needed and causes an error in the kamailio log.
The reason this is not immediately seen is because the version of kamailio that comes with goautodial does not handle this error properly and continues on.
From kamailio version 5.1.6 on, the bug was fixed and kamailio will disconnect the webphone and display the error in the log:
/usr/bin/kamailio2154: ERROR: <core> [core/parser/parse_fline.c:271]: parse_first_line(): parse_first_line: bad message (offset: 0)
/usr/bin/kamailio2154: ERROR: <core> [core/parser/msg_parser.c:680]: parse_msg(): ERROR: parse_msg: message=<PING>
/usr/bin/kamailio2154: ERROR: <core> [core/receive.c:307]: receive_msg(): core parsing of SIP message failed (192.168.1.1:60068/6)
/usr/bin/kamailio2154: ERROR: <core> [core/parser/msg_parser.c:336]: parse_headers(): bad header field [(null)]
The code would run about a minute after the agent connects to the agent portal. Then suddenly the webphone would disconnect and the error appeared in the kamailio log.
I am happy to say I am running GO successfully with asterisk 17.5.0, rtpengine 8.5.0.0, and kamailio 5.3.4 on ARCH linux and found this error along the way.
I commented out that code without issue. The keep-alive is done in kamailio and the PING being sent in GOagentJS.php is not a properly formatted way to send a ping and also seems not to be needed.
Thanks