Wednesday, July 27, 2011

"com.apple.transporter.util.StreamUtil.readBytes" error while submitting iPhone apps from Xcode

My environment:  Xcode 4.1, iOS SDK 4.3, Lion


I am working on my first iPhone apps and when I tried to submit the iPhone apps after validation success, the following error is shown:


“com.apple.transporter.util.StreamUtil.readBytes(Ljava/io/InputStream;)[B”


Good thing is I am not alone, the workaround is uninstall Xcode and reinstall again, that works for me.


sudo /Developer/Library/uninstall-devtools –mode=all


Now I am waiting for the app review and approval, can't wait to see my first app in app store!

Monday, July 25, 2011

Taking Screenshot on Cisco IP Phone and Cius

Try to access this link from your browser:

http://your-ip-phone-address/CGI/Screenshot

Enter your end user username and password, you will see the phone screenshot in your browser.

It is working for both IP phone and Cius.

Wednesday, July 20, 2011

Enable Video for CIPC on CME

My environment:  CME 8.6, IOS 15.1(4)M, CIPC 8.6.1, CUVA 2.2.2

It takes me some time to make the "broken line" in CUVA becomes connected again.  Try this if you have similar issue.

telephony-service
   service phone videoCapability 1

Sunday, July 17, 2011

Using PVDM3 for Video Switching - CME

My environment:  IOS 15.1(4)M, CME 8.6 on 3945

The configuration of video switching DSP farm is similar to the voice conference DSP farm.  There are 2 different types of video conference, homogenous and heterogenous.  For homogenous, assuming the video codec and resolution for endpoints are the same.  For heterogenous, you can have different endpoints with different video codec and resolution.  In this post, I am trying to use 9971, 9951 with unified camera in a CME-only environment.

Since DSP farm can only registered to SCCP CME or UCM, telephony-service configuration needs to be done to allow the video conferencing dspfarm registered to it.  You need AT LEAST ONE SCCP PHONE to initiate the conference ad-hoc or meet-me conference.

1.  voice-card 0 configuration, the new dsp-reservation command reserves a certain portion of DSP for voice.  dsp-reservation 0 means all DSP will be used for video.


voice-card 0
 voice-service dsp-reservation 0
 dsp services dspfarm

2. voice-service voip configuration, allow sip and h323 interwork and enable sip registrar

voice service voip
 allow-connections h323 to h323
 allow-connections h323 to sip
 allow-connections sip to h323
 allow-connections sip to sip
 fax protocol t38 version 0 ls-redundancy 0 hs-redundancy 0 fallback none
 sip
  registrar server

3. SIP CME configuration, remember to enable unified camera and video, either globally or per phone.

voice register global
 mode cme
 source-address 192.168.24.11 port 5060
 bandwidth video tias-modifier 1024000 negotiate end-to-end
 max-dn 100
 max-pool 100
 tftp-path flash:
 create profile sync 0000519212952386
 camera
 video
!
voice register dn  1
 number 2001
!
voice register dn  2
 number 2002
!
voice register dn  3
 number 2003
!
voice register pool  1
 id mac ACA0.166F.D863
 type 9971
 number 1 dn 1
 camera
 video
!
voice register pool  2
 id mac ACA0.16FC.ED7F
 type 9971
 number 1 dn 2
 camera
 video
!
voice register pool  3
 id mac 9CAF.CAFF.9ABE
 type 9951
 number 1 dn 3
 camera
 video

4. Homogenous video conference DSP farm configuration

sccp local GigabitEthernet0/0

sccp ccm 192.168.24.11 identifier 1 priority 1 version 7.0 
sccp
!
sccp ccm group 1
 associate ccm 1 priority 1
 associate profile 2 register VBRIDGE

!
dspfarm profile 2 conference video homogeneous
 codec g722-64
 codec g711ulaw
 codec h264 vga frame-rate 30 bitrate 1mbps
 maximum sessions 3
 associate application SCCP

5. Telephony-service configuration

telephony-service
 sdspfarm units 10
 sdspfarm tag 2 VBRIDGE
 conference hardware
 video
  maximum bit-rate 1024000
 max-ephones 100
 max-dn 100
 ip source-address 192.168.24.11 port 2000
 cnf-file location flash:
 max-conferences 154 gain -6
 transfer-system full-consult
 create cnf-files version-stamp 7960 Jul 15 2011 15:25:15

6. Create ephone-template and apply it to the ephone who wants to initiate meetme conference

ephone-template  1
 conference admin
 softkeys hold  Join Newcall Resume Select
 softkeys idle  ConfList Gpickup Join Login Newcall Pickup Redial RmLstC
 softkeys seized  Redial Endcall Cfwdall Pickup Gpickup Callback Meetme
 softkeys connected  Hold Trnsfer Park Endcall Confrn ConfList Join Select RmLstC

7.  Create ad-hoc video and meetme video ephone-dn 

ephone-dn  10  octo-line
 number 3333
 conference ad-hoc video
 preference 1
 no huntstop
!
!
ephone-dn  11  octo-line
 number 3334
 conference meetme video
 preference 1
 no huntstop

8.  Try to initiate a meetme video conference from the SCCP phone, the let the 9971 phones call in the meetme number.  It will work.  I don't have enough PVDM3 for heterogenous video conference therefore I didn't try the ad-hoc video conference, if you have tried it and it works, feel free to share with me your result.  :)

An iPhone app for CME Config Generation:
http://itunes.apple.com/us/app/cme-config-generator/id453025819?ls=1&mt=8

Wednesday, June 29, 2011

Factory Reset a Cisco Cius

There are several reasons that you need to factory reset series, you will know the reason when you need to factory reset it.  :)
These are the steps
1. Power down the device.
2. Keep the settings key and back key on the device pressed(the outer 2 keys at the bottom of the device) and power it up.
3. You will see that it powers on and a red LED next to the front camera will start blinking.
4. Once it starts blinking press the volume buttons + and - at the side of your device for 6 times alternately. i.e., + - + - + -
5. Once this sequence is pressed, you will see a solid red light for a while and this confirms that the factory reset is going on.
6. After the reset is done the device will boot up.

Thursday, June 2, 2011

Different Call Park experience with 9971

My environment:  UCM 8.5.1.10000-26

When you have a 79xx phone and 99xx phones and with both of them configured with Call Park, you will find the end user experience is quite difference.

For the old 79xx phones:

1. Phone A (7965) calls Phone B (7965)
2. Phone B answers and parks the call at 1234
3. Phone B display shows "Call Park at 1234", no light on the line button, you can make new call with Phone B using the normal method

For the new 99xx phones:
1. Phone A (7965) calls Phone B (9971)
2. Phone B answers and parks the call at 1234
3. Phone B will shows

4567
Parked on 1234

and a Resume softkey.  The indicator of the 1st session key on the right is on.
4.  You can press the Resume softkey to get back the call, as if the call is on hold.  Or you can press the 2nd session key to make new calls.  You can also retrieve the call from other phone by call in the call park number.

This is correct as per design, although the behavior is contradictory to the old 79xx phones.

Detail information in Cisco bug toolkit:
http://tools.cisco.com/Support/BugToolKit/search/getBugDetails.do?method=fetchBugDetails&bugId=CSCta34868

Thursday, May 26, 2011

Getting List.xml from UCM

There are numerous way to get the List.xml from UCM, however if you don't have a tftp client like the one built-in on Mac or Linux, but you have a router with you, you can do the following on your IOS router:

Say for example I want to change the wallpaper listing for my 89/99 phones:
copy tftp://myucm.pandaeatsbamboo.blogspot.com/Desktops/640x480x24/List.xml

Then you can "more flash:List.xml" on your router to view the content, copy and paste it to your notepad, modify it and upload it back to UCM via the servicability page.

Enjoy!

Configuring Live Record in Cisco Unity Connection

My environment:  UCM 8.5.1.10000-26, CUC 8.5.1.10000-26

Live record is a cool feature that you can record your conversation or even serve as a voice memo by dialing in a number, and the recording will be stored in your own voice mailbox.

To configure Live Record, first of all you need to create a DN on UCM:

1. UCM > Call Routing > Directory Number > Add New
2. Enter a DN, say for example 1188.  Configure partition and CSS base on your environment
3. CFA to the voicemail pilot number

On CUC, you need to do the following:
1. CUC > Call Routing > Forwarded Routing Rules > Add New
2. Enter Live Record in Description field and select Save.
3. On the Edit Forwarded Routing Rule page, in the status field, select Active
4. Under Send Call To, select Conversation
5. In the Conversation list, select Start Live Record
6. Under Routing Rule Condition, select Add New
7. On the new Forwarded Routing Rule Condition page, select Dialed number
8. Select Equals and enter the Live Record pilot number, in my case the number is 1188.  Then select Save.

Done!  Call in 1188 to try, or you can call others and conference to this number.  The recording will be stored in your VM mailbox.

IP Communicator 8.6.1 - Network settings are grayed out

My environment:  IP Communicator 8.6.1 on Windows Vista

I am playing around with the new IP Communicator 8.6.1 in my lab and I've found the network settings are grayed out when I try to change the tftp server address.

You need to right-click on the desktop IP communicator icon and choose "run as administrator" in order to change the network settings in this new release.

Bring your dead Cisco IP phone back to live

I have an old post talking about how to factory reset your Cisco IP phone:
http://pandaeatsbamboo.blogspot.com/2008/02/ip-phone-factory-reset.html

However in a lot of cases, after you entering the 3491672850*# sequences twice, you phone looks dead.  The right topmost line key will have a orange flash then the screen is dark.  In this scenario you need to:

1. Make sure you have DHCP server configured and your phone can get an IP address
2. Make sure you have option 150 ip configured so that the IP phone knows where to get the firmware
3. Finally, you need to change your switchport to "speed 100" manually!!!!!  I have four phones recovered from "seems dead" state and it seems to be the trick.

After you make sure you have done the 3 steps above, restart the factory reset steps and you can recover your dead phone!