Difference between revisions of "M4 Termination Points"

From Kolmisoft Wiki
Jump to navigationJump to search
(36 intermediate revisions by 7 users not shown)
Line 1: Line 1:
=Description=
=Description=


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


Call comes from [[M2 Origination Points | Origination Points]] and goes to Termination Point.
The call comes from [[M4 Origination Points | Origination Points]] and goes to Termination Point.


Termination Points are assigned to [[M2 Dial Peers | Dial Peers]].<br>
Termination Points are assigned to [[M4 Dial Peers | Dial Peers]].<br>


<br><br>
==Timeouts==
==Timeouts==


* '''Progress Timeout''' – allows to limit 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 to limit the ringing duration in seconds. Leave 0 for unlimited. 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>


==Termination Point==
==Termination Point==
Line 17: Line 20:
* '''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 [[M2 Source Transformation | Source Transformation]] rules used to modify Source number.<br>
* '''Capacity''' - limits the number of concurrent calls to this termination point.<br>
* '''Destination Transformation''' - special [[M2 Destination Transformation | Destination Transformation]] rules used to modify outgoing number.<br>
* '''Authentication''' - allows to Register with username and password.<br>
 
* '''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>
 
==Termination Point Tariffs==
[[File:TerminationPoint_Tariffs.png]]
* '''Tariff''' - Tariff used for Termination Point accounting.<br>
* '''Tariff''' - Tariff used for Termination Point accounting.<br>
* '''Capacity''' - limits the number of concurrent calls to this termination point.<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>
* '''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>
 
* '''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>
<br><br>
* '''Register''' - should we register the provider?<br>
* '''From Domain''' - field is active only whent Register is enabled<br>
* '''[[M2 Mobile Number Portability|MNP]] Carrier Group''' - name of [[M2 MNP Carrier Groups | MNP Carrier Group]]<br>
* '''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 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]
[[File:USAJurisdictionalRouting.png]]
* 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—these are usually rated at the intrastate rate


==Codecs==
==Codecs==
Line 38: Line 39:
Define which Codecs will be offered when dialing Terminator (in the order they are listed).
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, M2 will ignore selected Terminator Codecs and will offer the same Codecs (in same order) from leg A to leg B. More information can be found [[M2 Codec Negotiation | here]].
* '''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.  


<br><br>
== CallerID ==
== CallerID ==


* '''Name''' - set name part for CallerID.<br>
* '''Name''' - set name part for CallerID.<br>
* '''Number''' - set number part for CallerID.<br>
* '''Number''' - set number part for CallerID.<br>
* '''Random Number from Number Pool''' - set random number from Number Pool. Only number part for CallerID is set.
* '''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.
** '''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 same amount of times. If 9999999 is set, then numbers will be completely random.
** '''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.


<br><br>
== Advanced Settings ==
== Advanced Settings ==


* '''Grace Time''' - Grace time in seconds.  
* '''Grace Time''' - Grace time in seconds.  
* '''Custom SIP Header''' - adds custom header to SIP request. Format is header: value (for example x-My-Custom-Header: my value). Do not omit space after 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 to control Calls per Second (CPS).<br>
<br><br>
* '''Disable Q.850 Reason''' - by default M2 returns Q.850 Reason header in SIP responses to Originator. This can be disabled by setting this option to "yes".
* '''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 M2, but the media is point-to-point.


== Advanced Termination Point Settings ==
== Advanced Termination Point Settings ==


* '''Interpret NO ANSWER as FAILED''' - makes NO ANSWER calls interpretation as FAILED. <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 interpretation as FAILED <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 request it will be marked as reachable and calls will be routed through this Termination Point. Termination Points are checked every 5 minutes. If Periodic check is enabled, and Termination Point IP is reachable, in [[M2_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 UNCREACHABLE icon near IP will appear in 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, M2 uses only first SIP Contact header received from Termination Point. Sometimes Terminators change Contact header in the middle of SIP dialog and in some cases this may lead to unpredicted behavior (for example Terminator changes Contact header to 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.
* '''Use PAI if CallerID is anonymous''' - if enabled, when Originator is sending '''anonymous''' CallerID and PAI header is present, then number from PAI header is used as CallerID when sending call to Terminator.
 
* '''Forward RPID''' - by default forward RPID header from Originator to Terminator. This can be disabled by setting this option to "no". [[M4 RPID/PAI|More info]]
<br><br>
* '''Forward PAI''' - by default forward PAI header from Originator to Terminator. This can be disabled by setting this option to "no". [[M4 RPID/PAI|More info]]
 
== 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
* ''' 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>
** '''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. [[M4 Transformations | 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. [[M4 Transformations | More info]].
*** '''PAI Generation:''' - PAI header value to generate if header '''is''' missing. [[M4 PAI And RPID Header Generation| More info]].
** '''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]].
* '''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:
 
[[File: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 [[M4 Disconnect Codes|here]].
<br><br>


== Subnetting ==
== Subnetting ==


It is possible to set [http://en.wikipedia.org/wiki/Subnetwork subnetwork] for Termination Point. Instead of IP address, you can set subnet in '''IP Address''' input field. Subnet should be written in [http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR notation] (for example 192.168.0.1/28). When call is routed through Termination Point which uses subnet, '''random''' IP address from that subnet will be chosen for outgoing call.
It is possible to set [http://en.wikipedia.org/wiki/Subnetwork subnetwork] for Termination Point. Instead of IP address, you can set subnet in '''IP Address''' input field. Subnet should be written in [http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing 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.


M2 subnet value range is 4-30.
M4 subnet value range is 4-30.
<br><br>
<br><br>
You can use online subnet [http://www.aboutmyip.com/AboutMyXApp/SubnetCalculator.jsp? calculator] to check first and last usable IP address from given subnet.
You can use an online subnet [http://www.aboutmyip.com/AboutMyXApp/SubnetCalculator.jsp? calculator] to check the first and last usable IP address from a given subnet.


<br><br>
== IP range ==
== IP range ==


If you need to set multiple IP addresses for single Termination Point and Subnetting does not meet your needs, then you can set IP ranges. Ranges are written in the following format:
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
  xxx.xxx.xxx.xxx-yyy


Note that you can set range only for last octet in IP address.<br>
Note that you can set the range only for the last octet in the IP address.<br>
 
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.<br>
 
<br><br>
== Hostname ==


When call is routed through Termination Point which uses IP range, '''random''' IP address from that range will be chosen for outgoing call. For example, if we have IP range 192.168.0.100-150, then random IP address from range 192.168.0.100 - 192.168.0.150 will be generated.<br>
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


<br><br>
=See also=
=See also=


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

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