Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.




  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/, 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

Command line for exploring GTH configuration

  '' 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 '' 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:

    >./ 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

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:

    >./ 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.

    >./ 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:

     >./ 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.