SJphone. Readme
Ver. 1.60 
(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. Microphone and speaker controls on the Main panel
2. Menu bar
3. The Close button minimizes SJphone rather than exiting it.
4. Help added (requires Firefox, Mozilla, Opera, or Netscape browsers installed)
5. Improved interoperability for a number of SIP softswitch vendors
6. 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:
- libc-2.2.3 or later, XFree86 4.3.0 or later, or XOrg 6.7. or later.
- 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 welcome too, but a Speex, GSM, or iLBC codec must be used.
- 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.
- SJphone works 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 install third-party service profiles.
SJphone profiles are platform-independent and you may use profiles originally created for SJphone for Windows. 
If necessary, unpack the archive into any temporary folder. Go to the SJPhone main panel, open Options, go to the Profiles tab, and click the Import button. The Files dialog will appear. Go to the temporary folder and select the profile's *.ini file. The profile should appear in the profile list. Double-click the profile and enter the necessary information.

Upon successful setup, you may delete the files from the temporary folder.

2. Bugreporting

If SJphone crashes: 
* Enable the log file if necessary (see 1. What is SJphone and how to use it?
 Configuration directory)
* Click SJphone's empty space, select Bug reporting then Start recording
* Click SJphone's empty space once again, select Bug reporting then Submit?
The Submit Bug Report window will appear
* Describe the problem in the window, indicate the OS version and used audio hardware.
* Select a file name for the bug report.
* Reproduce the problem and wait for SJphone crash.
* Submit the bug report (a .tar.gz file) and the log file to sjphone-bugs@softjoys.com.

If SJphone fails to start
* Enable the log file if necessary (see 1. What is SJphone and how to use it?
 Configuration directory)
* Start SJphone
* Submit a mail to sjphone-bugs@softjoys.com, including the log file (if created), system error message, OS version and used audio hardware.

3. Bugs and issues in 1.60
Bugs fixed:
Networking/protocol/technical issues:
* SJphone now automatically accepts transfered calls from attended transfer.
* SJphone now returns to the specified host address after the address network interface has been turnd off and on. 
* 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 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:
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 does not check that the specified audio device really exists.

4. Copyright notices and disclaimers
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 W3C libwww library (C) 1994-2001 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University):
W3C. SOFTWARE NOTICE AND LICENSE
Copyright ) 1994-2001 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
This W3C work (including software, documents, or other related items) is being provided by the copyright holders under the following license. By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions:
Permission to use, copy, modify, and distribute this software and its documentation, with or without modification,  for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications, that you make:
1. The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. 
2. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, a short notice of the following form (hypertext is preferred, text is permitted) should be used within the body of any redistributed or derivative code: "Copyright ) [$date-of-software] World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/" 
3. Notice of any changes or modifications to the W3C files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.) 
THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.

This software is based in part on the libspeex library
Copyright 2002-2004 Xiph.org Foundation, Jean-Marc Valin, David Rowe, EpicGames:
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of the Xiph.org Foundation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
