JavaChap Blog Java and Technology musings for the masses

10Sep/104

iPhone 4 first impressions

I have been using this baby for about 4 weeks. So decided to write my thoughts about the latest and greatest iPhone 4

The Retina Display -  Boy you gotta use it to understand how cool it is. When i looked at my old 2G  after using 4G i feel like 'wait a minute is this the display i have been using all these days", it looks so crappy. This is best resolution i have ever seen. I just feel like touching the objects, fonts look so amazing.

The Hardware - This is the first overhaul of the design since the original iPhone. All i can say is its just super super sexy. It feel's like a rock solid in your hand. Its 25% thinner than 3GS. Feels so good in my hand that i want to carry it without a case, but I'm scared that i may damage the phone without the case. So i have to put the case on even if i don't like it.

The Camera - iPhone 4 comes with 5 MP Camera with Flash and front facing VGA Cam. The pictures are really cool, and the best part is the HD (720p) video recording. Even though its tough to copy large videos over 1GB of size.

iOS 4 - Multitasking is a welcome feature. Even though its limited, its a good start.  Enjoying the ability to set background for the home screen.

Issues - Some basic features are not supported by iPhone. Wish Cupertino company will add these features soon.

  • No File transfer using Bluetooth.
  • File Explorer is missing.
  • Unable to close all running applications in single shot.

Conclusion - I'm loving it.

15Feb/1092

How to make VOIP calls on iPhone using MagicJack Connection and Siphon

Update (September 2011) : MagicJack released an iPhone App now. Please download it, No more jailbreaking, No more Hacks. Hurray...

I have been using MagicJack to make calls to USA. Though its an excellent product, the hassle with MagicJack is we have to connect the MJ device to USB and the MJ device to the phone, along with this the annoying popup software.

So this weekend my project is to see if i can run the MagicJack on iPhone. I have iPhone 2g running 3.0.2 version of iPhone OS (Yeah i need to upgrade) and MagicJack currently running version 1.90.521.2.

As per my initial investigation, found the following things.

  • MagicJack works on SIP (Session Initiation Protocol).
  • Every MagicJack has its own username and password (hidden), this is different from your magicjack username and password.
  • MagicJack connects to a closely available proxy server.
  • Any iPhone app that supports SIP can be used to make calls with MagicJack Account. (Eg: Fring, Siphon)

So inorder to make calls from iPhone using MagicJack Data Connection we need to perform the following tasks.

  1. Retrieve Username and Password from MagicJack
  2. Identify MagicJack Proxy
  3. Install Siphon through Cydia
  4. Configure Siphon

Retrieve Username and Password from MagicJack

  1. Username will be in format EXXXXXXXXXX01. This is E and your phone number and 01, So your username will be  E<YourMJPhoneNumber>01.
  2. In order to extract hidden password from the MagicJack we can use a software provided by http://www.magicjackhacks.net/
  3. Download MagicJack Utilities from http://www.magicjackhacks.net/downloads/MagicJack_Utilitieswsip.zip
  4. Follow the Steps specified in "How to get the password via windows right now" from magicjackhacks.net

Identify MagicJack proxy

You can identify which proxy you are connected to using the following method:

Preparation

  1. Download pmdump from http://www.ntsecurity.nu/toolbox/pmdump/.
  2. Start MagicJack
  3. Identify MagicJack's process ID (PID).
    • Open a DOS (command) window.
    • Execute pmdump -list
    • Find "magicjack.exe" in the output. Note the number associated with it.
  4. Make at least one call. (Ex. to the special echo-test number: 909-390-0003.).

Final steps

  1. Using the DOS (command) window and PID as described above, execute:
    pmdump {pid} mj_dump.txt
  2. Open mj_dump.txt using a text editor like textpad.
  3. Search for the string:
    s=ENSResip

That string occurs at the start of a line. And it occurs within repeating blocks of data, like a repeating pattern. In these blocks you will find lines starting with o= and c=. These lines contain the IP address of the SIP/proxy and RTP/vms servers respectively.

For example, if you connect to the Phoenix proxy, you should see:

o=- {nnnnnnnnnn} {nnnnnnnnnn} IN IP4 66.104.81.70
s=ENSResip
c=IN IP4 66.104.81.75

You can use nslookup to resolve both IP addresses to hostnames, revealing the regional SIP/proxy and RTP/vms servers you are presently using.

Install Siphon through Cydia

  1. Open Cydia
  2. Click on Search on the right bottom of the screen
  3. Type "Siphon" in the search text and select 'Siphon' from the results.
  4. Click install on the right top of the screen
  5. Click Confirm, Cydia will now install the application. Once completed it will ask to Restart the Springboard. Click "Restart SpringBoard" to restart the SpringBoard.
  6. You are done with the Siphon Installation.




Configure Siphon

  1. Go to Settings > Siphon
  2. In Siphon Setting main screen, Enter the username, password and server.
    • Username: EXXXXXXXXXX01
    • Password: 20 char password
    • Server: talk4free.com
  3. Now go to Advanced Settings. Enter the  following settings.
    • Reg Timeout : 3600
    • Proxy Server : the proxy that we retrieved in the above step with 5070 port.
      Eg  proxy1.sanfrancisco.talk4free.com:5070
    • Auth. Username : EXXXXXXXXXX01
    • Enable NAT: OFF
  4. Now go to Network Settings,
    • Local Port : 5070
    • RTP port : 4000
  5. You are done with the Settings



Now open the siphon application, if all your settings are correct you should the see "Sip" button enabled in the Numpad and "Connected" text on top right of the screen.

Update: Many guys have asked if they can make calls on iPhone which is not jailbroken. Yes i have tried the MagicJack settings on iSip (formerly SipPhone on iPhone) application,  Yes i'm able to make calls successfully using iSip. You can download the iSipSimple from iTunesStore

Update (Mar 26, 2010) : magicjackhacks.com is moved to magicjackhacks.net; so i updated the links accordingly.

14Aug/091

iPhone – Illumine WinterBoard Theme

I'm Loving my new theme that i have just installed on my iPhone - Illumine WinterBoard Theme. Illumine is a simple and classy iPhone Winterboard theme. It adds a cool green orb for the unlock screen and themes most of the common Apps from both App Store and Cydia.

Illumine iPhone Winterboard Theme

Illumine iPhone Winterboard Theme

How to Install Illumine?

1. Your device must be jailbroken.
2. You must have Winterboard installed via Cydia.
3. You must have modmyi source (http://apt.modmyi.com) added to Cydia.
4. Search for Illumine in Cydia and install it.
5. Launch Winterboard and activate Illumine.

Tagged as: , 1 Comment
1Jul/09385

Vodafone India – GPRS for iPhone without Data Plan

Update: If you have the latest version of  iOS  (3.1.3, 4.0, 4.1 or later), please check update below.

Vodafone(India) will not allow to use the regular GPRS plan (Vodafone Live) on iPhone. We need to take special iPhone data plan which costs min of Rs 199. This is sort of insane, So I just took a crack at it and found a way to access the internet using the regular plan. I have an unlocked, jailbroken iPhone which is running 3.0 firmware. Please follow the below instructions.

Using OpenSSH, edit preferences.plist located in /private/var/preferences/SystemConfiguration.
Important: Make sure you take a backup of the original preferences.plist.

Around line number 89 (this is appox line number, contents of the file may change based on your phone settings) replace the <dict> with below <dict>

	<dict>
	<key>Interface</key>
	<dict>
		<key>DeviceName</key>
		<string>ip1</string>
		<key>Hardware</key>
		<string>com.apple.CommCenter</string>
		<key>Type</key>
		<string>com.apple.CommCenter</string>
		<key>UserDefinedName</key>
		<string>com.apple.CommCenter (ip1)</string>
		</dict>
	<key>Proxies</key>
	<dict>
		<key>HTTPEnable</key>
		<integer>1</integer>
		<key>HTTPPort</key>
		<integer>9401</integer>
		<key>HTTPProxy</key>
		<string>10.10.1.100</string>
		</dict>
	<key>UserDefinedName</key>
	<string>com.apple.CommCenter (ip1)</string>
	<key>com.apple.CommCenter</key>
	<dict>
		<key>AllowNetworkAccess</key>
		<integer>1</integer>
		<key>Available</key>
		<integer>1</integer>
		<key>Setup</key>
		<dict>
			<key>AllowNoDNS</key>
			<integer>1</integer>
			<key>apn</key>
			<string>portalnmms</string>
			<key>password</key>
			<string></string>
			<key>type-mask</key>
			<integer>1</integer>
			<key>username</key>
			<string></string>
			</dict>
		<key>Version</key>
		<integer>2</integer>
		</dict>
	</dict>

To activate Vodafone Live (GPRS) see Vodafone Website

Update: The below configuration is working on 3.1.2 as well, but the line numbers are little different.

Update (16 Mar 2010):

Many guys have commented that the changes that were made in preferences.plist are lost after restarting the iPhone (for versions 3.1.2 and 3.1.3). So today i decided to take a look at it. And what you guys said is absolutely right, i upgraded my iPhone OS to 3.1.3 and i see that the settings are lost after restarting the phone. And you guys don't worry, i had found a way to fix this and this is much easier than my previous solution. Below are the step by step instructions.

  1. Download and Install iPhone Configuration Utility from http://support.apple.com/kb/DL926
  2. Open the application, Select Configuration Profiles on the left hand side menu and click New in the toolbar; Enter the name, identifier, organization and description; see the image below for more details
  3. Now go to Advanced option and set the apnname = portalnmms, proxy server  =10.10.1.100 and port = 9401
  4. Connect your iPhone to computer via USB cable and you should see your iPhone in the devices menu on Left hand side. Select your device
  5. Select Configuration Profiles tab and you should see the Vodafone Profile; Click on Install
  6. You will see a pop on your iPhone asking for permission to install the configuration, Click Install button in your iPhone
  7. Turn on Data Roaming. Data Roaming can be turned on from Settings > General > Network on you iPhone.
  8. And you are done with the configuration. You should be able to use internet on your iPhone now. If its not working just reboot your phone.

Hope this helps !! Please feel free to give your Feedback, Suggestions

Update(08 July 2010): Few guys confirmed that this is working on iOS 4 as well, i personally couldn't test this at this point of time as i'm out of country. I will update this post as soon as i'm back in India. Thanks Sanjeev, Taran for testing it out on iOS 4. You might need to download the upgraded version of the configuration utility. You can download it from http://support.apple.com/kb/DL926.

Update(14 Nov 2010): This configuration works good on iPhone 4 as well. Tested and Certified by me :D

Update(10 Dec 2010): For those that this configuration is not working, please turn on Data Roaming. Data Roaming can be turned on from Settings > General > Network.

Update(2nd May 2011): 4.1, 4.1.2 are good with the same configuration

Update(31st May 2011): I Confirm that 4.3 is good with the same configuration for iPhone 4.