Merged revisions 119687 via svnmerge from
authorRussell Bryant <russell@russellbryant.com>
Mon, 2 Jun 2008 12:30:42 +0000 (12:30 +0000)
committerRussell Bryant <russell@russellbryant.com>
Mon, 2 Jun 2008 12:30:42 +0000 (12:30 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r119687 | russell | 2008-06-02 07:30:17 -0500 (Mon, 02 Jun 2008) | 3 lines

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/trunk@119688 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_iax2.c

index 9b6e2ff..58f52f4 100644 (file)
@@ -1149,10 +1149,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;
        }
@@ -1190,10 +1189,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;
        }