Trunks. They are the hands of our system as they allow us to receive or make outside calls. Basically, if you were to consider your phone at home an extension, then the cable connecting your phone to the central office (also known as CO in telecom) would be the trunk for that system. Now, the trunks have some characteristics set by whomever sells you the service. You buy a service from your telephony provider and they provide that service over trunks. However, the setup is done on their end so you have to replicate those settings on your end. When you set up trunks (not that often, anyway) you will have to know:
- Call direction:
- One-Way Incoming -> Calls over this trunk are incoming only, outbound calls are not supported.
- One-Way Outgoing -> Inbound calls are not supported, outbound only
- Two-Way Trunks -> Both Incoming and Outgoing are supported.
- Type of trunk
- DID Trunks (direct-in-dial)
- Tie Trunks
- IDSN Trunks
- CO Trunks
- SIP Trunks, etc
- Number of digits the telephony provider (At&T, Bell, etc) will send over the trunk
- Number of members (how many simultaneous calls you can have on that trunk)
- Location of the virtual D Channel
- Username and pass for a SIP trunks
- Where you will plug in the trunk, etc
You notice that I've said above where you will plug in the trunk. Well, in most cases (except for IP trunks) you can actually touch the trunk. In most cases you will plug-in the trunk in a board in your cabinet. So this will be information that you will have to write down. Now, I'm not going to try to go over all the types of trunks since they are usually already implemented. However, we will go over the trunks lesson thinking that we are implementation engineers and trying to decide how to implement it.
The way the system will use the trunk will be via ARS or AAR tables (will cover it later) where it will read what trunk to choose depending on the numbers the user wished to dial. For the incoming calls, the system will try to match the digits your provider sends you to an extension in the system. Remember when I was telling you that your phone is just an extension ? Well, in corporate services the telephony provider will send you only the first 3 digits, or the first 7 or all 10 or any number they wish. In order to receive incoming calls you will have to match the number of digits the provider is sending with the lenght of the extensions that you've defined in your dialplan by either removing digits from the number they send or by inserting digits.
Let's assume that you bought 10 DID's from 416-123-1100 to 416-123-1109 that are serviced over a trunk that sends 7 digits. Your extensions are 1100-1109. What you will have to do to have incoming calling would be to delete the leading 3 digits that the carrier (same term as the telecom provider) sends; then the number will match. This is called ABSORBTION. You notice that you specify the number of digits to trim (will see how in a second).
INSERTION on the other hand is when the carrier doesn't send you enough digit. What you have to do in this case is to add (or insert) the missing digits to match your extensions. Taking the same case as above, let's assume that the carrier sends only 3 digits (100-109). What you would do would be to insert the number "1" to make that number that the telco sends match the extensions that you have defined. We will see how in this lesson.
But first, how do you know how many calls your organizations can handle and what your trunks are? Well, the command used is list trunk-group. And speaking of, let's see the list of commands that one can issue
- add trunk-group next [or specify number]
- display trunk-group
- remove trunk-group
- list trunk-group
- list trace trunk-group tac [tac number].
As you can see, this command will produce on output of all the trunks that you have defined in the system.
1. Each trunk has a unique number (or identifier) that we can see under Grp. No.
2. Also, if you remember the dialplan lesson, each trunk has a TAC (trunk access code) defined in the system. If you dial the associated TAC from your phone then you will "jump" on that trunk directly regardless of the restrictions that you have in place (aka: will get dialtone directly from the trunk just like at home).
3.This is a good thing as it will allow us to test the trunk in case of troubleshooting.
4. The No. Mem will tell us how many simultaneous calls can be made on that trunk. Each call on the trunk will reserve a "member" from the trunk definition and hold it until the call is terminated.
5. Each trunk has a COR associated that tells the system what permissions are allowed for that trunk. Remember the COR discussion ? If you have a station in COR 6 and your trunk in COR 20 and setup COR6-to-20 to n then the station in COR 6 won't be allowed to "grab" a member on that trunk regardless of permissions. Look at the COR lesson if you just jumped here and don't know what I mean or you forgot.
ADD trunk-group and CHANGE Trunk-group
In the first page of the options there are not a lot of options that we would care about. Here are some though... Please note that these screens change as you change the group name (you can see some options for DID trunks but not IDSN trunks).
It's a good practice to give your trunks a name that will be easy to remember and also that will make the trunk easy to identify when needed. Put the name into Group Name. Specify the direction under Direction and the type of trunk under Group Type (this example has an idsn line in here). Now, in order to have the ability to "jump" on the trunk directly by dialing the associated TAC (that you will define under TAC) you need to enable Dial Access to y.
On the second page you will find the info I was telling you about digit absorption/insertions. Remember... for insertions you have to specify what digits to insert under the Digits field but for absorption you will have to specify the number of the digits you want to absorb (aka delete). The screen above shows the way for an idsn line. Below you can see examples for DID trunks.
DIGIT Insertion: If your provider gives you less digits than your dialplan on a DID trunk then you have to do INSERTION. Let's assume that your company use for a dialplan extensions from 50000 to 59999. The problem we have is that the telco sends us only four digits. To solve the issue we will have to go into Digit Treatment and select insertion. Complete the expected digits field with the number that your provider gave you (4) then in the digits field insert the missing digits (5). Now, if we would had a dialplan where our extension would be from 710-0000 to 710-9999 what would you setup in here if your telco would send you 4 digits ? Go over problem solution to see the answer.
DIGIT Absorption: If your provider send you too many digits (most of the times this is the case) then you will have to do ABSORBTION. If for insertion you wanted to tell the system what digits to insert, for absorption you couldn't care less. You just want a number of digits dropped. How many ? Well, look under the number of the digits the telco sends you, then at the number of digits in your dialplan, subtract them and that's your answer. Put that number in the digits field and set the digit treatment as absorption.
You can see how in this case telcom is sending 7 digits and we are removing 3. Here is another question for you. How many digits do my internal extensions have ? (again, head over to problem solutions to see if you were right).
Again, these two cases are for DID type trunks, for ISDN lines you have only one line for both and you will specify if you delete or insert digits. Here is that image again.
In the page 3 of the change/add trunk-group screen we are only interested in 2 fields: Send name and Send Calling Number. You can disable sending the name or the number for the whole organization on that trunk if you enable or disable these two options in here.
Now starting with page 5 you will see the member definition. This is how the system knows how many calls you can have at one time. It just counts the number of the members in here. Now, a lot of people are confused and think that they have to add a trunk group for each trunk that the telco is giving them even if all the settings are not the same. Incorrect. You can add as many members as you wish here, even though the cards where the trunks are plugged in are different. You will programm different port numbers and you will specify different cards numbers for each.
Each trunk has two components. One component carries the voice and the other the "signaling" or the information about the call. For example, when your phone rings that is only signaling information as it does not make sense to reserve a voice channel for a call that might not be answered. The biggest difference between the signaling and the voice channel is that whereas for the voice channel you can have only one conversation at the same time, the signaling will carry all the info for all the members of that trunk. So a DS1 trunk for example will have 24 members. You can define one D channel (the signaling channel) and that will leave you with 23 voice channels. Each trunk will have defined what members will carry voice but also what is the corresponding signaling channel. You can see the signaling data under display signaling 1 (and I'll be stopping here I don't want to go too advanced). Also, a signaling group will have members, but all the signaling members will be D channels and will have a corresponding trunk defined under Trunk Group for Channel Selection. You might ask why we need multiple D channels . Well, for fail-over, as you can remember I said that one D channel can carry the info for all the 23 voice channels (they are also called B channels). If something happens to that D channel then all your 23 B channels will fail to work. However, if you specify a signaling group with multiple D channels spread over multiple physical trunks then you minimize the risk of "getting" hurt.
I will stop here with the info regarding B channels, D channels and trunks as i think this is enough. I hope that now you understand how a call exits (or enters) the system. You still don't know how the system knows to send the calls over to this trunk but we will solve this very soon.
It's important to remember that from an administration perspective you only need 3 elements from here that are important... All the rest is implementation talk.
What trunk number goes were (as in trunk-group 1 is the main trunk outbound, while trunk-group 99 is the voicemail trunk).
What is the capacity of a specific trunk (as in how members are defined) and
What's the TAC for the trunk. (needed for the administration).
For the troubleshooting you will either dial the DAC if it's enabled or do a list trace trunk-group tac [#tac number]. This command will show you all the activity on a specific trunk, allowing you to "tap" and see exactly what's on it while tracing. Very useful for troubleshooting.