From Jon Ringle:
authoretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>
Wed, 2 Feb 2005 20:08:36 +0000 (20:08 +0000)
committeretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>
Wed, 2 Feb 2005 20:08:36 +0000 (20:08 +0000)
 1) Added a setup_frame parameter to conversation_t
2) Used the conversation_t next to maintain a list of conversations with the
same src/dest tuple but different setup_frame number.
3) Changed the signature of find_conversation() and conversation_new() to pass
in the frame number.
4) Adjusted packet-sdp to select RTP conversation if both m=audio and m=image
are present, and T.38 conversation if only m=image is present. I expect that
RTP/T.38 dissecting to be better, but I don't have a way to generate T.38
packets.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@13244 f5534014-38df-0310-8fa8-9805f1628bb7

plugins/mgcp/packet-mgcp.c

index f7faa19874c4dd06b9f3460e267bab0a5bf336a4..68dd50190ecff65226234f7def125c63b7459c55 100644 (file)
@@ -1189,7 +1189,7 @@ static void dissect_mgcp_firstline(tvbuff_t *tvb, packet_info *pinfo,
           guarantee that the reply will come from the address
           to which the call was sent. */
        if (pinfo->ptype == PT_TCP) {
-               conversation = find_conversation(&pinfo->src,
+               conversation = find_conversation(pinfo->fd->num, &pinfo->src,
                    &pinfo->dst, pinfo->ptype, pinfo->srcport,
                    pinfo->destport, 0);
        } else {
@@ -1199,7 +1199,7 @@ static void dissect_mgcp_firstline(tvbuff_t *tvb, packet_info *pinfo,
                 * pointer for the second address argument even
                 * if you do that.
                 */
-               conversation = find_conversation(&null_address,
+               conversation = find_conversation(pinfo->fd->num, &null_address,
                    &pinfo->dst, pinfo->ptype, pinfo->srcport,
                    pinfo->destport, 0);
        }
@@ -1275,7 +1275,7 @@ static void dissect_mgcp_firstline(tvbuff_t *tvb, packet_info *pinfo,
           guarantee that the reply will come from the address
           to which the call was sent. */
        if (pinfo->ptype == PT_TCP) {
-               conversation = find_conversation(&pinfo->src,
+               conversation = find_conversation(pinfo->fd->num, &pinfo->src,
                    &pinfo->dst, pinfo->ptype, pinfo->srcport,
                    pinfo->destport, 0);
        } else {
@@ -1285,7 +1285,7 @@ static void dissect_mgcp_firstline(tvbuff_t *tvb, packet_info *pinfo,
                 * pointer for the second address argument even
                 * if you do that.
                 */
-               conversation = find_conversation(&pinfo->src,
+               conversation = find_conversation(pinfo->fd->num, &pinfo->src,
                    &null_address, pinfo->ptype, pinfo->srcport,
                    pinfo->destport, 0);
        }
@@ -1293,11 +1293,11 @@ static void dissect_mgcp_firstline(tvbuff_t *tvb, packet_info *pinfo,
                /* It's not part of any conversation - create a new
                   one. */
                if (pinfo->ptype == PT_TCP) {
-                       conversation = conversation_new(&pinfo->src,
+                       conversation = conversation_new(pinfo->fd->num, &pinfo->src,
                            &pinfo->dst, pinfo->ptype, pinfo->srcport,
                            pinfo->destport, 0);
                } else {
-                       conversation = conversation_new(&pinfo->src,
+                       conversation = conversation_new(pinfo->fd->num, &pinfo->src,
                            &null_address, pinfo->ptype, pinfo->srcport,
                            pinfo->destport, 0);
                }