PSTN telephone number via ISP: how to configure SIP client?

[meta: If Discourse supported cross-posting, this topic should also be listed under “Phone”.]

I’ve just switched ISPs. My new ISP (Hyperoptic) supplies fast Ethernet into my home and supplies a ZTE ZXHN H298A router / WAP / “home gateway”. I’m paying them £2 per month to be allocated a PSTN number so I can plug a legacy telephone into their router and make and receive legacy telephone calls. This much works.

Of course, their router just acts as a SIP client. So I should be able to use my Linux computer to make and receive legacy telephone calls via their SIP server. I have received from my ISP the hostname of their SIP server ( and the username (of the form HY123456) and password (10 characters) to use with it. I’ve seen reports (with no details) where other people say they’ve gotten their SIP phones to work with this ISP’s service, bypassing the router.

However, I am having enormous difficulty configuring any SIP client to even make outgoing telephone calls. (I’ll worry about trying to receive incoming telephone calls later.) I’ve tried Ring (old Jami), Linphone, Ekiga, and Twinkle. I’ve tried turning on all debugging messages and been completely unenlightened by the output. I’ve spent a couple of hours searching the web and finding very little useful information.

Has anyone gotten something like this working? Which SIP client did you use and what values did you enter into the various configuration fields? Preferably on Debian, but information about any Linux would be useful. I’m hoping I don’t have to recompile and debug one of these SIP clients to figure out what is going wrong.

Any help would be greatly appreciated!

Long live software freedom!

I’m not at my computer at the moment, but I got super stuck on this a while back and the problem ended up being that I wasn’t checking the “Register” box (or whatever option Linphone uses, its a checkbox in my phone’s client).

If you’re still stuck in like 6 hours I’ll take a closer look at my settings.

Shameless self promotion incoming!

You can use calls with the SIP backend.
It’s still under development (currently working mostly on UI), but can be used already simultaneously with other backends (ModemManager).

The latest version (0.3.4) was uploaded to experimental a couple of days ago and should also arrive soon in Byzantium.

One word of warning though: It cannot yet be used completely GUI driven, so if you need something more polished right now you should probably look into alternatives.

Ring did work for me (both for the account of my ISP as well as accounts) - and actually helped me in debugging some issues with my own code by compairing packet captures.


Just a sanity check:

  • is there any firewall / port forwarding problem here?
  • is there a conflict with the built-in SIP client?

@evangelos.tzaras Thanks for pointing me to Calls. My Librem 14 will hopefully be arriving soon (I was told “hopefully within the next 2-3 weeks” 10 days ago, so maybe this summer) and I’ve decided to just run PureOS so I can probably just “apt-get install calls”. Right now I’m running Debian under Qubes and installing Calls is not a straightforward option.

@irvinewade I’ve not been able to verify whether there are any firewalling / port-forwarding issues. If there are, they are partial and/or intermittent, because some of the functionality works. I’m not sure what you mean by “the built-in SIP client”. I’m guessing you mean the SIP client in the router Hyperoptic supplies me. I’m not sure if there is competition with this and whether that might be affecting things. The debugging support in what I’m using has not been enough for me to figure these things out.

@Gavaudan I haven’t spent much time investigating Linphone. I’ve spent most of my time on this (a number of hours) trying to get Ring to work. A working Linphone configuration that can make and receive PSTN calls would be great to see.

My current status is: I have succeeded in getting dring (the Ring daemon) to ring when I call my telephone number from another phone. I have also succeeded in causing my mobile phone to ring when I entered “” into Ring. (Just figuring out that that was the format needed required a lot of experimentation, because I could not find any documentation telling me this.)

I’ve lost time struggling with getting the audio working. Part of the reason for this is that audio under Qubes is error prone. My impression is that the Pulseaudio vchan-sink module supplied by Qubes is prone to deadlocking and my conclusion after reading the code is that when this happens the only option is to reboot the virtual machine. Needing to reboot a virtual machine many times while debugging sound problems is one of the many reasons I’ve decided to stop using Qubes.

Thanks for the help!

Yes. In the OP you wrote “Of course, their router just acts as a SIP client.”. Most SIP clients by default will use port 5060 (UDP or TCP or both). So, depending on how your router works, it may be necessary to disable the built-in SIP client and port forward 5060 to where you want to run your own SIP client.

Looking forward to the byzantium release!