ChanSIP Trunk no longer using proper IP

Good afternoon. Just updated Asterisk 13.18.3 to 13.18.4. After the update, inbound calls were being rejected. In digging, the IP for the inbound trunk changed.

Here’s the inbound trunk settings:
type=friend
transport=udp
t38pt_udptl=yes,redundancy,maxdatagram=400
srvlookup=yes
qualify=yes
host=trk-c1a-alpha-did-gen.gogcit.net&trk-c1b-alpha-did-gen.gogcit.net&trk-c1c-alpha-did-gen.gogcit.net&trk-c1d-alpha-did-gen.gogcit.net&trk-c1e-alpha-did-gen.gogcit.net
dtmfmode=rfc2833
directrtpsetup=no
directmedia=no
context=from-pstn-e164-us

It ended up taking the last one. So, we wiped out all the host entries and JUST put the first one in (and applied the setting). That still kept the IP of the last entry. If we put the IP in instead of the DNS, we have to stop/start the entire FPBX instance (fwconsole restart) in order for it to pick up the IP, but when using it as DNS, it pulls the wrong IP.

Even stranger, doing a lookup for that DNS entry within Linux directly, returns the right IP. We’ve also tried with SRVLOOKUP=no, and it seems to still hold on to the IP of the last DNS address, even though it’s nowhere in programming to be found.

This has worked well until the .4 update, so I’m thinking there’s something odd there.

Thoughts?

The chan_sip module does not support multiple hosts being specified. It will only use one. You have to use multiple peer entries, one for each host, to do matching of multiple.

1 Like

And that’s fine, but when I put just a single entry in, the APPLY did nothing to change it - I had to issue a FWCONSOLE RESTART command to have it actually acquire the address.

We also have a DNS SRV record we used as well, but that didn’t work either (prior to the upgrade) even though SRVLOOKUP=YES (which in theory would have provided the 5 targets).

I don’t know what apply in FreePBX would do to Asterisk for that specific case so I can’t comment on that.

In theory it causes Asterisk to reload it’s config.