easybell introduces new SIP-Registrar voip.easybell.de

Status
Not open for further replies.

zumotura12

New Member
May 9, 2018
3
0
1
40
Hi!

On 11.08.2021, the german Provider easybell introduces its new SIP-Registrar voip.easybell.de which uses DNS-SRV Records:

freeswitch@pbx> sofia_dig voip.easybell.de
Preference Weight Transport Port Address
================================================================================
1 0.080 udp 5060 2001:4090:4008::124
1 0.080 udp 5060 194.162.243.164
1 0.020 udp 5060 2001:4090:4008::173
1 0.020 udp 5060 195.185.37.60
2 0.020 tcp 5060 2001:4090:4008::173
2 0.020 tcp 5060 195.185.37.60
2 0.080 tcp 5060 2001:4090:4008::124
2 0.080 tcp 5060 194.162.243.164

Freeswitch registers to the bold ones correctly.

Every incoming call is now announced through 2 SIP-Invites from Booth source IPs within some ms.

With the basic external SIP Profile, this leads to two independent calls, from which one is dead.

Every call is getting its unique uuid and call_id, though the sip_call_id (Call ID from SIP Header) is identical in both calls.

When i set "inbound-use-callid-as-uuid=true" in the used sip-profile, the first call is answered with "200 OK" and second incoming invite is rejected with "503 Maximum Calls in Progress" which seems to me like an appropriate behavior.

This seems to work so far, but i can`t see this call in the CDR anymore, maybe because of the uuid being set to an format which can not be stored:

The call-id format from easybell looks like this:

SBCd0680c00a629-61123de5-1234544b-23e5f4e8-1181f50-01_b2b-1

Is this, how it should be dealt with, or is there an more elegant solution?

Maybe it's possible to have FreeSWITCH recognizing the calls as duplicate with assigning its own uuid to the first and rejecting the second? (Instead of using the sip_call_id)

I think, there might be additional downsides besides the missing CDR Entry, like not working scripts or so?
 

Adrian Fretwell

Well-Known Member
Aug 13, 2017
1,417
377
83
I think your problem is having two registrations with the provider and the provider setting them both with the same preference weight. I would normally only expect to see one registration with any given preference weight.
 

zumotura12

New Member
May 9, 2018
3
0
1
40
I think your problem is having two registrations with the provider and the provider setting them both with the same preference weight. I would normally only expect to see one registration with any given preference weight.
Thanks for your response. Correct me if i`m wrong, but isn`t it legal to have mutiple hosts with the same prefernece, like for example:

freeswitch@pbx> sofia_dig callcentric.com
Preference Weight Transport Port Address
================================================================================
1 0.000 udp 5080 204.11.192.171
1 0.000 udp 5080 204.11.192.172
1 0.000 udp 5080 204.11.192.37
1 0.000 udp 5080 204.11.192.38
1 0.000 udp 5080 204.11.192.39
1 0.000 udp 5080 204.11.192.135
1 0.000 udp 5080 204.11.192.169
1 0.000 udp 5080 204.11.192.170

You would not expect to Freeswitch send register to all those hosts?
Or would you rather not expect to receive invites from multiple ones?
 

Adrian Fretwell

Well-Known Member
Aug 13, 2017
1,417
377
83
I would expect to see invites from multiple ones, but in order of preference. So when an inbound call comes it it is routed via preference 1, if that INVITE fails for some reason, it is routed via preference 2, and so on... Sending simultaneous (multiple) INVITES in this scenario is a waste of resources for everyone concerned.

The problem may not exist if each IP was assigned a different preference weight, but I do remember a bug in mod_sofia a while back where by when multiple IPs were returned by DNS, as is your case, it was supposed to stick to one of them but instead registered to more than one.

I'm not sure what the better solution is, can you manually choose one of the IPs on a per gateway basis, or manage a local DNS lookup or even use the hosts file.
 

zumotura12

New Member
May 9, 2018
3
0
1
40
I would expect to see invites from multiple ones, but in order of preference. So when an inbound call comes it it is routed via preference 1, if that INVITE fails for some reason, it is routed via preference 2, and so on... Sending simultaneous (multiple) INVITES in this scenario is a waste of resources for everyone concerned.

The problem may not exist if each IP was assigned a different preference weight, but I do remember a bug in mod_sofia a while back where by when multiple IPs were returned by DNS, as is your case, it was supposed to stick to one of them but instead registered to more than one.

I'm not sure what the better solution is, can you manually choose one of the IPs on a per gateway basis, or manage a local DNS lookup or even use the hosts file.
OK, I understand your explanation. But if exclude one of these hosts by intention with one of these methods, I would risk being unreachable, when one host goes down (even for maintenance) or an IP Change occurs. (which the provider reserves the right for at any time)

In theory, it could be great if there could be two paths to receive the invites from simultaneously if FreeSWITCH (or FusionPBX) could handle this. I could do some policy-based routing and even use different connections for different paths without having to wait for failover or so.

Since I have no experience with other providers working this way and your answer implies it:
Is it really uncommon to send multiple invites at the same time? Any experience how other Providers handle this? How long or until which response do they wait before sending another one from another host?

I would like to discuss this with easybell and collect some information beforehand.

Thanks again for your time.
 
Status
Not open for further replies.