Hi Anders,
Its not there in the makefile.
For RTP muxing with compressed header. I have made some changes to packet-nb_rtpmux.c as shown:
****
Change 1. (In dissect_nb_rtpmux.c)
if (rtpcompressdissector)
{
next_tvb = tvb_new_subset(tvb, offset+5,
MIN(tvb_length(tvb)-5-offset, length), length);
call_dissector(rtpcompressdissector, next_tvb, pinfo, nb_rtpmux_tree);
}
else
{
proto_tree_add_item(nb_rtpmux_tree,
hf_nb_rtpmux_data, tvb, offset+5, length == 0 ? -1:length, FALSE);
}
*****
Change 2.
void
proto_reg_handoff_nb_rtpmux(void)
{
static gboolean inited = FALSE;
if (!inited) {
dissector_handle_t nb_rtpmux_handle;
/* Use new_create_dissector_handle() to indicate that dissect_nb_rtpmux()
* returns the number of bytes it dissected (or 0 if it thinks the packet
* does not belong to PROTONAME).
*/
nb_rtpmux_handle = new_create_dissector_handle(dissect_nb_rtpmux,
proto_nb_rtpmux);
dissector_add_handle("udp.port", nb_rtpmux_handle);
rtpcompressdissector = find_dissector("compress_rtp");
inited = TRUE;
}
}
And also written a new dissector function for RTP packets with compresssed headers as shown below:
static int
dissect_compress_rtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
/* Set up structures needed to add the protocol subtree and manage it */
proto_item *ti;
proto_tree *compress_rtp_tree;
/*Need to add some checks here.....(Heuristics)*/
/* Make entries in Protocol column and info column on summary display */
col_set_str(pinfo->cinfo,COL_PROTOCOL,"Compress_RTP");
if(tree) {
unsigned int offset = 0;
/* Create displays subtree for the protocol */
//while()
guint16 timestamp, sequence_no;
ti = proto_tree_add_item(tree,proto_compress_rtp,tvb,offset,-1,FALSE);
compress_rtp_tree = proto_item_add_subtree(ti,ett_compress_rtp);
proto_tree_add_item(compress_rtp_tree,hf_compress_rtp_sequence_no,tvb,offset,1,FALSE);
timestamp = tvb_get_ntohs(tvb,offset);
proto_tree_add_uint(compress_rtp_tree,hf_compress_rtp_timestamp,tvb,offset+1,2,FALSE);
proto_tree_add_item(compress_rtp_tree,hf_compress_rtp_data,tvb,offset+3,-1,FALSE);
return tvb_length(tvb);
}
Any feedback for the same.
Thanks
Sourabh Rathor
--
Sourabh Rathor
Institute Of Informatics & Communication
South Campus, Delhi University