Archive

Archive for the ‘CUCM’ Category

List Firmware Files on TFTP CUCM Servers

November 26, 2014 Leave a comment

Hi All

Here is a great tip for viewing phone firmware versions on a CUCM server.

Go to the CLI and type the model of the phone using the below standards

file list tftp SCCP42*
file list tftp SCCP45*
file list tftp SCCP75*

This will show you all the current firmware files that are installed on the CUCM server for these phone models

Enjoy

TheVoiceMan

Advertisements
Categories: CUCM Tags: , , ,

Viewing CUCM Trace Files and CUBE Debugs

November 25, 2014 Leave a comment

Hi All

Thought I would post this up as I have been using this tool for ages now and assumed that most people know about it.

The TranslatorX tool is an awesome tool for viewing Debugs from a CUBE or loading in Trace files from RTMT for a CUCM issue, it clearly outputs line by line the debugs and traces and you can even load a folder containing multiple files all at the same time.

Try it out, great tool and best of all it is free……

http://translatorx.cisco.com

Enjoy

TheVoiceMan

Categories: CUCM, Gateways Tags: , , ,

Enterprise License Manager (ELM) – Insufficicent Licenses

November 25, 2014 Leave a comment

Hi All

It’s been awhile

So had an interesting one yesterday

A customer had an issues with licensing, they only had a temp license installed for a CUCM 9.1.2 installation and the grace period for applying the permanent license had expired.

What does this mean? Well they were not able to make any changes in the CUCM environment , it locked it down.

The permanent license was activated and applied but they realised that the amount of devices they had created were more than the permanent license amounted to, so they were still in the position of not being able to make changes even though the permanent license was there.

They ended up being about 7 devices over…………

So they have two options to sort this out, if you have gone over your licenses and can’t make any changes if you restart the CUCM Publisher once it is back up it gives you a 24hr grace period where you can make changes.

For this customer this would work so they could remove the additional 7 licenses and they would be back within there permanent license quota.

The other option if you do not want to restart and needed the issue sorted out straight away, you could request a temp license from Cisco Licensing and then apply this to the server, this would add to the existing permanent license and then allow you to remove the additional devices, once the temp license runs out you are back within you quota.

Enjoy

TheVoiceMan

Categories: CUCM Tags: , ,

Forcing Cisco IP Phones into SRST mode

February 19, 2013 Leave a comment

Hi All

Have you ever wanted to know how to force your remote site Cisco IP Phones into SRST mode without turning off the CUCM servers or shutting down your WAN link. This can be achieved by using a access list on the router/WAN interface

Configure the access list that blocks the following

SIP: 5060 (TCP/UDP),
Secure SIP: 5061 (TCP/UDP),
SCCP: 2000 (TCP)
Secure SCCP: 2443 (TCP)
Standard RTP Ports: 16384-32767 (UDP)

ip access-list extended ACL-VOIP-CONTROL
deny tcp any any eq 5060
deny udp any any eq 5060
deny tcp any any eq 5061
deny udp any any eq 5061
deny tcp any any eq 2000
deny tcp any any eq 2443
deny udp any any range 16384 32767
permit ip any any

Apply the access control list to the WAN interface to which the administrator wishes to block voice traffic.

interface X/X
ip access-group ACL-VOIP-CONTROL in

The phones will now failover into SRST mode

Enjoy

The Voice Man

Categories: CUCM, Gateways

Configuring Outbound Services via Alternate Trunks ISDN & SIP

February 14, 2013 Leave a comment

Hey All

Have had a few questions around how you can determine which trunk a call leaves a customers environment, and how you can force calls through a particular trunk. This is very useful for customers who have multiple services but only have certain number ranges down each service, or if the customer wants to block CLI on one of the trunks and only send certain call out this one and the rest out one of the other trunks.

To set this up a few additional commands and dial-peers need to be configured on the relevant voice gateway to first locate the call with the correct calling number and then ensure it leave the system through the correct trunk to the carrier.

Using the Cisco IOS “answer-address” command this can be achieved

Usage Guidelines

Use the answer-address command to identify the origin (or dial peer) of incoming calls from the IP network. Cisco IOS software identifies the dial peers of a call in one of two ways: by identifying either the interface through which the call is received or the telephone number configured with the answer-address command. In the absence of a configured telephone number, the peer associated with the interface is associated with the incoming call.

For calls that come in from a plain old telephone service (POTS) interface, the answer-address command is not used to select an incoming dial peer. The incoming POTS dial peer is selected on the basis of the port configured for that dial peer.

First create some translation rules and then assign these translation rules to the translation profiles.

These will pre-pend a number for the incoming call to the gateway from CUCM in the below example this is 77 and 88 and remove the 77 and 88 including the zero (0) when it leaves the gateway and goes to the carrier

Note: Try not to use 99 as the prepending digits as this causes issues when you are then trying to strip the digits leaving the gateway

!
voice translation-rule 77
rule 1 // /77/
!
voice translation-rule 88
rule 1 // /88/
!
voice translation-rule 777
rule 1 /^770/ //
!
voice translation-rule 888
rule 1 /^880/ //
!
voice translation-profile PrePend77Incoming
translate called 77
!
voice translation-profile PrePend88Incoming
translate called 88
!
voice translation-profile Remove77Outgoing
translate called 777
!
voice translation-profile Remove88Outgoing
translate called 888
!

The below dial peers capture the calls based on their mask when leaving the CUCM system and matches on one of the below dial peers which in turns forces the calls out the relevant Trunks

dial-peer voice 77 voip
description === Outgoing Calls ALLOW CLI ===
translation-profile incoming PrePend77Incoming
answer-address 024321….
dtmf-relay rtp-nte h245-alphanumeric
codec g711ulaw
no vad
!
dial-peer voice 88 voip
description === Outgoing Calls BLOCK CLI ===
translation-profile incoming PrePend88Incoming
answer-address 029876….
dtmf-relay rtp-nte h245-alphanumeric
codec g711ulaw
no vad
!
dial-peer voice 1 pots
description === Outgoing Calls BLOCK CLI ===
translation-profile outgoing Remove88Outgoing
destination-pattern 88T
progress_ind setup enable 3
progress_ind progress enable 8
port 0/0/0:15
!
dial-peer voice 2 pots
description === Outgoing Calls ALLOW CLI ===
translation-profile outgoing Remove77Outgoing
destination-pattern 77T
progress_ind setup enable 3
progress_ind progress enable 8
port 0/0/1:15
!

Below is also a default dial-peer which has the standard destination-pattern 0T which captures any calls without a mask and sends them out the defined default trunk.

dial-peer voice 3 pots
description ==== Outgoing Calls Default ====
destination-pattern 0T
progress_ind setup enable 3
progress_ind progress enable 8
port 0/0/2:15
!
!

Enjoy

The Voice Man

Categories: CUCM, Gateways

Warning: The /common file system is mounted read only

May 22, 2012 Leave a comment

Interesting one…..

Had an issue yesterday where we identified a Cisco bug (CSCti52867) relating to any of the following IBM MCS servers

MCS-7816-I4,

MCS-7825-I4

MCS-7828-I4

When logging into the CLI instead of getting the standard Admin prompt the following information was presented which encouraged me to investigate further

java.io.FileNotFoundException: /var/log/active/platform/log/cli.bin (Read-only file system)

        at java.io.RandomAccessFile.open(Native Method)

        at java.io.RandomAccessFile.<init>(RandomAccessFile.java:212)

        at com.cisco.iptplatform.fappend.ciscoRollingFileAppender.restoreIndex(ciscoRollingFileAppender.java:100)

        at com.cisco.iptplatform.fappend.ciscoRollingFileAppender.setFile(ciscoRollingFileAppender.java:43)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

        at java.lang.reflect.Method.invoke(Method.java:597)

        at org.apache.log4j.config.PropertySetter.setProperty(PropertySetter.java:196)

        at org.apache.log4j.config.PropertySetter.setProperty(PropertySetter.java:155)

        at org.apache.log4j.xml.DOMConfigurator.setParameter(DOMConfigurator.java:530)

        at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:182)

        at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:140)

        at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:153)

        at org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMConfigurator.java:415)

        at org.apache.log4j.xml.DOMConfigurator.parseRoot(DOMConfigurator.java:384)

        at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:783)

        at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:666)

        at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:616)

        at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:584)

        at org.apache.log4j.xml.DOMConfigurator.configure(DOMConfigurator.java:687)

        at sdMain.main(sdMain.java:602)

java.lang.NullPointerException

        at com.cisco.iptplatform.fappend.ciscoRollingFileAppender.updateIndex(ciscoRollingFileAppender.java:117)

        at com.cisco.iptplatform.fappend.ciscoRollingFileAppender.nextFileName(ciscoRollingFileAppender.java:92)

        at com.cisco.iptplatform.fappend.ciscoRollingFileAppender.append(ciscoRollingFileAppender.java:74)

        at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:221)

        at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:57)

        at org.apache.log4j.Category.callAppenders(Category.java:187)

        at org.apache.log4j.Category.forcedLog(Category.java:372)

        at org.apache.log4j.Category.info(Category.java:674)

        at sdMain.main(sdMain.java:616)

log4j:ERROR No output stream or file set for the appender named [CLI_LOG].

   Welcome to the Platform Command Line Interface

    WARNING:

        The /common file system is mounted read only.

        Please use Recovery Disk to check the file system using fsck.

The solution to this issue cab be found at the following location

https://supportforums.cisco.com/docs/DOC-12955

Bascially you need to do the following

  1. Perform Backup of CUCM & UCXN  or Relevant UC Servers
  2. Use the Cisco Recovery Disc and perform a file system check (Note: If errors are found a rebuild and restore is required)
  3. Apply Disk Exerciser Utility
  4. Apply Server Firmware

Cheers

The Voice Man

Categories: CUCM, UCXN

CUBE Configuration Example

May 14, 2012 Leave a comment

Hi All

Great link to a sample CUBE configuration from Cisco for integrating with CUCM

Check it out

CUBE Configuration Example

Cheers

The Voice Man

Categories: CUCM, Gateways Tags: , , ,