diff options
author | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-10-05 18:55:36 +0000 |
---|---|---|
committer | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-10-05 18:55:36 +0000 |
commit | 9004f9b03a93f9c3b93e3ce139805a0093e507d0 (patch) | |
tree | 091d085db90918a56df69bd62dbbcb9ef2f2947a | |
parent | f5b7c9fa275967fd8ec23bb5f46feca3f7938cac (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
-rw-r--r-- | main/rtp.c | 5 |
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 { |