Extension Mobility Login is Unavailable (23)


Issue: Cisco 7821 SIP IP Phone intermittently login to Extension Mobility service. Error displayed on the phone was Login is Unavailable (23).

Cisco 7821 SIP IP Phone running on firmware version 10.1(1)SR1
Cisco Unified Communications Manager version

Time        Source                Destination           Protocol Length Info
0.000000       TCP      70     51493 > http-alt [SYN] Seq=0 Win=14480 Len=0 MSS=1460 TSval=195791 TSecr=619720525
0.000095        TCP      70     http-alt > 51493 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 TSval=619767712 TSecr=195791
0.000686       TCP      66     51493 > http-alt [ACK] Seq=1 Ack=1 Win=14480 Len=0 TSval=195791 TSecr=619767712
0.006832       HTTP     510    GET /emapp/EMAppServlet?device=SEP00082F1B6653 HTTP/1.1 
0.006880        TCP      66     http-alt > 51493 [ACK] Seq=1 Ack=445 Win=15544 Len=0 TSval=619767719 TSecr=195792
0.062434        HTTP/XML 814    HTTP/1.1 200 OK 
0.063115       TCP      66     51493 > http-alt [ACK] Seq=445 Ack=749 Win=15708 Len=0 TSval=195797 TSecr=619767774
0.065465       TCP      66     51493 > http-alt [FIN, ACK] Seq=445 Ack=749 Win=15708 Len=0 TSval=195797 TSecr=619767774
0.065564        TCP      66     http-alt > 51493 [FIN, ACK] Seq=749 Ack=446 Win=15544 Len=0 TSval=619767777 TSecr=195797
0.065973       TCP      66     51493 > http-alt [ACK] Seq=446 Ack=750 Win=15708 Len=0 TSval=195798 TSecr=619767777
10.020709       TCP      70     51494 > http-alt [SYN] Seq=0 Win=14480 Len=0 MSS=1460 TSval=196793 TSecr=619767777
10.020821        TCP      70     http-alt > 51494 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 TSval=619777733 TSecr=196793
10.021377       TCP      66     51494 > http-alt [ACK] Seq=1 Ack=1 Win=14480 Len=0 TSval=196793 TSecr=619777733
10.026852       HTTP     534    GET /emapp/EMAppServlet?device=SEP00082F1B6653&seq=35600&userid=35600 HTTP/1.1 
10.026900        TCP      66     http-alt > 51494 [ACK] Seq=1 Ack=469 Win=15544 Len=0 TSval=619777739 TSecr=196794
10.166359        HTTP/XML 576    HTTP/1.1 200 OK 
10.167019       TCP      66     51494 > http-alt [ACK] Seq=469 Ack=511 Win=15544 Len=0 TSval=196808 TSecr=619777878
10.176926       TCP      66     51494 > http-alt [FIN, ACK] Seq=469 Ack=511 Win=15544 Len=0 TSval=196809 TSecr=619777878
10.177023        TCP      66     http-alt > 51494 [FIN, ACK] Seq=511 Ack=470 Win=15544 Len=0 TSval=619777889 TSecr=196809
10.177447       TCP      66     51494 > http-alt [ACK] Seq=470 Ack=512 Win=15544 Len=0 TSval=196809 TSecr=619777889

Hypertext Transfer Protocol
    GET /emapp/EMAppServlet?device=SEP00082F1B6653&seq=35600&userid=switch HTTP/1.1\r\n
        [Expert Info (Chat/Sequence): GET /emapp/EMAppServlet?device=SEP00082F1B6653&seq=35600&userid=switch HTTP/1.1\r\n]
            [Message: GET /emapp/EMAppServlet?device=SEP00082F1B6653&seq=35600&userid=switch HTTP/1.1\r\n]
            [Severity level: Chat]
            [Group: Sequence]
        Request Method: GET
        Request URI: /emapp/EMAppServlet?device=SEP00082F1B6653&seq=35600&userid=35600
        Request Version: HTTP/1.1
    Accept: x-CiscoIPPhone/Menu, x-CiscoIPPhone/Text,  x-CiscoIPPhone/IconMenu, x-CiscoIPPhone/IconFileMenu, x-CiscoIPPhone/Directory, x-CiscoIPPhone/Input, x-CiscoIPPhone/Execute, text/*, */*\r\n
    Accept-Language: en_GB\r\n
    Accept-Charset: utf-8,iso-8859-1;q=0.8\r\n
    x-CiscoIPPhoneModelName: CP-7821\r\n
    x-CiscoIPPhoneSDKVersion: 8.5.1\r\n
    x-CiscoIPPhoneDisplay: 396,133,1,G\r\n
    [Full request URI:]
    [HTTP request 1/1]
    [Response in frame: 16]

Continue reading Extension Mobility Login is Unavailable (23)

TranslatorX libgtk-x11-2.0.so.0 Cannot Open Shared Object File


Issue: TranslatorX doesn’t run on Ubuntu 14.04 LTS 64bit. Getting an error

rejohn@R007:/opt/TranslatorX10_0_0_2$ ./TranslatorX10_0_0_2
Failed to find/load Framework library
libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory

Solution: The problem is the architecture of my machine is 64-bit while the application is 32-bit.
The below command installs all the missing dependencies of various packages in order to get the 32-bit version of the application running.

sudo apt-get install libgtk2.0-0:i386

Cisco SPA 112 ATA on CUCM


One of Cisco employees shared a document on how to configure Cisco SPA 112 ATA on CUCM. The document walk you through the setup and common issues encountered with solutions. My challenge was I had difficulty in registering Cisco SPA 112 ATA to CUCM 10.5.

I took a packet capture on the registration process and a 404 Not Found message was sent from CUCM to Cisco SPA 112 ATA. Then the registration was terminated.

Time 	    Source              Destination         Protocol Length Info
98.128001       SIP      648    Request: REGISTER sip:    (fetch bindings) | 
98.132134       SIP      648    Request: REGISTER sip:    (fetch bindings) | 
98.143224       SIP      384    Status: 100 Trying    (0 bindings) | 
98.144496       SIP      399    Status: 100 Trying    (0 bindings) | 
98.145221       SIP      507    Status: 401 Unauthorized    (0 bindings) | 
98.235552       SIP      833    Request: REGISTER sip:    (fetch bindings) | 
98.236518       SIP      384    Status: 100 Trying    (0 bindings) | 
98.240406       SIP      479    Status: 404 Not Found    (0 bindings) | 

Went through the details of 404 Not Found SIP message, it contained a warning message Line not configured. This error message was interesting and the same time a clue to the problem.

Session Initiation Protocol (404)
    Status-Line: SIP/2.0 404 Not Found
    Message Header
        Via: SIP/2.0/TCP;branch=z9hG4bK-2909dc63
        From: "SPA112" <sip:spa112 @>;tag=ae8d93bc28a05ac6o0
        To: "SPA112" </sip:spa112><sip:spa112 @>;tag=1282891069
        Date: Sun, 14 Sep 2014 23:43:05 GMT
        Call-ID: cabb7dad-942d93eb@
        Server: Cisco-CUCM10.5
        CSeq: 17101 REGISTER
        Warning: 399 cucm-pub "Line not configured"
        Content-Length: 0

Continue reading Cisco SPA 112 ATA on CUCM

CUAC Call Park


Issue: Parking calls using a Cisco Unified Attendant Console (CUAC) don’t show up on CUAC Parked Calls window.

Parked Calls

Software used:
Cisco Unified Attendant Console version
Cisco Unified Communications Manager version (Cluster setup)

Solution: Call park setup in a Cisco Unified Communications Manager cluster environment has to be configured on both publisher and subscriber as shown in the figure below. However, this doesn’t work in Cisco Unified Attendant Console. There are two solutions to solved this issue. First is using non-overlapping call park numbers. But what if customer would like to use same call park number range through out the cluster? In this case, second option is the answer. In Cisco Unified Communications Manager version 10.x (not sure if this available in 9.x) there is a service parameter called Enable Clusterwide CallPark Number/Ranges. Setting this value to True (call park numbers/ranges apply clusterwide and are not Unified CM node-specific) the field Cisco Unified Communications Manager, on the Call Park Configuration window in Unified CM Administration is ignored. You will be required to make a selection in that field, but if this parameter is set to True, Unified CM will not enforce the selection.

Continue reading CUAC Call Park

Cisco Unity Connection Switch Version Failed


I recently upgraded Cisco Unity Connection cluster running version to the latest version Successfully upgraded the publisher to latest version but when I switched over I got an error stating Cisco Unity Connection switch version failed.

Cisco Unity Connection switch over failed

Downloaded the Cisco Unity Connection install logs off the server (from CUC CLI I ran this command – file get install *). Reviewed the install logs and saw the error.

09/09/2014 14:09:22 component_switch|(CAPTURE) + echo 'Inactive version of Subscriber Does not match with Publisher'\''s Inactive version'|<LVL::Debug>
09/09/2014 14:09:22 component_switch|(CAPTURE) Inactive version of Subscriber Does not match with Publisher's Inactive version|<LVL::Debug>
09/09/2014 14:09:22 component_switch|(CAPTURE) + exit 1|<LVL::Debug>
09/09/2014 14:09:22 component_switch|File:/opt/cisco/install/bin/component_switch:404, Function: execute_switch_commands(), /opt/cisco/connection/lib/install/uc_version_switch /var/log/active/platform/log/cli.log failed (1)|<LVL::Error>
09/09/2014 14:09:22 appmanager.sh|Internal Error, File:/usr/local/bin/base_scripts/appmanager.sh:399, Function: switch_versions(), failed to switch components|<LVL::Critical>

The issue was the inactive version in Cisco Unity Connection subscriber didn’t match on publisher’s inactive version. After upgrading the subscriber to, I successfully switched over the entire cluster to the latest version without any issues.

CdrPushRecvManager FindRecvrHunt skipping


Acme Packet SBC couldn’t push CDR logs to SDReporter. Acme Packet was logging this error message.

Sep 13 10:43:01 cctrsyd2apk001 radd[29b3ed70] ERROR CdrPushRecvManager::FindRecvrHunt skipping! Receiver is not eligible for service.

The error message signifies Layer 2 or 3 connectivity issues, however upon verification everything was good (i.e. ICMP echo and ARP checks). Tried re-entering the FTP credentials configured on Acme Packet SBC and accessing SDReporter directly using FTP client both returned okay.

Did a packet capture on the SDReporter side (FTP server) and found the culprit. Acme Packet successfully login to the SDReporter but when it tried to write CDR file (line 10) it was denied (line 11).

220 (vsFTPd 2.2.2)
USER <removed>
331 Please specify the password.
PASS <removed>
230 Login successful.
200 Switching to Binary mode.
227 Entering Passive Mode (10,120,32,9,243,66).
STOR /home/ossadmin/OSS/SDReporter/cdrconverter/data/INPUT/AcmeC6.3-1/1/cdr201409130803
553 Could not create file.

Then I redirected my focus to SDReporter. Scanning through SDReporter’s manual I found the fix which was to configure SELinux to allow user to login and access their home directory. Lastly, FTP server daemon was restarted.

[root@sdreporter ossadmin]# setsebool allow_ftpd_full_access 1
[root@sdreporter ossadmin]# /etc/init.d/vsftpd stop
Shutting down vsftpd:                                      [  OK  ]
[root@sdreporter ossadmin]# /etc/init.d/vsftpd start
Starting vsftpd for vsftpd:                                [  OK  ]

Detect Network Failure using EEM and Traceroute


Cisco IOS Embedded Event Manager (EEM) is very useful automation tool particularly in detecting network failures. In this post, I’m going to show you how to leverage EEM and traceroute to detect this issue. The network topology we are using is in the figure.

Let say for example, R7 and R8 are the routers you managed. You happened to know the provider’s managed router R3 has two connections (primary and backup) and you would like to determine (by some sort of an syslog message) when the provider has issue on their primary connection.

EEM traceroute

The configuration snippet is used to achieve this goal. The EEM runs the traceroute sourcing from Loopback2 every minute. The if-statement logic is used to detect whether hop is found or not on the traceroute output and it generates a syslog message. If the CPE is configured to send all its syslog messages to a management station, the syslog message can be used to trigger email alert to network admins. Other way is you can use EEM to send email alert if you don’t a management station. Check my post here on how to do this Cisco IOS EEM: Monitor ISDN Layer 2 Status.

Continue reading Detect Network Failure using EEM and Traceroute

The Disk Contains an Unclean File System


I recently decided to use Windows 8.1 and also run Ubuntu 14.04 LTS at the same time (dual boot). The issue that I’m facing most of the times with this setup is when I mounted Windows file system from Ubuntu I always get the following error.

Error mounting /dev/sda6 at /media/rejohn/DATA: Command-line `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,dmask=0077,fmask=0177" "/dev/sda6" "/media/rejohn/DATA"' exited with non-zero exit status 14: The disk contains an unclean file system (0, 0).
Metadata kept in Windows cache, refused to mount.
Failed to mount '/dev/sda6': Operation not permitted
The NTFS partition is in an unsafe state. Please resume and shutdown
Windows fully (no hibernation or fast restarting), or mount the volume
read-only with the 'ro' mount option.

I never encountered this issue before with Windows 7 and Ubuntu 13.10 tandem. Searching over the Internet, I learned that Windows 8.x has Fast Startup enabled by default. By disabling this feature the issue is resolved. Follow these steps on how to disable Fast Startup.

1. Open the Control Panel, and click on the Power Options icon.
2. Click on the Choose what the power buttons do link on the left side.
3. Click on the Change settings that are currently unavailable link at the top.
4. Finally, Under Shutdown settings, uncheck the Turn on fast startup box. Click on the Save changes button.