diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-06-02 12:30:17 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-06-02 12:30:17 +0000 |
commit | c99b1330741e025ba30580a77b1de7f951b80e15 (patch) | |
tree | 8bfdffe64d10d63d6581060f19df6c9f37d85d59 /channels | |
parent | c6b6a94aeaece44533a8d62776efef836858d6fe (diff) |
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: http://svn.digium.com/svn/asterisk/branches/1.4@119687 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_iax2.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 6cdc3b888..b20619fb3 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; } |