All circuits busy - flowroute - IP based outgoing registration

trunk
Tags: #<Tag:0x00007f7036ed1d60>

(B. Shea) #1

For many months I have been dealing with this issue/trying to troubleshoot it.

The system is a PI4/“raspbx” - everything up to date. My inbound seems fine 24/7.
But, my outbound only works after a reboot for hours / days(?).

Eventually, the outbound starts up with “All circuits are busy.” “Please try your call again later.” And of course I usually discover this as I am about to make an important call out.

My outbound registration is setup at FLOWROUTE to do IP based auth. NOT passwords.

I have read many forum posts already and nothing seems to fit my problem precisely.

I turned up debugging. Side note: Had to turn the ‘full’ log back on (Settings/Asterisk Logfile Settings/Log Files) - somehow it was off since August.

At any rate, the only error I can find is this:

[2020-11-19 10:19:26] DEBUG[16465][C-00000008] pbx.c: Launching 'Dial'
[2020-11-19 10:19:26] VERBOSE[16465][C-00000008] pbx.c: Executing [s@macro-dialout-trunk:27] Dial("PJSIP/100-00000008", "PJSIP/9999999*19999999999@us-east-va.sip.flowroute.com,300,Tb(func-apply-sipheaders^s^1,(1))U(sub-send-obroute-email^19999999999^19999999999^1^1111111111^CallerIDNAMEREMOVED^13149999999)") in new stack
[2020-11-19 10:19:26] ERROR[28971] res_pjsip.c: Endpoint 'us-east-va.sip.flowroute.com': Could not create dialog to invalid URI 'us-east-va.sip.flowroute.com'.  Is endpoint registered and reachable?
[2020-11-19 10:19:26] ERROR[28971] chan_pjsip.c: Failed to create outgoing session to endpoint 'us-east-va.sip.flowroute.com'
[2020-11-19 10:19:26] WARNING[16465][C-00000008] app_dial.c: Unable to create channel of type 'PJSIP' (cause 3 - No route to destination)
[2020-11-19 10:19:26] VERBOSE[16465][C-00000008] app_dial.c: No devices or endpoints to dial (technology/resource)
[2020-11-19 10:19:26] DEBUG[16465][C-00000008] app_dial.c: Exiting with DIALSTATUS=CHANUNAVAIL.
[2020-11-19 10:19:26] DEBUG[16465][C-00000008] app_macro.c: Executed application: Dial
[2020-11-19 10:19:26] DEBUG[16465][C-00000008] pbx.c: Launching 'NoOp'

(I have masked the dialout numbers, outbound dial prefix and my originating # / callerid in output^.)

I can see the error, but not sure why it says that? I can still ping the provider. I think I can rule out nameserver failure.

And as I mentioned, if I reboot it, it works fine for however long-

I can make outbound calls for the rest of day (usually). Not sure how long it takes to finally give a failure on outbound, but once it fails, it stays that way till I reboot again.

Any help is appreciated.


(Dave Burgess) #2

That looks like a DNS/Network problem.

Are you using Flowroute server names or IP addresses in your PJ-SIP Configuration?


(Sam Shomi) #3

Flowroute updated their network some time ago and added a bunch of IP’s. I seem to remember that mostly affects inbound so that may not be your problem. Anyways, if you are using CHAN_SIP you need to add a separate trunk for each inbound IP address because an inbound call could be assigned to any one of them randomly.

I think there are something like 20-40 of them. You only need to configure the inbound part of the trunk and I think you only need 2 or 3 lines. host=xx.xx.xx.xx, context=from-trunk, type=peer. In your case, since it is affecting outbound, check if there is more than one outbound IP address associated with your assigned dns name and create a separate outbound trunk for that.

If you are using CHAN_PJSIP it is not a problem because it checks for any IP address associated with a DNS name. I think CHAN_SIP only checks the first one returned and only on initialization which is why a reboot or restart sometimes corrects the problem temporarily. If you have dig installed you can check for those ip’s by doing

dig your.assigned.flowroute.dnsname.com


(Dave Burgess) #4

This error tells us you are using PJ-SIP, so the Chan-SIP weirdness that usually causes this is probably not in play. This could be something crazy like you local DNS not caching the the IP address, a general failure in DNS, or some other network issues that we’re not going to be able to troubleshoot. If you are using a Firewall, you might want to look at that to make sure that the connections to the outside world are working reliably.

For outbound connections, I usually recommend that you pick the Flowroute POP that works best for you and put in its IP address so you avoid DNS strangeness.


(B. Shea) #5

Thanks to you both for the replies. Yes, networking/dns was my first thought as well after seeing the log results above.

When it had this issue last, I ran dig both against localhost dns (caching) resolver (dnsmasq) -and- the LAN/local resolver (Unbound) and outside resolvers like google. All lookups worked fine. Tried phone call. “All circuits busy” / same error in log.

dig us-east-va.sip.flowroute.com
...
;; ANSWER SECTION:
us-east-va.sip.flowroute.com. 60 IN     A       34.226.36.32
;; Query time: 15 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)

dig @8.8.4.4 us-east-va.sip.flowroute.com A
...
;; ANSWER SECTION:
us-east-va.sip.flowroute.com. 11 IN     A       34.226.36.32
;; Query time: 22 msec
;; SERVER: 8.8.4.4#53(8.8.4.4)

etc

Getting the feeling it’s something RPi related (or dnsmasq related), but searching for similar issues on ‘raspbx’/etc doesn’t yield anything helpful. Also, there is the fact that I ran freepbx updates the other day after the first post above. ‘Core’ updated among many others.
After the update I could make outgoing calls again and do not recall rebooting it.

At this point, I can only wait for the issue to show up again before I can run any more tests. If anyone has any suggestions in the meantime I am all ears…