M4 Termination Points

From Kolmisoft Wiki
Jump to navigationJump to search


The Termination Point is a connection to some final entity (device/line/trunk/provider/supplier/etc) where the call will be terminated.

The call comes from Origination Points and goes to Termination Point.

Termination Points are assigned to Dial Peers.


  • Progress Timeout – allows limiting the maximum time we will wait before we get media (whether it's early media (SIP 183), ringing (SIP 180), or answer (SIP 200)). Leave 0 for unlimited.
  • Ringing Timeout – allows limiting the ringing duration in seconds. Leave 0 for unlimited. The minimal value is 10 seconds.
  • Call Timeout – allows to limit answered call duration. Leave 0 for unlimited.

Termination Point


  • Act as Termination Point - turns on/turns of Termination Point. If selected No and saved, all settings of Termination Point will be erased.
  • Active - activates/deactivates Termination Point.
  • Capacity - limits the number of concurrent calls to this termination point.
  • Authentication - allows to Register with username and password.
  • Manage A number and Manage B number - allows to Transform, Blacklist and Whitelist Source and Destination numbers/

Old Format transformation examples can be found here and here.
Regexp transformation examples can be found here.

Termination Point Tariffs

TerminationPoint Tariffs.png

  • Tariff - Tariff used for Termination Point accounting.
  • Use Tariffs by CLIs – disabled by default. When enabling this option, the system asks to choose tariff and number pool. If CLI is found in the number pool, the provider tariff will be changed to the chosen one.


Define which Codecs will be offered when dialing Terminator (in the order they are listed).

  • Enforce leg A Codecs to leg B - if this option is enabled in Terminator settings, M4 will ignore selected Terminator Codecs and will offer the same Codecs (in the same order) from leg A to leg B.


  • Name - set name part for CallerID.
  • Number - set number part for CallerID.
  • Random Number from Number Pool - set random number from Number Pool. Only the number part for CallerID is set.
    • Random - Send random CallerID from Number Pool.
    • Pseudorandom with Deviation - Range can vary from 0 to 9999999. If 0 is chosen, then all numbers will be chosen the same amount of times. If 9999999 is set, then numbers will be completely random.

Advanced Settings

  • Grace Time - Grace time in seconds.
  • Limit up to X Calls, during Y seconds - allows controlling Calls per Second (CPS).

Advanced Termination Point Settings

  • Periodic check – if enabled, periodic SIP OPTIONS requests will be sent to Termination Point to check if it is reachable. If Periodic Check is enabled and Termination Point does not respond to OPTIONS request then Termination Point will be marked as unreachable and will be skipped with HGC 324 - Unreachable Terminator skipped (Periodic Check is enabled) when making calls. Once Termination Point starts to respond to OPTIONS requests it will be marked as reachable and calls will be routed through this Termination Point. Termination Points are checked every 5 minutes. If the Periodic check is enabled, and Termination Point IP is reachable, in Connection Points window IP will be in green color. If Termination Point IP is NOT reachable, its IP will be in red color, also the UNCREACHABLE icon near IP will appear in the Termination Point edit window.
  • TP Allows Media from any IP address – are we allowed to pass any media IP address to Termination Point (direct media from OP)?
  • Add STIR/SHAKEN Identity – should we add the SIP Identity header when calling to this Termination Point? More info on STIR/SHAKEN.
  • STIR/SHAKEN Attestation Level – set attestation level. A, B, C, or Default (use stirshaken_attest_level from /etc/m2/system.conf). More info on STIR/SHAKEN.

Termination Point Signaling Settings

  • Header Transformation Rules Group - which Header Transformation Rules Group to use.
  • Remote-Party-ID to TP - same options as for P-Asserted-Identity to TP below. These options are identical both for Remote-Party-ID and for P-Asserted-Identity and so only P-Asserted-Identity will be described below
  • P-Asserted-Identity to TP - allow manipulation P-Asserted-Identity headers before sending them to TP. Available options are:

    Pai to tp.png

    • Drop - drop (do not send) header to TP.
    • Forward - Forward header from OP to TP.
      • PAI from OP Transformation: - Optional regex to transform header before forwarding. More info.
    • Generate if missing - Generate header if it is missing.
      • PAI from OP Transformation: - Optional regex to transform header before forwarding if header is not missing. More info.
      • PAI Generation: - PAI header value to generate if header is missing. More info.
    • Overwrite - Overwrite the header value with a new one.
      • PAI Generation: - PAI header value to generate which will overwrite existing PAI. More info.
  • Send PAI Number as CallerID (From:) to TP - take a number from the incoming SIP PAI header and set it as CallerID (SIP From) in the outgoing Invite to Termination Point. Available options are: Never, Always, If FROM is Anonymous, If FROM is not Anonymous, By OP (uses Origination Point setting).

This setting depends on the same setting from the OP. The logic is described below:

Send pai table.png

  • Ignore SIP 183 without SDP - by default disabled. Select Yes to enable the option.
  • Ignore SIP 180 after 183 - by default disabled. Select Yes to enable the option.
  • Disconnect Codes Group: - Disconnect Codes Group to use. More information is available here.


It is possible to set subnetwork for Termination Point. Instead of IP address, you can set subnet in IP Address input field. Subnet should be written in CIDR notation (for example When a call is routed through Termination Point which uses a subnet, random IP address from that subnet will be chosen for the outgoing call.

M4 subnet value range is 4-30.

You can use an online subnet calculator to check the first and last usable IP address from a given subnet.

IP range

If you need to set multiple IP addresses for a single Termination Point and Subnetting does not meet your needs, then you can set IP ranges. Ranges are written in the following format:


Note that you can set the range only for the last octet in the IP address.

When a call is routed through Termination Point which uses the IP range, random IP address from that range will be chosen for the outgoing call. For example, if we have an IP range, then a random IP address from the range - will be generated.


If the Connection point is set to work ONLY as Termination point, it is allowed to put a hostname in the IP Address field, for example, sip.voipservice.org

See also