Hi,

 

I’ve setup FreeSWITCH (using FusionPBX) to connect to the German Telekom using their SIP-Trunk product.

Basically everything works fine except I have to restart the external SIP Profile every 1-2 weeks because of a 403 FORBIDDEN message returned by the Telekom server.

 

After some investigation I think I know why this happens, but I have no idea how to solve it.

 

The DNS SRV records from the Telekom return 3 servers with different priorities.

- You can check that with: nslookup -querytype=SRV _sip._tcp.reg.sip-trunk.telekom.de

 

FreeSWITCH takes the one with the highest prio and registers.

- e.g. serverA

- Also every 240 seconds a re-registration happens

 

Then everything works as expected

- All INVITES go to serverA as well (because reg.sip-trunk.telekom.de is also the outbound proxy)

 

Once in a while the Telekom changes the prio of the servers

- So the next INVITE goes to serverB

- And this is where I get the 403 because they expect the INVITE to be sent to the server FreeSWITCH registered before (in this example serverA)

 

So I see two problems here I’d like to solve:

When re-registering every 240 seconds it looks like FreeSWITCH doesn’t do another DNS lookup and doesn’t re-register to the server with highest prio

- How can I force FreeSWITCH to do this DNS lookup before every registration and choose the new “best” server?

 

- How can I force FreeSWITCH to send the INVITES to the server it registered before (and not to the one with the currently highest prio)?

 

When doing some research I found the 3CX has some new option implemented especially for this problem: “Force invites to be send to IP of registrar”

Please see: https://www.3cx.de/blog/deutsche-telekom-sip-trunk-wichtig/

Is something like this also possible with FreeSWITCH?

 

Thanks, Klaus