M4 Origination Points

From Kolmisoft Wiki
Revision as of 12:14, 29 November 2022 by Admin (talk | contribs)
Jump to navigationJump to search

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

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



Servers

Origination Points (OP) can be assigned to one or more servers. If a call comes from the server where OP is not assigned, the call will not go through.



Authentication Simple

Static IP:

M4 auth simple ip.png

  • IP Address - IP Address of Origination Point (subnetting and IP range is allowed. For more information read 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 - Username you enter in your Device.
  • Password - Password you enter in your Device.
  • Status - Registration status
  • UNREGISTER - last registration information will be deleted (ipaddr, port, fullcontact).
  • 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

Old Format transformation rules can be found here and here.

Regexp transformation format is:

/match_expression/replacement_expression/flags

  • match_expression - POSIX regular expression
  • replacement_expression - replacement expression with back references to matched tokes: \1, \2, …, \9
  • flags:
    • i - match ignore case
    • g - replace all matches

Before putting Transformations into production, it is advisable to test them on various values.

Test in Linux console

Execute sed command (add s before transformation s/regex/replacement/flags):

echo '00370123456789' | sed -E 's/^00//'

Test in online sed live editor

If you do not have access to the Linux console, use https://sed.js.org/ (or any other online sed editor).

Validate regex

The regex part of a Transformation can be validated using https://regexr.com/ (or any other online regex editor).

Examples

Transformation Original number Modified number Comment
/^00// 003701234567 003701234567 Cut prefix 00
/^370/8/ 370123456789 8123456789 Replace 370 with 8
/\+// +370123456789 370123456789 Cut + (here + is escaped by \ since it is special regex symbol)
/\+370/86/ +370123456789 86123456789 Cut prefix +370, add prefix 86
/\+?(.*)/+\1/ 370123456789 +370123456789 Add + if it is not present already



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

Set which codecs are allowed for OP.

  • Inherit leg B Codecs - if enabled, the system will try to force leg B negotiated Codec to leg A. If leg A does not support that Codec, then the system uses any other available Codec. This option is used to prevent transcoding in some cases.



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).
  • Custom SIP Header - adds custom header to SIP request. Format is header: value (for example x-My-Custom-Header: my value).
  • Limit up to X Calls, during Y seconds - allows controlling Calls per Second (CPS).
  • 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".
  • 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.



Advanced Origination Point Settings

  • Accept calls from any port - if set to 'yes', then calls from any port are accepted. If set to 'no', then only calls from a specific port are accepted (see Port input field in the authentication section).
  • Change RPID/PAI Host - allows overwriting the original host address in RPID/PAI header with the proxy server's IP address.
  • Use Destination from INVITE request - by default M4 uses Destination number from SIP To header (To: <sip:123@sip.com>). If you set this option to "yes", M4 will use the Destination number from SIP INVITE request line (INVITE sip:123@sip.com SIP/2.0).
  • Ring instead Session Progress - if enabled, M4 translates SIP 183 Session Progress from the terminator side to SIP 180 Ringing to the originator side (M4 receives SIP 183 from the terminator but sends SIP 180 to the originator).
  • Send CallerID in Contact header - when this option is enabled, the Contact header will be set to the CallerID number.
  • Disconnect Code Changes - allows changing hangup code which is returned to OP.
  • Use PAI Number for Routing - uses PAI Number instead of FROM callerID for routing.
  • Send PAI Number as CallerID to TP - uses PAI Number as CallerID.
  • 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
  • PAI Transformation - apply Transformation on PAI header. More info
  • RPID Transformation - apply Transformation on RPID header. More info
  • 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.



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