Difference between revisions of "M4 Origination Points"

From Kolmisoft Wiki
Jump to navigationJump to search
 
(60 intermediate revisions by 7 users not shown)
Line 1: Line 1:
Origination Point is connection from some initial entity (device/line/trunk/provider/supplier/etc) where call starts/originates.
Origination Point is a connection from some initial entity (device/line/trunk/provider/supplier/etc) where the call starts/originates.


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


=== Why there is no Register option on Origination Point? ===
<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 ringing duration (in seconds). Leave 0 for unlimited.
* ''' Call Timeout''' - allows limiting Call duration (in seconds). Leave 0 for unlimited (global Call timeout (7200 seconds) is still applicable in this case).
 
<br><br>
 
==Authentication Simple==
 
'''Static IP:'''
 
[[File:M4_auth_simple_ip.png]]
 
* '''IP Address''' - IP address of Origination Point (subnetting and IP range are allowed. For more information read the Subnetting and IP range sections below).<br>
* '''Port''' - port of Origination Point.<br>
* '''Tech. Prefix''' - Destination technical prefix that is used to authenticate OP. If this field is empty, calls will be accepted with any Destination number only based on IP:PORT. If this field is not empty, then only calls with specific prefixes in Destination will be authenticated (for example if Tech. Prefix is 00, then OP accepts Destination numbers that start with 00xxxxxxx).<br>
 
'''Dynamic IP:'''
 
[[File:M4_auth_simple_dynamic.png]]


Registrations are needed when Dynamic IP addresses are used. Dynamic IP addresses are very common on Retail business, but not on Wholesale. That is why M2 does not have such option.
* '''Username''' - the username you enter in your Device.
* '''Password''' - the password you enter in your Device.
* '''Status''' - registration status.
** '''UNREGISTER''' - by clicking this button, the last registration information will be deleted (IP, port).
* '''Tech. Prefix''' - Destination technical prefix that is used to authenticate OP.


You as a system owner can allow traffic from IP:Port:Technical Prefix. This is enough to receive traffic from any OP.
<br><br>


== Connection Point configuration ==
==Authentication Advanced==


=== General ===
'''Static IP:'''


* '''Description''' - short name for Origination Point.<br>
[[File:M4_auth_advanced_ip.png]]
* '''Ringing Timeout''' - allows to limit ringing duration (in seconds). Leave 0 for unlimited.<br>
* '''Call Timeout''' - allows to limit Call duration (in seconds). Leave 0 for unlimited (global Call timeout (7200 seconds) is still applicable in this case).<br>


=== Servers ===
'''Dynamic IP:'''


Origination Points (OP) can be assigned to one or more servers. If call comes from server where OP is not assigned, call will not go through.<br>
[[File:M4_auth_advanced_dynamic.png]]


=== Authentication ===
'''Note:''' If several options from '''Get CLI/ANI from''' are selected, the system goes from the top and checks if there is a header until it finds it. Screenshot below.


* '''Tech. Prefix''' - Destination technical prefix that is used to authenticate OP. If this field is empty, calls will be accepted with any Destination number only based on IP:PORT. If this field is not empty, then only calls with specific prefix in Destination will be authenticated (for example if Tech. Prefix is 00, then OP accepts Destination numbers which start with 00xxxxxxx).<br>
[[File:M4_get_cli_ani_several_options.png]]


* '''IP Address''' - IP Address of Origination Point (subnetting and IP range is allowed. For more information read Subnetting and IP range sections below).<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>
* '''Port''' - Port of Origination Point.<br>
Regexp transformation examples can be found [http://wiki.kolmisoft.com/index.php/M4_Regexp_Examples#Regexp_for_transformation here].


=== Origination Point ===
<br><br>
 
==Origination Point==
[[File:OriginationPoint.png]]
[[File:OriginationPoint.png]]
* '''Act as Origination Point''' - if set to 'yes', this Connection Point will be handled as Origination Point.<br>
* '''Act as Origination Point''' - if set to 'yes', this Connection Point will be handled as Origination Point.<br>
* '''Active''' - allows to activate or deactivate OP. If OP is deactivated, calls will not be accepted from this OP.<br>
* '''Active''' - allows to activate or deactivate OP. If OP is deactivated, calls will not be accepted from this OP.<br>
* '''Destination Transformation''' - special [[M2 Destination Transformation | Destination Transformation]] rules used to modify outgoing number. Rules are applied before billing so it can be used to correct non E164 formats.<br>
* '''Destination Transformation''' - special [[M4 Destination Transformation | Destination Transformation]] rules used to modify outgoing number. Rules are applied before billing so they can be used to correct non-E164 formats.<br>
* '''Source Transformation''' - special [[M2 Source Transformation | Source Transformation]] rules used to modify Source number.<br>
* '''Source Transformation''' - special [[M4 Source Transformation | Source Transformation]] rules used to modify Source number.<br>
* '''Routing Algorithm''' - defines how Termination Points are ordered for this Origination Point.<br>
* '''Routing Algorithm''' - defines how Termination Points are ordered for this Origination Point.<br>
* '''Routing Group''' - Routing Group used for OP routing.<br>
* '''Routing Group''' - Routing Group used for OP routing.<br>
* '''Use MNP''' - enable [[M4 Mobile Number Portability|MNP]] for this OP.<br>
* '''MNP Routing Group''' - name of Routing Group used for [[M4 Mobile Number Portability|MNP]].
* '''OP Tariff when MNP is used''' - select OP Tariff when MNP is used. Default OP Tariff will be used if no match is found.
* '''Capacity''' - limit the number of concurrent calls for this OP (both ringing and answered calls are included in this limit).<br>
* '''Capacity''' - limit the number of concurrent calls for this OP (both ringing and answered calls are included in this limit).<br>
* '''Source (CallerID) Allow''' - regular expression (regexp) that defines which CallerIDs are allowed to go through this OP. If you want to allow all CallerIDs, enter '''.*''' in this input field.<br>
* '''Source (CallerID) Allow''' - regular expression (regexp) that defines which CallerIDs are allowed to go through this OP. If you want to allow all CallerIDs, enter '''.*''' in this input field.<br>
* '''Source (CallerID) Deny''' - regular expression (regexp) that defines which CallerIDs are denied to go through this OP.<br>
* '''Source (CallerID) Deny''' - regular expression (regexp) that defines which CallerIDs are denied to go through this OP.<br>
* '''Use Tariff''' : XXXXX (description why and how to use it [[M2_EU_Roaming_Regulations | here]])
* '''Custom Tariff''' - Custom Tariff that can override regular OP Tariff. If rates are found in Custom Tariff then these rates will be applied in accounting. If rates are not found in the Custom Tariff, then the regular OP Tariff is used.<br>
** If CallerID matches/not matches Rule-Set: [[M2 Number Pools | Number Pool Rule Set]] <br>
* '''Conditional Tariff''' : XXXXX (description why and how to use it [[M4_EU_Roaming_Regulations | here]])
Change Tariff and/or Routing Group if:
** CallerID matches/not matches Rule-Set: [[M4 Number Pools | Number Pool Rule Set]] <br>
** Use CallerID Number from PAI Header if available: No / Yes <br>
** Use CallerID Number from PAI Header if available: No / Yes <br>
** and if Destination: do not use/matches/not matces Rule-Set [[M2 Number Pools | Number Pool Rule Set]] <br>
** and if Destination: do not use/matches/not matches Rule-Set [[M4 Number Pools | Number Pool Rule Set]] <br>
** Using this option it is possible to Use other tariff if CallerID and Destination matched Rule-Set. It is possible to create a Rule-Set at Maintenance - Number Pools. Also, it offers possibility to use CallerID Number from PAI Header if available.
** Using this option it is possible to use another tariff if CallerID and Destination matched Rule-Set. It is possible to create a Rule-Set at Maintenance - Number Pools. Also, it offers the possibility to use the CallerID Number from PAI Header if available.
* '''Default Tariff''' - Tariff used for OP accounting if previous option is not used.<br>
* '''Default Tariff''' - Tariff used for OP accounting if the previous option is not used.<br>
* '''Custom Tariff''' - Custom Tarrif that can override regular OP Tariff. If rates are found in Custom Tariff then these rates will be applied in accounting. If rates are not found in Custom Tariff, then regular OP Tariff is used.<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. More information can be found here [https://transnexus.com/whitepapers/jurisdictional-routing Here].  
** '''M4''': M4 configuration available [[M4 Local Number Portability|here]]
 
<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.


=== Codecs ===
<br><br>
==Codecs==
The switch does not take into account the order of the codecs when the call comes from the Origination Point.<br>
Codecs order are checked when the Origination Point is being dialed via DID. Defines which Codecs will be offered when dialing Originator (in the order they are listed).<br>
<br><br>


Set which codecs are allowed for OP.<br>
==Advanced==


* '''Inherit leg B Codecs''' - if enabled, system will try to force leg B negotiated Codec to leg A. If leg A does not support that Codec, then system uses any other available Codec. This option is used to prevent transcoding in some cases. More information can be found [[M2 Codec Negotiation | here]].
* '''Grace Time''' - if call duration is less than Grace Time, it will not be accounted for (CDR will be generated, but OP balance will not be reduced).<br>
* '''Limit up to X Calls, during Y seconds''' - allows controlling Calls per Second (CPS).<br>


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


* '''Grace Time''' - if call duration is less than Grace Time, it will not be accounted (CDR will be generated, but OP balance will not be reduced).<br>
==Advanced Origination Point Settings==
* '''Custom SIP Header''' - adds custom header to SIP request. Format is header: value (for example x-My-Custom-Header: my value).<br>
* '''Limit up to X Calls, during Y seconds''' - allows to control Calls per Second (CPS).<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".
* '''Forward RPID''' - by default M2 forwards RPID header from Originator to Terminator. This can be disabled by setting this option to "no".
* '''Forward PAI''' - by default M2 forwards PAI header from Originator to Terminator. This can be disabled by setting this option to "no".
* '''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 Origination Point Settings ===
* '''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
* '''Use PAI Number for Routing''' - uses PAI Number instead of FROM callerID for routing.
* '''Send PAI Number as CallerID to TP''' - take a number from an incoming PAI header and use this number as CallerID for Termination Point.
* '''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]]
* '''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]]
* '''Change RPID/PAI Host''' - allows overwriting the original host address in RPID/PAI header with the proxy server's IP address.
* '''PAI Transformation''' - apply Transformation on PAI header. [[M4 Transformations | More info]]
* '''RPID Transformation''' - apply Transformation on RPID header. [[M4 Transformations | More info]]
* '''Disconnect Code Changes''' - allows changing hangup code which is returned to OP.<br>
* '''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.
* '''Allow using own User's TPs''' - by default, it is not allowed to route the call through TP which belongs to the same User. Such a call results in HGC 339. By setting this option to Yes, you can disable this protection.
* '''Add STIR/SHAKEN Identity''' – should we add the SIP Identity header when calling from this Origination Point? More info on [[M4 STIR/SHAKEN|STIR/SHAKEN]].
* '''STIR/SHAKEN Attestation Level''' – set attestation level. By TP, 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.


* '''Accept calls from any port''' - if set to 'yes', then calls from any port are accepted. If set to 'no', then only calls from specific port are accepted (see Port input field in authentication section).<br>
<br><br>
* '''Change RPID/PAI host''' - allows to overwrite original host address in RPID/PAI header with M2 host address.
* '''Use Destination from INVITE request''' - by default M2 uses Destination number from SIP '''To''' header (To: <sip:123@sip.com>). If you set this option to "yes", M2 will use Destination number from SIP '''INVITE''' request line (INVITE sip:123@sip.com SIP/2.0).
* '''Ring instead Session Progress''' - if enabled, M2 translates SIP 183 Session Progress from terminator side to SIP 180 Ringing to originator side (M2 receives SIP 183 from terminator but sends SIP 180 to originator).
* '''Send CallerID in Contact header''' - when this option is enabled, Contact header will be set to CallerID number.
* '''Disconnect Code Changes''' - allows to change hangup code which is returned to OP.<br>


== Subnetting ==
=Subnetting=


It is possible to set [http://en.wikipedia.org/wiki/Subnetwork subnetwork] (subnet) for Origination Point. Subnets allow you to have single Origination Point for multiple IP addresses. 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 subnet is used in Origination Point, all calls coming from that subnet will be authenticated.
It is possible to set [http://en.wikipedia.org/wiki/Subnetwork subnetwork] (subnet) for Origination Point. Subnets allow you to have a single Origination Point for multiple IP addresses. 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 subnet is used in Origination Point, all calls coming from that subnet will be authenticated.


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 IP addresses for given subnet.<br>
You can use an online subnet [http://www.aboutmyip.com/AboutMyXApp/SubnetCalculator.jsp? calculator] to check IP addresses for a given subnet.<br>


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


If you need to set multiple IP addresses for single Orignation 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 Origination 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


When IP range is used in Origination Point, all calls coming from that IP range will be authenticated. For example, if we have IP range 192.168.0.101-150, then all IP addresses starting from 192.168.0.101 to 192.168.0.150 will be authenticated (50 different IP addresses are allowed to call to this Origination Point).<br>
When an IP range is used in Origination Point, all calls coming from that IP range will be authenticated. For example, if we have an IP range 192.168.0.101-150, then all IP addresses starting from 192.168.0.101 to 192.168.0.150 will be authenticated (50 different IP addresses are allowed to call to this Origination Point).<br>

Latest revision as of 08:38, 7 August 2024

Origination Point is a connection from some initial entity (device/line/trunk/provider/supplier/etc) where the call starts/originates.

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



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 ringing duration (in seconds). Leave 0 for unlimited.
  • Call Timeout - allows limiting Call duration (in seconds). Leave 0 for unlimited (global Call timeout (7200 seconds) is still applicable in this case).



Authentication Simple

Static IP:

M4 auth simple ip.png

  • IP Address - IP address of Origination Point (subnetting and IP range are allowed. For more information read the Subnetting and IP range sections below).
  • Port - port of Origination Point.
  • Tech. Prefix - Destination technical prefix that is used to authenticate OP. If this field is empty, calls will be accepted with any Destination number only based on IP:PORT. If this field is not empty, then only calls with specific prefixes in Destination will be authenticated (for example if Tech. Prefix is 00, then OP accepts Destination numbers that start with 00xxxxxxx).

Dynamic IP:

M4 auth simple dynamic.png

  • Username - the username you enter in your Device.
  • Password - the password you enter in your Device.
  • Status - registration status.
    • UNREGISTER - by clicking this button, the last registration information will be deleted (IP, port).
  • Tech. Prefix - Destination technical prefix that is used to authenticate OP.



Authentication Advanced

Static IP:

M4 auth advanced ip.png

Dynamic IP:

M4 auth advanced dynamic.png

Note: If several options from Get CLI/ANI from are selected, the system goes from the top and checks if there is a header until it finds it. Screenshot below.

M4 get cli ani several options.png

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



Origination Point

OriginationPoint.png

  • Act as Origination Point - if set to 'yes', this Connection Point will be handled as Origination Point.
  • Active - allows to activate or deactivate OP. If OP is deactivated, calls will not be accepted from this OP.
  • Destination Transformation - special Destination Transformation rules used to modify outgoing number. Rules are applied before billing so they can be used to correct non-E164 formats.
  • Source Transformation - special Source Transformation rules used to modify Source number.
  • Routing Algorithm - defines how Termination Points are ordered for this Origination Point.
  • Routing Group - Routing Group used for OP routing.
  • Use MNP - enable MNP for this OP.
  • MNP Routing Group - name of Routing Group used for MNP.
  • OP Tariff when MNP is used - select OP Tariff when MNP is used. Default OP Tariff will be used if no match is found.
  • Capacity - limit the number of concurrent calls for this OP (both ringing and answered calls are included in this limit).
  • Source (CallerID) Allow - regular expression (regexp) that defines which CallerIDs are allowed to go through this OP. If you want to allow all CallerIDs, enter .* in this input field.
  • Source (CallerID) Deny - regular expression (regexp) that defines which CallerIDs are denied to go through this OP.
  • Custom Tariff - Custom Tariff that can override regular OP Tariff. If rates are found in Custom Tariff then these rates will be applied in accounting. If rates are not found in the Custom Tariff, then the regular OP Tariff is used.
  • Conditional Tariff : XXXXX (description why and how to use it here)

Change Tariff and/or Routing Group if:

    • CallerID matches/not matches Rule-Set: Number Pool Rule Set
    • Use CallerID Number from PAI Header if available: No / Yes
    • and if Destination: do not use/matches/not matches Rule-Set Number Pool Rule Set
    • Using this option it is possible to use another tariff if CallerID and Destination matched Rule-Set. It is possible to create a Rule-Set at Maintenance - Number Pools. Also, it offers the possibility to use the CallerID Number from PAI Header if available.
  • Default Tariff - Tariff used for OP accounting if the previous option is not used.
  • USA Jurisdictional Routing - Jurisdictional routing is telephone call routing logic based upon the locations of the calling and called the number and regulatory considerations. More information can be found here Here.
    • M4: M4 configuration available here



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.



Codecs

The switch does not take into account the order of the codecs when the call comes from the Origination Point.
Codecs order are checked when the Origination Point is being dialed via DID. Defines which Codecs will be offered when dialing Originator (in the order they are listed).


Advanced

  • Grace Time - if call duration is less than Grace Time, it will not be accounted for (CDR will be generated, but OP balance will not be reduced).
  • Limit up to X Calls, during Y seconds - allows controlling Calls per Second (CPS).



Advanced Origination Point Settings

  • 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
  • Use PAI Number for Routing - uses PAI Number instead of FROM callerID for routing.
  • Send PAI Number as CallerID to TP - take a number from an incoming PAI header and use this number as CallerID for Termination Point.
  • Forward RPID - by default forward RPID header from Originator to Terminator. This can be disabled by setting this option to "no". More info
  • Forward PAI - by default forward PAI header from Originator to Terminator. This can be disabled by setting this option to "no". More info
  • Change RPID/PAI Host - allows overwriting the original host address in RPID/PAI header with the proxy server's IP address.
  • PAI Transformation - apply Transformation on PAI header. More info
  • RPID Transformation - apply Transformation on RPID header. More info
  • Disconnect Code Changes - allows changing hangup code which is returned to OP.
  • 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.
  • Allow using own User's TPs - by default, it is not allowed to route the call through TP which belongs to the same User. Such a call results in HGC 339. By setting this option to Yes, you can disable this protection.
  • Add STIR/SHAKEN Identity – should we add the SIP Identity header when calling from this Origination Point? More info on STIR/SHAKEN.
  • STIR/SHAKEN Attestation Level – set attestation level. By TP, 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.



Subnetting

It is possible to set subnetwork (subnet) for Origination Point. Subnets allow you to have a single Origination Point for multiple IP addresses. 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 subnet is used in Origination Point, all calls coming from that subnet will be authenticated.

M4 subnet value range is 4-30.

You can use an online subnet calculator to check IP addresses for a given subnet.



IP range

If you need to set multiple IP addresses for a single Origination 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

When an IP range is used in Origination Point, all calls coming from that IP range will be authenticated. For example, if we have an IP range 192.168.0.101-150, then all IP addresses starting from 192.168.0.101 to 192.168.0.150 will be authenticated (50 different IP addresses are allowed to call to this Origination Point).