aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/mate/examples
diff options
context:
space:
mode:
authorLars Roland <Lars.Roland@gmx.net>2004-12-11 01:00:17 +0000
committerLars Roland <Lars.Roland@gmx.net>2004-12-11 01:00:17 +0000
commit86d7ed9bae34b2c68c5ba9ef209ecd6050d7051a (patch)
treed48333a163cc0d71fa18091824988f0e429210d6 /plugins/mate/examples
parentea67e4cfabfdd0d24a11f9ed2a45ce2a29f84252 (diff)
New Plugin from Luis Ontanon:
MATE -- Meta Analysis and Tracing Engine Won't be compiled by default. It is still not possible to link the plugin on Win32. svn path=/trunk/; revision=12716
Diffstat (limited to 'plugins/mate/examples')
-rw-r--r--plugins/mate/examples/call.thing4
-rw-r--r--plugins/mate/examples/cmplx_call.thing78
-rw-r--r--plugins/mate/examples/ftp.thing38
-rw-r--r--plugins/mate/examples/mgw.thing261
-rw-r--r--plugins/mate/examples/mgw2.thing18
-rw-r--r--plugins/mate/examples/mgw_mi.thing248
-rw-r--r--plugins/mate/examples/newcall.mate22
-rw-r--r--plugins/mate/examples/nrg_sms.thing20
-rw-r--r--plugins/mate/examples/rad.thing11
9 files changed, 700 insertions, 0 deletions
diff --git a/plugins/mate/examples/call.thing b/plugins/mate/examples/call.thing
new file mode 100644
index 0000000000..46fc1e2f9d
--- /dev/null
+++ b/plugins/mate/examples/call.thing
@@ -0,0 +1,4 @@
+# call.thing
+
+Action=Include; Filename=/Users/lego/things/call.mate;
+
diff --git a/plugins/mate/examples/cmplx_call.thing b/plugins/mate/examples/cmplx_call.thing
new file mode 100644
index 0000000000..c2befd91fb
--- /dev/null
+++ b/plugins/mate/examples/cmplx_call.thing
@@ -0,0 +1,78 @@
+# call_tracing.thing
+#
+# This config works with most of the ViG's call scenarios
+#
+# To work well with the Vig needs the following:
+# a user to calling mapping to map emails to calling numbers (this only if calls begin towards an e-mail not a number)
+# a opc:cic to term mapping to represent the MGw config (if you want to see megaco)
+#
+
+Action=PDU; Proto=sip; Transport=ip; addr=ip.addr; sip_method=sip.Method; sip_callid=sip.Call-ID; calling=sdp.owner.username;
+Action=LegKey; On=sip; sip_callid; addr; addr;
+Action=LegStart; On=sip; sip_method=INVITE;
+Action=LegStop; On=sip; sip_method=BYE;
+
+#Action=Include; Filename=users.thing;
+# will contain:
+Action=Transform; On=sip; Method=Every; calling=merlia;
+Action=Transform; On=sip; Method=Insert; calling=1793900802;
+
+Action=PDU; Proto=q931; Transport=ip; addr=ip.addr; call_ref=q931.call_ref; q931_msg=q931.message_type; guid=h225.guid; called=q931.called_party_number.digits; calling=q931.calling_party_number.digits; q931_cause=q931.cause_value; h225_cause=h225.ReleaseCompleteReason;
+Action=LegKey; On=q931; call_ref; addr; addr;
+Action=LegStart; On=q931; q931_msg=5;
+Action=LegStop; On=q931; q931_msg=90;
+
+Action=PDU; Proto=isup; Transport=mtp3; mtp3pc=mtp3.dpc; mtp3pc=mtp3.opc; cic=isup.cic; isup_msg=isup.message_type; called=isup.called; calling=isup.calling; isup_cause=isup.cause_indicator;
+Action=LegKey; On=isup; cic; mtp3pc; mtp3pc;
+Action=LegStart; On=isup; isup_msg=1;
+Action=LegStop; On=isup; isup_msg=16;
+
+Action=PDU; Proto=h225.RasMessage; Transport=ip; ras_msg=h225.RasMessage; addr=ip.addr; guid=h225.guid; seqnum=h225.RequestSeqNum;
+Action=LegKey; On=h225.RasMessage; addr; addr; seqnum;
+Action=LegStart; On=h225.RasMessage; ras_msg|0|3|6|9|12|15|18|21|26|30;
+Action=LegStop; On=h225.RasMessage; ras_msg|1|2|4|5|7|8|10|11|13|14|16|17|19|20|22|24|27|28|29|31;
+
+Action=PDU; Proto=megaco; Transport=ip; addr=ip.addr; megaco_ctx=megaco.context; megaco_trx=megaco.transid; megaco_msg=megaco.transaction; term=megaco.termid;
+Action=LegKey; On=megaco; addr; addr; megaco_trx;
+Action=LegStart; On=megaco; megaco_msg|Request|Notify;
+Action=LegStop; On=megaco; megaco_msg=Reply;
+
+#Action=Include; Filename=mgw.thing;
+# will contain the whole list of dpc:cic -> ds1_term mappings like the following
+Action=Transform; On=isup; Method=Every; mtp3pc=1921; cic=1;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/1;
+Action=Transform; On=isup; Method=Every; mtp3pc=1921; cic=2;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/2;
+Action=Transform; On=isup; Method=Every; mtp3pc=1921; cic=14;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/14;
+
+
+Action=PDU; Proto=rtsp; Transport=ip; isup_msg=isup.message_type; calling=X_Vig_Msisdn; rtsp_method=rtsp.method; rtsp_ses=rtsp.session; addr=ip.addr; rtsp_url=rtsp.url;
+Action=LegKey; On=rtsp; rtsp_ses;
+Action=LegStart; On=rtsp; rtsp_method=SETUP;
+Action=LegStop; On=rtsp; rtsp_method=TEARDOWN;
+
+Action=PDU; Proto=radius; Transport=ip; radius_id=radius.id; radius_code=radius.code; class=radius.class; addr=ip.addr; calling=radius.calling; rad_sesid=radius.acct.sessionid;
+Action=LegKey; On=radius; addr; addr; radius_id;
+Action=LegStart; On=radius; radius_code|1|4;
+Action=LegStop; On=radius; radius_code|2|3|5;
+
+Action=LegExtra; On=radius; calling; rad_sesid;
+
+Action=LegExtra; On=sip; calling!-;
+Action=LegExtra; On=q931; called; calling; guid; q931_cause; h225_cause;
+Action=LegExtra; On=h225.RasMessage; guid;
+Action=LegExtra; On=isup; called; calling; isup_cause; term;
+Action=LegExtra; On=megaco; term^DS1; megaco_ctx!Choose one;
+Action=LegExtra; On=rtsp; rtsp_url; calling;
+Action=LegExtra; On=radius; calling;
+
+Action=SesKey; Name=call; On=sip; calling; sip_callid;
+Action=SesKey; Name=call; On=isup; calling;
+Action=SesKey; Name=call; On=q931; calling;
+Action=SesKey; Name=call; On=megaco; term^DS1;
+Action=SesKey; Name=call; On=megaco; megaco_ctx;
+Action=SesKey; Name=call; On=rtsp; calling;
+Action=SesKey; Name=call; On=h225.RasMessage; guid;
+
+Action=SesExtra; On=call; called; term^DS1; megaco_ctx; guid; q931_cause; h225_cause; isup_cause; rtsp_url;
diff --git a/plugins/mate/examples/ftp.thing b/plugins/mate/examples/ftp.thing
new file mode 100644
index 0000000000..8cafd66a3a
--- /dev/null
+++ b/plugins/mate/examples/ftp.thing
@@ -0,0 +1,38 @@
+# ftp.thing
+Action=Settings; Debug_PDU=9;
+# at every packet mate will try match the PDUS in order
+# if Proto exists for the current frame a mate's PDU will be created.
+# for attributes to be imported from the tree they must be inside
+# either in the span of the the Proto
+# or in that of any of the protocols in the Transport stack
+#
+# The PDU's AVPL will contain all the remaining attributes
+Action=PDU; Name=FTP; Proto=ftp; Transport=tcp/ip; ftp_addr=ip.addr; tcp_port=tcp.port; addr=ftp.passive.ip; port=ftp.passive.port; ftp_cmd=ftp.request.command;
+Action=PDU; Name=TCP; Proto=tcp; Transport=ip; addr=ip.addr; port=tcp.port; tcp_start=tcp.flags.syn; tcp_stop=tcp.flags.reset; tcp_stop=tcp.flags.fin;
+
+# once all PDUs for a packet have being created
+# they will be matched against their relative LegKeys
+# the attribute On specifies for which type of PDU the leg will be created
+# the remaining of the AVPL will be used to create the key of the leg
+# the matched attributes will become attributes of the leg
+Action=LegKey; On=FTP; ftp_addr; ftp_addr; tcp_port; tcp_port;
+Action=LegKey; On=TCP; addr; addr; port; port;
+
+# LegExtra is used to copy into the leg any other attributes from the PDU
+# that may be usefull later in the analysis
+Action=LegExtra; On=FTP; addr; port;
+Action=LegExtra; On=TCP; tcp_start; tcp_stop;
+
+
+# Legs are created when a PDU that belongs to them matches the LegStart AVPL
+Action=LegStart; On=FTP; ftp_cmd=USER;
+Action=LegStart; On=TCP; tcp_start=1;
+
+# and stopped when the PDU matches the LegStop AVPL
+Action=LegStop; On=FTP; ftp_cmd=QUIT;
+Action=LegStop; On=TCP; tcp_stop=1;
+
+Action=SesKey; Name=ftp_session; On=FTP; ftp_addr; ftp_addr; ftp_port; ftp_port;
+Action=SesKey; Name=ftp_session; On=TCP; addr; port;
+
+Action=SesExtra; On=ftp_session; addr; port;
diff --git a/plugins/mate/examples/mgw.thing b/plugins/mate/examples/mgw.thing
new file mode 100644
index 0000000000..6535664807
--- /dev/null
+++ b/plugins/mate/examples/mgw.thing
@@ -0,0 +1,261 @@
+# the transformations example file
+
+# the match (Method=extact|Method=loose|Method=Every)
+# must precede the replace (Method=replace|Method=Insert)
+
+# the list is going to be applied in order
+
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=1;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/1;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=2;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/2;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=3;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/3;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=4;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/4;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=5;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/5;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=6;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/6;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=7;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/7;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=8;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/8;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=9;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/9;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=10;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/10;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=11;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/11;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=12;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/12;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=13;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/13;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=14;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/14;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=15;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/15;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=16;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/16;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=17;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/17;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=18;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/18;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=19;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/19;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=20;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/20;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=21;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/21;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=22;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/22;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=23;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/23;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=24;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/24;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=25;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/25;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=26;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/26;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=27;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/27;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=28;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/28;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=29;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/29;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=30;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/30;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=31;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/31;
+
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=32;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/0;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=33;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/1;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=34;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/2;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=35;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/3;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=36;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/4;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=37;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/5;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=38;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/6;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=39;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/7;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=40;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/8;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=41;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/9;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=42;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/10;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=43;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/11;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=44;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/12;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=45;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/13;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=46;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/14;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=47;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/15;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=48;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/16;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=49;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/17;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=50;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/18;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=51;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/19;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=52;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/20;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=53;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/21;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=54;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/22;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=55;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/23;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=56;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/24;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=57;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/25;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=58;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/26;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=59;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/27;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=60;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/28;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=61;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/29;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=62;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/30;
+
+
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=1;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/1;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=2;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/2;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=3;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/3;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=4;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/4;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=5;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/5;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=6;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/6;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=7;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/7;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=8;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/8;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=9;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/9;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=10;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/10;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=11;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/11;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=12;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/12;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=13;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/13;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=14;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/14;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=15;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/15;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=16;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/16;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=17;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/17;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=18;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/18;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=19;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/19;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=20;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/20;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=21;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/21;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=22;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/22;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=23;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/23;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=24;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/24;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=25;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/25;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=26;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/26;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=27;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/27;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=28;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/28;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=29;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/29;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=30;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/30;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=31;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/31;
+
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=32;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/0;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=33;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/1;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=34;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/2;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=35;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/3;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=36;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/4;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=37;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/5;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=38;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/6;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=39;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/7;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=40;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/8;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=41;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/9;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=42;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/10;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=43;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/11;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=44;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/12;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=45;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/13;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=46;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/14;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=47;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/15;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=48;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/16;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=49;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/17;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=50;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/18;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=51;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/19;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=52;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/20;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=53;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/21;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=54;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/22;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=55;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/23;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=56;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/24;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=57;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/25;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=58;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/26;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=59;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/27;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=60;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/28;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=61;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/29;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=62;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/30;
+
+
diff --git a/plugins/mate/examples/mgw2.thing b/plugins/mate/examples/mgw2.thing
new file mode 100644
index 0000000000..b07f53d370
--- /dev/null
+++ b/plugins/mate/examples/mgw2.thing
@@ -0,0 +1,18 @@
+# the transformations example file
+
+# the match (Method=extact|Method=loose|Method=Every)
+# must precede the replace (Method=replace|Method=Insert)
+
+# the list is going to be applied in order
+
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=49;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/2/1;
+
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=61;
+Action=Transform; On=isup; Method=Insert; term=DS1/2/2/29;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=61;
+Action=Transform; On=isup; Method=Insert; term=DS1/2/2/29;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=63;
+Action=Transform; On=isup; Method=Insert; term=DS1/2/2/31;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=109;
+Action=Transform; On=isup; Method=Insert; term=DS1/2/3/13;
diff --git a/plugins/mate/examples/mgw_mi.thing b/plugins/mate/examples/mgw_mi.thing
new file mode 100644
index 0000000000..d76851b484
--- /dev/null
+++ b/plugins/mate/examples/mgw_mi.thing
@@ -0,0 +1,248 @@
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=1;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/1;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=2;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/2;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=3;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/3;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=4;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/4;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=5;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/5;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=6;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/6;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=7;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/7;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=8;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/8;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=9;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/9;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=10;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/10;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=11;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/11;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=12;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/12;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=13;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/13;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=14;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/14;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=15;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/15;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=16;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/16;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=17;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/17;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=18;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/18;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=19;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/19;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=20;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/20;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=21;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/21;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=22;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/22;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=23;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/23;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=24;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/24;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=25;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/25;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=26;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/26;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=27;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/27;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=28;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/28;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=29;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/29;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=30;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/30;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=31;
+Action=Transform; On=isup; Method=Insert; term=DS1/0/1/31;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=33;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/1;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=34;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/2;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=35;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/3;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=36;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/4;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=37;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/5;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=38;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/6;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=39;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/7;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=40;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/8;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=41;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/9;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=42;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/10;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=43;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/11;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=44;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/12;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=45;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/13;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=46;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/14;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=47;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/15;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=48;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/16;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=49;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/17;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=50;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/18;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=51;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/19;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=52;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/20;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=53;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/21;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=54;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/22;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=55;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/23;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=56;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/24;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=57;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/25;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=58;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/26;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=59;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/27;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=60;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/28;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=61;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/29;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=62;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/30;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=63;
+Action=Transform; On=isup; Method=Insert; term=DS1/3/1/31;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=33;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/1;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=34;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/2;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=35;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/3;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=36;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/4;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=37;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/5;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=38;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/6;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=39;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/7;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=40;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/8;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=41;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/9;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=42;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/10;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=43;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/11;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=44;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/12;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=45;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/13;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=46;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/14;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=47;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/15;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=48;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/16;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=49;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/17;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=50;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/18;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=51;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/19;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=52;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/20;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=53;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/21;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=54;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/22;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=55;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/23;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=56;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/24;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=57;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/25;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=58;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/26;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=59;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/27;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=60;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/28;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=61;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/29;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=62;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/30;
+Action=Transform; On=isup; Method=Every; mtp3pc=5378; cic=63;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/1/31;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=1;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/1;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=2;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/2;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=3;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/3;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=4;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/4;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=5;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/5;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=6;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/6;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=7;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/7;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=8;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/8;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=9;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/9;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=10;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/10;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=11;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/11;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=12;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/12;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=13;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/13;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=14;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/14;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=15;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/15;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=16;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/16;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=17;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/17;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=18;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/18;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=19;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/19;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=20;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/20;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=21;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/21;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=22;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/22;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=23;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/23;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=24;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/24;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=25;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/25;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=26;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/26;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=27;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/27;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=28;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/28;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=29;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/29;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=30;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/30;
+Action=Transform; On=isup; Method=Every; mtp3pc=11522; cic=31;
+Action=Transform; On=isup; Method=Insert; term=DS1/1/2/31;
diff --git a/plugins/mate/examples/newcall.mate b/plugins/mate/examples/newcall.mate
new file mode 100644
index 0000000000..4158c0b9a9
--- /dev/null
+++ b/plugins/mate/examples/newcall.mate
@@ -0,0 +1,22 @@
+Action=Settings; Debug_Cfg=1; Debug_Leg=5;
+#Debug_PDU=9;
+
+Action=PDU; Name=Q931; Proto=q931; Transport=ip; addr=ip.addr; call_ref=q931.call_ref; q931_msg=q931.message_type; guid=h225.guid; called=q931.called_party_number.digits; calling=q931.calling_party_number.digits; q931_cause=q931.cause_value; h225_cause=h225.ReleaseCompleteReason;
+Action=PDU; Name=ISUP; Proto=isup; Transport=mtp3; mtp3pc=mtp3.dpc; mtp3pc=mtp3.opc; cic=isup.cic; isup_msg=isup.message_type; called=isup.called; calling=isup.calling; isup_cause=isup.cause_indicator;
+Action=PDU; Name=RAS; Proto=h225; Transport=ip; udp_port=udp.port; ras_msg=h225.RasMessage; addr=ip.addr; guid=h225.guid; seqnum=h225.RequestSeqNum;
+
+Action=Grp; Grp=isup; On=ISUP; cic; mtp3pc; mtp3pc;
+Action=GrpStart; Grp=isup; isup_msg=1;
+Action=GrpStop; Grp=isup; isup_msg=16;
+Action=GrpExtra; Grp=isup; called; calling; isup_cause;
+
+Action=GrpKey; Name=q931; On=Q931; call_ref; addr; addr;
+Action=GrpStart; Grp=q931; q931_msg=5;
+Action=GrpStop; Grp=q931; q931_msg=90;
+Action=GrpExtra; Grp=q931; guid; called; calling; q931_cause; h225_cause;
+
+Action=GrpKey; Name=ras; On=RAS; seqnum; addr; addr;
+Action=GrpStart; Grp=ras; ras_msg|0|3|6|9|12|15|18|21|26|30;
+Action=GrpStop; Grp=ras; ras_msg|1|2|4|5|7|8|10|11|13|14|16|17|19|20|22|24|27|28|29|31;
+Action=GrpExtra; Grp=ras; guid;
+
diff --git a/plugins/mate/examples/nrg_sms.thing b/plugins/mate/examples/nrg_sms.thing
new file mode 100644
index 0000000000..038deed5a2
--- /dev/null
+++ b/plugins/mate/examples/nrg_sms.thing
@@ -0,0 +1,20 @@
+# nrg_sms.thing
+# (c) 2004, Luis E. Garcia Ontanon
+# Distributed under GPL see http://www.gno.org/gpl.html for licencing info
+
+#Action=Settings; DiscardPduData=TRUE; Debug_Leak=3; Filename=/Users/lego/Desktop/call_thing.log;
+
+Action=PDU; Proto=ucp; Transport=ip; addr=ip.addr; ucp_trn=ucp.hdr.TRN; ucp_ot=ucp.hdr.OT; ucp_type=ucp.hdr.O_R; e164=ucp.parm.AdC;
+Action=LegKey; On=ucp; ucp_trn; addr; addr;
+Action=LegStart; On=ucp; ucp_type=79;
+Action=LegStop; On=ucp; ucp_type=82;
+
+Action=LegExtra; On=ucp; e164; ucp_ot;
+
+Action=PDU; Proto=giop; Transport=ip; addr=ip.addr; giop_id=giop.request_id; giop_op=giop.request_op; giop_type=giop.type;
+Action=LegKey; On=giop; giop_id; addr; addr;
+Action=LegStart; On=giop; giop_type=0;
+Action=LegStop; On=giop; giop_type=1;
+
+Action=LegExtra; On=giop; giop_op;
+
diff --git a/plugins/mate/examples/rad.thing b/plugins/mate/examples/rad.thing
new file mode 100644
index 0000000000..55b7801d44
--- /dev/null
+++ b/plugins/mate/examples/rad.thing
@@ -0,0 +1,11 @@
+Action=Settings; SessionExpire=300;
+
+Action=PDU; Proto=radius; Transport=ip; radius_id=radius.id; radius_code=radius.code; class=radius.class; addr=ip.addr; calling=radius.calling; rad_sesid=radius.acct.sessionid;
+Action=LegKey; On=radius; addr; addr; radius_id;
+Action=LegStart; On=radius; radius_code|1|4;
+Action=LegStop; On=radius; radius_code|2|3|5;
+
+Action=LegExtra; On=radius; calling; class; rad_sesid;
+
+Action=SesExtra; On=radses; calling; class;
+Action=SesKey; Name=radses; On=radius; rad_sesid;