diff options
author | jeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-07-27 04:39:53 +0000 |
---|---|---|
committer | jeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-07-27 04:39:53 +0000 |
commit | 769e29b9a105cc425582a6164b2d7c716eeb1145 (patch) | |
tree | c6e5025d370b93989b4958a8de999c0381a4558f /channels/chan_h323.c | |
parent | fd04c2f861047cf52fcdb66e6aa48cc0a154a043 (diff) |
one-way-audio problem on multihomed host with bind to secondary address. Bug #4505
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6233 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_h323.c')
-rwxr-xr-x | channels/chan_h323.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/channels/chan_h323.c b/channels/chan_h323.c index e306131d4..8d4373d9c 100755 --- a/channels/chan_h323.c +++ b/channels/chan_h323.c @@ -782,7 +782,7 @@ static struct oh323_pvt *oh323_alloc(int callid) return NULL; } memset(pvt, 0, sizeof(struct oh323_pvt)); - pvt->rtp = ast_rtp_new(sched, io, 1, 0); + pvt->rtp = ast_rtp_new_with_bindaddr(sched, io, 1, 0,bindaddr.sin_addr); if (!pvt->rtp) { ast_log(LOG_WARNING, "Unable to create RTP session: %s\n", strerror(errno)); free(pvt); @@ -1108,8 +1108,8 @@ struct rtp_info *external_rtp_create(unsigned call_reference, const char * token /* figure out our local RTP port and tell the H.323 stack about it */ ast_rtp_get_us(pvt->rtp, &us); ast_mutex_unlock(&pvt->lock); - /* evil hack, until I (or someone?) figures out a better way */ - ast_inet_ntoa(info->addr, sizeof(info->addr), bindaddr.sin_addr); + + ast_inet_ntoa(info->addr, sizeof(info->addr), us.sin_addr); info->port = ntohs(us.sin_port); if (h323debug) ast_log(LOG_DEBUG, "Sending RTP 'US' %s:%d\n", info->addr, info->port); |