Recently, our organization switched to using Aastra MX-ONE TSW PBXs as the main telephone exchange. Up to this point, I have not heard the name of this brand, much less the model of this station. Therefore, it was necessary to study it from scratch using the ALEX library and the help of colleagues. Unfortunately, this station is not as common as, for example, Avaya or Panasonic. Apparently, therefore, it was not possible to find any useful sane documentation in Russian on the web. On Habré, such information was also not found, which became a further stimulus for writing this article.
Today I will try to explain the basics of the device for this PBX, as well as to highlight the simplest commands for working with subscriber numbers that may be required for daily maintenance of the station. Although the ALEX library is almost an exhaustive source of information on the MX-ONE TSW, it is often difficult to understand its adapted translation from Swedish to English exactly as the developers intended. I tried to write an article that would help me a lot in the initial stage of studying this PBX. Because The MX-ONE TSW administration topic is very voluminous and cannot be contained in a single article; in this article I will only consider aspects of the structure of this PBX and work with subscriber numbers. I hope that for someone this essay will be useful and will help save valuable time. If you are interested - welcome.
')
The principle of the device PBX MX-ONE TSW
TSW is a branch office PBX. This station is based on the principles of digital switching. TSW is a modular station. The two main modules that make up the TSW are the Line Interface Module (LIM) and the Group Switch.
LIM - Line Interface Module, linear interface module. Each LIM has its own control system and its own switch. The LIM switchboard is a digital switching system in which connections are established between all parties involved in the connection. The LIM switchboard is built on a fully accessible scheme without internal locks and is implemented on the principle of time switching. This means that station subscribers are completely independent of each other. If one subscriber is unavailable / malfunctioning, other subscribers will not be affected in any way. The time switch consists of one main board - LIM switching unit (LSU) and includes up to four distribution boards - distributed switching units (DSU), one board for each store, which is part of one LIM.
Thus, the LIM can be both a self-contained autonomous system, and a part of a distributed many-LIM system. Group switches (GS) are used to build a multi-LIM system, i.e. for communication of several LIMs among themselves. LIM is roughly a cabinet containing stores, a power controller, batteries, a switch, ventilation equipment, etc. LIM is an independent system. Even if a certain LIM is isolated from other modules (LIM), it will continue to handle the load. Thus, the MX-ONE TSW architecture is distributed and scalable. MX-ONE TSW supports up to 124 LIMs.
A store is a kind of “box” containing a backplain bus into which various boards are inserted. For example, subscriber, processor, input-output cards, etc. The store has 256 time slots (8 plate spaces with 32 time slots), which is the maximum possible number of time slots that can handle two DSU cards.
Subrack is the physical merger of two stores.
The board position is the place where this or that board is installed in the store. It corresponds to a certain risk on the store. The risks are numbered 00, 10, 20, 30 ...
Time slot - the logical position of the number on the monthly fee. Each subscriber fee of digital or analog subscribers is designed for 32 subscribers.
Interaction with MX-ONE TSW
The station can be controlled either by connecting directly to the NIU (Network Interface Unit) card via the RS-232 serial port (COM port), or using a Telnet connection. In the latter case, the station must have on board an IPLU card with configured network adapter characteristics (at a minimum, an IP address and a subnet mask). For ease of management, Ericsson (before its products bought Aastra) developed the WinFIOL program (File Transfer and OnLine PC program). This program allows you to create several different channels (connections) to different stations. There is nothing difficult in setting up a connection in WinFIOL, so I will not dwell on this. I will give only an example of the WinFIOL program window:

The screen is divided into two parts: the lower part is used for entering commands, and the upper one for outputting answers from the station.
Immediately, I note that each command must end with a semicolon ";" - this syntax. Mode of communication with the station pokommandny - entered the team, received a response, entered the next command. If you have many of the same type and not very commands, then for the convenience of WinFIOL supports batch processing of commands. To do this, go to the menu File - New, and in the window that opens insert a list of commands that we want to execute. The list of commands can be previously prepared in any convenient text editor. One command per line, which, as I said earlier, should end with a semicolon. After this, select all this good Ctrl + A and press F4 - the station starts to execute commands in turn. You can configure WinFIOL in which cases you should pause. This can be done in the menu Run - Traffic Setup:

Communication with the station takes place by entering MML (Man-machine Language) commands. Each team is an abbreviation of three components:

1. Group of teams
2. The function carried by a specific command
3. Necessary action to be performed. The most common types of actions:
P - print (from lat. Print)
I - initialize, create (from Lat. Initiation)
E - stop, delete (logically this action is opposite to the commands ending in I)
S - set (from lat. Set)
C - change (from lat. Change)
R - cancel / reset (from Latin. Reset)
T - transmit (from lat. Transmit)
A command consists of the name of a command, which is most often followed by one or several parameters. The command syntax is as follows:
<command name>: [parameter1 = value1, parameter2 = value2, ... parameterN = valueN1 & (&&) N2];: - the colon separates the command part from the parametric part.
, - comma separates one parameter from another.
& - used to specify individual parameter values. For example, cat = 3 & 5 - means that the values ​​of the cat 3 and 5 parameter will be passed to the command.
&& - used to specify a range of parameters. For example, cat = 3 && 5 - means that all values ​​from 3 to 5 inclusively (i.e. 3,4,5) will be passed to the command.
; - A semicolon always completes a command.
The maximum number of characters in a command is 200. All characters are transmitted in ASCII codes.
Command example:

So now let's get to the main teams that may be needed in everyday life to meet the needs of users. Before you start working with any subscriber number, I recommend running the sudip command; by this number - this command displays comprehensive information on the subscriber:
1. Type of directory number: DTS.This, as you have already guessed, is the type of subscriber number. Here he is DTS - which means Digital Telephone System, which is also a digital subscriber. There are also such types of numbers as:
ATS - Analog Telephone System, analog subscriber.
GENERIC - the so-called "generic". I will not talk in detail about generics in this article. this is a bit beyond. Let me just say that the generic is not tied to the hardware position of the station - this is a kind of virtual number.
2. Name: ATC_1999.The name of the subscriber to be displayed on the screen of the called subscriber. If the called subscriber has an analog telephone, then to display the name of the caller it is necessary that this device has a display and supports the Caller ID function.
The subscriber name is given by the niini command;
The command syntax is as follows:
niini: dir = 1999, name1 = ”First Name”, name2 = ”Last Name”;From the interesting here is the following feature. The Name2 parameter is optional and can be limited to entering the entire name in the Name1 parameter. In this case, the length of the string name can not exceed 20 characters. It often happens that an organization uses telephones with different display characteristics - single-line, multi-line, as well as with a different number of displayed characters. In the event that the telephone of the called subscriber cannot fully display the value of the name of the calling subscriber Name1, then the Name1 field is cropped by the number of characters that fit on the display of the called subscriber. If the name was entered using two Name1 + Name2 fields, the first Name1 field is truncated by the first character, and the value of the second Name2 field is printed as far as the called party display allows. Fields Name1 + Name2 in total can occupy up to 19 characters + 1 character per character space between them. For example, if we set a name for a number with the command:
niini: dir = 1999, name1 = ”Adamiuskis”, name2 = ”Karbaus”; - then the following value will be displayed for the called device: “A Karbaus”.
It is also possible to enter phone numbers and the corresponding names in the telephone base (book) of the station. At the same time, it becomes possible to view this directory from phones that support this option. You can make an entry in the general phone book by the same command using the Name parameter:
niini: dir = 1999, name = ”Adamiuskis Karbaus”; - in this case, the length of the Name field must also not exceed 20 characters.
3. The hardware position of the subscriber number.equ = 2-0-70-01 (from English equipment - equipment) - this line means that this number is contained (assigned) in the 2nd LIM, the 0th store, at the 70th position, in 1 m time slot subscription fee.
4. Categories of subscribers.The subscriber category is its class of service, which determines the rights and authorization levels of a particular user to perform a particular operation. In total, up to 64 categories can be defined in the system. The category contains a number of parameters with specific values. The category must first be created and then assigned to the subscriber.
You can view the list of all categories with their properties with the command:

You can view the properties of a specific category No. 3 with the command:

As can be seen from the output of the command, the category contains several parameters: CAT, TRAF, SERV, CDIV, ROC. Each of these parameters contains a sequence of digits (bits), each of which has its position (from left to right) and carries a specific function. I will not dwell on the functions of each bit. this will turn the article into something cumbersome and immense. I can explain the functions of individual bits in the comments, and full information about them can be found in the ALEX electronic library. I will describe only those parameters that may be required in the initial configuration of the station and work with subscribers. All other parameters can be left "by default" - this is enough to "take off." And then along the way you can tighten them for yourself.
So, first of all, we are interested in the TRAF parameter:

The bit sequence in the TRAF value is divided into 4 groups of two bits each. We will look at the last three groups. The first two bits when creating a category can be left as default.
B = 03 - call barring category for night mode. In the night service mode of the station, it is allowed to dial only those digits of the number that are defined in the number analysis table (nadap; command) for category 03.
C = 03 - the category of call restrictions for day mode. In the daytime maintenance mode of the station, it is allowed to dial only those digits of the number that are defined in the number analysis table (see the nadap; command below) for category 03.
In my case, categories B and C are the same, although they may differ.
D = 01 - defines to which load service group the subscriber belongs, i.e. in accordance with the traffic matrix (see below the tcmap command;) determines the possibility of establishing a call between two subscribers.
I will give here only a fragment of the output of the nadap command; to clarify the groups of values ​​B and C in the TRAF parameter:

This table shows which categories of subscribers (shown on the right), which digits of the number (shown on the left) can be dialed.
Example number 1 . Subscribers of categories 2,3,4,5,9 - you can dial the sequence 08. All the rest will receive “number barred”.
Example number 2 . Only subscribers of category 9 can dial the number "9". All others will receive “number barred”.
5. Programming the keys of telephone sets.Each Aastra digital phone has a set of keys that can be programmed for a particular function. View a list of buttons and functions assigned to them:

I will describe the most popular user functions. A list of all the options for the function keys can be found all in the same wonderful ALEX library.
1) Key = 01. Function CAB (Call Back) - callback.
By pressing this key, the Call back function for the busy subscriber is initiated. I will explain what it is. For example, you call Vasya, and he is busy. You press the CAB key and hang up. When Vasya ends the conversation and releases the line, you will receive a call back to your phone, which will mean that Vasya has finished talking. You pick up the phone - the phone itself starts dialing Vasya. This feature is already routinely programmed on each digital phone.
Attention. For the Call Back function to work, in the SERV parameter for the subscriber initiating Call Back, the D6 bit contains the value 1 or 2.
2) Key = 02. CAD function (Call Diversion) - call forwarding.
By pressing this function key, the forwarding is activated to the pre-programmed individual forwarding number. Individual number for
Redirects can be a maximum of 10 characters and are created like this:

Why only 10 characters is a mystery to me. This creates certain inconveniences. For example, you cannot program a cell phone number as a forwarding number. It is at least 11 characters + prefix exit to the city. For these purposes, you can use the Abbreviated Dialing Individual Number function:

After that, on the device 1312, double-clicking on the asterisk ** and the number 1 (“** 1”) will dial the cellular number 8926 ... This is a certain analogue of the Speed ​​Dial function.
3) Key = 13. MDN (Multiple representation Directory Number) function - multiple number representation.
I will tell about this function in more detail below.
4) Key = 14. The MNS function (Multiple representation with telephone Name Selection) is the same as the MDN, only by pressing this button a call to the number specified in the DIG parameter will occur.
5) Key = 22. MEW function (Message Waiting Indication) - indication of the presence of new messages in the voice mailbox.
6) Key = 23. The ADN (Additional Directory Number) function is an additional directory number. Any digital phone can be assigned several additional numbers to the function buttons. Thus, if you press the “23” button and make a call, you will call from 1000, not from 1312. Also, other users can call you on 1000 (if their category allows it, based on the traffic matrix) - At the same time, this button will flash. To answer such a call, you need to pick up the phone and press the ADN button. At the same time, additional numbers, as well as ordinary ones, have their own category (cat) with all the ensuing parameters. Assign ADN:

Remove ADN:

You can also hang chains on the ADN (pelpi;), but if you decide to remove the ADN, on which there will be a chain, the system curses:

It is necessary to first remove the chain, previewing it - what if it is needed?

Then you can delete the ADN.
6. Pickup Groups.This functionality allows you to combine subscribers into logical groups within which they can “intercept” calls. Suppose there are two employees in the office, Vasya and Petya. They are in the same interception group. Vasya went out for lunch, and someone called his number. In this case, Petya needs to dial * 8 # on his phone and he will “pick up” Vasya’s call. Conveniently? Highly.
Creating an interception group:

lim = 2 - specify in which LIM we will store information about this group.
Add numbers 1191 and 1073 to the created group:

One number can only be in one group at a time. That, in general, is logical.
Subscriber number operations
Creating an analog subscriber at equ = 1-3-40-25 with the category "3" and the signaling type "el6" (the standard type of signaling for analog subscribers):

You can create new subscriber numbers only from a pre-defined pool of local (for our PBX) extensions.
To view the pool of available local numbers, use the nadap command; I will give only a fragment of its output that interests us:

All numbers marked above in green are considered to be local, i.e. internal extensions.
To view the list of free positions on analog subscription fees in order to choose which position you can assign a number with the command:

View a list of free (not yet assigned) extension numbers:

You can view information on a specific analog number with the command:

This shows which position the number is in, and to which category of service it belongs.
To delete an analog subscriber number, use the command:

Creating a digital extension:

Here, itype = 33 is a type of digital telephone. In our case, “33” corresponds to the Aastra Dialog 4225 model. Information on matching the type of apparatus with its model can be found in the ALEX library. I will provide information for the 3 most frequently used types of digital phones Aastra:
Aastra Dialog 4222, itype = 26
Aastra Dialog 4222 + extension panel, itype = 27
Aastra Dialog 4223, itype = 28
Aastra Dialog 4223 + extension panel, itype = 29
Aastra Dialog 4225, itype = 33
Aastra Dialog 4225 + extension panel, itype = 34
I draw your attention that in order for all the function keys to work correctly on a digital phone, it is necessary that the type of telephone set be specified correctly. You can check the type of phone on the already created number using the command:

View free positions on digital subscriber cards:

View information on an existing digital subscriber:

Delete existing digital subscriber:

Number Repeat Feature
This function allows you to “monitor” a specific subscriber number simultaneously on multiple phones (hence the multiple presentation). This is often used by secretaries. For example, when the secretary needs to know at any time whether the number of her boss is busy or not. The MDN or MNS function is set to a specific button on the secretary’s phone, and when the boss number is busy, this button is lit.
MDN is simply monitoring the status of a specific number.
MNS - monitoring the status of a specific number with the ability to call this (or any other number that was specified in the DIG parameter) number by pressing.
If the number of the digital subscriber that you want to delete is repeatedly represented on other devices by the MNS, MDN functions, the system will give an error:
In this case, you need to find out on which phones the given number is presented with the sudip command ; :
Here you can see that the number 1312 is presented on the device with the number 1999 on the key 13.Look at the list of keys and the functions assigned to them on the device 1999:
Delete the number 1312 from the number 1999. If at this moment, by phone number 1312 they say, the system will give an error :
After releasing the line number 1312, the deletion will go smoothly:
After that, you can delete the number 1312 itself.Replace the existing digital number with a new number (no position assigned yet):
Here “1312” changes to “1998” (not yet created).Attention!If on any other devices there is a repeated presentation of the number (MDN, MNS functions) "1312", then the system will curse. It is necessary to first remove the representation of the number “1312” from all the devices, and then replace it.Traffic matrix
The traffic matrix shows who can call someone and who does not. The category of the caller is reflected in column “A”, the category of the called subscriber is reflected in row “B”.If at the intersection of straight lines from the acc. categories of subscribers is "1" - it means that subscriber A can call subscriber B, if the intersection is "0" - such a call is prohibited.Example number 1 . A subscriber with category “4” cannot call a subscriber with category “7”.Example number 2 . A subscriber with category "10" can call a subscriber with category "14".CON = T - table of the regulation of the so-called two-party calls - simple calls subscriber-subscriber.CON = C is the call management conference call table.Attention, rake hint!At one time I ran into the following not obvious station response. I will describe it. Initial conditions:Subscriber "A" - category 10. Is the secretary of the subscriber "C".Subscriber "B" - category 1.Subscriber "C" - category 14."B" calls "A" and asks to connect it with "C". “A” says “OK, I have the right to call“ C ”- now I will connect”, - and does the transfer “B” to “C” - the result is not being transferred. I broke my brain because the translation makes an “A” and he has the right to call “C”! - but no!Moral: if a transferable subscriber on the traffic matrix does not have the right to call the subscriber to whom it is transferred, then the transfer will not work!In this case, call regulation took place according to the first table CON = T.Personal Number Function
The personal number function creates a so-called. "Chains" of calls. “Chain” is a consecutive transition of a call from a number to a number (possibly to an external one) with a certain time interval.Suppose we need to call the number “A” after 2 beeps (6 seconds), the call go to the number “B” - it would ring there 3 times (9 seconds), and then go to the number “C” and call there “ all the way ”- a maximum of 60 seconds. And in case of busy numbers on the queue - the call would go immediately to the next number.“A” number - 1312.“B” number - 1192.“C” number - 1222.Let's go:
cho is the step number.bsycho - which step to switch to if the current number in the queue is busy.anspos – , . – , .
time – .
:

. , :

:

(«») . .
Look at which number a certain city number is wrapped at:
entry = 5656 - a sequence of numbers that comes from the carrier, other words from your telephony provider. The provider gives me 2 E1 streams with a pool of 150 city numbers and sends the last 4 digits. This is possible for the reason that the first 3 digits of our pool are the same.cnvtyp = 0 - type of traffic. In our case, this value corresponds to “Received B-number” - we get a B-number. What in general is logical. Let me remind you that A-number is the one who calls. The B-number is the caller. A description of the values ​​of this parameter can be found in the ALEX library.numtyp = 0- format of the number sent by the operator. The operator sends me “Unknown public number”. A description of the values ​​of this parameter can be found in the ALEX library.trc = 4 - how many digits the station will “cut off” from the received number during conversion.PRE = 1312 - what the station will add to the cut off number. In our case, 4 digits were removed and 4 added. Accordingly, the call will go to number 1312.Another possible case is when you receive city numbers in transit from other friendly sites. So, for example, happens to me. I get 100 numbers from the next site via H.323 trunk. In this case, the conversion table entry will look like this:
Here, all the difference in the parameter numtyp = 6 - in the ALEX, it corresponds. “Local Private Number” - this setting is coordinated with the administrator (you need to ask him: “what type of number are you sending me?”) Of the PBX from which you receive a pool of numbers.You can add or change an existing entry with the command:
Attention!In case if for the number ending on “5656” there was already a record - it will be overwritten by this one.Delete conversion numbers ending in "5656":
Attention, again hint rake !Do not leave urban incoming numbers without conversion. If you do not need to land a city number anywhere - wrap it on any non-existent extension from your pool (nadap;). This is especially important in cases where your PBX has connections to other sites and calls to them are made without prefixes. If there is a number 5656 on the next site and the route settings (roddp;) to this site are registered as 5,56,565,5656 - the call will go to the next site, and the staff on the other side will be puzzled for a long time - “who are all these strange people and why they call me ". This is the logic behind MX-ONE TSW.The main thing is backup!
At boot time, the station reads its configuration from a Compact Flash memory card. All subsequent changes to the config are kept in RAM until the station is reset on power. Although the regular rechargeable batteries of each LIM are designed for 7 hours of uninterrupted operation when power is lost, it is better to regularly do a config dump from RAM to the CF card:
PS This is my first topic on Habré. If someone has a desire, I’m happy to prepare articles on how to dock this station with other PBXs using H.323 or E1 protocol, call routing, DECT setup, etc. I am ready to answer all the questions in the comments if after the publication of the topic I have such an opportunity.