Difference between revisions of "M4 Termination Points"

From Kolmisoft Wiki
Jump to navigationJump to search
 
(15 intermediate revisions by 3 users not shown)
Line 10: Line 10:
==Timeouts==
==Timeouts==


* '''Progress Timeout''' – allows limiting the maximum time we will wait before we get media (whether it's early media, ringing, or answer). Leave 0 for unlimited.
* '''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.
* '''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.
* '''Call Timeout''' – allows to limit answered call duration. Leave 0 for unlimited.


<br><br>
<br><br>
==Termination Point==
==Termination Point==
[[File:TerminationPoint.png]]
[[File:TerminationPoint.png]]
* '''Act as Termination Point''' - turns on/turns of Termination Point. If selected No and saved, all settings of Termination Point will be erased.<br>
* '''Act as Termination Point''' - turns on/turns of Termination Point. If selected No and saved, all settings of Termination Point will be erased.<br>
* '''Active''' - activates/deactivates Termination Point.<br>
* '''Active''' - activates/deactivates Termination Point.<br>
* '''Source Transformation''' - special [[M4 Source Transformation | Source Transformation]] rules used to modify Source number.<br>
* '''Destination Transformation''' - special [[M4 Destination Transformation | Destination Transformation]] rules used to modify outgoing number. "Regexp" option allows to transform RURI and TO headers separately, while "Old format" can only transform both headers using the same rule.<br>
* '''Capacity''' - limits the number of concurrent calls to this termination point.<br>
* '''Capacity''' - limits the number of concurrent calls to this termination point.<br>
* '''Source (CallerID) Allow''' - regular expression (regexp) for CallerIDs that are allowed to go through this termination point (use regexp '''.*''' if you want to allow all CallerIDs to go through this termination point).<br>
* '''Authentication''' - allows to Register with username and password.<br>
* '''Source (CallerID) Deny''' - regular expression (regexp) for CallerIDs that are NOT allowed to go through this termination point (leave empty if you do not want to disallow any CallerIDs).<br>
* '''Register''' - should we register the provider? This option is not available on M4 yet<br>
* '''From Domain''' - field is active only whent Register is enabled<br>
* '''[[M4 Mobile Number Portability|MNP]] Carrier Group''' - name of [[M4 MNP Carrier Groups | MNP Carrier Group]]<br>
* '''Authentication - Enabled/Disabled''' -  When Enabled, login and username data can be entered.
* '''Login/Username''' - username if your provider asks for it.<br>
* '''Password''' - password used for authentication by your provider.<br>
* '''USA Jurisdictional Routing''' - Jurisdictional routing is telephone call routing logic based upon the locations of the calling and called the number and regulatory considerations. '''Can be enabled by Kolmisoft only. Please contact support to enable.''' More information can be found here [https://transnexus.com/whitepapers/jurisdictional-routing Here]
* Intra Tariff- Tariff for Intrastate routing. Calls between two points within the same state
* Inter Tariff - Tariff for Interstate routing. Calls made from one state to another
* Indeter Tariff - Tariff for Invalid ANI, or indeterminate routing. Calls where the calling number is any value other than a valid telephone number — are usually rated at the intrastate rate


* '''Manage A number''' and '''Manage B number''' - allows to Transform, Blacklist and Whitelist Source and Destination numbers/
Old Format transformation examples can be found [http://wiki.kolmisoft.com/index.php/M4_Destination_Transformation here] and [http://wiki.kolmisoft.com/index.php/M4_Source_Transformation here].<br>
Regexp transformation examples can be found [http://wiki.kolmisoft.com/index.php/M4_Regexp_Examples#Regexp_for_transformation here].
<br><br>
<br><br>


Line 40: Line 31:
[[File:TerminationPoint_Tariffs.png]]
[[File:TerminationPoint_Tariffs.png]]
* '''Tariff''' - Tariff used for Termination Point accounting.<br>
* '''Tariff''' - Tariff used for Termination Point accounting.<br>
* '''Use Tariffs by CLIs''' – disabled by default.<br>
* '''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.<br>


<br><br>
<br><br>
==Codecs==
==Codecs==


Line 62: Line 54:


* '''Grace Time''' - Grace time in seconds.  
* '''Grace Time''' - Grace time in seconds.  
* '''Custom SIP Header''' - adds custom header to SIP request. The format is the header: value (for example x-My-Custom-Header: my value). Do not omit space after the colon character.
* '''Limit up to X Calls, during Y seconds''' - allows controlling Calls per Second (CPS).<br>
* '''Limit up to X Calls, during Y seconds''' - allows controlling Calls per Second (CPS).<br>
* '''Disable Q.850 Reason''' - by default M4 returns the Q.850 Reason header in SIP responses to Originator. This can be disabled by setting this option to "yes".
<br><br>
* '''Bypass Media''' - when set, the media (RTP) from the originating endpoint is sent directly to the destination endpoint and vice versa. The signaling (SIP) for both endpoints still goes through M4, but the media is point-to-point.


<br><br>
== Advanced Termination Point Settings ==
== Advanced Termination Point Settings ==


* '''Interpret NO ANSWER as FAILED''' - makes NO ANSWER calls interpreted as FAILED (tries to use next Provider in the Routing Table) <br>
* '''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 [[M4_Connection_Points|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.<br>
* '''Interpret BUSY as FAILED''' - makes BUSY calls interpreted as FAILED (tries to use next Provider in the Routing Table) <br>
* '''TP Allows Media from any IP address''' – are we allowed to pass any media IP address to Termination Point (direct media from OP)?
* '''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 [[M4_Connection_Points|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.<br>
* '''Add STIR/SHAKEN Identity''' – should we add the SIP Identity header when calling to this Termination Point? More info on [[M4 STIR/SHAKEN|STIR/SHAKEN]].
* '''Sticky Contact''' – if this option is enabled, M4 uses only the first SIP Contact header received from Termination Point. Sometimes Terminators change the Contact header in the middle of a SIP dialog and in some cases, this may lead to unpredicted behavior (for example Terminator changes the Contact header to the wrong address and calls do not terminate properly). Use this option only if you know what you are doing. This option applies only to Termination points.
* '''STIR/SHAKEN Attestation Level''' – set attestation level. A, B, C, or Default (use stirshaken_attest_level from /etc/m2/system.conf). More info on [[M4 STIR/SHAKEN|STIR/SHAKEN]].
* '''Disable SIP URI encoding''' - enable or disable SIP URI encoding. If enabled, then some characters in SIP URI (Invite, To) are encoded in percent encoding. For example, if you send number 123#99999, encoded SIP URI will be sent to Provider as 123%2399999 (note that # is replaced by %23). If your Provider does not accept encoded SIP URI, you may disable this feature, and characters like # will not be encoded.
* '''Fix NAT'ed Contact''' – When this setting is enabled, M4 replaces the local IP in the Contact header with the source IP.


<br><br>
<br><br>
== Termination Point Signaling Settings ==
== Termination Point Signaling Settings ==
*  '''Header Transformation Rules Group''' - which [[M4 Header Transformation Rules Groups|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
*  '''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: <br><br>[[File:Pai_to_tp.png]]<br><br>
* ''' P-Asserted-Identity to TP''' -  allow manipulation P-Asserted-Identity headers before sending them to TP. Available options are: <br><br>[[File:Pai_to_tp.png]]<br><br>
Line 88: Line 79:
** '''Overwrite''' - Overwrite the header value with a new one.
** '''Overwrite''' - Overwrite the header value with a new one.
*** '''PAI Generation:''' - PAI header value to generate which will overwrite existing PAI. [[M4 PAI And RPID Header Generation| More info]].
*** '''PAI Generation:''' - PAI header value to generate which will overwrite existing PAI. [[M4 PAI And RPID Header Generation| More info]].
* '''Send PAI Number as CallerID (From:) to TP:''' - available options are: Never, Always, If FROM is Anonymous, If FROM is not Anonymous, By OP (uses Origination Point setting).
* '''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:
This setting depends on the same setting from the OP. The logic is described below:
Line 97: Line 88:
* '''Ignore SIP 180 after 183''' - 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 [[M4 Disconnect Codes|here]].
* '''Disconnect Codes Group:''' - Disconnect Codes Group to use. More information is available [[M4 Disconnect Codes|here]].
<br><br>


<br><br>
== Subnetting ==
== Subnetting ==


Line 127: Line 118:


* [[M4 Disconnect Code Changes|Disconnect Code Changes]]
* [[M4 Disconnect Code Changes|Disconnect Code Changes]]
* [[NO_ANSWER/BUSY_interpretation_for_providers]]
* [[M4 STIR/SHAKEN|STIR/SHAKEN]]

Latest revision as of 08:38, 7 August 2024

Description

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.



Timeouts

  • 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

TerminationPoint.png

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



Codecs

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.



CallerID

  • 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.
  • Fix NAT'ed Contact – When this setting is enabled, M4 replaces the local IP in the Contact header with the source IP.



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.



Subnetting

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 192.168.0.1/28). 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:

xxx.xxx.xxx.xxx-yyy

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 192.168.0.100-150, then a random IP address from the range 192.168.0.100 - 192.168.0.150 will be generated.



Hostname

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