How to use a SIP IP Phone with Openwrt?

So, my stupid ISP decided to provide VOIP services on IPV6 for all the new customers in my town all of a sudden.

Due to this, the ONT receives a static IPV6 address without a dns configuration, and the sip profile is configured accordingly. Internet is on VLAN 100, and Voice is on VLAN 660

Right now, I am using the IP phone with the IPV6 address directly configured on the phone's wan port, and have tagged the VLAN also on the phone due to which calls work but it does not have internet access (no ipv4 address allotted, and ipv6 address is not for internet) so it cant update time.

Now to this setup, if I introduce an Openwrt router as my edge router, how can I configure ipv4 for internet and ipv6 for voice for this phone?

Or, is it possible for me to create a WAN interface in openwrt and configure the VOIP static IP on that interface, then somehow, route the IP phone's traffic through that wan? or just route the SIP traffic thru that wan?

Please do give me all the possible ideas!

Simplest would be to bridge vlan660 to the phone, without any active participation of OpenWRT in the calls.

3 Likes

well, currently that is what I am doing, I have some switches between my edge router and the phone and so I have to tag the VLANs at both ends.
I am planning to switch back to openwrt, so, I thought maybe I can give the phone ipv4 address with internet and ipv6 voip address, with the same VLAN

Well the ISP should have provided an NTP server on the phone VLAN.

You can attach your own in OpenWrt either with a ULA or IPv4 in either case it will be necessary to manually configure the phone to the NTP address.

OpenWrt itself can provide NTP service locally; it is not necessary for the phone to go to the Internet.

2 Likes

Can you elaborate?

Make an interface of proto static attached to the phone VLAN as it switches through your router. Assign a ULA or IPv4, (or possibly this can work with only the LLA, since the router is on the same link as the phone). Set up a firewall zone for it that only allows input UDP port 123, which is NTP. In /etc/config/system or the system settings on the GUI, enable Provide NTP Server.

This is what I did (a long time ago) on a similar situation.

please do elaborate

Start by creating an interface for internet and another interface for VoIP, using the parameters (VLAN, protocol, ...) provided by your ISP.

Check that both connections work from the router (can you each internet, can you reach the SIP server, ...), then do the same from a computer on LAN.

If that works, you just need to connect your phone to LAN and configure the SIP server. If it fails, ask for help here.

Nope, was not able to reach the SIP server or proxy.
the server and proxy are IPV6 addresses.

Can you provide more details, please?

okay so I will describe my whole setup.

I have an Fiber optic ONT which is placed in bridge mode. VLAN 100 is for internet and it is tagged at the ONTs port 1.
VLAN 660 is for voip, but currently it is untagged and connected directly with my IP Phone.The IPV6 address is configured directly at the phone and it can reach proxy, and register with the SIP server.
But since there is no ipv4 address, nor is the VOIP VLAN equipped with internet, the phone does not have internet access and hence no NTP.

Now, I am using a Raspberry Pi 4 as my router, with a gigabit usb ethernet adapter for LAN interface, onboard ethernet port for WAN interface, and a 5 port managed switch specially for the WAN side of the Pi.

Here, no VLANS are tagged at the switch, and I have the input from my fiber ISP (connected to Port 1 of this switch) as well as a 5G ODU CPE for backup(connected to port 2 of the switch), which I connect to the switch.
Fiber ISP works on PPPOE and it dials well. 5G CPE is on dhcp mode. Both of them are connected to the 5 port switch, and Pi4's WAN interface is connected to this switch (at port 3).

Now, I bridged the 660 VLAN from the ONT to another port on the switch, and tagged 660 vlan on port 4 of the switch and also on port 3, created a new interface with VLAN 660 on openwrt, and set it up as a static IPv6 interface in the WAN firewall zone.
I am unable to ping the SIP Proxy address thru this wan, even after adding static IPV6 route.

Sorry, but...

I proposed one configuration, you implemented a different one (ok with that, I could be wrong), then answered with "it does not work".

I asked about details, and you answered with a long text, instead of sharing your files, or the specific tests you performed.

You know, you are not making this easy...

I was able to setup the voip IP on a seperate WAN interface in Openwrt and I'm able to ping the gateway and the SIP proxy through that interface, from the router side.

Now, if I try to ping the price IP from the lan devices eg. a PC, I get the 'request time out'.

How do I solve this?

What I suggested is to switch VLAN 660 to your OpenWrt router and configure an interface on it which offers an NTP server-- but everything else will still be switched directly to the ISP at layer 2. If the ISP had properly implemented this system they would have an NTP server on VLAN 660 at their end. You don't have to give a phone access to the whole Internet to set the time.

ISP is stupid cos they implemented IPV6 for voice but they do not give IPV6 for internet unless you use your own custom ONT.

Now the problem I have is, I have bridged the VLAN 660 and I have created a new interface and configured the static VOIP ipv6 on it.
I am able to ping the SIP Proxy address through the openwrt terminal.

But, I am unable to ping the sip proxy thru the LAN devices. If the proxy is reachable from LAN side then the IP phone will register and also be accessible thru my LAN subnet.

How can I do that? Adding IPV6 static route to that subnet does not help much!