SJphone® Readme
Ver. 1.60 (build 289a)
(C) SJ Labs, Inc. 1999-2005. All rights reserved. SJphone® is a registered trademark.
SJ Lab Inc.,
32111 Aurora Road, Solon, OH 44319, USA
Email sjphone@sjlabs.com; http://www.sjlabs.com
New versions are available for free download from http://www.sjlabs.com/sjp.html

1. What is SJphone and how to use it?

SJphone® is a VOIP softphone that allows you to speak with any other softphone running on a PC/ PDA, any stand-alone IP-phone, or using VOIP service provider with any traditional wired or mobile phone. It supports both SIP and H.323 standards and is fully inter-operable with most major VOIP vendors and Service Providers.

New features in 1.60:
1. Audio Wizard enabling the user to fine tune Audio options
2. New Interface tab in Options enabling the user to select SJphone Interface language. 
3. Improved interoperability for a number of SIP softswitch vendors
4. Protection against DoS attacks. The SJphone now consumes only limited resources, and in case of overload  SJphone answers with the "503 Service unavailable" message.

Requirement:
A wideband internet connection like DSL, 802.11a/b/g/n wireless, or an old good wired Ethernet or E1/T1.  Dial-up users are welcomed too, but a GSM or iLBC codec must be used.
-  You can use any today x86 PC running MS Windows ME/2K/XP, MAC OS, Linux.  Also you can use a PDA running PocketPC 2003; choose and download your version of SJphone from our website. Ask us about other technologies.
- Full-duplex sound is a must. To check it, run a recorder and player at the same time. If the both work properly, you have a full-duplex soundcard, that’s OK. 

Services and profiles:
- You can make direct free calls to your party's IP-address using “PC-to-PC” services.
- For internet calls and for calls to / from regular telephones, you may obtain a VOIP service provider. You can sign up to several different services and easily switch between them. Install a new service profile, initialize it with your login and password, and enjoy!
- Experienced users may build their own IP-telephony network; they can create new service profiles themselves.
- Our software works with with most ip-PBX, SIP-proxy and H.323 gatekeepers, and gateways just by adding a new service profile.
	- How to use the services behind firewalls, see part 3.

How to get best quality:
- Most notebooks and PDAs have embedded microphone and speakers. To get better audio quality and to avoid echo you may use any USBphone (download an appropriate driver from our website), BlueTooth or a simple wired headset;
- We recommend you to install the latest updates of Operating System, sound and network drivers, and DirectX (check with dxdiag.exe, it should be 7.0 or higher). Get updates from the vendor website or just run MS Windows update.  
– Please make sure that your microphone and speaker provide a good enough sound quality; 
- You may have problems with old consumer PDAs that weren’t designed for VOIP. Most of latest devices have embedded wireless, good CPU and sound system now, and work perfectly;
- Check Internet connectivity: Try to ping your party's IP address. A good response time is under 100 ms unless the party you are calling to is from down under.  If the ping time seems too large, you Internet connection is too busy now.  Try to stop any other Internet activity. If the problem persists, ask your Internet provider or system administrator to fix it.
	- For the best voice quality use G.711 codec on broadbands, for dial-ups try GSM, iLBC, or other codes;
- Normally you should hear Voice over IP much better than using old plain or mobile telephony.  Sound delays, echo, voice outage, and distortions are network or hardware problems;

2. Bugs and issues in 1.60
Bugs fixed:
User Interface:
* Log records now use regional settings to display time/date.
* Transfer now cannot be performed if the user has not entered an address/phone number for the transfer correctly. (Previously, SJphone transferred such calls to the first Phonebook record).
* All records in call history are in a correct form now.
* A message box from Microsoft Outlook does not appear now when the Contacts panel is activated.
* A correct Call Waiting sound is played now when the second H.323 call incomes. (Previously, a Ring sound was played). 
* SJphone is clearly seen now in the Neighborhood window when the user enters a long comment on the User Information tab.
* Crashed or killed SJphone after restart is seen now as one instance in the Neighborhood window.
* Profile Editor now shows the name and type of a profile being edited.
* Mega skin bug fixes: A Missed call log window is now from the skin, mouse wheel scrolling.

Networking/protocol/technical issues:
*An Incoming Ring sound is now always played when DirectX is enabled on Windows 98.
* SJphone does not crash any more when many simultaneous H.323 calls income on Windows 98.
* Sound quality is now good on Windows 98 without enabled DirectX. 
* SJphone now uses a correct address for multimedia channels on a multihomed host when a non-default interface is used.
* SJphone uses now both the Global Connection Address and Media Specific Connection Address in SDP.
* SJphone refreshes now the Neighbors window when a network adapter is turned on or off.
* SJphone now re-registers with an ILS server according to a specified time-out.
* It is possible now to place a call to SJphone registered with an ILS server and which uses a non-default H.323 port.
* SJphone now correctly unregisters with an ILS server when the server address is removed from the options.
* SJphone now correctly understands voicemail information from a number of SIP servers (NetCentrex being an example).
* SJphone now correctly re-registers with a SIP server with new personal data if the service profile is re-initialized on the Profiles tab (not from the pop-up menu).
* SJphone now selects DNS SRV records in accordance to RFC 2782 (the selection is now correctly randomized).

And many more other major and cosmetic bugfixes.

Known Issues and Bugs:
User interface:
* When a new call is being established with another active call, digits being dialed are also sent to the audio channel of the active call as DTMF tones.
* The Mega skin does not have the Contacts button for the access to the contacts, ILS browser, and Outlook.
* If the computer is locked while SJphone is running on the desktop, the respondent control of SJphone is blank when the computer is unlocked.
* If a USB audio device used by SJphone is disconnected from the computer during an active call, Windows 2000 crashes. Windows XP, 98, ME do not have this problem.
* While SJphone resolves a DNS name in the ILS directory browser, the Contacts and Main panels freeze for several seconds, the user cannot switch between the panels.
* Once a package is installed there is no easy way to uninstall it.
* If SJphone places a call through an ILS server using an ILS URL like "ils:user@example.net:ils.example.net:1002" (not from the ILS tab in Contacts) and the remote party is busy, no busy message will appear.
* If the Hold buttons on two SJphones are clicked simultaneously, it will be impossible to resume the call.
* If the pop-up menu is opened and a message box appears, SJphone freezes. 

Networking/protocol/technical issues:
* If a remote host unexpectedly disappears (due to hardware or network failure on the remote side) SJphone does not detect that and the established session can be terminated only manually.
* SJphone freezes for as much as 15 sec. during startup or profile change if there is no DNS server available. 
* If a SIP server has several IP addresses and temporally does not respond from its main address during unregistering, SJphone does not retry the unregistration procedure using the backup server addresses.
* If a SIP server has several IP addresses and temporally does not respond from its main address during hangup on the callee side, SJphone does not retry the hangup procedure using the backup server addresses.
* SJphone does not make attended transfer to a ringing (not answered) call.
* SJphone cannot establish a call through a SIP server if the user domain in the profile is not the same as the proxy domain and the proxy is not selected as strict outbound (i.e. it is a redirect server)
* SJphone runs too slow if its log window is opened for a long time. (Workaround: do not open the log window unless it is necessary. The log window is a debugging feature).

3. SJphone and Personal firewalls: 
If you have a personal firewall installed on your computer, the following ports should be opened for the SJphone.exe application both for inbound and outbound connections. Refer to your personal firewall documentation for instructions. 
Port -Protocol Description 
1719 UDP - H.323 Gatekeeper RAS port 
1720 TCP - H.323 Call Signalling 
1812 UDP - RADIUS server in SJphone 
3478 UDP - STUN service
3479 UDP - STUN service
5002  TCP - MLP protocol server 
5003  UDP - Neighborhood service
5060  UDP - SIP UAS  
5060  TCP - SIP UAS 
49152-65535* UDP – RTP/ RTCP multimedia streaming 
*Remote VoIP software may use other ports. Consult its documentation for details. 
At some firewalls, you may set SJphone.exe as a trusted application, that is, an application which is allowed to make any connection by default. Refer to your personal firewall documentation for instructions. 

SJphone and Windows XP Service Pack 2
SJphone is tested on Windows XP SP 2 and found working normally with minimum required adjustments in the Windows Security Center. Tested were direct SIP and H.323 PC-to-PC calls, calls through H.323 Gatekeepers and Gateways, and SIP Proxies.

Recommendations:

If you turn off the Windows firewall in the Security Center, no settings are required to change for Windows or SJphone.

Windows Security Alert Message
If XP Service Pack 2 is installed on your computer with its default-enabled internal firewall, the Windows Security Alert message will appear the first time you start SJphone. This message will inform you that it has blocked SJphone from accepting connections from the Internet or a network. To allow SJphone receive incoming calls, click the Unblock button on the message. Now SJphone will be able to receive incoming calls. No other additional settings are required for Windows or SJphone.

If you have clicked the Keep Blocking button, SJphone will not be able to receive incoming calls. To allow SJphone receive incoming calls,
* Check that SJphone is running.
* Go to Security Center and click Windows Firewall.
* Check that Don't allow exceptions is not selected on the General tab.
* Go to the Exceptions tab and select the SJphone.exe checkbox.
* Click the Edit and then Change scope buttons and check that the Any computers (including those on the Internet) option is selected.
* Click the OK button.

If you want to add manually SJphone to the list of programs that can accept incoming connections, go to Security Center and click Windows Firewall. Then:
* Check that Don't allow exceptions is not selected on the General tab.
* Go to the Exceptions tab and click the Add Program button.
* Click the Browse button and select SJphone.exe in its home folder. Default is \Program Files\SJLabs\SJphone.
* Click the Change scope: button, check that the Any computers (including those on the Internet) option is selected, and click the OK button.
* Check that SJphone.exe is in the Program and Services list on the Exceptions tab, and its checkbox is selected,
* Click the OK button.

4. Other issues
- If you install build 185 or higher over build 184 or lower, all SJphone® options will be lost. You need to enter them manually once again. Since build 185, SJphone® retains its options when any new build is installed. 
- Neighborhood browser  works only on local area networks. If you use a firewall on your computer, make sure that it does not block UDP port 5003.
- For Windows 2000/XP users: You must have administrative privileges to install SJphone®. If you are not sure whether you have such privileges, you almost certainly do not have them. Contact your system administrator for assistance.
- For Windows 2000 users: You must install MS Installer 2.0 before installing SJphone®. 
- SJ Labs does not guarantee that SJphone® will be working on Windows NT 4.0.

This software is based in part on the work of the Independent JPEG Group.
This software is based in part on the libPNG library
This software is based in part on the zlib library
This software is based in part on the "RSA Data Security, Inc. MD5 Message-Digest Algorithm" Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved.
This software is based in part on the TinyXML library (www.sourceforge.net/projects/tinyxml)