]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Even of the first PING or LAGRQ doesn't get sent because it comes up too soon,
authorRussell Bryant <russell@russellbryant.com>
Mon, 2 Jun 2008 12:30:17 +0000 (12:30 +0000)
committerRussell Bryant <russell@russellbryant.com>
Mon, 2 Jun 2008 12:30:17 +0000 (12:30 +0000)
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

channels/chan_iax2.c

index 6cdc3b888cd72d610f14a0d2c94caa0c35fc117f..b20619fb32b68fa9ec2bb3b147ab9755787953c1 100644 (file)
@@ -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;
        }