Through my work at Cosmic Cable Ltd. I had some experience with old analog & rotary telephones. Over the time my partner and I wished for some W48 or W49 telephones at home for internal calls. This blogpost will follow the different stages of this setup as (read if) it progresses.

The plan

The initial idea was to have 2 telephones one in the living room in the upper floor, the other one somewhere downstairs. So as a first step I was searching for some kind of ATA hardware that is able handle to telephones and supports pulse dialing, which most of the cheap stuff doesn’t. Eventually I found the blog of a similar project called duck telecom which describes a way to configure a Grandstream HT802 to make direct calls between the two provides lines without the necessity of a external SIP server.

I ordered one and also a W48 and a W49, both in black at the bay, cleaned, tested and polished them.

Configuring the HT802

Following the duck telecom howto I was able to get two phone ready to call each other without an external SIP server. The HT802 uses DHCP per default, so once one finds the IP it got it can be access via HTTP and SSH.

Then first pulse dialing has to be enabled on each port. Then the dialplan of each port has get a short dial to the listing UDP port of the other one respectivly. For testing I just used 01 and 02 to call the two ports. So I had to add <02=*47127*0*0*1*5062> to the dialplan of the first port. This string consists of the number which will be replaces befor the = sign, the function call direct IP calling (*47) and then the IP and port to call (127.0.0.1:5060) delimited with *. Check the Local SIP Port setting to verify that you’re using the correct port.

After fiddling around a while with the configuration I also discovered how to use the CLI which is accessible via SSH. Every parameter has a unique P-Value number which one must know to get and set those values. These numbers can be found in the configuration template provided by Grandstream. Also the HT802 Manual can be helpful. Eventually the necessary config I set via SSH looked like:

Et voilà, first test successfull:
# enter configuration mode
config

# enable pulse for both
set 20521 1
set 20522 1

# config pulse mode to general
set P28165 0
set P28166 0

# set dial plan
set 4200 { <02=*47127*0*0*1*5062> | x+ | \+x+ | *x+ | *xx*x+ }
set 4201 { <01=*47127*0*0*1*5060> | x+ | \+x+ | *x+ | *xx*x+ }

# apply changes
commit
exit
reboot