phone-lady.jpg

Disclaimer

PPhone is a network communication tool which provides IP telephony and instant messaging. PPhone utilizes the benefits of client/server and peer to peer architectures. PPhone is suitable for trusted home LANs with running unix based server.

Main goal is to connect clients, which (some of them) are behind firewalls, together. PPhone consists of server and client part. Server part runs on machine with globally visible IP address (in view of clients) and works like a proxy/bridge for clients which are not mutually visible (i.e. clients occur behind different firewalls).

PPhone clients

There are two pphone clients available: Unix console and Win32 versions. Unix client console application uses ncurses, the Win32 uses native windows API.

If you would like to try compile win32 console version, I recommend using the mingw compiler.

Downloads

Screenshots

Unix 1.4.3

Startup screen Environment listing Connection window Invitations/Requests manager Message session Chat session Active loopback phone call

PPhoned (1.4.1-pre2)

Home page, example of integration with Apache + PHP Server statistics

Win32 native v1.4.2

Desktop screenshot Build 10

Unix v1.4.1

Main window Message session Chat session Accept incoming call?

LibPPhone

LibPPhone multiplatform library provides specific functions and handles all system dependent stuff, makes PPhone clients and servers development easier and less platform dependent. LibPPhone is required for compilation of all clients and servers developed by OND.

PPhone server

PPhone server is small standalone-running program. It’s purpose is to handle clients' connections, work as proxy server for clients which have different firewalls and thus cannot communicate directly. For all clients provides user specific information (user mode, personal/connection info).

Every pphoned user is identificated by unique number.

Whole technology is simmilar to well-known ICQ and so use of ICQ numbers is recommended.

PPhone server implementation, pphoned

PPhoned is ANSI-C program, which should with help of libpphone compile on any platform where libpphone successfully compiles. PPhoned was primarily designed for <b>trusted home LANs</b> and thus could be very vulnerable.

Features: - secure user authentication - password does not travel via net in raw form - data exchange between any two clients which in best case are not mututally visible - provides information about user mode (online, away, offline, …), i.e. returns user mode against user number

Server installation

  1. Install <a href="?a=libpphone">libpphone</a> properly.

  2. <code>make && make install</code>

  3. Check config in /etc/pphoned.

  4. Add some users with ppwd tool (<code>ppwd -u 1234 -a</code>).

  5. Run it, it could work.

PPhone clients

Clients are available for unix and windows.

Unix client

This textmode (ncurses) client works with Linux (audio playback/recording part is Linux specific) and can be compiled for Win32 with mingw. Very modular client with possibility of audio support and GSM speech codec. Client is able to send/receive text messages (a.k.a. instant messaging) and manages chat sessions in talk style. The version for Linux is slightly better and a bit more comfortable than console version for Win32. Linux version works with OSS or ESD. You chose one at compile time.

Man pages or other kind of useful documentation was not yet written. Client is very simple and it’s control should not make any problems. Use the help command for inspiration, switch your windows with ctrl-n, cltr-p, close session windows with ctrl-x.

Sound driver plugins

  • OSS sound driver

  • ESD sound driver

  • NULL sound driver

  • THROW sound driver

  • Multiple sound card support

Codec plugins

  • GSM codec

Win32 client

  • audio playback/record with GSM compression/decompression

  • instant messaging

  • realtime chat (unix talk style)

  • common ICQ-client-like behaviour