This is a static archive of our old Q&A Site. Please post any new questions and answers at ask.wireshark.org.

mate configuration trouble

0

Hello, I try to build a mate configuration that for a given sip call I can filter immediately on signaling and media for this call.

therefore I need to create a pdu for every sip call, make gop's on callid where the start is the invite request line and the end the bye line.

I created a simple mate file for this, although I don't see a single GOP being created.

Hence can somebody explain me how to debug mate configuration ?

Pdu sip_pdu Proto sip Transport ip {
        Extract sip_method From sip.Request-Line;
        Extract call_id From sip.Call-ID;
        Extract conn_addr From sdp.connection_info;
        Extract conn_part From sdp.media;
};

Gop sip_call On sip_pdu Match (call_id) { Start (sip_method~"INVITE"); Stop (sip_method~"BYE"); };

Done;

asked 16 Jul ‘13, 04:43

JohanDemocon's gravatar image

JohanDemocon
11113
accept rate: 0%

edited 17 Jul ‘13, 08:38

grahamb's gravatar image

grahamb ♦
19.8k330206


One Answer:

3

Oof, MATE can be a pain. I've never seen the ~ operator actually used so that might be the problem. Can you try changing it to

Start(); Stop(never);

to see if you get a GOP then?

answered 16 Jul '13, 07:51

JeffMorriss's gravatar image

JeffMorriss ♦
6.2k572
accept rate: 27%

edited 17 Jul '13, 07:56

Yes then I have one. Hence you are right it's the ~ not working properly.

(17 Jul '13, 01:29) JohanDemocon

If an answer has solved your issue, please accept the answer for the benefit of other users by clicking the checkmark icon next to the answer. Please read the FAQ for more information.

(17 Jul '13, 01:57) grahamb ♦

A little digging found me this routine in mate_util.c:

/** * match_avp: * @src: an src to be compared agains an "op" avp * @op: the "op" avp that will be matched against the src avp * * Checks whether or not two avp's match. * * Return value: a pointer to the src avp if there's a match. * **/ extern AVP* match_avp(AVP* src, AVP* op) {

At the end it has this code snippet:

case AVP_OP_CONTAINS: /* TODO */ return NULL;

so it appears that, yes, the ~ operator is not implemented.

I'd suggest opening a bug for that.

(17 Jul '13, 08:22) JeffMorriss ♦

The bug opened was bug 9025 and it has been fixed, so ~ should now work.

Incidentally, in this case the ^ operator could have been used instead.

(12 Feb '16, 10:52) cmaynard ♦♦