forked from osmocom/wireshark
Compare commits
1 Commits
master
...
pespin/osm
Author | SHA1 | Date |
---|---|---|
Pau Espin | 5438628f48 |
|
@ -157,6 +157,7 @@ static int hf_mgcp_req_dup = -1;
|
|||
static int hf_mgcp_req_dup_frame = -1;
|
||||
static int hf_mgcp_rsp_dup = -1;
|
||||
static int hf_mgcp_rsp_dup_frame = -1;
|
||||
static int hf_mgcp_param_x_osmux = -1;
|
||||
static int hf_mgcp_unknown_parameter = -1;
|
||||
static int hf_mgcp_malformed_parameter = -1;
|
||||
|
||||
|
@ -882,25 +883,34 @@ static gint tvb_parse_param(tvbuff_t* tvb, gint offset, gint len, int** hf, mgcp
|
|||
tvb_current_offset++;
|
||||
|
||||
/* Keep going, through possible vendor param name */
|
||||
char ext_buf[256];
|
||||
ext_buf[0] = '\0';
|
||||
for (counter = 1;
|
||||
((len > (counter + tvb_current_offset-offset)) &&
|
||||
(g_ascii_isalpha(tempchar = tvb_get_guint8(tvb, tvb_current_offset+counter)) ||
|
||||
g_ascii_isdigit(tempchar))) ;
|
||||
counter++);
|
||||
counter++) ext_buf[counter - 1] = g_ascii_toupper(tempchar);
|
||||
|
||||
if (tempchar == ':')
|
||||
{
|
||||
/* Looks like a valid vendor param name */
|
||||
tvb_current_offset += counter;
|
||||
ext_buf[counter - 1] = '\0';
|
||||
fprintf(stderr, "MGCP Extension: %s\n", ext_buf);
|
||||
switch (plus_minus)
|
||||
{
|
||||
case '+':
|
||||
*hf = &hf_mgcp_param_extension_critical;
|
||||
break;
|
||||
case '-':
|
||||
*hf = &hf_mgcp_param_extension;
|
||||
if (strcmp(ext_buf, "OSMUX") == 0) {
|
||||
fprintf(stderr, "MGCP Extension: is Osmux!!\n");
|
||||
*hf = &hf_mgcp_param_x_osmux;
|
||||
} else {
|
||||
*hf = &hf_mgcp_param_extension;
|
||||
}
|
||||
break;
|
||||
}
|
||||
tvb_current_offset += counter;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -1554,6 +1564,18 @@ static void dissect_mgcp_params(tvbuff_t *tvb, proto_tree *tree, mgcp_info_t* mi
|
|||
dissect_mgcp_remotevoicemetrics(mgcp_param_tree, tvb, tvb_linebegin,
|
||||
tvb_tokenbegin - tvb_linebegin, tokenlen);
|
||||
}
|
||||
/*
|
||||
else
|
||||
if (*my_param == hf_mgcp_param_x_osmux)
|
||||
{
|
||||
tokenlen = tvb_find_line_end(tvb, tvb_tokenbegin, -1, &tvb_lineend, FALSE);
|
||||
proto_tree_add_string(mgcp_param_tree, *my_param, tvb,
|
||||
tvb_linebegin, linelen,
|
||||
tvb_format_text(wmem_packet_scope(), tvb, tvb_tokenbegin, tokenlen));
|
||||
|
||||
TODO: mark somewhere that Osmux is used, so that packet-sdp.c doesn't call srtp_add_address().
|
||||
}
|
||||
*/
|
||||
else
|
||||
{
|
||||
tokenlen = tvb_find_line_end(tvb, tvb_tokenbegin, -1, &tvb_lineend, FALSE);
|
||||
|
@ -2664,6 +2686,9 @@ void proto_register_mgcp(void)
|
|||
{ &hf_mgcp_rsp_dup_frame,
|
||||
{ "Original Response Frame", "mgcp.rsp.dup.frame", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
|
||||
"Frame containing original response", HFILL }},
|
||||
{ &hf_mgcp_param_x_osmux,
|
||||
{ "Osmux", "mgcp.param.x_osmux", FT_STRING, BASE_NONE, NULL, 0x0,
|
||||
"Osmux CID", HFILL }},
|
||||
{ &hf_mgcp_unknown_parameter,
|
||||
{ "Unknown parameter", "mgcp.unknown_parameter", FT_STRING, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
|
|
@ -2348,9 +2348,11 @@ apply_sdp_transport(packet_info *pinfo, transport_info_t *transport_info, int re
|
|||
DPRINT(("calling rtp_add_address, channel=%d, media_port=%d",
|
||||
i, media_desc->media_port));
|
||||
DINDENT();
|
||||
/* TODO: Here only call this if !osmux:
|
||||
srtp_add_address(pinfo, PT_UDP, &media_desc->conn_addr, media_desc->media_port, 0, "SDP", establish_frame,
|
||||
media_desc->media_types,
|
||||
media_desc->media.rtp_dyn_payload, NULL, setup_info);
|
||||
*/
|
||||
DENDENT();
|
||||
}
|
||||
/* SPRT might use the same port... */
|
||||
|
@ -2367,7 +2369,9 @@ apply_sdp_transport(packet_info *pinfo, transport_info_t *transport_info, int re
|
|||
DPRINT(("calling rtcp_add_address, channel=%d, control_port=%d",
|
||||
i, media_desc->control_port));
|
||||
DINDENT();
|
||||
/* TODO: Here only call this if !osmux:
|
||||
rtcp_add_address(pinfo, &media_desc->conn_addr, media_desc->control_port, 0, "SDP", establish_frame);
|
||||
*/
|
||||
DENDENT();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue