When analyzing RTP streams, use the source address as well as the SSRC

to determine forward and reverse directions.  This fixes a capture I
have which has the same SSRC in the forward and reverse streams.

svn path=/trunk/; revision=13599
This commit is contained in:
Gerald Combs 2005-03-05 17:57:27 +00:00
parent aaa9cb5150
commit eb372831dd
1 changed files with 4 additions and 2 deletions

View File

@ -511,7 +511,8 @@ static int rtp_packet(void *user_data_arg, packet_info *pinfo, epan_dissect_t *e
else if (rtpinfo->info_version !=2)
return 0;
/* is it the forward direction? */
else if (user_data->ssrc_fwd == rtpinfo->info_sync_src) {
else if (user_data->ssrc_fwd == rtpinfo->info_sync_src &&
CMP_ADDRESS(&(user_data->ip_src_fwd), &(pinfo->net_src)) == 0) {
#ifdef USE_CONVERSATION_GRAPH
vp.time = ((double)pinfo->fd->rel_secs + (double)pinfo->fd->rel_usecs/1000000);
vp.fnumber = pinfo->fd->num;
@ -526,7 +527,8 @@ static int rtp_packet(void *user_data_arg, packet_info *pinfo, epan_dissect_t *e
&(user_data->forward.statinfo), pinfo, rtpinfo);
}
/* is it the reversed direction? */
else if (user_data->ssrc_rev == rtpinfo->info_sync_src) {
else if (user_data->ssrc_rev == rtpinfo->info_sync_src &&
CMP_ADDRESS(&(user_data->ip_src_rev), &(pinfo->net_src)) == 0) {
#ifdef USE_CONVERSATION_GRAPH
vp.time = ((double)pinfo->fd->rel_secs + (double)pinfo->fd->rel_usecs/1000000);
vp.fnumber = pinfo->fd->num;