Psip-1.4 Puppy Phone

Table of Contents

Introduction
The Main Interface
Setup
Account Tab
Audio Tab
Misc. Tab
Network Tab
Quit Button
Refresh Button
Calls Button
Logs Button
Help Button
About Button
The Right Panel
Logged out/Logged in Button
Call Button
Message Button
Add Button
Edit Button
Remove Button
Additional utilities
Testing & Setting up
Advanced Setup
Making calls to Landlines and Mobiles
Conclusion

Introduction Back

Psip is a Voice Over Internet Protocol (VOIP) application that uses the open SIP standard.
This means it is compatible with all applications that use the same SIP protocol, and there are many.

Psip evolved from a command line version of Pjsua created by Benny Prijono. In 2008 a small group of us
created Psip-0.12 which has been part of Puppy Linux for about three years. It did have a few minor
issues and some users had difficulty getting it to work. Because of this the the Psip project was reinvigorated.
Some work had been done on the original structure to fix broken links and increase functionality. Psip-0.26 was
an improvement over 0.12 and consequently Psip-0.26 was released, however some issues remained.

What was needed, was a skilled programmer to iron out the last remaining problems. This is when James Budiono
AKA jamesbond  joined the team. James has done a fantastic job. He completely rewrote the Graphical User Interface,
  combined all files into one and now Psip is a single executable binary file. It does create a configuration file when it's first closed.

The Main Interface Back

The Main
        Interface

The main interface is simple but effective. On the top panel there are seven buttons.

Setup Back

  Setup will open the preference dialog which has four tabs, Account, Audio and Misc. Settings and Network.

Account Tab Back

Account Dialog

If you don't have a sip account it is recommended that you create one at http://serweb.iptel.org/user/reg/
Enter your details as above substituting your details for mine. Make sure you include the prefix sip: as above.

From version 1.4 you can setup multiple accounts however, you can only be logged into one at a time.
As you can see I have three accounts. Select the one you wish to log in to and click the Active check box.

When you set up an account at iptel.org you will then have the ability to manage your account. Once you
log into http://www.iptel.org/toboggan/login  you will see the following page:

Iptel.org
        Management Page

To setup a voicemail account click on the forward tab.

Forward No Answer
        and Busy Calls

Note the right arrow, select both.

To set up a personal greeting call sip:1001@iptel.org and follow the prompts

You will also notice a radio button, Secure voice channel, that when ticked will provide secure communications.
This is voice only, not messaging and only from the person who has it enabled therefore both parties need to
activate it to have two way voice security.

The Sip Proxy field allows you to enter the sip address for the proxy server if required. It's not normally needed.

Audio Tab Back

Audio Tab

The audio tab will display available sound card devices. The left and input side refers to the microphone
and the right to the speakers/headphones. It will normally select the best choice but if not, you have
the ability to change it. Select by clicking on the radio button then click on close. Your new settings
will be saved to the .psip.conf file in /root This will probably look different to yours.

It is also recommended that you use dmix, if not automatically selected. Dmix provides better sound card
sharing. What this really means is you could be having a conversation and listening to a song at the same
time. I'm not really sure why you would want to do that but it will improve sound handling. It also allows
you to play music or a prerecorded presentation to others in a party conversation or conference room.
Sharing a presentation is done via the Call window using the Play button.

Misc. Tab Back

Misc Tab

By ticking the Activity log button a file will be created in the root directory called psip-activity.log.
This file will capture a lot of information that may be useful at a later date. Even your text chat messages are captured.

The Console log
level determines the verbosity of logging. Zero being the least and seven the most. Logging
is very useful for fault finding. You don't want to know how many hours we have spend reading log files.
If you start Psip from a terminal window like ./psip32 you will see the data scroll in the terminal window.
This information can be redirected to a file with this command ./psip32 > psip.log

Incoming call time out determines the number of seconds to wait before the incoming call is dropped. The default
is 15 seconds but this can be changed by entering a value in seconds. Entering 30 would increase it to 30 seconds.

Ring tone allows you to select a personal ring tone. It needs to be a .WAV file and it can be tested with the Test Button.

Command to execute on ring allows you to use an external program to generate an incoming ring.
Example: aplay -Dplug:dmix /usr/share/sounds/2barks.au
It's probably best to use one or the other as both will play on an incoming call.
It is also recommended to use dmix in audio settings for output as explained above.

Command on execute on IM. This allows you to set up an audio file to warn you when someone has sent you
a text chat message. Once again it could be defined as above or use an external command.

Command to execute on help provides flexibility on how help is accessed.
To see this help when clicking on the help button on the Main Interface type the following in the field:
http://www.smokey01.com/help/psip/psip-help.html

Beep on incoming IM, if ticked, will provide a short beep to your local speaker.
These days not all computers have this function.

Minimise to tray will hide the main window when the main window is iconified.

  Auto-login on startup will automatically register Psip with the SIP server on startup.

Network Tab Back


Network

The Network tab provides a whole lot more functionality and control.

The Max calls field allows you to increase the amount of people in a party line call. The default is 4
and this can be increased to 32. A party line call is when more than two people can be involved
in a conversation. Example: Party A calls party B, then party C calls either party A or B. All three
people can then hear and talk to each other. Very useful for family conversations.

SIP Port is the port used for SIP communications. The default is 5060 and if the field is left blank,
port 5060 will be used. If for some obscure reason you need to use a different port, you can define it here.

Disable TCP allows you to disable TCP functionality. Psip uses UDP but could use TCP if it's available.

Disable optional SRTP (Secure Real-Time Transport Protocol).
If disabled you will not be able to receive secure calls.
You may not be able to conduct a music or echo test at Iptel.org either.

The Public IP address field is for true peer to peer communications. This is where you enter your
unique public IP address. For this to work properly you will need to setup your router with port
forwarding from your local IP to public IP address. Consult your manual on how to do this.

The STUN server field is where you can define a STUN server. When using iptel this may not be required.
In most cases you will get better results if you use a stun server. Try and choose one close to your location.
The lower the ping time in ms the better performance you will achieve.
To learn more about STUN search for Trans NAT etc on the web. This is a good place to start:
http://www.iptel.org/SIPResources

Disable VAD (Voice Activity Detection). The idea behind this is to reduce bandwidth if you are not speaking.

ICE and TURN are other SIP server resources. Under normal circumstances you won't need to configure these.

Quit Button Back

This is as expected. When clicking on the quit button the program will exit and close all associated windows. This
is an improvement over previous versions of Psip where some process were not killed if closed with the little X in the
top right of the window. Using the quit button will save all data to the .psip.conf. For example:
You have just added a couple of buddy's and you want to save them at the end of the session, click on Quit. Clicking
on the X is the same as clicking on the Quit button which will also save your changes and Quit the program.
Also note the "." in front of .psip.conf The dot means the file is hidden. You will need to click on the eye
in Rox Filer to see this file. All files preceded by a dot are hidden.

Refresh Button Back

The refresh button allows you to refresh the buddy/friends list. Sometimes buddy's are shown offline when
in fact they may be online. To force the SIP server to update the buddy list, simply click this button.

Calls Button Back

This button will open up the call window dialog which looks like this:

The call window

There is some very cool stuff in here and some of it is not obvious. For example: right at the top of the
window there is a field with a Make Call button to the right of it. This allows you to make an adhoc call.
In other words you do not have to add the address to the buddy list. Lets assume you wanted to call Jack but he's
not in your buddy list. Simply type sip:jack@iptel.org in the field and click on Make Call or press enter.

Tip: You don't have to be registered to make a call to another person as long
as the other person is logged in. The callee will only see your IP address so they won't
know who is calling them. Expect to be declined as it's considered rude.
 
You will however need to be registered to check your voice-mail.

The main white area of the dialog will display active calls, the state/status and if the call is on hold or not.

It is possible to make more than one call at the same time and place one on hold while talking to the other.
For example: You are speaking to a friend when someone else calls you. You can answer the call and place the first call on
hold. You can even swap back and forth between them. You can also have a three way conversation, this is known as a party call.
I told you this was cool. You can also have a real live three way chat in a conference
  room. You can have many people chatting  in a conference room. More about that later.

On the right you will see either three or four buttons depending on the version you are using. Some countries do not
allow recording of phone calls so there is a version without the recording function. As you can see, this version has
recording functionality.

The top button Hangup is used to terminate a call. You first need to select the active
call in the left window then press the Hangup button. If you make an illegal call, say to yourself, then the call
will be terminated automatically.

The Record button will allow you to record the conversation. It will ask you to select a filename and path, press enter and the recording
will commence. Others in the conversation, in a conference call, will be sent a series of beeps to advise the conversation is being recorded.
If you are in a party call or a two way call you will also receive a message showing who is recording.
It would be polite and possibly a legal requirement to let others know you are recording the conversation prior.
If you don't want to be recorded, you have the option to either complain or hangup.

Once you have finished recording, you can listen to the recording by pressing the Play button. The recording is saved in /tmp
which will be deleted when you shutdown your computer, everything in /temp is, so if you really want to keep the recording
you have better  move it to some other location.

The Stats button will show you some interesting Statistics about your call such
as call quality, who the call is with, amount of data transferred, dropped packets etc.

Under these buttons you will notice 12 small buttons. These are required when checking your voice-mail. A recorded
message will say things like "press 1 to listen to the message, 2 to save it and 3 to delete it"

Logs Button Back

Call History

This window will display your incoming and outgoing calls. It's very handy when you are away from the computer
for a while as you will be able to see who has called.

Help Button Back

The help button is used to display this help.

http://www.smokey01.com/help/psip/psip-help.html

About Button Back

About

   Information on the software, Credits and Licensing

The Right Panel Back

The right hand side panel also has six buttons.

Logged out/Logged in Button Back

This button uses the information from your account details in .psip.conf and registers Psip with
the SIP server. Logging in provides functionality for you to see other people online, retrieve
voice-mail. Maybe other stuff too.

Call Button Back

The call button is used to make calls. You need to select someone from the buddy/friends list then click
the call button. The call window will open and provide other functionality already explained above.
If you don't select a buddy first, a box will popup so you can type in a sip address.

Message Button Back

Message dialog

This will open up a dialog window and allow you to text chat to someone. You select someone
from your buddy's list just like making a call then click on message. You type in the bottom window
and the responses will be delivered to the top window. Outgoing responses are blue while return
responses are red, nice. The date and time is also displayed. You can simply press enter to send
your message, you don't have to click on apply. If you want to send more than one line of text at
a time press either CTRL+Enter or ALT+Enter to move down a line without sending it.

Another improvement. The text no longer scrolls down the window so you can't see it. It stays
in focus so you can see the latest incoming text without having to scroll.
There is indication too when when the other party is typing.

Another nice feature is the Save As button. This allows you to save the entire conversation
of the session. This can be handy when you later need to refer to some details. You can choose
where to save the file. It saves the file as Rich Text Format (RTF). The reason for this is to
preserve the formatting and colours. Use AbiWord to read it.

Add Button Back

This is how you add buddy's. When you click on the button a dialog will appear like this:

Buddy

You can type any name you like in the Nick name box and that's what will be displayed in the buddy list

The SIP address must be typed in this format: sip:smokey01@iptel.org

Make sure you include the sip: at the beginning of your SIP address. If you don't you will notice the
absence of a ? mark in the buddy list.

The Category field is for grouping your contacts. You may have one for family, another for friends etc.
The categories can be expanded and collapsed in the main window.

Edit Button Back

The edit button allows you to edit your buddy's one at a time. Simply click on the buddy you wish to
edit and click the edit button. So if you forget to add the sip: to the beginning of the address
it's actually quite easy to fix it.

Remove Button Back

The Remove button allows you to delete a buddy. Click on the buddy you wish to remove then click
on the remove button. You will be given a warning like this before the buddy is removed:

Remove

Click on Yes to remove the buddy.

Now make sure you press quit button to exit Psip so all of your changes are saved.

Additional utilities Back


I have created a couple of utilities that will be useful when testing and using Psip.

They are called Simple Voice Recorder and Toggle Fire Wall.

SVR will help you to setup your sound. All it does is records you voice and lets you play it back.

TFW is a simple tool to turn your firewall on and off. Hopefully we will get around this last issue.

Download here:

Simple Voice Recorder: http://www.smokey01.com/software/multimedia/svr-1.1.pet

Toggle Fire Wall http://www.smokey01.com/software/network/tfw-1.0.pet

Testing & Setting up Back

Before you run Psip it is important to make sure that your sound input and output is working.
If neither are working then Psip will not work. A good way to achieve this is to download Simple Voice
Recorder above and install it. Clicking on the svr-1.1.pet file will install it to Menu > Multimedia > Media Tools.
Now open up your sound mixer. In lucid this is Retrovol and mine looks like this, your will probably be different:

Retrovol

Make sure your controls; Master, PCM and Front are all turned up.
 
I have Mic and speaker connections at the front and back so it's important to turn up the relevant ones.
 
This takes care of output. Now to get input to work you need to make sure, as in my case, turn up Front Mic, Mic,
 Capture, and Digital. If recording sound is a bit low then you can increase the Mic Boost or Front Mic Boost.

Make sure you have selected the correct Input So. I have it set to Front Mic.
In my case I can choose between Mic, Front Mic, Line & CD.

If you're not sure what you are doing just keep SRV and Retrovol open and fiddle until it works.

If you really can't work it out, then post in the forum here:
http://www.murga-linux.com/puppy/viewtopic.php?p=554447#554447

Advanced SetupBack

To use Psip you don't actually have to subscribe to a SIP service provider. There are two alternative
methods of communicating. One is via a service called no-ip and their website is here: http://www.noip.com/

I'm not going to explain how no-ip works as all the information is on their website. Basically it manages your
dynamic IP address. This means you can select a domain name and it will be associated with your ever changing
external IP address. What this means in real life you will be able to be located quite easliy by your friends if they
know your no-ip address which might look something like yourchosenname.no-ip.info.

The other method is what is know as peer to peer. This is not unlike no-ip which really is peer to peer as well except
this time we use your external IP address. In some routers there is an option called SIP ALG this may need to be disabled.

In your Add Friends or Buddy List this is what you need to enter for peer to peer.

Peer to Peer

For a no-ip entry, your buddy list should look something like this:

No-IP

Making calls to Landlines and MobilesBack

It is possible to make calls to landlines and mobile phones but you need to subscribe to a SIP provider
to achieve this. There are many to choose from but the one I'm going to suggest here is Voipbuster.
Voipbuster has very good rates and provides a decent service. Voipbuster will allow you to make calls
from Psip to landlines throughout Australia for free. The same offer is available to many other countries
so please read their website here https://www.voipbuster.com. Making calls to landlines and mobiles
normally incurs a cost so you have to buy credit from the SIP provider. You will notice that their rates are
normally much lower than many Telco's.

Not all SIP providers are equal and their setups can differ quite a bit. Below is the setup requirement
for Voipbuster.

Voipbuster setup in Psip

To add a friend to your buddies list, using Voipbuster, to dial a landline, it should look like this:

Landline buddy list

and a Mobile entry should look like this:

Buddly list for Mobile phone

Please take careful notice of the phone number format and no spaces in the numbers.
The spaces in the number below is for display purposes only.

Phone number format


Conclusion Back

I'm sure I have missed a lot of important and useful information but this is a good start.

I really do want to give credit to jamesbond for his valuable contribution, because without him, we
would be still fumbling around in the dark trying to find our butts.

There are other Puppy community members that I would like to mention for their testing,
interest, ideas, frustrations, time, commitment and dedication, they are, in no particular order:

caneri, lobster, dogle, russoodle, CatDude, Stripe, Sylvander, gcmartin, OscarTalks

Regards

smokey01