Difference between revisions of "M4 Termination Points"

From Kolmisoft Wiki
Jump to navigationJump to search
 
(75 intermediate revisions by 9 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 [[M4 Dial Peers | Dial Peers]].<br>
 
<br><br>
==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 Points are assigned to [[M2 Dial Peers | Dial Peers]].
<br><br>
<br><br>
=Termination Point Settings=


'''Act as Termination Point''' - turns on/turns of Termination Point. If selected No and saved, all settings of Termination Point will be erased.<br>
==Termination Point==
'''Active''' - activates/deactivates Termination Point.<br>
[[File:TerminationPoint.png]]
'''Destination Transformation''' - special [[M2 Destination Transformation | Destination Transformation]] rules used to modify outgoing number<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>
'''Tariff''' - Tariff used to for Termination Point accounting.<br>
* '''Active''' - activates/deactivates Termination Point.<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?<br>
* '''Manage A number''' and '''Manage B number''' - allows to Transform, Blacklist and Whitelist Source and Destination numbers/
'''Login/Username''' - username if your provider asks for it.<br>
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>
'''Password''' - password used for authentication by your provider.<br>
Regexp transformation examples can be found [http://wiki.kolmisoft.com/index.php/M4_Regexp_Examples#Regexp_for_transformation here].
<br><br>
<br><br>


== Advanced ==
==Termination Point Tariffs==
[[File:TerminationPoint_Tariffs.png]]
* '''Tariff''' - Tariff used for Termination Point accounting.<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>


'''Interpret NO ANSWER as FAILED''' - makes NO ANSWER calls interpretation as FAILED. <br>
<br><br>
'''Interpret BUSY as FAILED''' - makes BUSY 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 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.<br>
==Codecs==
'''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.
 
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.
 
<br><br>
== CallerID ==
 
* '''Name''' - set name part for CallerID.<br>
* '''Number''' - set number part for CallerID.<br>
* '''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.
 
<br><br>
== Advanced Settings ==
 
* '''Grace Time''' - Grace time in seconds.
* '''Limit up to X Calls, during Y seconds''' - allows controlling Calls per Second (CPS).<br>
<br><br>
 
== 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 [[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>
* '''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 [[M4 STIR/SHAKEN|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 [[M4 STIR/SHAKEN|STIR/SHAKEN]].
* '''Fix NAT'ed Contact''' – When this setting is enabled, M4 replaces the local IP in the Contact header with the source IP.
 
<br><br>
 
== 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>
<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.<br><br>
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.
You can use online subnet [http://www.aboutmyip.com/AboutMyXApp/SubnetCalculator.jsp? calculator] to check first and last usable IP address from given subnet.
 
M4 subnet value range is 4-30.
<br><br>
<br><br>
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>


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><br>
<br><br>
== 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
<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]]

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