Hacking the 7926G Getting Started

The past month I have been writing midlets for the 7926G Cisco IP phone. The interesting aspect of this phone for the hospital is that it has a barcode scanner built into the end of the phone. All of our nurses carry IP phones with them today and we are planning to replace all of them in the next six months, so a phone that doubles as a barcode scanner eliminates carrying an extra device. The whole process of getting a phone and a test CUCM took three weeks, but our Cisco account team came through whenever we needed.

In this post I would like to walk you through the set up of my development environment. First a list of links that will help get you started. Some will be referenced through out this post, others are just for education.

7926 Development Getting Started site

7926 Emulator Installation Guide

7926 Development Firmware Downloads

7926 SDK Download

Java MIDlet Developers Guide for Cisco Unified IP Phones

NetBeans IDE

If you are using Mac OSX then the installation guide above is not correct for the current NetBeans download. This is the appropriate directory.

superfly:Java_ME_platform_SDK_3.0 jud$ pwd
/Applications/NetBeans/NetBeans 7.1.1.app/Contents/Resources/NetBeans/mobility/Java_ME_platform_SDK_3.0

Below you can see that I put the Cisco 7926 skin right in that directory and unzipped. Everything will be put in the correct place if you do it from there.

superfly:Java_ME_platform_SDK_3.0 jud$ ls -1
Cisco7926Skin.zip
CiscoWirelessPhone.jar
DeviceSpecifics
ImageDemo
KeyCodeAPI
MockScannerAPI
ScannerSample
Updater.app
apps
bin
device-manager.app
docs
legal
lib
on-device
runtimes
toolkit-lib

Below I am testing the skin installation, notice how everything falls into place nicely.

superfly:Java_ME_platform_SDK_3.0 jud$ unzip -t Cisco7926Skin.zip
Archive:  Cisco7926Skin.zip
    testing: toolkit-lib/devices/     OK
    testing: toolkit-lib/devices/Cisco7926/   OK
    testing: toolkit-lib/devices/Cisco7926/conf/   OK
    testing: toolkit-lib/devices/Cisco7926/conf/Cisco7926.properties   OK
    testing: toolkit-lib/devices/Cisco7926/conf/device.properties   OK
    testing: toolkit-lib/devices/Cisco7926/conf/modules   OK
    testing: toolkit-lib/devices/Cisco7926/conf/networkIndicatorOn.png   OK
    testing: toolkit-lib/devices/Cisco7926/conf/skin-7926-highlighted.png   OK
    testing: toolkit-lib/devices/Cisco7926/conf/skin-7926-normal.png   OK
    testing: toolkit-lib/devices/Cisco7926/conf/skin-7926-pressed.png   OK
    testing: toolkit-lib/devices/Cisco7926/default-state.xml   OK
    testing: toolkit-lib/devices/Cisco7926/NetworkIndicator.bean   OK
    testing: toolkit-lib/devices/Cisco7926/Screen.bean   OK
    testing: toolkit-lib/devices/Cisco7926/ScreenGraphics.bean   OK
    testing: toolkit-lib/process/     OK
    testing: toolkit-lib/process/device-manager/   OK
    testing: toolkit-lib/process/device-manager/conf/   OK
    testing: toolkit-lib/process/device-manager/conf/Cisco7926.properties   OK
    testing: toolkit-lib/process/device-manager/device-adapter/   OK
    testing: toolkit-lib/process/device-manager/device-adapter/Cisco7926.bean   OK
    testing: toolkit-lib/process/device-manager/device-adapter/Cisco7926.deviceProperties.bean   OK
    testing: toolkit-lib/process/device-manager/device-adapter/Cisco7926/   OK
    testing: toolkit-lib/process/device-manager/device-adapter/Cisco7926/1.bean   OK
No errors detected in compressed data of Cisco7926Skin.zip.

When you get everything installed correctly the option for a Cisco7926 is in the configuration menu.

7926g-configuration-menu

This entry was posted in Code, Routing. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s