Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

..
Failed to load latest commit information.
gth
Makefile
README
gth.py
play.py
record.py
save_to_pcap.py
sniff_isup.py
wide_recorder.py

README

Author: matthias@corelatus.se
----------------------------------------------------------------------

Introduction

  This is example code in Python for a Corelatus GTH. It depends on the
  'pyparsing' package.

  The examples were tested on python 2.6.6 and 2.5.4 on linux.

  Each example is built on top of a little library, gth/apilib.py, which
  lets you hack up python code to do pretty much anything supported by
  the GTH, i.e. you don't have to write your own parser.

  Disclaimer: I'm a python beginner, i.e. if it looks weird, then that's
              most likely because I didn't know better. Suggestions for
              improvement are welcome to matthias@corelatus.se


Command line for exploring GTH configuration
--------------------------------------------

  'gth.py' does (almost) all the things which the GTH's built-in SSH
  CLI can do:

    - enable and disable E1/T1 and SDH/SONET interfaces

    - query attributes on all resources, e.g. read out the counters
      for E1/T1, SDH/SONET and Ethernet interfaces.

    - set attributes on resources, e.g. configure the IP address and
      NTP server

    - zero (reset) counters on resources, e.g. clear the error counters
      on E1/T1 or SDH/SONET interfaces

    - reboot

  Run 'gth.py' without arguments to see some examples.


Recorded file playback
----------------------

  Plays back a previously recorded timeslot on an E1/T1. The GTH
  can record bit-exact copies of timeslots and then play back
  such files at a later time. Typical use:

    >./play.py 172.16.2.7 1A 16 signalling.raw
    All done, sent 2276 octets

  The file could contain audio (8kHz Alaw, without a header) or
  it could contain signalling. The GTH treats both the same. Most
  likely it's a dump of an E1/T1 you recorded earlier using the next
  example.


E1/T1 timeslot dump to a file
-----------------------------

  This is the opposite of 'recorded file playback'. It copies the
  data on the given E1 to a file on your PC. Typical use:

    >./record.py 172.16.2.7 1A 16 4000 signalling.raw
    All done, wrote 4000 octets


E1/T1 full dump to a file
-------------------------

  This demonstrates the experimental (as of 2013-01) 'wide_recorder'
  feature which is available on the SDH/SONET Monitoring Probe only.

    >./wide_recorder.py 172.16.1.10 1 /tmp/full_e1.raw


Sniff ISUP
----------

  Print out when calls start and stop on an SS7 link.

  Uses the GTH to decode MTP-1 and MTP-2. MTP-3 and ISUP decoding
  is done in python. Typical use:

     >./sniff_isup.py gth21 1A 16
     IAM called party: 21255512 calling party: 11313555 CIC=0
     ignoring ISUP address complete
     ignoring ISUP answer
     ignoring ISUP release
     RLC on CIC=0

# eof

Something went wrong with that request. Please try again.