Set SO_KEEPALIVE on SIP TCP sockets so that they eventually go away when a peer

abruptly disappears.  This mostly occurs after a successful registration.

(closes issue #17544)
Reported by: marcelloceschia
Patches:
      (modified) tcptls.patch uploaded by st (license 907)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@317195 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.2
Matthew Nicholson 15 years ago
parent 5731697675
commit b9bf3d604e

@ -3002,6 +3002,12 @@ static void *_sip_tcp_helper_thread(struct sip_pvt *pvt, struct ast_tcptls_sessi
}
}
flags = 1;
if (setsockopt(tcptls_session->fd, SOL_SOCKET, SO_KEEPALIVE, &flags, sizeof(flags))) {
ast_log(LOG_ERROR, "error enabling TCP keep-alives on sip socket: %s\n", strerror(errno));
goto cleanup;
}
me->threadid = pthread_self();
ast_debug(2, "Starting thread for %s server\n", tcptls_session->ssl ? "SSL" : "TCP");

Loading…
Cancel
Save