From: Russell Bryant Date: Mon, 2 Jun 2008 12:30:17 +0000 (+0000) Subject: Even of the first PING or LAGRQ doesn't get sent because it comes up too soon, X-Git-Tag: 1.4.21-rc1~12 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=35ea2643d49ee67c96afeaab5ea069d682a1ca9d;p=thirdparty%2Fasterisk.git Even of the first PING or LAGRQ doesn't get sent because it comes up too soon, make sure to reschedule so it gets sent later. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@119687 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 6cdc3b888c..b20619fb32 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -998,10 +998,9 @@ static void __send_ping(const void *data) ast_mutex_lock(&iaxsl[callno]); while (iaxs[callno] && iaxs[callno]->pingid != -1) { - if (!iaxs[callno]->peercallno) { - break; + if (iaxs[callno]->peercallno) { + send_command(iaxs[callno], AST_FRAME_IAX, IAX_COMMAND_PING, 0, NULL, 0, -1); } - send_command(iaxs[callno], AST_FRAME_IAX, IAX_COMMAND_PING, 0, NULL, 0, -1); iaxs[callno]->pingid = iax2_sched_add(sched, ping_time * 1000, send_ping, data); break; } @@ -1039,10 +1038,9 @@ static void __send_lagrq(const void *data) ast_mutex_lock(&iaxsl[callno]); while (iaxs[callno] && iaxs[callno]->lagid > -1) { - if (!iaxs[callno]->peercallno) { - break; + if (iaxs[callno]->peercallno) { + send_command(iaxs[callno], AST_FRAME_IAX, IAX_COMMAND_LAGRQ, 0, NULL, 0, -1); } - send_command(iaxs[callno], AST_FRAME_IAX, IAX_COMMAND_LAGRQ, 0, NULL, 0, -1); iaxs[callno]->lagid = iax2_sched_add(sched, lagrq_time * 1000, send_lagrq, data); break; }