Ericsson Md110 E1qsig Dmg2000
Ericsson Md110 E1qsig Dmg2000
Ericsson Md110 E1qsig Dmg2000
1.
Scope
This document is intended to detail a typical installation and configuration of Dialogic 2000 Media Gateway Series (DMG2000) when used to interface between PBX and Microsoft Office Communications Server 2007 (OCS) application.
2.
Configuration Details
Listed below are the specific details of the PBX and gateways used in the testing to construct the following documentation.
2.1
PBX
Aastra (former Ericsson) MD110 MX1 TSW R2A (BC13) N/A
2.2
Gateway
Dialogic 2000 Media Gateway Series (DMG2000) 6.0 (6.0.103) E1 QSIG
2.3
System Diagram
The diagram below details the setup used in the testing and creation of the technical document.
3. 3.1
PBX must have all supplemental service packages installed for the QSIG protocol to operate properly and provide all advanced supplemental services.
3.2
Gateway Prerequisites
4.
Summary of Limitations
5.
Steps for setting up the gateway: Parameter Configuration Routing Engine Configuration
5.1
Parameter Configuration
To get the gateway connected between the PBX and mediation server there are only a few configuration options that are required. During the initial setup of the Dialogic gateway using the serial port you must: Assign LAN 1 on the gateway a unique IP address, subnet mask and network gateway address (if the latter is required). Configure the gateway to use the SIP VoIP protocol. Set the Line Mode to E1. Set the Protocol to ISDN - QSIG.
During the solution specific setup of the Dialogic gateway using the web interface you must: In the IP Settings page: o Set the BOOTP Enabled parameter to No. (the default is Yes)
In the T1/E1 General page: o Set the Line Encoding and Line Framing as required by your E1 Interface. Typical settings are Encoding = HDB3 and Framing = CRC_MF. o Set the ISDN Protocol Variant to Ericsson.
In the VoIP General page: o Set the Transport Type parameter to TCP (the default is UDP)
In the VoIP Media page: o Set the RTP Fax/Modem Tone Relay Mode parameter to In band-Tone (the default is RFC2833) o Set the Signaling Digit Relay Mode parameter to Off (the default is On) o Set the Voice Activity Detection parameter to Off (the default is On)
5.2
NOTE: For all the examples in this document going forward the term inbound call refers to a call in the TDM to IP direction and the term outbound call refers to a call in the IP to TDM direction. The example given in the system diagram at the start of this integration guide has the following dialing plans in the system: All TDM side stations have DID numbers assigned in the 2xxx extension range. All OCS side stations have DID numbers assigned in the 5xxx extension range.
All inbound calls need to be sent through to the Mediation Server at a specific IP address.
5.2.2.1
When a local user on the PBX picks up their phone and calls one of the extensions on the OCS side within the 5xxx range the gateway will receive a call with a calling party of 4 digits. It then needs to convert that number up to full E.164 format and send the call on to OCS. This example will take any number and then convert it into the full E.164 format by concatenating a prefix of +1716639 onto the front of the number where 716 is the area code and 639 is the local exchange. Other calls, such as DIDs that arrive over TDM trunks from the PSTN may provide a full 10 digits to the PBX or they may only provide the extension number after the prefix has been stripped off by the PBX. Depending on your site specific requirements you may need to add or build different rules to handle these cases. An example of the inbound rule for local PBX users is shown below:
The CPID matching rule is simply a * meaning that any dialed number from a local user presented to this trunk will be seen by this rule. The CPID manipulation rule then uses the digits that are being seen (in this example it will be a 4 digit number because that is how the trunk is programmed) and then adds the prefix of +1716639 onto it to build the full E.164 number that is needed for OCS. This rule also sets the destination to the VoIP Host group defined previously that points to the inbound IP address of the Mediation Server. 5
In addition to this rule a default rule has been left in place that acts as a catch all. This rule performs no CPID manipulation at all and just tries to send the call to the VoIP host group as dialed.
5.2.2.2
When an OCS user dials a number OCS will, through the use of normalization rules in the Location profile, provide the gateway with a number in full E.164 format. The gateway needs to be able to recognize various number patterns in inbound IP calls and properly manipulate them for the outbound TDM call that results. In the example here, OCS has been setup (as you will see later) with a route that directs all calls that meet the pattern 5xxx to the gateway in full E.164 format. The gateway then needs to know how to identify these numbers as extensions that are local on the PBX and manipulate them accordingly. To do this it needs to simply extract the right 4 digits from the called number provided to remove the prefix of +1716639 and leave the last 4 digits remaining. Local, national and international numbers are going to need to be manipulated. At very least they will need a trunk access number, like a 9, pre-pended onto the front of them in order to dial an outside line. These can also be done using manipulation rules as follows:
In the screen shot above, the first rule 'Outbound Internal' is selected. Notice that the blue bar near the top of the screen highlights this rule. The lower half of the screen displays the details of the currently selected rule. This rule matches outbound calls that have a called party number that starts with '+17166395' followed by any three digits. This rule is designed to match the locally defined TDM extensions as shown in the first figure in this document. Calls that match this rule are meant to go to a local user on the PBX. The CPID manipulation section of this rule extracts the last four digits from the called party number. The extracted four digits are then dialed as a local extension on the PBX. 6
In the screen shot above, the rule 'Outbound Local' is selected. This rule matches outbound calls that have a called party number that starts with '+1716' followed by seven digits. This rule is designed to match the calls within the same area code, but not from the same PBX. Calls that match this rule are meant to go to a local user that is not on the PBX. In the CPID manipulation area the trunk access code is added to the string and the leading 5 characters are stripped off (the +1716). The full string out as +9xxxxxxx is sent.
In this rule labeled as Outbound National any number dialed that starts with +1 and includes 10 digits indicates a number that is not in the local area code. In this case the CPID manipulation simply adds a +9 to the start of the number and strips off the leading + creating a result of +91xxxxxxxxxx.
In this rule labeled as Outbound International any number dialed that starts with +011 and includes any number of digits indicates a number that is not in the local area code. In this case the CPID manipulation simply adds a +9 to the start of the number and strips off the leading + creating a result of +9011xxxxxxxxxx. The last rule that is defined is another default rule that acts as a catch all and simply attempts to dial any number provided that has not matched the previous rules in the list. Note 1: The last two rules labeled as Outbound National and Outbound International COULD have been combined into one rule since the CPID manipulation was the same in both. The rules have been split out here in this example simply for clarity of the example. Also, if the environment uses different trunks for local, national (long Distance) and international calls, breaking these rules out into separate segments allows you to also define trunk groups and direct calls of these specific types to those individual trunks. Note 2: The rules are evaluated in the order they are listed, top down. The first rule that matches is used so the order is important. Always consider placing your more specific rules at the top of the order and the more general at the bottom.
6.
The basic steps of setting up the PBX for use with this gateway and a voice messaging system are as follows: Initiate Route Category. Initiate Route Data. Initiate Route Equipment. Initiate External Destination Route Data. Initiate Number Analysis. Configure Application System Parameters. Setting up the subscribers stations. Configuring Call Diversion for stations.
All PBX programming is done via a serial terminal connected to the PBXs administration port. The basic commands that you will encounter on the PBX to perform these actions are: Initiate Route Category. Initiate Route Data. Initiate Route Equipment. Initiate External Destination Route Data. Initiate Number Analysis. Configure Application System Parameters. Configuring Call Diversion for Subscribers. ROCAI RODAI ROEQI RODDI NANSI ASPAC CDINI
6.1
Initiate the E1 route category using the command ROCAI. Several of the fields require site specific entries, these are: ROU requires an open route number for the E1 board to use. The command ROCAP:ROU=ALL; will print all used ROU numbers; select any available number from 1-250. For this example, 8 was selected.
The fields of this command that must be modified in this step are: ROU, SEL, SERV, TRAF, SIG, BCAP. The programming example below shows how to initiate the E1 route category using ROCAI. To print the results, use the command ROCAP.
<ROCAI:ROU=8, SEL=7130000000000010, SERV=2110000001, TRAF=03151515, SIG=511100000031, BCAP=111111; <ROCAP:ROU=8; ROUTE CATEGORY DATA ROU SEL TRM SERV NODG DIST DISL TRAF SIG BCAP 8 7130000000000010 5 2110000001 0 5 128 03151515 511100000031 111111 END
SEL=7130000000000010, SERV=2110000001,
press RETURN where X is the open ROU number to use for the E1 route.
10
6.2
Initiate the E1 route data using the command RODAI. Several of the fields require site specific entries, these are: ROU requires the ROU number for the E1 board selected previously.
The fields of this command that must be modified in this step are: ROU, TYPE, VARC, VARI, VARO. The programming example below shows how to initiate route data for the E1 trunk using RODAI. To print the results, use the command RODAP.
<RODAI:ROU=8, TYPE=SL60, VARC=00200070, VARI=75540000, VARO=06300000; <RODAP:ROU=8; ROUTE DATA ROU TYPE VARC VARI VARO FILTER 8 SL60 H'00200070 H'75540000 H'06300000 NO END
VARO=06300000;
At the prompt < enter RODAI:ROU=X, TYPE=SL60, VARC=00200070, VARI=75540000, press RETURN o Where X is the ROU number for the E1 board selected previously
6.3
Initiate the route equipment of the E1 board using command ROEQI. Several of the fields require site specific entries, these are: ROU requires the ROU number for the E1 board selected previously. TRU requires trunk number, where the first 3 digits are the LIM number, and the last 2 are the channel number. EQU requires the equipment position number for the E1 board.
The fields of this command that must be modified in this step are: ROU, TRU, EQU. The programming example below shows how to initiate the route equipment for the E1 trunk using ROEQI. To print the results, use the command ROEDP.
<ROEQI:ROU=8, TRU=001-1&&001-15, EQU=001-0-40-1&&001-0-40-15; <ROEQI:ROU=8, TRU=001-17&&001-31, EQU=001-0-40-17&&001-0-40-31; <ROEDP:ROU=8,TRU=ALL; ROUTE EQUIPMENT DATA ROU TRU EQU IP ADDRESS SQU INDDAT 8 001-1 001-0-40-01 H'000000000000 8 001-2 001-0-40-02 H'000000000000 8 001-3 001-0-40-03 H'000000000000 8 001-4 001-0-40-04 H'000000000000 8 001-5 001-0-40-05 H'000000000000 8 001-6 001-0-40-06 H'000000000000 8 001-7 001-0-40-07 H'000000000000 8 001-8 001-0-40-08 H'000000000000 8 001-9 001-0-40-09 H'000000000000 8 001-10 001-0-40-10 H'000000000000 8 001-11 001-0-40-11 H'000000000000 8 001-12 001-0-40-12 H'000000000000 8 001-13 001-0-40-13 H'000000000000 8 001-14 001-0-40-14 H'000000000000 8 001-15 001-0-40-15 H'000000000000 8 001-17 001-0-40-17 H'000000000000 8 001-18 001-0-40-18 H'000000000000 8 001-19 001-0-40-19 H'000000000000
CNTRL
11
8 8 8 8 8 8 8 8 8 8 8 8 END
001-20 001-21 001-22 001-23 001-24 001-25 001-26 001-27 001-28 001-29 001-30 001-31
001-0-40-20 001-0-40-21 001-0-40-22 001-0-40-23 001-0-40-24 001-0-40-25 001-0-40-26 001-0-40-27 001-0-40-28 001-0-40-29 001-0-40-30 001-0-40-31
H'000000000000 H'000000000000 H'000000000000 H'000000000000 H'000000000000 H'000000000000 H'000000000000 H'000000000000 H'000000000000 H'000000000000 H'000000000000 H'000000000000
At the prompt > enter ROEQI:ROU=X, TRU=YYY-1&&YYY-15, EQU=YYY-M-ZZ-1&&YYY-M-ZZ-15; press RETURN. o Where X is the ROU number for the E1 board selected previously o Where YYY is the LIM Number for the E1 board o Where M is the MAG/DSU number for the E1 board o Where ZZ is the Board Position number for the E1 board At the prompt > enter ROEQI:ROU=X, TRU=YYY-17&&YYY-31, EQU=YYY-M-ZZ-17&&YYY-M-ZZ31; press RETURN. o Where X is the ROU number for the E1 board selected previously o Where YYY is the LIM Number for the E1 board o Where M is the MAG/DSU number for the E1 board o Where ZZ is the Board Position number for the E1 board
6.4
Initiate the External Destination Route Data using command RODDI. Several of the fields require site specific entries, these are: DEST requires an unused number in the dial plan. ROU requires the ROU number for the E1 board selected previously.
The fields of this command that must be modified in this step are: DEST, ROU, ADC. The programming example below shows how to initiate the external destination route data using RODDI. To print the results, use the command RODDP.
<RODDI:DEST=81, ROU=8, ADC=06062000000002501060000001; <RODDP:DEST=81; EXTERNAL DESTINATION ROUTE DATA DEST DRN ROU CHO CUST ADC TRC SRT NUMACK PRE 81 8 06062000000002501060000001 0 1 0 END
At the prompt < enter RODDI:DEST=YY, ROU=X, ADC=06062000000002501060000001; press RETURN o Where X is the ROU number for the E1 board selected previously o Where YY is the DEST number chosen to route calls to the E1 Trunk
12
6.5
The fields of this command that must be modified in this step are: NUMTYP, NUMSE. The programming example below shows how to add the trunk number series to the PBX Number Analysis using NANSI. To print the results, use the command NADAP.
<NANSI:NUMTYP=ED, NUMSE=81; <NADAP:NUMTYP=ED; NUMBER ANALYSIS DATA TYPE OF SERIES EXTERNAL DESTINATION CODE
NUMBER SERIES 81
At the < prompt enter NANSI:NUMTYP=ED, NUMSE=YY; press RETURN o Where YY is the DEST number to route calls to the E1 Trunk selected previously.
The fields of this command that must be modified in this step are: NUMTYP, NUMSE. The programming example below shows how to add the own exchange number series to the PBX Number Analysis using NANSI. To print the results, use the command NADAP.
<NANSI:NUMTYP=EN, NUMSE=80; <NADAP:NUMTYP=EN; NUMBER ANALYSIS DATA TYPE OF SERIES OWN EXCHANGE NUMBER SERIES
NUMBER SERIES 80
At the < prompt enter NANSI:NUMTYP=EN, NUMSE=XX; press RETURN o Where XX is the unused Number Series number to identify the PBX in the private network.
13
6.6
Configure the Application System Parameters using the command ASPAC. The fields of this command that must be modified in this step are: PARNUM, PARVAL. The Values of the Application System Parameters that must be modified are: PARNUM=44 Rerouting on no reply on a call to private external line PARNUM=66 Route optimization availability PARNUM=70 Time before route optimization starts on alternative routing PARNUM=71 Time before route optimization starts on transfer PARNUM=72 Time before restart of route optimization when request denied PARNUM=73 Attempts on route optimization when the request denied PARNUM=77 Traffic category check at diversion PARNUM=78 Traffic category check at diversion on no answer PARNUM=79 Extension's permission to dial message diversion service codes PARNUM=85 Rerouting incoming call before complete internal number received PARNUM=93 ISDN call diversion mode PARNUM=98 Automatic activation of diversion on busy PARNUM=105 Automatic activation of diversion on no answer PARNUM=156 Call discrimination check for Deflect/SST case PARNUM=223 Type of network services The programming example below shows how to configure the application system parameters using ASPAC. To print the results, use the command ASPAP.
<ASPAC:PARNUM=223, PARVAL=7; <ASPAP:PARNUM=223; APPLICATION SYSTEM PARAMETERS PARNUM PARVAL 223 7 END
At the prompt < enter ASPAC:PARNUM=XX,PARVAL=YY; press RETURN o Where XX is the Parameter Number o Where YY is the Value to be assigned to the Parameter, as defined below Repeat for each PARNUM and PARVAL combination below: o PARNUM=44 PARVAL=3 o PARNUM=66 PARVAL=1 o PARNUM=70 PARVAL=1 o PARNUM=71 PARVAL=1 o PARNUM=72 PARVAL=1 o PARNUM=73 PARVAL=3 o PARNUM=77 PARVAL=0 o PARNUM=78 PARVAL=0 o PARNUM=79 PARVAL=1 o PARNUM=85 PARVAL=1 o PARNUM=93 PARVAL=0 o PARNUM=98 PARVAL=1 o PARNUM=105 PARVAL=1 o PARNUM=156 PARVAL=0 o PARNUM=223 PARVAL=7
14
6.7
Configure call forwarding for individual subscribers to the E1 Trunk using the command CDINI. Several of the fields require site specific entries, these are: DIR requires the directory number in the dial plan for the Subscriber Station DIV requires the DEST number of the E1 trunk assigned previously
The fields of this command that must be modified in this step are: DIR, DIV. The programming example below shows how to configure a diversion destination for a subscriber using CDINI. To print the results, use the command CDIDP.
<CDINI:DIR=1017,DIV=81; <CDIDP:DIR=1017; CALL DIVERSION INDIVIDUAL DATA DIR DIV 1017 81 END
At the prompt < enter CDINI:DIR=XXXX,DIV=YY; press RETURN o Where XXXX is the directory number defined for the subscriber station o Where YY is the DEST number of the E1 Trunk previously assigned
7. 7.1
Normalization rules are used to convert all possible dial numbers into full E.164 formatted numbers. Microsoft OCS uses the standard E.164 format to search for all users listed in Active Directory (AD). When an OCS user dials an internal extension number (normally 3-5 digits), the normalization rules convert it into full E.164 format. These normalization rules should cover dialed digits that are for internal extensions, local numbers, long distance numbers, and international numbers. From the Start menu select the following to configure the OCS server: Programs Administrative Tools OCS 2007
On the tree presented in the configuration window right click on Forest then select Properties and then Voice Properties form the menu provided. Edit a location profile as shown in the example below.
15
16
In this example, when a user dials any 4-digit number starting with 2, it will be converted to its E.164 equivalent of +1716639xxxx and then that number will be searched for in AD. More examples are shown in the following table: Name 2xxx Local National International Phone Pattern ^(2[0-9]{3})$ ^(\d{7})$ ^1(\d*)$ ^011(\d*) Translation Pattern +1716639$1 +1716$1 +1$1 +011$1 Descriptions Normalize 2xxx to E.164 Local number Long distance number International number
A default route is used to route all calls to the Mediation server. If you need to route some calls to a different Mediation server, configure the Target phone numbers field accordingly.
17
From the Start menu select the following to configure the OCS server: Programs Administrative Tools OCS 2007
On the tree presented in the configuration window right click on Forest then select Properties and then Voice Properties form the menu provided. Edit a route as shown in the example below.
This entry routes any number with or without + prefix followed by any digits to Mediation server dmg4000.bufocs.local Restart the Front End Services for the above changes to take effect, including all Normalization rules. This can be done from Window Services. Note: Unless the dialed number from OCS client (such as Office Communicator) is in E.164 format, OCS must find a normalization rule to convert the dialed number to E.164.
18
7.2
The domain users need to be enabled for making calls through OCS server.
Under Communications tab, check the Enable user for Office Communications Server option and then click the Configure button.
19
In the above configuration for user Ray Cassick, when an inbound PSTN call for 5100, it will be converted by the gateway CPID manipulation and routing rules into +17166395100. OCS will match that number provided by the gateway to the Line URI parameter for this user and ring Ray Cassick if he is logged on to OCS from Office Communicator or any OCS supported device.
20
8.
The table below shows various test scenarios that are run as typical validation scenarios when the gateway is used in a voice messaging situation. The notes column specifies any notable parts of the test. The test scenarios below assume that all gateway configuration parameters are at their default values. For a complete sample showing call flows and states please consult the Gateway SIP Compatibility Guide. Test Number Call Scenario Description Notes
Inbound call scenarios 1 Direct call from TDM station set to OCS client. Direct call from OCS client to TDM station set.
9. 9.1
9.2
These keys are helpful during all troubleshooting scenarios and should be considered keys to activate by default fro all troubleshooting cases. voip prot and voip code this allows the collection of all SIP related messages as they are sent from and received by the gateway. This data is important in cases where you feel that the gateway is not able to communicate properly with the messaging server. tel event and tel code This allows the collection of all circuit side activity of the emulated station set such as display updates, key presses, light transitions and hook state changes. This data is very important in the following scenarios: o o Call control problems (dropped calls, failing transfers, etc) Integration problems (incorrect mailbox placement, missed auto-attendant greetings etc)
teldrv prot This allows the collection of all ISDN messages both transmitted and received on the gateways front end interface. This data is very important in the following scenarios: o o Call control problems (dropped calls, failing transfers, etc) Integration problems (incorrect mailbox placement, missed auto-attendant greetings etc)
21
Routingtable (all keys) This allows you to look inside the routing table engine and see how matching rules and CPID manipulation rules work with respect to your call. This data is very important in the following scenarios: o Call routing problem (reaching the incorrect OCS client or no client at all, etc)
NOTE: Turning on all traces is not recommended. Doing this floods the debug stream with significant amounts of information that can cause delays in determining the root cause of a problem.
22
23