Connecting Communication Manager to a Valcom Paging System via FXO/CO trunks
Branch offices often have overhead paging systems, and it can be incredibly convenient for the overhead paging system to be connected to your Communication Manager gateway, so that users can operate the paging system from their deskphones (or anywhere, depending on your configuration).
This particular document notes how to connect a Communication Manager gateway (in this case, a G430 with an MM714B analog FXS/FXO line card) to a Valcom V-2006A using CO trunking facilities. Note that there is nothing particularly special about the Valcom paging system – this solution will probably work for other paging systems that present ports masquerading as CO trunks.
Determine the location number you’ll be using:
list locations LOCATIONS ARS Prefix 1 Required For 10-Digit NANP Calls?y Loc Name Timezone DST City/ ARS Atd Loc Disp Prefix Proxy Sel No Offset Area FAC FAC Parm Parm Rte Pat [...] 27 ENGR + 00:00 1 1 1 [...]
Determine which media-gateway you’ll be using:
list media-gateway MEDIA-GATEWAY REPORT Num Name Serial No/ IPV4 Address/ Type NetRgn Reg? FW Ver/HW Vint/ IPV6 Address/ RecRule Cntrl IP Addr 27 engr [redacted] 10.2.0.11 g430 27 y [redacted] [redacted] 10.2.0.1
Find a vacant FXO port on that media-gateway:
list configuration media-gateway 27 SYSTEM CONFIGURATION Board Assigned Ports Number Board Type Code Vintage u=unassigned t=tti p=psa [...] 027V2 ANA MM MM714BP HW23 FW099 p p p p 05 u 07 08 [...] 027V9 MG-ANNOUNCEMENT VMM-ANN 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
If you were using a port-network instead of a media-gateway, you could use
list configuration all to review port assignments on all port-networks, or
list configuration port-network X to review port assignments on port-network X.
Per the legend, you can identify unassigned FXO/CO ports by noting the letter ‘u’ in the appropriate port-column. You can see in this example that port 027V206 is unassigned. The placeholder ‘p’ indicates an unassigned FXS/station port, but we don’t need any of those for this example.
In order to add a trunk-group, you must determine what trunk access code (TAC) to use. Valid TACs are bounded by the system dialplan analysis, of
Call Type =
dac. DACs (dial access codes) can be used by either TACs (trunk access codes) or FAC (feature access codes). You’ll have to determine what TAC to use by analyzing which DACs are already consumed (review
display feature-access-codes and
list trunk-group to see which are already administered).
display dialplan analysis DIAL PLAN ANALYSIS TABLE Location: all Percent Full: 19 Dialed Total Call Dialed Total Call Dialed Total Call String Length Type String Length Type String Length Type [...] 1 3 dac [...]
Create a trunk-group to carry paging calls, and make its only trunk member the unassigned port you just noted:
display trunk-group 10 Page 1 of 22 TRUNK GROUP Group Number: 10 Group Type: co CDR Reports: y Group Name: ENGR Paging COR: 95 TN: 1 TAC: 145 Direction: outgoing Outgoing Display? n Dial Access? y Busy Threshold: 255 Queue Length: 0 Country: 1 Comm Type: voice Digit Absorption List: Prefix-1? y Trunk Flash? n Toll Restricted? y Trunk Type: loop-start
display trunk-group 10 Page 2 of 22 Group Type: co Trunk Type: loop-start TRUNK PARAMETERS Outgoing Dial Type: tone Cut-Through? n Trunk Termination: rc Disconnect Timing(msec): 500 Auto Guard? n Call Still Held? n Sig Bit Inversion: none Analog Loss Group: 6 Digital Loss Group: 11 Trunk Gain: high Disconnect Supervision - Out? n Answer Supervision Timeout: 10 Receive Answer Supervision? n Administer Timers? y XOIP Treatment: auto
display trunk-group 10 Page 3 of 22 TRUNK FEATURES ACA Assignment? n Measured: none Maintenance Tests? n Data Restriction? n Suppress # Outpulsing? n Charge Conversion: 1 Decimal Point: none Currency Symbol: Charge Type: units Per Call CPN Blocking Code: Per Call CPN Unblocking Code: Outgoing ANI: Ds1 Echo Cancellation? n
display trunk-group 10 Page 4 of 22 ADMINISTRABLE TIMERS Send Incoming/Outgoing Disconnect Timers to TN465 Ports? n Outgoing Disconnect(msec): 500 Outgoing Dial Guard(msec): 1600 Outgoing Glare Guard(msec): 1500 Ringing Monitor(msec): 5200 Incoming Seizure(msec): 500 Outgoing End of Dial(sec): 10 Outgoing Seizure Response(sec): 5 Programmed Dial Pause(msec): 1500 Flash Length(msec): 540 END TO END SIGNALING Tone(msec): 350 Pause(msec): 150 OUTPULSING INFORMATION PPS: 10 Make(msec): 40 Break(msec): 60 PPM? n
display trunk-group 10 Page 5 of 22 ATMS THRESHOLDS TTL Type: 105-w-rl Far End Test No: TTL Vendor: TTL Contact: Trunk Vendor: Trunk Contact: Trunk Length: MARGINAL UNACCEPTABLE Min Max Min Max 1004 Hz Loss: -2 21 -2 21 -Dev +Dev -Dev +Dev 404 Hz Loss: 9 9 9 9 2804 Hz Loss: 9 9 9 9 Maximum C Message Noise: 55 55 Maximum C Notched Noise: 74 74 Minimum SRL-HI: 0 0 Minimum SRL-LO: 0 0 Minimum ERL: 0 0 Allow ATMS Busyout, Error Logging and Alarming? n
display trunk-group 10 Page 6 of 22 TRUNK GROUP Administered Members (min/max): 1/1 GROUP MEMBER ASSIGNMENTS Total Administered Members: 1 Port Code Sfx Name Mode Type Ans Delay 1: 027V206 MM714 B paging
Next, you need to determine the AAR digit string that you plan to use. Check for any existing AAR patterns to ensure that your chosen digit string does not conflict, by executing
list aar analysis location 27 and reviewing the
Dialed String column.
list aar analysis location 1 AAR DIGIT ANALYSIS REPORT Location: 1 Dialed Total Route Call Node ANI String Min Max Pattern Type Number Req 1234 4 4 888 aar n 5678 4 4 777 aar n
For purposes of this example, we’ll choose AAR digit string 7243, which corresponds to dialpad word PAGE. Note the length of the digit string – in this case, 4.
Create a route-pattern to send calls to that trunk-group. Run
list route-pattern to see which route patterns are in use; come up with a number that is not in use, and execute
change route-pattern XXX where XXX is the to-be-used route-pattern number. Ensure that you set
No Del Dgts to the length of the AAR digit string you’ve chosen. If you need to always outpulse a specific digit to your paging system in order to activate it, insert those digits into the
Inserted Digits field. There will only be one route added to this route-pattern.
display route-pattern 799 Page 1 of 3 Pattern Number: 799 Pattern Name: ENGR Paging SCCAN? n Secure SIP? n Grp FRL NPA Pfx Hop Toll No. Inserted DCS/ IXC No Mrk Lmt List Del Digits QSIG Dgts Intw 1: 10 0 4 n user 2: n user 3: n user 4: n user 5: n user 6: n user BCC VALUE TSC CA-TSC ITC BCIE Service/Feature PARM No. Numbering LAR 0 1 2 M 4 W Request Dgts Format Subaddress 1: y y y y y n n rest none 2: y y y y y n n rest none 3: y y y y y n n rest none 4: y y y y y n n rest none 5: y y y y y n n rest none 6: y y y y y n n rest none
Configure AAR to recognize some digit string and route it over the route you just created:
list aar analysis location 27 AAR DIGIT ANALYSIS REPORT Location: 27 Dialed Total Route Call Node ANI String Min Max Pattern Type Number Req 7243 4 4 799 aar n
Determine your AAR Access Code:
display feature-access-codes Page 1 of 10 FEATURE ACCESS CODE (FAC) [...] Auto Alternate Routing (AAR) Access Code: 123 [...]
Now physically connect the correct CO port to the paging system. I very strongly recommend using a butt-set to ensure that you are connecting the correct ports together. Making a mistake can damage the gateway, the paging system, or both.
To use the paging system, the users in that location can dial the AAR access code, followed by the AAR analysis digit string that you specific. In this example, they would dial 1237243. The system will connect the caller to the paging system. In the case of this specific paging system, the Valcom will provide dialtone, and the user can then dial whichever zone number they wish to page.
If your stations, policies, and users permit, you can also administer feature buttons on stations so that the user can simply press one button and automatically be connected to the paging system. In this example, you would set the button assignment to
autodial with parameter
1237243#. The trailing # instructs the phone system to immediately process the call without waiting for any more digits. That may or may not be necessary in your implementation, but the trailing # doesn’t hurt to include, regardless.