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?
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?