Hello everyone, I need some help and recommendations.
A quick note, I already googled the above subject and went through older threads dating from 2013 and newer and trying out different settings and recommendations.
It’s been a rough year for voip with all the DDOS attacks and our business lost a lot of reputation.
Initially we were with Voip.ms which for years haven’t been flawless (I don’t know if anyone can be) but their support has been exceptional. Up until they got destroyed by DDOS attacks. Which showed their infra was weak. They were down for a bit over 2 weeks.
In that first week we managed to quickly port out to Telnyx… who has had unreliable audio quality and mediocre service.
I now signed up with Bandwidth and our testing phase has been rough.
So our setup is the following.
On Premise FreePBX boxes for our clients, who would connect via sip trunk to the DID providers.
On Bandwidth, I create my subaccounts, locations with the internet static ip of the on premise PBX location.
On the router I port forward the requested ports from all.
(Which I would secure by strictly allowing the Bandwidth IP’s after I get it up and running)
I got the bandwidth guys change from e164 to US 10 digits.
I have tried a variety of different trunk settings.
Such as
(Outgoing)
host=216.82.227.122&216.82.237.134
port=5060
type=peer
allow=ulaw
dtmfmode=rfc2833
nat=yes
fromuser=+1**********
qualify=yes
(Incoming)
host=216.82.227.122&216.82.237.134
port=5060
type=peer
allow=ulaw
dtmfmode=rfc2833
reinvite=no
canreinvite=no
context=from-pstn
nat=yes
qualify=yes
Tried with and without fromuser=…
Tried with and without incoming
(No register string obviously as bandwidth doesn’t work this way)
Minor issue:
The only way I could get incoming to work, I have to enable Allow Anonymous Inbound SIP calls, which I don’t like. I was hoping I can have that to No with the inclusion of the Host IP addresses.
Major Issue:
On my office PBX, I can call out perfectly. I can take calls perfectly from their DID. (I haven’t ported main DID’s yet)
But I can’t call myself with their DID… it picks up but remains silent.
On 2 other PBX’s that I setup the exact same way, they can take in calls from their temp DID’s with bandwidth, but outgoing calls are stuck at all circuits are busy.
And if I call them from my office using bandwidth outgoing, it gives the same issue, no audio the same as if I called myself.
Tickets have been opened but I have been on this for days now and haven’t seen great progress.
I extracted some details from /var/log/asterisk/full
Note that below is from a different PBX Trunk. (not the one above but setup the same way)
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] pbx.c: Executing [s@func-apply-sipheaders:10] ExecIf(“SIP/EndoTMRBandwidth-00006504”, "0?Set(siphe$
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] pbx.c: Executing [s@func-apply-sipheaders:11] ExecIf(“SIP/EndoTMRBandwidth-00006504”, "0?SIPAddHea$
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] pbx.c: Executing [s@func-apply-sipheaders:12] ExecIf(“SIP/EndoTMRBandwidth-00006504”, "0?Set(PJSIP$
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] pbx.c: Executing [s@func-apply-sipheaders:13] EndWhile(“SIP/EndoTMRBandwidth-00006504”, “”) in new$
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] pbx.c: Executing [s@func-apply-sipheaders:5] While(“SIP/EndoTMRBandwidth-00006504”, “0”) in new st$
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] pbx.c: Executing [s@func-apply-sipheaders:14] Return(“SIP/EndoTMRBandwidth-00006504”, “”) in new s$
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] app_stack.c: Spawn extension (from-trunk-sip-EndoTMRBandwidth, 514*******, 1) exited non-zero on '$
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] app_stack.c: SIP/EndoTMRBandwidth-00006504 Internal Gosub(func-apply-sipheaders,s,1(1)) complete G$
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] app_dial.c: Called SIP/EndoTMRBandwidth/5141231234
[2022-04-12 08:35:52] VERBOSE[2291][C-000033aa] chan_sip.c: Got SIP response 500 “Internal Server Error” back from 216.82.227.122:5060
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] app_dial.c: SIP/EndoTMRBandwidth-00006504 is circuit-busy
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] app_dial.c: Everyone is busy/congested at this time (1:0/1/0)
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] pbx.c: Executing [s@macro-dialout-trunk:35] NoOp(“SIP/598-00006503”, "Dial failed for some reason $
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] pbx.c: Executing [s@macro-dialout-trunk:36] GotoIf(“SIP/598-00006503”, "0?continue,1:s-CONGESTION,$
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] pbx_builtins.c: Goto (macro-dialout-trunk,s-CONGESTION,1)
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] pbx.c: Executing [s-CONGESTION@macro-dialout-trunk:1] Set(“SIP/598-00006503”, “RC=38”) in new stack
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] pbx.c: Executing [s-CONGESTION@macro-dialout-trunk:2] Goto(“SIP/598-00006503”, “38,1”) in new stack
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] pbx_builtins.c: Goto (macro-dialout-trunk,38,1)
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] pbx.c: Executing [38@macro-dialout-trunk:1] Goto(“SIP/598-00006503”, “continue,1”) in new stack
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] pbx_builtins.c: Goto (macro-dialout-trunk,continue,1)
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] pbx.c: Executing [continue@macro-dialout-trunk:1] NoOp(“SIP/598-00006503”, "TRUNK Dial failed due $
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] pbx.c: Executing [continue@macro-dialout-trunk:2] ExecIf(“SIP/598-00006503”, "1?Set(CALLERID(numbe$
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] pbx.c: Executing [5146386366@from-internal:13] Macro(“SIP/598-00006503”, “outisbusy,”) in new stack
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] pbx.c: Executing [s@macro-outisbusy:1] Progress(“SIP/598-00006503”, “”) in new stack
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] pbx.c: Executing [s@macro-outisbusy:2] GotoIf(“SIP/598-00006503”, “0?emergency,1”) in new stack
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] pbx.c: Executing [s@macro-outisbusy:3] GotoIf(“SIP/598-00006503”, “0?intracompany,1”) in new stack
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] pbx.c: Executing [s@macro-outisbusy:4] Playback(“SIP/598-00006503”, "all-circuits-busy-now&please-$
[2022-04-12 08:35:52] VERBOSE[20596][C-000033aa] file.c: <SIP/598-00006503> Playing ‘all-circuits-busy-now.ulaw’ (language ‘en’)
[2022-04-12 08:35:54] VERBOSE[20596][C-000033aa] file.c: <SIP/598-00006503> Playing ‘please-try-call-later.ulaw’ (language ‘en’)
[2022-04-12 08:35:55] VERBOSE[20596][C-000033aa] pbx.c: Executing [h@from-internal:1] Macro(“SIP/598-00006503”, “hangupcall”) in new stack
[2022-04-12 08:35:55] VERBOSE[20596][C-000033aa] pbx.c: Executing [s@macro-hangupcall:1] GotoIf(“SIP/598-00006503”, “1?theend”) in new stack
[2022-04-12 08:35:55] VERBOSE[20596][C-000033aa] pbx_builtins.c: Goto (macro-hangupcall,s,3)
[2022-04-12 08:35:55] VERBOSE[20596][C-000033aa] pbx.c: Executing [s@macro-hangupcall:3] ExecIf(“SIP/598-00006503”, “0?Set(CDR(recordingfile)=)”) i$
[2022-04-12 08:35:55] VERBOSE[20596][C-000033aa] pbx.c: Executing [s@macro-hangupcall:4] Hangup(“SIP/598-00006503”, “”) in new stack
[2022-04-12 08:35:55] VERBOSE[20596][C-000033aa] app_macro.c: Spawn extension (macro-hangupcall, s, 4) exited non-zero on ‘SIP/598-00006503’ in mac$
[2022-04-12 08:35:55] VERBOSE[20596][C-000033aa] pbx.c: Spawn extension (from-internal, h, 1) exited non-zero on ‘SIP/598-00006503’