Toolpack monitoring isdn analyzer

From TBwiki
Revision as of 08:33, 21 April 2016 by Abrassard (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Toolpack ISDN Analyzer is a class that uses Media-only legs and monitoring API to capture HDLC frames from ISDN D-channel timeslot.

The captured ISDN HDLC frames are analyzed, to identify Q.921 and Q.931 frames from the HDLC frames.

Then, ISDN calls are identified from the analyzed Q.931 packets.

Capturing each direction of each D-Channel

The ISDN analyzer will allocate a pair TDM media-only call legs for each Line service of the ISDN stack that has a D-Channel (primary D-Channel, and backup D-Channel if appropriate).

  • The primary Line service of the ISDN stack holds the primary D-channel (timeslot 16 for E1, timeslot 24 for T1/J1).
  • For NFAS ISDN stacks, multiple Line services are used. An optional backup D-channel may be present among these line services.

Typical ISDN analyzer call flow

A typical ISDN analyzer call goes as follows:

  • ISDN Q.931 "SETUP" message is detected
    • ISDN IEs are analyzed to extract relevant information
      • Call id
      • Channel identification
      • Calling/called numbers
      • And others...
    • A new "analyzed" call context is created, bound with the call id
  • ISDN Q.931 "PROCEEDING" is detected
    • The call changes to "accepted" state
  • ISDN Q.931 "ALERTING" is detected
    • The call changes to "alerting" state
  • ISDN Q.931 "CONNECT" is detected
    • The call changes to "answered" state
  • ISDN Q.931 "DISCONNECT" is detected
    • The call changes to "terminating" state
  • ISDN Q.931 "RELEASE" is detected
    • The call changes to "terinated" state
  • ISDN Q.931 "RELEASE_COMPLETE" is detected
    • The call context is destroyed

Forwarding analyzed call states to application

Each analyzer has been provided a pointer to a "parent" application (a "user") to inform of call state changes.

This "user" is a class that implement the interface ITBCAFAnalyzerUser.

This interface will provide the "user" with the following callbacks from the analyzer, to report new calls and state changes:

  • OnAnalyzerCallLegPresent: A new ISDN call was detected
  • OnAnalyzerCallLegAccepted: A ISDN call is now "accepted"
  • OnAnalyzerCallLegAlerting: A ISDN call is now "alerting" (ringing)
  • OnAnalyzerCallLegAnswered: A ISDN call is now "answered"
  • OnAnalyzerCallLegTerminating: A ISDN call is now "terminating"
  • OnAnalyzerCallLegTerminated: A ISDN call is now terminated
  • OnAnalyzerCallLegSuppInfo: Other ISDN message (non call-state affecting) was received

It's up to the user application to decide what should be done with analyzed calls and state changes.

Personal tools