AWAITING FEEDBACK Skype on FreePBX - Error making Outbound calls

Jason Ladew

New Member
Joined
Oct 1, 2014
Messages
8
Reaction score
0
Hello,
I am setting up Skype on Asterisk. Registering Skype on Asterisk to Skype was a snap and I have verified on Skype Manager it is registered. I setup a trunk and an outbound route to use the skype setup. Pressing 7 first will use the appropriate trunk/outbound route. I have verified this based on the log files. When I make the call I always get the messages the "All circuits are busy." I paste the log below. The Key error is "TRUNK Dial failed due to CHANUNAVAIL (hangupcause: 3)

Any help is appreciated.
FreePBX in a Flash v1.4
Asterisk 1.4.21.2

Connected to Asterisk 1.4.21.2 currently running on pbx (pid = 3193)
Verbosity is at least 3
-- Executing [717606604690@from-internal:1] Set("SIP/268-b770b848", "MOHCLASS=Soft-Jazz") in new stack
-- Executing [717606604690@from-internal:2] Macro("SIP/268-b770b848", "user-callerid|SKIPTTL|") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/268-b770b848", "AMPUSER=268") in new stack
-- Executing [s@macro-user-callerid:2] GotoIf("SIP/268-b770b848", "0?report") in new stack
-- Executing [s@macro-user-callerid:3] ExecIf("SIP/268-b770b848", "1|Set|REALCALLERIDNUM=268") in new stack
-- Executing [s@macro-user-callerid:4] Set("SIP/268-b770b848", "AMPUSER=268") in new stack
-- Executing [s@macro-user-callerid:5] Set("SIP/268-b770b848", "AMPUSERCIDNAME=CallIDNAME") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("SIP/268-b770b848", "0?report") in new stack
-- Executing [s@macro-user-callerid:7] Set("SIP/268-b770b848", "AMPUSERCID=268") in new stack
-- Executing [s@macro-user-callerid:8] Set("SIP/268-b770b848", "CALLERID(all)="CallIDNAME" <268>") in new stack
-- Executing [s@macro-user-callerid:9] ExecIf("SIP/268-b770b848", "0|Set|CHANNEL(language)=") in new stack
-- Executing [s@macro-user-callerid:10] GotoIf("SIP/268-b770b848", "1?continue") in new stack
-- Goto (macro-user-callerid,s,19)
-- Executing [s@macro-user-callerid:19] NoOp("SIP/268-b770b848", "Using CallerID "CallIDNAME" <268>") in new stack
-- Executing [717606604690@from-internal:3] Set("SIP/268-b770b848", "_NODEST=") in new stack
-- Executing [717606604690@from-internal:4] Macro("SIP/268-b770b848", "record-enable|268|OUT|") in new stack
-- Executing [s@macro-record-enable:1] GotoIf("SIP/268-b770b848", "1?check") in new stack
-- Goto (macro-record-enable,s,4)
-- Executing [s@macro-record-enable:4] AGI("SIP/268-b770b848", "recordingcheck|20150210-152211|1423610531.49451") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
recordingcheck|20150210-152211|1423610531.49451: Outbound recording not enabled
-- AGI Script recordingcheck completed, returning 0
-- Executing [s@macro-record-enable:5] MacroExit("SIP/268-b770b848", "") in new stack
-- Executing [717606604690@from-internal:5] Macro("SIP/268-b770b848", "dialout-trunk|17|17606604690||") in new stack
-- Executing [s@macro-dialout-trunk:1] Set("SIP/268-b770b848", "DIAL_TRUNK=17") in new stack
-- Executing [s@macro-dialout-trunk:2] GosubIf("SIP/268-b770b848", "0?sub-pincheck|s|1") in new stack
-- Executing [s@macro-dialout-trunk:3] GotoIf("SIP/268-b770b848", "0?disabletrunk|1") in new stack
-- Executing [s@macro-dialout-trunk:4] Set("SIP/268-b770b848", "DIAL_NUMBER=17606604690") in new stack
-- Executing [s@macro-dialout-trunk:5] Set("SIP/268-b770b848", "DIAL_TRUNK_OPTIONS=trwT") in new stack
-- Executing [s@macro-dialout-trunk:6] Set("SIP/268-b770b848", "OUTBOUND_GROUP=OUT_17") in new stack
-- Executing [s@macro-dialout-trunk:7] GotoIf("SIP/268-b770b848", "0?nomax") in new stack
-- Executing [s@macro-dialout-trunk:8] GotoIf("SIP/268-b770b848", "0?chanfull") in new stack
-- Executing [s@macro-dialout-trunk:9] GotoIf("SIP/268-b770b848", "0?skipoutcid") in new stack
-- Executing [s@macro-dialout-trunk:10] Set("SIP/268-b770b848", "DIAL_TRUNK_OPTIONS=tw") in new stack
-- Executing [s@macro-dialout-trunk:11] Macro("SIP/268-b770b848", "outbound-callerid|17") in new stack
-- Executing [s@macro-outbound-callerid:1] ExecIf("SIP/268-b770b848", "0|SetCallerPres|") in new stack
-- Executing [s@macro-outbound-callerid:2] ExecIf("SIP/268-b770b848", "0|Set|REALCALLERIDNUM=268") in new stack
-- Executing [s@macro-outbound-callerid:3] GotoIf("SIP/268-b770b848", "1?normcid") in new stack
-- Goto (macro-outbound-callerid,s,6)
-- Executing [s@macro-outbound-callerid:6] Set("SIP/268-b770b848", "USEROUTCID=") in new stack
-- Executing [s@macro-outbound-callerid:7] Set("SIP/268-b770b848", "EMERGENCYCID=") in new stack
-- Executing [s@macro-outbound-callerid:8] Set("SIP/268-b770b848", "TRUNKOUTCID=") in new stack
-- Executing [s@macro-outbound-callerid:9] GotoIf("SIP/268-b770b848", "1?trunkcid") in new stack
-- Goto (macro-outbound-callerid,s,12)
-- Executing [s@macro-outbound-callerid:12] ExecIf("SIP/268-b770b848", "0|Set|CALLERID(all)=") in new stack
-- Executing [s@macro-outbound-callerid:13] ExecIf("SIP/268-b770b848", "0|Set|CALLERID(all)=") in new stack
-- Executing [s@macro-outbound-callerid:14] ExecIf("SIP/268-b770b848", "0|SetCallerPres|prohib_passed_screen") in new stack
-- Executing [s@macro-dialout-trunk:12] ExecIf("SIP/268-b770b848", "0|AGI|fixlocalprefix") in new stack
-- Executing [s@macro-dialout-trunk:13] Set("SIP/268-b770b848", "OUTNUM=w17606604690") in new stack
-- Executing [s@macro-dialout-trunk:14] Set("SIP/268-b770b848", "custom=SIP/SkypeTrunk1") in new stack
-- Executing [s@macro-dialout-trunk:15] ExecIf("SIP/268-b770b848", "1|Set|DIAL_TRUNK_OPTIONS=M(setmusic^Soft-Jazz)tw") in new stack
-- Executing [s@macro-dialout-trunk:16] Macro("SIP/268-b770b848", "dialout-trunk-predial-hook|") in new stack
-- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("SIP/268-b770b848", "") in new stack
-- Executing [s@macro-dialout-trunk:17] GotoIf("SIP/268-b770b848", "0?bypass|1") in new stack
-- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/268-b770b848", "0?customtrunk") in new stack
-- Executing [s@macro-dialout-trunk:19] Dial("SIP/268-b770b848", "SIP/SkypeTrunk1/w17606604690|300|M(setmusic^Soft-Jazz)tw") in new stack
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [s@macro-dialout-trunk:20] Goto("SIP/268-b770b848", "s-CHANUNAVAIL|1") in new stack
-- Goto (macro-dialout-trunk,s-CHANUNAVAIL,1)
-- Executing [s-CHANUNAVAIL@macro-dialout-trunk:1] GotoIf("SIP/268-b770b848", "1?noreport") in new stack
-- Goto (macro-dialout-trunk,s-CHANUNAVAIL,3)
-- Executing [s-CHANUNAVAIL@macro-dialout-trunk:3] NoOp("SIP/268-b770b848", "TRUNK Dial failed due to CHANUNAVAIL (hangupcause: 3) - failing through to other trunks") in new stack
-- Executing [717606604690@from-internal:6] Macro("SIP/268-b770b848", "outisbusy|") in new stack
-- Executing [s@macro-outisbusy:1] Playback("SIP/268-b770b848", "all-circuits-busy-now|noanswer") in new stack
-- Playing 'all-circuits-busy-now' (language 'en')
-- Executing [s@macro-outisbusy:2] Playback("SIP/268-b770b848", "pls-try-call-later|noanswer") in new stack
-- Playing 'pls-try-call-later' (language 'en')
-- Executing [s@macro-outisbusy:3] Macro("SIP/268-b770b848", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("SIP/268-b770b848", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,4)
-- Executing [s@macro-hangupcall:4] GotoIf("SIP/268-b770b848", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,7)
-- Executing [s@macro-hangupcall:7] GotoIf("SIP/268-b770b848", "1?theend") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing [s@macro-hangupcall:9] Hangup("SIP/268-b770b848", "") in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/268-b770b848' in macro 'hangupcall'
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/268-b770b848' in macro 'outisbusy'
 
"w17606604690" is the number you're passing your trunk. I'm pretty sure the 'w' shouldn't be there (although it may be OK) and are you set up to pass a full 10 digit number to the trunk?

It looks to me like it could be a trunk configuration problem. Does your provider want the '1'? Will they accept 'w' in the dial string? Everything before that looks perfectly reasonable, and everything after that is talking about your channel unavailable from the trunk.
 
Thanks for look at this.
I have tried it with/without the 'w'. Really this should only be needed on POTS lines per the help. I simply put it in since it matches other working configuration.
Here is my dial path which is similar to others routes I have except I prefix with a 7 to designate Skype Calls:
7|911
7|011.
7|1NXXNXXXXXX
7|NXXXXXX
 
Hangup Cause 3 is a No Route to Destination error.

Also, Skype doesn't do 911 so I'm not really sure why that's in your dialplan. Not hurting anything, but it's not helping you either.

To clarify, you aren't running the Skype application on your server, but connecting via SIP to Skype's servers, right?
 
Yup I can take the 911 out.
No Skype module/application. Simple SIP Trunk to skype server which the Skype manager says I am registered and I verified the SIP connection on the Asterisk console.
I dial the Skype test number 17606604690.
My goal in the end is to call international, but just getting it working with US numbers will be an awesome start and proves workability.
By the way, how did you find out Hangup Cause 3 is no route? Info on that error is slim to none.
 
I just googled Asterisk Hangup Cause. Look at the VoIPinfo article. It's the second list that you want. The number shown know the console is on the right with the description of the cause on the left.
 
Thanks for look at this.
I have tried it with/without the 'w'. Really this should only be needed on POTS lines per the help. I simply put it in since it matches other working configuration.
Here is my dial path which is similar to others routes I have except I prefix with a 7 to designate Skype Calls:
7|911
7|011.
7|1NXXNXXXXXX
7|NXXXXXX

When would you ever skype 911?

Those look like your outbound route rules. The failure is in your trunk. My voip provider doesn't want me to include the '1' for dialing, so that would cause me to get a congestion error.

At this point, I'd be calling my VOIP provider to ask them for a little help. Ask them why the call at "such-and-such" time failed with a congestion error. The answer will get you a lot closer than me guessing. I'm going to guess that you are sending something down the trunk that makes whatever you are dialing an invalid number.
 
Progress! I reworked some things in the SIP Trunk's Settings. I am now able to make US Calls. Now for International calls. When call an international number, I am getting TRUNK Dial failed due to CHANUNAVAIL (hangupcause: 28) on the console which is an "Invalid number format" apparently. "All circuits are busy". I am dialing 01161396694916.
Dial plan is the same as above.
Any clues?

thanks
 
Is that number format supported in your outbound route and trunk settings for Skype??
 
Is that number format supported in your outbound route and trunk settings for Skype??

On my Outbound Route I am using 7|011. in the Dial Pattern. I did not know something else is needed. The Dial Rules for the Trunk is empty.
Are there some settings you can suggest I test with to be able to call international numbers?

Here is a snippet of the console debug:

Code:
-- Executing [s@macro-dialout-trunk:13] Set("SIP/268-b74f04c0", "OUTNUM=01161396694916") in new stack
-- Executing [s@macro-dialout-trunk:14] Set("SIP/268-b74f04c0", "custom=SIP/SkypeTrunk1") in new stack
-- Executing [s@macro-dialout-trunk:15] ExecIf("SIP/268-b74f04c0", "1|Set|DIAL_TRUNK_OPTIONS=M(setmusic^Soft-Jazz)tw") in new stack
-- Executing [s@macro-dialout-trunk:16] Macro("SIP/268-b74f04c0", "dialout-trunk-predial-hook|") in new stack
-- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("SIP/268-b74f04c0", "") in new stack
-- Executing [s@macro-dialout-trunk:17] GotoIf("SIP/268-b74f04c0", "0?bypass|1") in new stack
-- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/268-b74f04c0", "0?customtrunk") in new stack
-- Executing [s@macro-dialout-trunk:19] Dial("SIP/268-b74f04c0", "SIP/SkypeTrunk1/01161396694916|300|M(setmusic^Soft-Jazz)tw") in new stack
-- Called SkypeTrunk1/01161396694916
-- Got SIP response 484 "Address Incomplete" back from 63.209.144.201
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [s@macro-dialout-trunk:20] Goto("SIP/268-b74f04c0", "s-CHANUNAVAIL|1") in new stack
-- Goto (macro-dialout-trunk,s-CHANUNAVAIL,1)
-- Executing [s-CHANUNAVAIL@macro-dialout-trunk:1] GotoIf("SIP/268-b74f04c0", "1?noreport") in new stack
-- Goto (macro-dialout-trunk,s-CHANUNAVAIL,3)
-- Executing [s-CHANUNAVAIL@macro-dialout-trunk:3] NoOp("SIP/268-b74f04c0", "TRUNK Dial failed due to CHANUNAVAIL (hangupcause: 28) - failing through to other trunks") in new stack
-- Executing [701161396694916@from-internal:6] Macro("SIP/268-b74f04c0", "outisbusy|") in new stack
-- Executing [s@macro-outisbusy:1] Playback("SIP/268-b74f04c0", "all-circuits-busy-now|noanswer") in new stack
-- <SIP/268-b74f04c0> Playing 'all-circuits-busy-now' (language 'en')

thanks
 
Based upon your dialplan, it looks like you should be dialing 701161396694916.
 
On my Outbound Route I am using 7|011. in the Dial Pattern. I did not know something else is needed. The Dial Rules for the Trunk is empty.
Are there some settings you can suggest I test with to be able to call international numbers

thanks
That will strip the 7 off the front of your dialed number and with the news that the dial rules in the trunk are empty, you need to know the dial rules for dialing an international call from your VOIP provider.

If they are expecting 011 then something, you should have it. Since, however, you are not getting your expected results, I'd guess that the 011 thing is something your VOIP provider isn't expecting.

My International VOIP provider will accept international calls from me IF AND ONLY IF I sign an agreement that says I'll pay for international calls. Basically, my dial package (and the dial packages from lots of providers) require you to sign up specifically for international dialing. For many providers, this was in response to people running up huge phone bills (often by getting hacked) and then bailing on the providers.
 
And that would mean you need an authorized dial string entry such as 7|36XXXXXXXXX to make Skype calls to Hungary.
 
Hello,
Thanks for all the feedback. My hair is growing back from all the hair pulling. That 011 was a real Red Herring - post. I should have tried other International Numbers. Bottom Line is it now works making Outbound International Calls and I thought I'd share the setups - here's the basic link I followed:
SIP Trunk PEER Details:
username=<Skype Connect Username>​
type=peer​
secret=<Skype Connect PW>​
qualify=yes​
nat=yes​
insecure=invite​
dtmfmode=rfc2833​
host=sip.skype.com​
disallow=all​
allow=ulaw&gsm&alaw​
context=from-trunk​
fromuser=<Skype Connect Username>​
SIP Trunk Register String
<Skype Connect Username>:<Skype Connect PW>@sip.skype.com/<Skype Connect Username>​
Note: Leave Max Channels Blank.​
Outbound Route for Skype Dial Rules
7|.​
7|011.​
7|1NXXNXXXXXX​
7|NXXXXXX​
Outbound Trunk Sequence: Above Create SIP Trunk​

Now there is sometimes a weird oddity in that when a change is made to the above configuration, Outbound SIP calls stop working and you get a "All are currently Circuits Busy" message. Now I'm not sure if this is a bug in my system as I am using an older version, but the fix is to go into the SIP Trunk and copy/paste the entire PEER deatils and save. If this does not fix the issue then do a copy/paste on the Outbound Route for the Dial Rules and Save. My guess is some configuration file is not being written properly and doing this ensures all config files are re-written.

There you go!
Jason
 

Members online

No members online now.

Forum statistics

Threads
26,688
Messages
174,412
Members
20,259
Latest member
Fadeek86
Get 3CX - Absolutely Free!

Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.
Back
Top