Solved Issue with Trunk, wrong ip in contact uri (SFR Business)

Status
Not open for further replies.

Nicolas Innocent

Customer
Joined
Jul 5, 2019
Messages
4
Reaction score
0
Hello everyone,

I have an issue on which I have been blocked for a few months now.
We have been using 3CX (currently pro 16.0.1.273) for a few years now, for our main site (~40 phones)
External connections are currently done through a Beronet appliance, works perfectly.

We are upgrading our external infrastructure and need to switch over to a direct voip connection with our provider, SFR Business.(officially suported)
They requires the use of a separate gateway for the voip transit, so we are in the case described there https://www.3cx.com/blog/docs/network-configurations-supported-3cx-phone-system/ (Multiple internet gateways, used by ISPs that offer VoIP Services).

Except I can't make it work, I can't get the audio and messages returning correctly.
Either the Contact host or the connection sdc are wrong.

External IP : 46.x.x.x
Phone vlan 10.1.70.x.x/24
Voip_GW 10.1.72.214/24, 3cx ip 10.1.72.215/24
SFR SBC 109.0.103.20
the 10.1.72 interface is on a dedicated NIC, with no default GW specified.
the route to 109.0.103.0/25 is set through windows routing service, and is fonctionning (tracert does show the correct path)
SFR expects the connection sdp and contact URI host to be set to 10.1.72.215

The Issue is that I can't get that to work
I understand I need to set the option in trunk settings 'Select which IP to use in 'Contact' (SIP) and 'Connection'(SDP) fields', but :

Use default settings :
result : via 10.1.72.215, sdp 46.x.x.x, contact 46.x.x.x => okay, expected

Local ip address (which is supposed to be the correct choice)
result : via 10.1.72.215, sdp 46.x.x.x, contact 46.x.x.x => why ? I'm expecting the local IP, not the public one.

Use ip address : 10.1.72.215
result : via 10.1.72.215, sdp 10.1.72.215, contact 46.x.x.x => Better, but the contact is still wrong

Since I know i can specify the contact host in outbound settings, I can just do that right ?
Contact : Host Part , Custom field, 10.1.72.215,
... and I still get the same result....

Somehow, I can't seem to set the contact uri host to the correct value.

I have at one time managed to get the correct contact host, but then, it was the sdp that was wrong, and among all my tests, I don't remember how

options set on the trunk are allow inbound/allow outbound/pbx delivers audio/supports re-invite, as per SFR requirements

ps : My reseller opened a support ticket, and asked us to directly answer 3cx questions, but they dropped my answer because the email was different from the ticket owner, which is bull*,
 
Last edited:
Hello @Nicolas Innocent

I just tried to replicate the behaviour but could not. If i select the option "Use this IP address" i get the local IP of the PBX to both the contact and sdp part of the Invite.
Try deleting the trunk and start over by following this guide: https://www.3cx.fr/docs/configurer-sfr-business/
You could also try restarting your services and see if that works.
 
@YiannisH_3CX,
So, I just did the following :
Deleted Trunks
Recreated Trunk as per the instructions in the link (except for the route)
=> Same issue
Updated 3cx from 160.0.1.273 to v16.0.2.910 (seing as I was already killing the server anyway)
Rebooted the physical server
=>Ok, now I have outgoing calls working, incoming as well
so my issue might have been related to either a corrupted route not correctly reported by windows to 3cx (the route did work correctly though), something already fixed in the update or something that got fixed by the update process itself.

Also, the config guide does not match SFR prerequisites:
Per SFR Prerequisites :
  • Route should be set to 109.0.103.20/25 and not /32 as per the config page (I believe .103.1 and .103.2 might be used for ping and connection checks)
  • Options 'Supports Re-invite', 'PBX delivers Audio', 'Disallow Video Calls' must be set
Also, Also, for future users having issues with SFR, I just noticed something :
Sfr requires 2 trunks (one for calls, and one for emergency calls (because otherwise, they don't always route correctly to the local emergency call center))

The instant I add the second one, the registers starts getting screwy, and the incoming calls starts to fail and/or not be routed to the correct extensions.
After a quick debug, I believe it's because they use the same SBC (and ip based authentication) for both trunks, and somehow, calls get routed to the emergency trunk (even though it's set to disable incomming calls).

What I did to fix this behavior is to set the call source identification (should already be enabled on the trunk settings) to
Normal trunk => Default (Contat uri user)
Emergency trunk => User Agent, Custom, custom field : "disabled_no_incoming_call_dsqhgfvgsjfgdfgsg"
It seems to work just fine
 
Last edited:
Glad to see you were able to resolve the issue. We will see if the guide can be adjusted based on your feedback. For the source identification the best solution is to disable it on both trunks so that the PBX can match the calls based on the DID only.
 
Status
Not open for further replies.

Forum statistics

Threads
111,930
Messages
589,802
Members
164,803
Latest member
fcentral