aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2008-07-01 16:50:46 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2008-07-01 16:50:46 +0000
commit8056ac9113b7d9e043c3916dc3f69ebf73e407df (patch)
tree967603126622382999330365a2a0d209754f8ae4 /channels
parentc8fa20c480a1831b2ba6981a38b74e511badeb28 (diff)
Suppress annoying warning by finding the remaining cases where the callno is not in the hash.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@126999 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_iax2.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index c90ca1341..a78ffdc90 100644
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -1556,6 +1556,15 @@ static int __find_callno(unsigned short callno, unsigned short dcallno, struct s
}
}
+ /* This will occur on the first response to a message that we initiated,
+ * such as a PING. */
+ if (callno && dcallno && iaxs[dcallno] && !iaxs[dcallno]->peercallno && match(sin, callno, dcallno, iaxs[dcallno], check_dcallno)) {
+ iaxs[dcallno]->peercallno = callno;
+ res = dcallno;
+ store_by_peercallno(iaxs[dcallno]);
+ return res;
+ }
+
/* If we get here, we SHOULD NOT find a call structure for this
callno; if we do, it means that there is a call structure that
has a peer callno but did NOT get entered into the hash table,