Thank you @sloj @Audioctor @pillaicha and others for your excellent guide threads on configuring BSNL VoIP on softphones & PBX instances.
So I got Digisol 1GE+1FE+1VOIP XPON ONU from BSNL LCO that came with INTERNET and VOICE WAN profiles. I created VOIP_INTERNET WAN profile in both ways:
I have also set ONU Firewall to disabled and am not behind CGNAT and happy to receive PUBLIC IP although entire VoIP is on 10.x.y.z private network. Hopefully
On Zoiper Windows, it can register and receive calls but I don't remember right away if it could do outgoing calls though. Zoiper INVITE Wireshark is below:
REGISTER: sip_one_way - Diffchecker (Left ones are Zoiper Logs and Right ones are FS) # Assuming 192.168.0.10 is the Zoiper Client / FreeSWITCH Server IP (Behind NAT) I tried changing some values for ease of REGISTER comparision.
I installed siproxd using Open-WRT package manager and the service siproxd status confirms it is "running" but when I set this as the SIP GW proxy IP in FS, it can not REGISTER.
I have another ISP router's downstream connected to Open-WRT WAN and BSNL ONU LAN connected to br-lan (Lan iface) which is the reason for below config:
I am guessing the missing inbound route from WAN gateway to the 10.6.x.y IP as @Rajneesh Rana mentioned here. So my questions are:
For outbound calls, audio is clear to both parties.
Please guide.
So I got Digisol 1GE+1FE+1VOIP XPON ONU from BSNL LCO that came with INTERNET and VOICE WAN profiles. I created VOIP_INTERNET WAN profile in both ways:
- In Route Full Cone NAT mode, added static route and tried both DMZ/port mapping to the FreeSWITCH - 10.6.x.y private IP is assigned to WAN profile and 192.168.100.x IP to FS instance. old Asus OpenWRT 10 year router doesn't have VLAN ID>4 support and WiFi support although Asus FW supports WiFi. No worries about WiFi anyway as I use this one to primarily add a route between two subnets I use in my home (different ISPs).
- In Bridge mode, VLAN 1849 802.1p: 7 on ONU to OpenWRT (thanks @varkey) to FS Hyper-V Instance (for ease of checkpoint snapshots) - 10.6.x.y private IP is assigned to OpenWRT iface, PC Hyper-V Virtual Switch and the FS instance eth1 - eth0 on FS is from another NIC on the PC (Dual NIC)
I have also set ONU Firewall to disabled and am not behind CGNAT and happy to receive PUBLIC IP although entire VoIP is on 10.x.y.z private network. Hopefully
On Zoiper Windows, it can register and receive calls but I don't remember right away if it could do outgoing calls though. Zoiper INVITE Wireshark is below:
INVITE sip:+MY_PHONE_NUMBER@BSNL.ANOTHER.SIP.IP:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP BSNL.VoIP.Server.IP;branch=blah
Route: <sip:10.6.a.b:60553;lr>
From:"CALLING_PARTY_PHONE_NUMBER"<sip:0CALLING_PARTY_PHONE_NUMBER@10.190.BSNL.SIP_SERVER>;tag=foo-bar
To:"0_MY_PHONE_NUMBER"<sip:0_MY_PHONE_NUMBER@10.190.BSNL.SIP_SERVER>
Supported: 100rel,timer
Content-Type: application/sdp
Session-Expires: 900
Call-ID: call-foo-bar-blah-blah**
Allow: INVITE,ACK,OPTIONS,BYE,CANCEL,UPDATE,REGISTER,INFO,PRACK,SUBSCRIBE,NOTIFY,MESSAGE
Max-Forwards: 66
Content-Length:260
P-Called-Party-ID: <sip:0091_MY_PHONE_NUMBER@2_digit_state_code.ftth.utims.bsnl.in;user=phone>
CSeq:1 INVITE
Contact: <sip:0CALLING_PARTY_PHONE_NUMBER@BSNL.VoIP.Server.IP;tps=btpsh-12345-67890-abcde
REGISTER: sip_one_way - Diffchecker (Left ones are Zoiper Logs and Right ones are FS) # Assuming 192.168.0.10 is the Zoiper Client / FreeSWITCH Server IP (Behind NAT) I tried changing some values for ease of REGISTER comparision.
I installed siproxd using Open-WRT package manager and the service siproxd status confirms it is "running" but when I set this as the SIP GW proxy IP in FS, it can not REGISTER.
I have another ISP router's downstream connected to Open-WRT WAN and BSNL ONU LAN connected to br-lan (Lan iface) which is the reason for below config:
config siproxd general
# Custom options allow using OpenWRT network names, and defaults should
# work out-of-the-box. If your SIP devices do not REGISTER externally,
# you may also need to open firewall ports: tcp/udp 5060, udp 7070-7089.
option interface_inbound lan
option interface_outbound lan
option enable_rtp_proxy 1
option outbound_proxy BSNL.VoIP.Server.IP:5060
I am guessing the missing inbound route from WAN gateway to the 10.6.x.y IP as @Rajneesh Rana mentioned here. So my questions are:
- What am I doing wrong with siproxd? Is this mandatory? What headers is this changing that can fix incoming calls? CONTACT or VIA?
- FS uses ext-sip-ip for both CONTACT/VIA header in REGISTER; However for INVITE there is a possibility of using a different host
- Is there a possibility of incoming route being set on BSNL end from SIP GW range to Voice WAN range (10.144.x.y) that incoming works here?
- How Zoiper is able to get INVITEs on ROUTE -> Router -> PC/Phone? STUN reports Internet WAN public IP as per Wireshark.
Please guide.