Outbound calls failing on Vitelity SIP trunk

Hello. I’m having some issues making outbound calls on my Vitelity trunk from my Elastix v4 VM. When I dial out I get 30 seconds of silence followed by, “the number is not answering.” When I mentioned this to Vitelity’s support they stated that it sounded like an issue with my dial plan. I’m not too terribly versed in the IP telephony realm of technology so I tried to do some digging on my own before posting.

I believe the problem is that I don’t have a dial plan configured for the outbound trunk to read from. So my question is how do I create a basic dial plan in FreePBX so it can route my calls? I have one extension for the time being. Inbound calls are working perfectly so there’s no problem there.

Here’s a little background in case it’s needed. I have a dynamic IP from my ISP (they don’t offer static for residential service) so I created an account with No-IP for DDNS. I have NAT enabled and the DDNS config is set in Asterisk SIP Settings.

I set a dial pattern in my outbound route but from what I’ve read, a dial pattern isn’t synonymous with a dial plan.

Outgoing Settings for outbound trunk:
Trunk Name: vitelity-outbound

PEER Details
username=(Vitelity subaccount)
fromuser=(Vitelity subaccount)

I don’t see anything for the from-trunk context in extension_custom.conf so I believe this is where the calls are failing.

Output from asterisk log after call:
[2016-09-13 01:30:21] WARNING[9247] chan_sip.c: Hanging up call [email protected] - no reply to our critical packet (see h++ps://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions).
[2016-09-13 01:30:22] WARNING[9706][C-00000005] channel.c: Prodding channel ‘SIP/201-0000000a’ failed

I’ve one route with vitality and don’t have this error

Dial Plan setup in my outbound route

Thanks for your reply. Looks like I have just about the same config as you, but I’m still getting the same error.

I set the logs to verbose and get this when placing an outbound call:

== Everyone is busy/congested at this time (1:0/1/0)
– Executing [[email protected]:23] NoOp(“SIP/201-0000001e”, “Dial failed for some reason with DIALSTATUS = CONGESTION and HANGUPCAUSE = 18”) in new stack
– Executing [[email protected]:24] GotoIf(“SIP/201-0000001e”, “0?continue,1:s-CONGESTION,1”) in new stack
– Goto (macro-dialout-trunk,s-CONGESTION,1)
– Executing [[email protected]:1] Set(“SIP/201-0000001e”, “RC=18”) in new stack
– Executing [[email protected]:2] Goto(“SIP/201-0000001e”, “18,1”) in new stack
– Goto (macro-dialout-trunk,18,1)
– Executing [[email protected]:1] Goto(“SIP/201-0000001e”, “s-NOANSWER,1”) in new stack
– Goto (macro-dialout-trunk,s-NOANSWER,1)
– Executing [[email protected]:1] NoOp(“SIP/201-0000001e”, “Dial failed due to trunk reporting NOANSWER - giving up”) in new stack
– Executing [[email protected]:2] Progress(“SIP/201-0000001e”, “”) in new stack
– Executing [[email protected]:3] Playback(“SIP/201-0000001e”, “number-not-answering,noanswer”) in new stack