TSP Lab Sga-ESR / SIP - The SIP trigger handler module Sga-ESR_SIP

The SIP trigger handler module
("Sga-ESR / SIP")

Table of Contents

Features

User interface

The main menu

Menu Menuitem Shortcut(s) Meaning
[Log]
  Find line containing... (Ctrl-F) Finds text in log window
  Find next matching line (F3) Finds next occurrence of text in log window
  Details   Detail level of logging (Off, Normal, Detailed, or Debug)
[SCTP associations]
  A: Allow auto-connecting (left-side ) Allows automatic (re-)connecting to the SCTP server on association A
  A: Shutdown now!   Immediately disconnects association A
  B: Allow auto-connecting (right-side ) Allows automatic (re-)connecting to the SCTP server on association B
  B: Shutdown now!   Immediately disconnects association B
[ESR-Logic connection]
  Forward request of VoWifi calls   Enables forwarding of VoWifi call triggers to ESR-Logic module. When disabled every request is logged at Detailed and Debug log levels.
  Forward request of VoLTE calls   Enables forwarding of VoLTE call triggers to ESR-Logic module. When disabled every request is logged at Detailed and Debug log levels.
  Forward request of Vo??? calls   Enables forwarding of unindentifiable call triggers to ESR-Logic module. When disabled every request is logged at Detailed and Debug log levels.
  Disconnect   Shutting down of all active connections
  Zero counters   Request and answer counters of TCP connection will be cleared on the status bar
[Options]
  Auto scroll () Allows automatic scrolling of the log screen
  Flush counters   Dump status line counter into log
  Flush & reset counters   Dump status line counter into log and clear them
  Save settings   Saves actual settings into the configuration (Sga-ESR_SIP.ini) file
[Debug] Items in this menu are only for debug and test purposes!
  A: Send a SIP "OPTIONS" message   Sends a SIP "OPTIONS" message on association A
  B: Send a SIP "OPTIONS" message   Sends a SIP "OPTIONS" message on association B
  Send some other message #1...#9 Ctrl-1...9 Sends some test messages

Status-line of 'A' and 'B' associations

The bottom status-line

CDR generation

The module creates a CDR entry on each Invite message. One CDR file is opened for each calendar day. The name of the CDR is "Sga-ESR_SIP_CDR_YYYYMMDD.csv" reflecting the day when it is created.

Logging

The module creates daily logfiles about its working. The name of the logfile is "Modulename_YYYYMMDD.log" reflecting the day when it is created.
The module can write information into the logfile and onto the screen with several detail levels set by the [Log]/Details menu item. The logging level can be: Status line counters are logged in every fifteen minutes irrespectively of logging level actually set.

The different colors of log entries have different meanings:

Code Color Usage
0 Black Compact data record
1 Red Errors
2 Green Open/close output file/stream
3 Blue Open/close input file/stream
4 Yellow Warnings
5 Light Gray Detailed data (debug info)
6 Dark Grey Detailed data (user info)
7 Purple Operator intervention;
Errors with emphasis

Configuration (INI) file settings

Section Entry Example Meaning
[Position]
  iLeft 140 Position of the program module on the display screen
  iTop 72 Position of the program module on the display screen
  iWidth 995 Position of the program module on the display screen
  iHeight 694 Position of the program module on the display screen
[Options]
  bAutoScroll True (Refer to the [Options]/Auto scroll menu item!)
[SCTP]
  wAutoConnectIntervalSec 2 Period for automatic connection of SCTP associations
  bAllowAutoConnectAtStartup_A True (Refer to the [SCTP]/A: Allow auto-connecting menu item!)
  bAllowAutoConnectAtStartup_B True (Refer to the [SCTP]/B: Allow auto-connecting menu item!)
  sLocalIPAddress#N 10.0.123.10 Local IP addresses for SCTP connections.
If more IP addresses are listed then multiple paths are used in associations (MultiHoming).
At most 9 IP address can be defined.
  sRemoteIPAddress_A#1, sRemoteIPAddress_A#2 10.0.123.20, 10.0.123.21 Alternative IP addresses of the SCTP server A. Connects to #1, then #2, then #1, etc.
  sRemoteIPAddress_B#1, sRemoteIPAddress_B#2 10.0.124.20, 10.0.124.21 Alternative IP addresses of the SCTP server B. Connects to #1, then #2, then #1, etc.
  wRemoteSCTPPort_A 2905 SCTP port of the SCTP server A
  wRemoteSCTPPort_B 2905 SCTP port of the SCTP server B
  wLocalSCTPPort 2905 Optional parameter if the SCTP server sticks to a given port. Normally, it should not be used in ClientOnly mode.
  byClientServerMode 0
  • 0 = ClientOnly (actively tries to connect to the remote SCTP peer)
  • 1 = ServerOnly (receives connection attempts from an SCTP peer)
  • 2 = Bisex (combined mode)
  •   wHeartbeatIntervalSec 10 SCTP/HEARTBEAT period
      dwMaxRTOmsec 15000 Retransmission Timeout value in milliseconds
      dwMaxRetransmitsPerInit 3 Maximum number of retransmission for INIT chunks
      dwMaxRetransmitsPerAssociation 9 Maximum number of retransmissions per association
      dwMaxRetransmitsPerPath 4 Maximum number of retransmissions per path
      dwDelayedACKmsec 50 Defines the delay in millisec used during delayed acknowledgement algorithm
      byIPfieldDSCP 16 Default value of DSCP field of IP protocol level can be overwriten by this value.
    Please note: this feature should also be enabled in Windows operating system by modifying the related registry entry!
    [SIP] Replies are loaded on-the-fly, leave entry empty to omit reply
      sStatusReplyForINVITEwithKnownNumber 300 Multiple choices SIP status code applied in the response in case of Called number is an ESR number
      sStatusReplyForINVITEwithUnknownNumber 404 Not found SIP status code applied in the response in case of Called number is not an ESR number
      sStatusReplyForACK 409 Conflict SIP status code applied in the response for an incoming SIP/ACK
      sStatusReplyForBYE 200 OK SIP status code applied in the response for an incoming SIP/BYE
      sStatusReplyForUnknownRequest 400 Bad request SIP status code applied in the response in case an incoming request is not an expected one
      sContactFieldPrefixForESR_VoWifi +3621 Applied as a prefix in the "Contact" field of reponse message in case of VoWifi calls
      bNoAlternateRouteForNeighbours False If "True" then the module tries to select that SCTP association for a response where the request arrived.
    [To-field Replacement] Loaded on-the-fly
      <URN:service:sos> <sip:112@ims.mcc216.mnc099.3gppnetwork.org> In case of URN the "To" field is replaced to this value and this value is forwarded to be processed
    [ESR Numbers] Only listed numbers are allowed to go through the ESR locationing process.
    These settings are loaded on-the-fly
    The required format is: "112 = General Emergency Number". Note: Some text has to be written on the right side.
      112 General Emergency Number This number is allowed
      105 Ambulance This number is also allowed
    [CellId ---> ContactFieldPrefix] For VoLTE ESR-calls
      sDefaultPrefix +361 Applied in case the CellID can not be found in the CellId-Prefix list
      sCSVfileName Sga-ESR_SIP_CellID-Prefix.csv The CellId-Prefix list file
      dwCSVfileReloadDelaySec 5 The CellId-Prefix list file will be loaded after its actual timestamp
      dwCSVfileMinimumeSizeBytes 1000 The file size should be greater than this value, don't load otherwise
      dwCSVfileSleepBetweenSubsequentCheckingSec 5 Period for CSV file checkings
    [ESR Logic]
      sRemoteIPAddress 127.0.0.3 IP address of ESR_Logic module. Used for station restriction, leave it empty for no restriction
      wLocalTCPPort 8003 Port number, where the remote modules can connect
      bSuppressDisconnectTrap False When it is true no traps raised on disconnecting of ESR-Logic connection
    [SGAfiles] Entries in this section are reloaded once per every second.
      sFilesPath D:\SS7Files Path for SGA files. Considered when opening an SGA file. Leave (or change) empty not to write SIP data into file
      sSigLinkID SI Two character long link ID to identify the messages.
      dwFilePeriodMin 15 Period of SGA file creation.
    [Advanced]
      sID PROD This 9 character identifier is indicated in the caption of the module and placed in the alarm generated by the module
      wLogDetailLevel 3 (Equals to the listed order; refer to the [Log]/Details menu item!)
      dwMaxLinesInLogWindow 1000 Number of lines in the log window on screen
      sLogFilesPath d:\LogFiles Path for the LOG files
      sTrapFilesPath d:\TrapFiles Path for the SNMP Trap files to be sent
      sCDRFilesPath d:\CDRFiles Path for the CDR's
      bAlternateTrapUID False Allows using fixed UIDs in SNMP traps (See SNMP trap list below for details)
      wThreadPeriod 20 Time period when idle threads are given CPU time slice (given in milliseconds)

    SNMP trap list

    UID Type Text Remarks To Do
    If bAlternateTrapUID is set to TRUE
    9 CEA 'Sga-ESR / SIP v0.90' module is started. Send a welcome message; indication of module start-up  
    9 CRI 'Sga-ESR / SIP v0.90' module has been shut down by operator. Send a farewell warning message; indication of module shut-down Start the 'Sga-ESR_SIP' module
    90 CEA SCTP(A) association is up.    
    90 CRI SCTP(A) association has died. (shutdown) Connection is down; The other side has sent an SCTP/SHUTDOWN message. Check if the SCTP server is working and the connection parameters are set properly.
    90 CRI SCTP(A) association has died. (lost) The SCTP server has become unreachable (there is no ACK for SCTP/HEARTBEAT). Check if the SCTP server is alive and the IP connection is working properly.
    90 CRI SCTP(A) association has died. (operator) Connection is down. Operator has executed the [SCTP]/Shutdown now! menu item. Set SCTP(A) auto-connecting to be true ([SCTP]/A: Allow auto-connecting menu item)
    91 CEA SCTP(B) association is up.    
    91 CRI SCTP(B) association has died. (shutdown) Connection is down; The other side has sent an SCTP/SHUTDOWN message. Check if the SCTP server is working and the connection parameters are set properly.
    91 CRI SCTP(B) association has died. (lost) The SCTP server has become unreachable (there is no ACK for SCTP/HEARTBEAT). Check if the SCTP server is alive and the IP connection is working properly.
    91 CRI SCTP(B) association has died. (operator) Connection is down. Operator has executed the [SCTP]/Shutdown now! menu item. Set SCTP(A) auto-connecting to be true ([SCTP]/B: Allow auto-connecting menu item)
    92 INF ESR-Logic: Up. ESR-Logic module has connected for the first time.  
    92 ERR ESR-Logic: Closed by operator. Connection is down. Operator has executed the [ESR-Logic connection]/Disconnect menu item. The ESR-Logic module should automatically be trying to establish the connection. Check if the remote module works properly or the TCP connection is reliable.
    92 ERR ESR-Logic: Closed by the remote side. The connection is closed by the ESR-Logic module. Check if the ESR-Logic module works properly or the TCP connection is reliable.
    92 CEA ESR-Logic: Closed (i.e., up again). The connection is restored. After a previous connection has been closed.
    93 ERR ESR-Logic: Failed to send request! (not connected | congested | return value: X, error code: Y | return value: X) The request can not be sent to ESR-Logic module, due to: not connected, congestion or other error Check the connection to the ESR-Logic module or the operation of it.
    93 CEA ESR-Logic: Failed to send request! (i.e., OK again) Requests again can be forwarded to the ESR-Logic module.  
    If bAlternateTrapUID is set to FALSE
    0 INF 'Sga-ESR / SIP v0.90' module is started. Send a welcome message; indication of module start-up  
    0 WAR 'Sga-ESR / SIP v0.90' module has been shut down by operator. Send a farewell warning message; indication of module shut-down Start the 'Sga-ESR_SIP' module
    ++N INF ESR-Logic: Up. ESR-Logic module has connected.  
    ++N ERR ESR-Logic: Closed by the remote side. The connection is closed. Check if the remote module works properly or the TCP connection is reliable.
    N CEA ESR-Logic: Closed (i.e., up again). The connection is restored. After a previous connection has been closed.
    ++N ERR ESR-Logic: Failed to send request! (not connected | congested | return value: X, error code: Y | return value: X) The request can not be sent to ESR-Logic module, due to: not connected, congestion or other error Check if the remote module works properly or the TCP connection is reliable.
    N CEA ESR-Logic: Failed to send request! (i.e., OK again) The connection is restored. After a previous sending failure.

    Version history