aboutsummaryrefslogtreecommitdiffstats
path: root/main/rtp.c
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-10-05 18:55:36 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-10-05 18:55:36 +0000
commit9004f9b03a93f9c3b93e3ce139805a0093e507d0 (patch)
tree091d085db90918a56df69bd62dbbcb9ef2f2947a /main/rtp.c
parentf5b7c9fa275967fd8ec23bb5f46feca3f7938cac (diff)
Update the remembered RTP peer information when putting an endpoint on hold or taking it off hold so that the RTP stack does not initiate a needless reinvite.
(closes issue #10868) Reported by: mavince git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@84818 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/rtp.c')
-rw-r--r--main/rtp.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/main/rtp.c b/main/rtp.c
index 47af8477b..636d59e54 100644
--- a/main/rtp.c
+++ b/main/rtp.c
@@ -2944,6 +2944,11 @@ static enum ast_bridge_result bridge_native_loop(struct ast_channel *c0, struct
else
pr0->set_rtp_peer(c0, p1, vp1, codec1, ast_test_flag(p1, FLAG_NAT_ACTIVE));
}
+ /* Update local address information */
+ ast_rtp_get_peer(p0, &t0);
+ memcpy(&ac0, &t0, sizeof(ac0));
+ ast_rtp_get_peer(p1, &t1);
+ memcpy(&ac1, &t1, sizeof(ac1));
ast_indicate_data(other, fr->subclass, fr->data, fr->datalen);
ast_frfree(fr);
} else {