Practical example 3: Prefix for branch office
January 2024
Basics and further practical examples: Location settings – advanced configuration
The practical example described here shows a possible approach, is for illustrative purposes only and is not a ready-made solution that can be adopted 1-to-1 in the customer environment.
Challenge
Cross-location telephone system – prefix for external location
In this example, the external extension for an internal location is extended by a prefix. (Extension of the internal extension for a new location)
This scenario is conceivable, for example, for a customer environment in which there was previously one location with a system connection and a second location is opened as the company grows.
The telephone system is then used across all locations.
Participants 90-99 have not yet been used at the main location.
In order to have enough numbers available for the new location, the 9-digit range has been extended by one digit (910-999), but can be reached externally under a two-digit extension number.
In this example:
- Berlin 10-89
- Hamburg 910-999, from outside, however 10-99
Location | Phone number | DuWa ext. from | DuWa ext. to | DuWa int. from | DuWa int. to |
---|---|---|---|---|---|
Berlin | +49 30 123 - 0 | 10 | 89 | 10 | 89 |
Hamburg | +49 40 456 - 0 | 10 | 99 | 910 | 999 |
Procedure/implementation
Basic configuration of the locations
First, the individual locations are configured under:
UCServer administration – General – Location name – Country/Region – Area code – Advanced settings and
UCServer administration – Telephone system
Example screenshots for the locations: UCServer administration – General – Location name – Country/Region – Area code – Advanced settings
Example screenshots for the locations: UCServer Administration – Telephone system – Location used telephone system – Exchange line access – Type – System number – Extension number range
The basic configuration is carried out according to the external accessibility (2-digit extension ranges).
Only the length of the internal phone numbers is specified from 2 to 3 digits.
Recognition of internal phone numbers
The regular expressions for recognizing internal telephone numbers are now entered under internal rules for the telephone system in the UCServer administration.
Example screenshots – UCServer Administration – Location – Telephone system – Internal rules – Regular expression
Note: In contrast to most other configuration examples, why do the expressions of the two locations differ here?
Example 1 (Berlin)
A user with the internal number 11 receives a call from the subscriber with the internal number 10 – i.e. 10 calls 11.
The numbering plan shows that both users (10 and 11) belong to the Berlin location.
If a call is now received at 11 from 10, the location to which the number 11 is assigned – i.e. Berlin – adds its own exchange line header to the calling number 10 → +49 30 123-10
The regular expressions under "Telephone system >> Internal rules" should ensure that the correct E.164 number is determined from the respective internal number, for example for display in the call window.
Type | Search for: | Replace with: | Comment |
---|---|---|---|
Regular expression | ^([1-8][0-9])$ | +4930123\1 | RegEx for formatting the phone numbers of the TAPI lines from Berlin |
Regular expression | ^9([1-9][0-9])$ | +4940456\1 | RegEx for formatting phone numbers from SIP lines Berlin |
Example 2 (Hamburg)
A user with the internal number 911 receives a call from the subscriber with the internal number 10 - i.e. 10 calls 911.
The numbering plan shows that user 911 belongs to the Hamburg location and user 10 to the Berlin location.
If 911 now receives a call from 10, the location to which the number 911 is assigned – i.e. Hamburg – would add its own exchange line header to the calling number 10 → +49 40 456-10
This number is incorrect because +49 40 456-10 can be reached internally under 910 and not 10.
The second RegEx is required in the Hamburg location so that two-digit internal numbers are not supplemented by their own exchange line header, but by the Berlin number: +49 30 123-10
Formatting line numbers
The appropriate rules for formatting must be entered for each location in the UCServer administration under Telephone system → Line numbers using regular expressions.
Example screenshots Location – Telephone system – Line numbers – Regular expression
The regular expressions under "Telephone system >> Line numbers" should ensure that the correct E.164 number is determined from the respective internal number.
It is important that only the RegEx for the phone numbers of your own location is stored.
The regular expression in the Berlin location could even be omitted under certain circumstances.
However, it still makes sense to set this to ensure that lines 10-89 are automatically assigned to the Berlin location: If, for example, there were a second location with a 2-digit numbering plan without line number formatting, there could be problems with automatic location assignment.
Location | Type | Search for: | Replace with: |
---|---|---|---|
Berlin | Regular expression | ^([1-8][0-9])$ | +4930123\1 |
Hamburg | Regular expression | ^9([1-9][0-9])$ | +4940456\1 |
Formatting for outgoing dialing via ProCall
For each location, the appropriate rules for formatting must be entered in the UCServer administration under Rules formatting → PC selection via regular expressions.
Example screenshots: Location – Rules formatting – PC choice – Regular expression
The regular expressions under "Telephone system >> PC dialing" should ensure that the correct internal telephone number is determined from the respective E.164 telephone number.
Type | Search for: | Replace with: | Comment |
---|---|---|---|
Regular expression | ^\+4930123([1-8][0-9])$ | \1 | So that colleagues in Berlin are dialed internally |
Regular expression | ^\+4940456([1-9][0-9])$ | 9\1 | So that colleagues in Hamburg are dialed internally |
Note: In contrast to most other configuration examples, why do the expressions of the two locations differ here?
- Example: User from Berlin calls a contact with the phone number +49 (30) 123-10.
- Since the phone number +49 (30) 123-10 belongs to your own location, 10 is dialed internally. - No RegEx necessary.
- Since the phone number +49 (30) 123-10 belongs to your own location, 10 is dialed internally. - No RegEx necessary.
- Example: User from Berlin calls a contact with the phone number +49 (40) 456-10.
- As the number +49 (40) 456-10 does not belong to your own location, 004045610 (or 04045610, without outside line access) would be dialed.
- The expression that replaces +4940456 with 9 is therefore required so that 910 is dialed for +49 (40) 456-10.
- Example: User from Hamburg calls a contact with the phone number +49 (30) 123-10.
- Da die Rufnummer +49 (30) 123-10 nicht zum eigenen Standort gehört, würde 003012310 (bzw. 03012310, ohne Amtsholung) gewählt werden.
- The expression is therefore required, so simply dial 10 for +49 (30) 123-10.
- Example: User from Hamburg calls a contact with the phone number +49 (40) 456-10.
- Since the phone number +49 (40) 456-10 belongs to your own location, 10 would be dialed internally (but 10 belongs to the Berlin location)
- Although the number belongs to your own location, you still need the expression that replaces +4940456 with 9 so that 910 is dialed for +49 (40) 456-10.
Line groups
The location of the line groups can then be set to <Automatic>.
The RegEx in the locations under "Line numbers" automatically recognizes which lines belong to which location, assigns them to the corresponding location and determines the E.164 phone numbers.
Example screenshots: Properties for line group – Location settings – Location of the group – <Automatic>
Users
To ensure that the lines are assigned automatically (here: external +49 40 4561, internal 91), the phone numbers are entered for the users in the format E.164.