Yes, I initially used FreePBX to set up the system since I was new to
Asterisk, but now I feel more comfortable editing the conf files myself.
I'm not sure which conf file would be relevant to the issue of each
phone being directly mapped to a specific trunk, but here goes. I
included the parts for one example extension, and then the parts where
the dial out trunks are in order. I just don't see anywhere there is a
direct mapping for each registration:
In sip_additional.conf, here is how each trunk is set up:
register=303396XXXX:[EMAIL PROTECTED]/303396XXXX
[303396XXXX]
type=peer
qualify=yes
permit=fs1.voip.provider.com/255.255.255.255
insecure=very
host=fs1.voip.provider.com
fromdomain=globaltaxnetwork.com
deny=0.0.0.0/0.0.0.0
context=from-sip-external
canreinvite=no
[552]
username=552
type=friend
secret=the_secret
record_out=Adhoc
record_in=Adhoc
qualify=no
port=5060
nat=never
[EMAIL PROTECTED]
host=dynamic
dtmfmode=rfc2833
context=from-internal
canreinvite=no
callerid=GTN Employee <552>
[LW0052]
username=303396XXXX
type=friend
secret=password
insecure=very
host=fs1.voip.provider.com
Then, in sip.conf, I have:
; Note: If your SIP devices are behind a NAT and your Asterisk
; server isn't, try adding "nat=1" to each peer definition to
; solve translation problems.
[general]
port = 5060 ; Port to bind to (SIP is 5060)
bindaddr = 0.0.0.0 ; Address to bind to (all addresses on machine)
disallow=all
allow=ulaw
allow=alaw
tos=0x04
tos_sip=cs6
; If you need to answer unauthenticated calls, you should change this
; next line to 'from-trunk', rather than 'from-sip-external'.
; You'll know this is happening if when you call in you get a message
; saying "The number you have dialed is not in service. Please check the
; number and try again."
context = from-sip-external ; Send unknown SIP callers to this context
callerid = Unknown
; #, in this configuration file, is NOT A COMMENT. This is exactly
; how it should be.
#include sip_nat.conf
#include sip_custom.conf
#include sip_additional.conf
Then, in extensions_additonal.conf:
[globals]
#include globals_custom.conf
CALLFILENAME = ""
DIAL_OPTIONS = tr
DIAL_OUT = 9
FAX =
FAX_RX = system
FAX_RX_EMAIL = [EMAIL PROTECTED]
INCOMING = group-all
NULL = ""
OPERATOR =
PARKNOTIFY = SIP/200
RECORDEXTEN = ""
RINGTIMER = 15
DIRECTORY = last
AFTER_INCOMING =
IN_OVERRIDE = forcereghours
REGTIME = 7:55-17:05
REGDAYS = mon-fri
DIRECTORY_OPTS =
OUTCID_1 =
OUTMAXCHANS_1 =
VM_PREFIX = *
TONEZONE = us
ALLOW_SIP_ANON = no
FAX_RX_FROM = [EMAIL PROTECTED]
TRUNK_OPTIONS = r
VM_DDTYPE =
VM_GAIN =
DIALOUTIDS = 1/10/11/12/13/14/15/16/17/18/19/2/20/21/22/23/3/4/
OUTCID_2 =
OUTMAXCHANS_2 =
OUTPREFIX_2 =
OUT_2 = SIP/LW3818
OUTPREFIX_1 =
OUT_1 = SIP/LW0044
OUTCID_3 =
OUTMAXCHANS_3 =
OUTPREFIX_3 =
OUT_3 = SIP/LW0046
OUTCID_4 =
OUTMAXCHANS_4 =
OUTPREFIX_4 =
OUT_4 = SIP/LW0047
OUTCID_5 =
OUTMAXCHANS_5 =
OUTPREFIX_5 =
OUT_5 = SIP/LW0048
OUTCID_6 =
OUTMAXCHANS_6 =
OUTPREFIX_6 =
OUT_6 = SIP/LW0049
OUTCID_7 =
OUTMAXCHANS_7 =
OUTPREFIX_7 =
OUT_7 = SIP/LW0050
OUTCID_8 =
OUTMAXCHANS_8 =
OUTPREFIX_8 =
OUT_8 = SIP/LW0051
OUTCID_9 =
OUTMAXCHANS_9 =
OUTPREFIX_9 =
OUT_9 = SIP/LW0052
OUTCID_10 =
OUTMAXCHANS_10 =
OUTPREFIX_10 =
OUT_10 = SIP/LW0053
OUTCID_11 =
OUTMAXCHANS_11 =
OUTPREFIX_11 =
OUT_11 = SIP/LW3086
OUTCID_12 =
OUTMAXCHANS_12 =
OUTPREFIX_12 =
OUT_12 = SIP/LW3223
OUTCID_13 =
OUTMAXCHANS_13 =
OUTPREFIX_13 =
OUT_13 = SIP/LW3910
OUTCID_14 =
OUTMAXCHANS_14 =
OUTPREFIX_14 =
OUT_14 = SIP/LW3814
OUTCID_15 =
OUTMAXCHANS_15 =
OUTPREFIX_15 =
OUT_15 = SIP/LW3750
OUTCID_16 =
OUTMAXCHANS_16 =
OUTPREFIX_16 =
OUT_16 = SIP/LW3092
OUTCID_17 =
OUTMAXCHANS_17 =
OUTPREFIX_17 =
OUT_17 = SIP/LW3082
OUTCID_18 =
OUTMAXCHANS_18 =
OUTPREFIX_18 =
OUT_18 = SIP/LW3501
OUTCID_19 =
OUTMAXCHANS_19 =
OUTPREFIX_19 =
OUT_19 = SIP/LW3811
OUTCID_20 =
OUTMAXCHANS_20 =
OUTPREFIX_20 =
OUT_20 = SIP/LW3825
OUTCID_21 =
OUTMAXCHANS_21 =
OUTPREFIX_21 =
OUT_21 = SIP/LW3087
OUT_22 = SIP/LW0054
OUTPREFIX_22 =
OUTMAXCHANS_22 = 30
OUTCID_22 =
OUT_23 = SIP/LW3800
OUTPREFIX_23 =
OUTMAXCHANS_23 =
OUTCID_23 =
[app-cf-busy-off]
include => app-cf-busy-off-custom
exten => *91,1,Answer
exten => *91,n,Wait(1)
exten => *91,n,Macro(user-callerid,)
exten => *91,n,dbDel(CFB/${CALLERID(number)})
exten => *91,n,Playback(call-fwd-on-busy&de-activated)
exten => *91,n,Macro(hangupcall,)
exten => _*91.,1,Answer
exten => _*91.,n,Wait(1)
exten => _*91.,n,Set(fromext=${EXTEN:3})
exten => _*91.,n,dbDel(CFB/${fromext})
exten => _*91.,n,Playback(call-fwd-on-busy&for&extension)
exten => _*91.,n,SayDigits(${fromext})
exten => _*91.,n,Playback(cancelled)
exten => _*91.,n,Macro(hangupcall,)
; end of [app-cf-busy-off]
[app-cf-busy-off-any]
include => app-cf-busy-off-any-custom
exten => *92,1,Answer
exten => *92,n,Wait(1)
exten => *92,n,Playback(please-enter-your&extension)
exten => *92,n,Read(fromext,then-press-pound,,)
exten => *92,n,Wait(1)
exten => *92,n,dbDel(CFB/${fromext})
exten => *92,n,Playback(call-fwd-on-busy&for&extension)
exten => *92,n,SayDigits(${fromext})
exten => *92,n,Playback(cancelled)
exten => *92,n,Macro(hangupcall,)
; end of [app-cf-busy-off-any]
[app-cf-busy-on]
include => app-cf-busy-on-custom
exten => *90,1,Answer
exten => *90,n,Wait(1)
exten => *90,n,Playback(call-fwd-on-busy)
exten => *90,n,Playback(please-enter-your&extension)
exten => *90,n,Read(fromext,then-press-pound,,)
exten =>
*90,n,Set(fromext=${IF($["foo${fromext}"="foo"]?${CALLERID(number)}:${fromext})})
exten => *90,n,Wait(1)
exten => *90,n(startread),Playback(ent-target-attendant)
exten => *90,n,Read(toext,then-press-pound,,)
exten => *90,n,GotoIf($["foo${toext}"="foo"]?startread)
exten => *90,n,Wait(1)
exten => *90,n,Set(DB(CFB/${fromext})=${toext})
exten => *90,n,Playback(call-fwd-on-busy&for&extension)
exten => *90,n,SayDigits(${fromext})
exten => *90,n,Playback(is-set-to)
exten => *90,n,SayDigits(${toext})
exten => *90,n,Macro(hangupcall,)
exten => _*90.,1,Answer
exten => _*90.,n,Wait(1)
exten => _*90.,n,Macro(user-callerid,)
exten => _*90.,n,Set(DB(CFB/${CALLERID(number)})=${EXTEN:3})
exten => _*90.,n,Playback(call-fwd-on-busy&for&extension)
exten => _*90.,n,SayDigits(${CALLERID(number)})
exten => _*90.,n,Playback(is-set-to)
exten => _*90.,n,SayDigits(${EXTEN:3})
exten => _*90.,n,Macro(hangupcall,)
; end of [app-cf-busy-on]
[app-cf-off]
include => app-cf-off-custom
exten => *73,1,Answer
exten => *73,n,Wait(1)
exten => *73,n,Macro(user-callerid,)
exten => *73,n,dbDel(CF/${CALLERID(number)})
exten => *73,n,Playback(call-fwd-unconditional&de-activated)
exten => *73,n,Macro(hangupcall,)
exten => _*73.,1,Answer
exten => _*73.,n,Wait(1)
exten => _*73.,n,Set(fromext=${EXTEN:3})
exten => _*73.,n,dbDel(CF/${fromext})
exten => _*73.,n,Playback(call-fwd-unconditional&for&extension)
exten => _*73.,n,SayDigits(${fromext})
exten => _*73.,n,Playback(cancelled)
exten => _*73.,n,Macro(hangupcall,)
; end of [app-cf-off]
[app-cf-off-any]
include => app-cf-off-any-custom
exten => *74,1,Answer
exten => *74,n,Wait(1)
exten => *74,n,Playback(please-enter-your&extension)
exten => *74,n,Read(fromext,then-press-pound,,)
exten => *74,n,Wait(1)
exten => *74,n,dbDel(CF/${fromext})
exten => *74,n,Playback(call-fwd-unconditional&for&extension)
exten => *74,n,SayDigits(${fromext})
exten => *74,n,Playback(cancelled)
exten => *74,n,Macro(hangupcall,)
; end of [app-cf-off-any]
[app-cf-on]
include => app-cf-on-custom
exten => *72,1,Answer
exten => *72,n,Wait(1)
exten => *72,n,Playback(call-fwd-unconditional)
exten => *72,n,Playback(please-enter-your&extension)
exten => *72,n,Read(fromext,then-press-pound,,)
exten =>
*72,n,Set(fromext=${IF($["foo${fromext}"="foo"]?${CALLERID(number)}:${fromext})})
exten => *72,n,Wait(1)
exten => *72,n(startread),Playback(ent-target-attendant)
exten => *72,n,Read(toext,then-press-pound,,)
exten => *72,n,GotoIf($["foo${toext}"="foo"]?startread)
exten => *72,n,Wait(1)
exten => *72,n,Set(DB(CF/${fromext})=${toext})
exten => *72,n,Playback(call-fwd-unconditional&for&extension)
exten => *72,n,SayDigits(${fromext})
exten => *72,n,Playback(is-set-to)
exten => *72,n,SayDigits(${toext})
exten => *72,n,Macro(hangupcall,)
exten => _*72.,1,Answer
exten => _*72.,n,Wait(1)
exten => _*72.,n,Macro(user-callerid,)
exten => _*72.,n,Set(DB(CF/${CALLERID(number)})=${EXTEN:3})
exten => _*72.,n,Playback(call-fwd-unconditional&for&extension)
exten => _*72.,n,SayDigits(${CALLERID(number)})
exten => _*72.,n,Playback(is-set-to)
exten => _*72.,n,SayDigits(${EXTEN:3})
exten => _*72.,n,Macro(hangupcall,)
; end of [app-cf-on]
[app-cf-unavailable-off]
include => app-cf-unavailable-off-custom
exten => *53,1,Answer
exten => *53,n,Wait(1)
exten => *53,n,Macro(user-callerid,)
exten => *53,n,dbDel(CFU/${CALLERID(number)})
exten => *53,n,Playback(call-fwd-no-ans&de-activated)
exten => *53,n,Macro(hangupcall,)
exten => _*53.,1,Answer
exten => _*53.,n,Wait(1)
exten => _*53.,n,Set(fromext=${EXTEN:3})
exten => _*53.,n,dbDel(CFU/${fromext})
exten => _*53.,n,Playback(call-fwd-no-ans&for&extension)
exten => _*53.,n,SayDigits(${fromext})
exten => _*53.,n,Playback(cancelled)
exten => _*53.,n,Macro(hangupcall,)
; end of [app-cf-unavailable-off]
[app-cf-unavailable-on]
include => app-cf-unavailable-on-custom
exten => *52,1,Answer
exten => *52,n,Wait(1)
exten => *52,n,Playback(call-fwd-no-ans)
exten => *52,n,Playback(please-enter-your&extension)
exten => *52,n,Read(fromext,then-press-pound,,)
exten =>
*52,n,Set(fromext=${IF($["foo${fromext}"="foo"]?${CALLERID(number)}:${fromext})})
exten => *52,n,Wait(1)
exten => *52,n(startread),Playback(ent-target-attendant)
exten => *52,n,Read(toext,then-press-pound,,)
exten => *52,n,GotoIf($["foo${toext}"="foo"]?startread)
exten => *52,n,Wait(1)
exten => *52,n,Set(DB(CFU/${fromext})=${toext})
exten => *52,n,Playback(call-fwd-no-ans&for&extension)
exten => *52,n,SayDigits(${fromext})
exten => *52,n,Playback(is-set-to)
exten => *52,n,SayDigits(${toext})
exten => *52,n,Macro(hangupcall,)
exten => _*52.,1,Answer
exten => _*52.,n,Wait(1)
exten => _*52.,n,Macro(user-callerid,)
exten => _*52.,n,Set(DB(CFU/${CALLERID(number)})=${EXTEN:3})
exten => _*52.,n,Playback(call-fwd-no-ans&for&extension)
exten => _*52.,n,SayDigits(${CALLERID(number)})
exten => _*52.,n,Playback(is-set-to)
exten => _*52.,n,SayDigits(${EXTEN:3})
exten => _*52.,n,Macro(hangupcall,)
; end of [app-cf-unavailable-on]
[ext-did-direct]
include => ext-did-direct-custom
exten => 303396XXXX,1,Set(FROM_DID=303396XXXX)
exten => 303396XXXX,n,Goto(from-did-direct,552,1)
; end of [ext-did-direct]
[ext-local]
include => ext-local-custom
exten => 552,1,Macro(exten-vm,552,552)
exten => 552,hint,SIP/552
exten => ${VM_PREFIX}552,1,Macro(vm,552,DIRECTDIAL)
; end of [ext-local]
[outbound-allroutes]
include => outbound-allroutes-custom
include => outrt-001-MTH
include => outrt-002-GTN
exten => foo,1,Noop(bar)
; end of [outbound-allroutes]
[outrt-002-GTN]
include => outrt-002-GTN-custom
exten => _8011.,1,Macro(dialout-trunk,23,${EXTEN:1},,)
exten => _8011.,n,Macro(dialout-trunk,7,${EXTEN:1},,)
exten => _8011.,n,Macro(dialout-trunk,15,${EXTEN:1},,)
exten => _8011.,n,Macro(dialout-trunk,17,${EXTEN:1},,)
exten => _8011.,n,Macro(dialout-trunk,16,${EXTEN:1},,)
exten => _8011.,n,Macro(dialout-trunk,9,${EXTEN:1},,)
exten => _8011.,n,Macro(dialout-trunk,10,${EXTEN:1},,)
exten => _8011.,n,Macro(dialout-trunk,20,${EXTEN:1},,)
exten => _8011.,n,Macro(dialout-trunk,12,${EXTEN:1},,)
exten => _8011.,n,Macro(dialout-trunk,2,${EXTEN:1},,)
exten => _8011.,n,Macro(dialout-trunk,19,${EXTEN:1},,)
exten => _8011.,n,Macro(dialout-trunk,14,${EXTEN:1},,)
exten => _8011.,n,Macro(dialout-trunk,13,${EXTEN:1},,)
exten => _8011.,n,Macro(dialout-trunk,18,${EXTEN:1},,)
exten => _8011.,n,Macro(dialout-trunk,21,${EXTEN:1},,)
exten => _8011.,n,Macro(dialout-trunk,11,${EXTEN:1},,)
exten => _8011.,n,Macro(dialout-trunk,22,${EXTEN:1},,)
exten => _8011.,n,Macro(outisbusy,)
exten => _81800NXXXXXX,1,Macro(dialout-trunk,23,${EXTEN:1},,)
exten => _81800NXXXXXX,n,Macro(dialout-trunk,7,${EXTEN:1},,)
exten => _81800NXXXXXX,n,Macro(dialout-trunk,15,${EXTEN:1},,)
exten => _81800NXXXXXX,n,Macro(dialout-trunk,17,${EXTEN:1},,)
exten => _81800NXXXXXX,n,Macro(dialout-trunk,16,${EXTEN:1},,)
exten => _81800NXXXXXX,n,Macro(dialout-trunk,9,${EXTEN:1},,)
exten => _81800NXXXXXX,n,Macro(dialout-trunk,10,${EXTEN:1},,)
exten => _81800NXXXXXX,n,Macro(dialout-trunk,20,${EXTEN:1},,)
exten => _81800NXXXXXX,n,Macro(dialout-trunk,12,${EXTEN:1},,)
exten => _81800NXXXXXX,n,Macro(dialout-trunk,2,${EXTEN:1},,)
exten => _81800NXXXXXX,n,Macro(dialout-trunk,19,${EXTEN:1},,)
exten => _81800NXXXXXX,n,Macro(dialout-trunk,14,${EXTEN:1},,)
exten => _81800NXXXXXX,n,Macro(dialout-trunk,13,${EXTEN:1},,)
exten => _81800NXXXXXX,n,Macro(dialout-trunk,18,${EXTEN:1},,)
exten => _81800NXXXXXX,n,Macro(dialout-trunk,21,${EXTEN:1},,)
exten => _81800NXXXXXX,n,Macro(dialout-trunk,11,${EXTEN:1},,)
exten => _81800NXXXXXX,n,Macro(dialout-trunk,22,${EXTEN:1},,)
exten => _81800NXXXXXX,n,Macro(outisbusy,)
exten => _81866NXXXXXX,1,Macro(dialout-trunk,23,${EXTEN:1},,)
exten => _81866NXXXXXX,n,Macro(dialout-trunk,7,${EXTEN:1},,)
exten => _81866NXXXXXX,n,Macro(dialout-trunk,15,${EXTEN:1},,)
exten => _81866NXXXXXX,n,Macro(dialout-trunk,17,${EXTEN:1},,)
exten => _81866NXXXXXX,n,Macro(dialout-trunk,16,${EXTEN:1},,)
exten => _81866NXXXXXX,n,Macro(dialout-trunk,9,${EXTEN:1},,)
exten => _81866NXXXXXX,n,Macro(dialout-trunk,10,${EXTEN:1},,)
exten => _81866NXXXXXX,n,Macro(dialout-trunk,20,${EXTEN:1},,)
exten => _81866NXXXXXX,n,Macro(dialout-trunk,12,${EXTEN:1},,)
exten => _81866NXXXXXX,n,Macro(dialout-trunk,2,${EXTEN:1},,)
exten => _81866NXXXXXX,n,Macro(dialout-trunk,19,${EXTEN:1},,)
exten => _81866NXXXXXX,n,Macro(dialout-trunk,14,${EXTEN:1},,)
exten => _81866NXXXXXX,n,Macro(dialout-trunk,13,${EXTEN:1},,)
exten => _81866NXXXXXX,n,Macro(dialout-trunk,18,${EXTEN:1},,)
exten => _81866NXXXXXX,n,Macro(dialout-trunk,21,${EXTEN:1},,)
exten => _81866NXXXXXX,n,Macro(dialout-trunk,11,${EXTEN:1},,)
exten => _81866NXXXXXX,n,Macro(dialout-trunk,22,${EXTEN:1},,)
exten => _81866NXXXXXX,n,Macro(outisbusy,)
exten => _81877NXXXXXX,1,Macro(dialout-trunk,23,${EXTEN:1},,)
exten => _81877NXXXXXX,n,Macro(dialout-trunk,7,${EXTEN:1},,)
exten => _81877NXXXXXX,n,Macro(dialout-trunk,15,${EXTEN:1},,)
exten => _81877NXXXXXX,n,Macro(dialout-trunk,17,${EXTEN:1},,)
exten => _81877NXXXXXX,n,Macro(dialout-trunk,16,${EXTEN:1},,)
exten => _81877NXXXXXX,n,Macro(dialout-trunk,9,${EXTEN:1},,)
exten => _81877NXXXXXX,n,Macro(dialout-trunk,10,${EXTEN:1},,)
exten => _81877NXXXXXX,n,Macro(dialout-trunk,20,${EXTEN:1},,)
exten => _81877NXXXXXX,n,Macro(dialout-trunk,12,${EXTEN:1},,)
exten => _81877NXXXXXX,n,Macro(dialout-trunk,2,${EXTEN:1},,)
exten => _81877NXXXXXX,n,Macro(dialout-trunk,19,${EXTEN:1},,)
exten => _81877NXXXXXX,n,Macro(dialout-trunk,14,${EXTEN:1},,)
exten => _81877NXXXXXX,n,Macro(dialout-trunk,13,${EXTEN:1},,)
exten => _81877NXXXXXX,n,Macro(dialout-trunk,18,${EXTEN:1},,)
exten => _81877NXXXXXX,n,Macro(dialout-trunk,21,${EXTEN:1},,)
exten => _81877NXXXXXX,n,Macro(dialout-trunk,11,${EXTEN:1},,)
exten => _81877NXXXXXX,n,Macro(dialout-trunk,22,${EXTEN:1},,)
exten => _81877NXXXXXX,n,Macro(outisbusy,)
exten => _81888NXXXXXX,1,Macro(dialout-trunk,23,${EXTEN:1},,)
exten => _81888NXXXXXX,n,Macro(dialout-trunk,7,${EXTEN:1},,)
exten => _81888NXXXXXX,n,Macro(dialout-trunk,15,${EXTEN:1},,)
exten => _81888NXXXXXX,n,Macro(dialout-trunk,17,${EXTEN:1},,)
exten => _81888NXXXXXX,n,Macro(dialout-trunk,16,${EXTEN:1},,)
exten => _81888NXXXXXX,n,Macro(dialout-trunk,9,${EXTEN:1},,)
exten => _81888NXXXXXX,n,Macro(dialout-trunk,10,${EXTEN:1},,)
exten => _81888NXXXXXX,n,Macro(dialout-trunk,20,${EXTEN:1},,)
exten => _81888NXXXXXX,n,Macro(dialout-trunk,12,${EXTEN:1},,)
exten => _81888NXXXXXX,n,Macro(dialout-trunk,2,${EXTEN:1},,)
exten => _81888NXXXXXX,n,Macro(dialout-trunk,19,${EXTEN:1},,)
exten => _81888NXXXXXX,n,Macro(dialout-trunk,14,${EXTEN:1},,)
exten => _81888NXXXXXX,n,Macro(dialout-trunk,13,${EXTEN:1},,)
exten => _81888NXXXXXX,n,Macro(dialout-trunk,18,${EXTEN:1},,)
exten => _81888NXXXXXX,n,Macro(dialout-trunk,21,${EXTEN:1},,)
exten => _81888NXXXXXX,n,Macro(dialout-trunk,11,${EXTEN:1},,)
exten => _81888NXXXXXX,n,Macro(dialout-trunk,22,${EXTEN:1},,)
exten => _81888NXXXXXX,n,Macro(outisbusy,)
exten => _81NXXNXXXXXX,1,Macro(dialout-trunk,23,${EXTEN:1},,)
exten => _81NXXNXXXXXX,n,Macro(dialout-trunk,7,${EXTEN:1},,)
exten => _81NXXNXXXXXX,n,Macro(dialout-trunk,15,${EXTEN:1},,)
exten => _81NXXNXXXXXX,n,Macro(dialout-trunk,17,${EXTEN:1},,)
exten => _81NXXNXXXXXX,n,Macro(dialout-trunk,16,${EXTEN:1},,)
exten => _81NXXNXXXXXX,n,Macro(dialout-trunk,9,${EXTEN:1},,)
exten => _81NXXNXXXXXX,n,Macro(dialout-trunk,10,${EXTEN:1},,)
exten => _81NXXNXXXXXX,n,Macro(dialout-trunk,20,${EXTEN:1},,)
exten => _81NXXNXXXXXX,n,Macro(dialout-trunk,12,${EXTEN:1},,)
exten => _81NXXNXXXXXX,n,Macro(dialout-trunk,2,${EXTEN:1},,)
exten => _81NXXNXXXXXX,n,Macro(dialout-trunk,19,${EXTEN:1},,)
exten => _81NXXNXXXXXX,n,Macro(dialout-trunk,14,${EXTEN:1},,)
exten => _81NXXNXXXXXX,n,Macro(dialout-trunk,13,${EXTEN:1},,)
exten => _81NXXNXXXXXX,n,Macro(dialout-trunk,18,${EXTEN:1},,)
exten => _81NXXNXXXXXX,n,Macro(dialout-trunk,21,${EXTEN:1},,)
exten => _81NXXNXXXXXX,n,Macro(dialout-trunk,11,${EXTEN:1},,)
exten => _81NXXNXXXXXX,n,Macro(dialout-trunk,22,${EXTEN:1},,)
exten => _81NXXNXXXXXX,n,Macro(outisbusy,)
exten => _8NXXNXXXXXX,1,Macro(dialout-trunk,23,${EXTEN:1},,)
exten => _8NXXNXXXXXX,n,Macro(dialout-trunk,7,${EXTEN:1},,)
exten => _8NXXNXXXXXX,n,Macro(dialout-trunk,15,${EXTEN:1},,)
exten => _8NXXNXXXXXX,n,Macro(dialout-trunk,17,${EXTEN:1},,)
exten => _8NXXNXXXXXX,n,Macro(dialout-trunk,16,${EXTEN:1},,)
exten => _8NXXNXXXXXX,n,Macro(dialout-trunk,9,${EXTEN:1},,)
exten => _8NXXNXXXXXX,n,Macro(dialout-trunk,10,${EXTEN:1},,)
exten => _8NXXNXXXXXX,n,Macro(dialout-trunk,20,${EXTEN:1},,)
exten => _8NXXNXXXXXX,n,Macro(dialout-trunk,12,${EXTEN:1},,)
exten => _8NXXNXXXXXX,n,Macro(dialout-trunk,2,${EXTEN:1},,)
exten => _8NXXNXXXXXX,n,Macro(dialout-trunk,19,${EXTEN:1},,)
exten => _8NXXNXXXXXX,n,Macro(dialout-trunk,14,${EXTEN:1},,)
exten => _8NXXNXXXXXX,n,Macro(dialout-trunk,13,${EXTEN:1},,)
exten => _8NXXNXXXXXX,n,Macro(dialout-trunk,18,${EXTEN:1},,)
exten => _8NXXNXXXXXX,n,Macro(dialout-trunk,21,${EXTEN:1},,)
exten => _8NXXNXXXXXX,n,Macro(dialout-trunk,11,${EXTEN:1},,)
exten => _8NXXNXXXXXX,n,Macro(dialout-trunk,22,${EXTEN:1},,)
exten => _8NXXNXXXXXX,n,Macro(outisbusy,)
exten => _8NXXXXXX,1,Macro(dialout-trunk,23,${EXTEN:1},,)
exten => _8NXXXXXX,n,Macro(dialout-trunk,7,${EXTEN:1},,)
exten => _8NXXXXXX,n,Macro(dialout-trunk,15,${EXTEN:1},,)
exten => _8NXXXXXX,n,Macro(dialout-trunk,17,${EXTEN:1},,)
exten => _8NXXXXXX,n,Macro(dialout-trunk,16,${EXTEN:1},,)
exten => _8NXXXXXX,n,Macro(dialout-trunk,9,${EXTEN:1},,)
exten => _8NXXXXXX,n,Macro(dialout-trunk,10,${EXTEN:1},,)
exten => _8NXXXXXX,n,Macro(dialout-trunk,20,${EXTEN:1},,)
exten => _8NXXXXXX,n,Macro(dialout-trunk,12,${EXTEN:1},,)
exten => _8NXXXXXX,n,Macro(dialout-trunk,2,${EXTEN:1},,)
exten => _8NXXXXXX,n,Macro(dialout-trunk,19,${EXTEN:1},,)
exten => _8NXXXXXX,n,Macro(dialout-trunk,14,${EXTEN:1},,)
exten => _8NXXXXXX,n,Macro(dialout-trunk,13,${EXTEN:1},,)
exten => _8NXXXXXX,n,Macro(dialout-trunk,18,${EXTEN:1},,)
exten => _8NXXXXXX,n,Macro(dialout-trunk,21,${EXTEN:1},,)
exten => _8NXXXXXX,n,Macro(dialout-trunk,11,${EXTEN:1},,)
exten => _8NXXXXXX,n,Macro(dialout-trunk,22,${EXTEN:1},,)
exten => _8NXXXXXX,n,Macro(outisbusy,)
; end of [outrt-002-GTN]
[from-internal-additional]
include => from-internal-additional-custom
include => ext-group
include => app-recordings
include => app-callwaiting-cwoff
include => app-callwaiting-cwon
include => app-dialvm
include => app-vmmain
include => ext-queues
include => app-cf-busy-off
include => app-cf-busy-off-any
include => app-cf-busy-on
include => app-cf-off
include => app-cf-off-any
include => app-cf-on
include => app-cf-unavailable-off
include => app-cf-unavailable-on
include => app-calltrace
include => app-directory
include => app-echo-test
include => app-speakextennum
include => app-speakingclock
include => ext-meetme
include => app-dnd-off
include => app-dnd-on
include => app-userlogonoff
include => app-zapbarge
include => ext-test
include => ext-local
include => outbound-allroutes
exten => h,1,Hangup
; end of [from-internal-additional]
Lacy Moore - Aspendora wrote:
From your first message, it sounds like you're doing some sort of one
to one mapping. But, from this message, it appears you are using
FreePBX. You may have to post your FreePBX configuration on the FreePBX
list or forum.
I'm sure it is something relatively simple, but in my experience FreePBX
has only complicated things for me. You could try posting the relevant
sip.conf, and whatever extensions file that FreePBX writes its database
output to (can't remember offhand, and honestly don't want to anymore).
On 7/14/06, *Mike Staver* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
wrote:
Ok, so I'm still stuck on this one. I'm not sure what exactly I should
be looking for in the output, but here's a snippet that is relevant
I think:
---
-- SIP/LW3086-09e6 is circuit-busy
== Everyone is busy/congested at this time (1:0/1/0)
-- Executing Goto("SIP/518-1acd", "s-CONGESTION|1") in new stack
-- Goto (macro-dialout-trunk,s-CONGESTION,1)
-- Executing NoOp("SIP/518-1acd", "Dial failed due to CONGESTION")
in new stack
-- Executing Macro("SIP/518-1acd", "dialout-trunk|22|3038943818||")
in new stack
-- Executing GotoIf("SIP/518-1acd", "1?3:2") in new stack
-- Goto (macro-dialout-trunk,s,3)
-- Executing Macro("SIP/518-1acd", "user-callerid") in new stack
-- Executing GotoIf("SIP/518-1acd", "0?report") in new stack
-- Executing GotoIf("SIP/518-1acd", "1?start") in new stack
-- Goto (macro-user-callerid,s,4)
-- Executing NoOp("SIP/518-1acd", "REALCALLERIDNUM is 518") in new
stack
-- Executing Set("SIP/518-1acd", "AMPUSER=518") in new stack
-- Executing Set("SIP/518-1acd", "AMPUSERCIDNAME=Mike Staver") in
new stack
-- Executing GotoIf("SIP/518-1acd", "0?report") in new stack
-- Executing Set("SIP/518-1acd", "CALLERID(all)=Mike Staver <518>")
in new stack
-- Executing NoOp("SIP/518-1acd", "Using CallerID "Mike Staver"
<518>") in new stack
-- Executing Macro("SIP/518-1acd", "record-enable|518|OUT") in new
stack
-- Executing GotoIf("SIP/518-1acd", "0 > 0?2:4") in new stack
-- Goto (macro-record-enable,s,4)
-- Executing AGI("SIP/518-1acd",
"recordingcheck|20060714-135108|1152906666.9581") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
recordingcheck|20060714-135108|1152906666.9581: Outbound recording
not enabled
-- AGI Script recordingcheck completed, returning 0
-- Executing NoOp("SIP/518-1acd", "No recording needed") in new
stack
-- Executing Macro("SIP/518-1acd", "outbound-callerid|22") in
new stack
-- Executing GotoIf("SIP/518-1acd", "1?start") in new stack
-- Goto (macro-outbound-callerid,s,3)
-- Executing NoOp("SIP/518-1acd", "REALCALLERIDNUM is 518") in new
stack
-- Executing Set("SIP/518-1acd", "USEROUTCID=Michael Staver
<303-894-3818>") in new stack
-- Executing Set("SIP/518-1acd", "EMERGENCYCID=") in new stack
-- Executing Set("SIP/518-1acd", "TRUNKOUTCID=") in new stack
-- Executing GotoIf("SIP/518-1acd", "1?trunkcid") in new stack
-- Goto (macro-outbound-callerid,s,11)
-- Executing GotoIf("SIP/518-1acd", "1?usercid") in new stack
-- Goto (macro-outbound-callerid,s,13)
-- Executing GotoIf("SIP/518-1acd", "0?report") in new stack
-- Executing Set("SIP/518-1acd", "CALLERID(all)=Michael Staver
<303-894-3818>") in new stack
-- Executing NoOp("SIP/518-1acd", "CallerID set to "Michael Staver"
<3038943818>") in new stack
-- Executing Set("SIP/518-1acd", "GROUP()=OUT_22") in new stack
-- Executing GotoIf("SIP/518-1acd", "0?108") in new stack
-- Executing Set("SIP/518-1acd", "DIAL_NUMBER=3038943818") in
new stack
-- Executing Set("SIP/518-1acd", "DIAL_TRUNK=22") in new stack
-- Executing AGI("SIP/518-1acd", "fixlocalprefix") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/fixlocalprefix
-- AGI Script fixlocalprefix completed, returning 0
-- Executing Set("SIP/518-1acd", "OUTNUM=3038943818") in new stack
-- Executing Set("SIP/518-1acd", "custom=SIP/LW0054") in new stack
-- Executing GotoIf("SIP/518-1acd", "0?16") in new stack
-- Executing Dial("SIP/518-1acd", "SIP/LW0054/3038943818|120|r") in
new stack
-- Called LW0054/3038943818
Transmitting (no NAT) to 10.0.0.121:5060 <http://10.0.0.121:5060>:
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP
10.0.0.121
<http://10.0.0.121>;branch=z9hG4bKabdafff5314CEDCA;received=
10.0.0.121 <http://10.0.0.121>
From: "Mike Staver"
<sip:[EMAIL PROTECTED]
<mailto:sip:[EMAIL PROTECTED]>>;tag=7B8310C8-DE20AB03
To: < sip:[EMAIL PROTECTED]
<mailto:sip:[EMAIL PROTECTED]>;user=phone>;tag=as665b07ac
Call-ID: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
CSeq: 2 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Contact: <sip:[EMAIL PROTECTED] <mailto:sip:[EMAIL PROTECTED]>>
Content-Length: 0
---
-- SIP/LW0054-c1d8 is circuit-busy
== Everyone is busy/congested at this time (1:0/1/0)
-- Executing Goto("SIP/518-1acd", "s-CONGESTION|1") in new stack
-- Goto (macro-dialout-trunk,s-CONGESTION,1)
-- Executing NoOp("SIP/518-1acd", "Dial failed due to CONGESTION")
in new stack
-- Executing Macro("SIP/518-1acd", "outisbusy|") in new stack
-- Executing Playback("SIP/518-1acd", "all-circuits-busy-now") in
new stack
We're at 10.0.0.12 <http://10.0.0.12> port 16460
Adding codec 0x4 (ulaw) to SDP
Adding codec 0x8 (alaw) to SDP
Adding non-codec 0x1 (telephone-event) to SDP
Reliably Transmitting (no NAT) to 10.0.0.121:5060
<http://10.0.0.121:5060>:
SIP/2.0 200 OK
Via: SIP/2.0/UDP
10.0.0.121
<http://10.0.0.121>;branch=z9hG4bKabdafff5314CEDCA;received=10.0.0.121
<http://10.0.0.121>
From: "Mike Staver" < sip:[EMAIL PROTECTED]
<mailto:sip:[EMAIL PROTECTED]>>;tag=7B8310C8-DE20AB03
To: <sip:[EMAIL PROTECTED]
<mailto:sip:[EMAIL PROTECTED]>;user=phone>;tag=as665b07ac
Call-ID: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
CSeq: 2 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Contact: <sip:[EMAIL PROTECTED] <mailto:sip:[EMAIL PROTECTED]>>
Content-Type: application/sdp
Content-Length: 232
v=0
o=root 3042 3042 IN IP4 10.0.0.12 <http://10.0.0.12>
s=session
c=IN IP4 10.0.0.12 <http://10.0.0.12>
t=0 0
m=audio 16460 RTP/AVP 0 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
---
-- Playing 'all-circuits-busy-now' (language 'en')
asterisk1*CLI>
<-- SIP read from 10.0.0.121:5060 <http://10.0.0.121:5060>:
ACK sip:[EMAIL PROTECTED] <mailto:sip:[EMAIL PROTECTED]> SIP/2.0
Via: SIP/2.0/UDP 10.0.0.121
<http://10.0.0.121>;branch=z9hG4bKc3197eaeB793628B
From: "Mike Staver" <sip:[EMAIL PROTECTED]
<mailto:sip:[EMAIL PROTECTED]>>;tag=7B8310C8-DE20AB03
To: <sip:[EMAIL PROTECTED]
<mailto:sip:[EMAIL PROTECTED]>;user=phone>;tag=as665b07ac
CSeq: 2 ACK
Call-ID: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
Contact: <sip:[EMAIL PROTECTED] <mailto:sip:[EMAIL PROTECTED]>>
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, INFO, MESSAGE, SUBSCRIBE,
NOTIFY, PRACK, UPDATE, REFER
User-Agent: PolycomSoundPointIP-SPIP_501-UA/1.6.6.0036
Proxy-Authorization: Digest username="518", realm="asterisk",
nonce="2f91440c", uri="sip:[EMAIL PROTECTED]:5060;user=phone",
response="ae6b67e078bbd47433af49559828c0ca", algorithm=MD5
Max-Forwards: 70
Content-Length: 0
--- (12 headers 0 lines)---
-- Executing Playback("SIP/518-1acd", "pls-try-call-later") in new
stack
-- Playing 'pls-try-call-later' (language 'en')
-- Executing Macro("SIP/518-1acd", "hangupcall") in new stack
-- Executing ResetCDR("SIP/518-1acd", "w") in new stack
-- Executing NoCDR("SIP/518-1acd", "") in new stack
-- Executing Wait("SIP/518-1acd", "5") in new stack
asterisk1*CLI>
Basically, what happens in that I have an outbound route with a bunch of
trunks in it. For whatever reason, let's say I have 5 extensions online
in my office. Then let's say I have only 3 outgoing trunks set up.
Even though nobody is on the phone and I have 3 trunks wide open -
asterisk only allows the first 3 phones to register with the server to
call out. The other 2 get this busy message. How can I fix this?
Ideally, I'd like to have more extensions than outgoing trunks for
obvious reasons.
Jerry Jones wrote:
> asterisk -r
> set verbose 3
>
> On Jun 28, 2006, at 3:23 PM, Mike Staver wrote:
>
>> Yes, I have more than one call per line enabled on the phone
itself.
>> I have a value of 3 entered there, and that should be sufficient I
>> would think. So, the message I'm getting is coming from Asterisk.
>> How do I see what the console is saying?
>>
>> Jerry Jones wrote:
>>> Do you have more than one call per line enabled on the Poly? Is it
>>> the phone or asterisk returning the busy? What does the console
say?
>>> On Jun 27, 2006, at 5:29 PM, Mike Staver wrote:
>>>> I have one extension setup for each Polycom 501 I have, and when I
>>>> try to call out on a conference call, I get "all circuits
busy" for
>>>> the second call. I have one sip trunk set up for each DID that I
>>>> have through our VoIP provider. Each trunk is capable of
having one
>>>> call placed on it at one time. So, I'm thinking I need a way to
>>>> tell Asterisk to have the second call go out on one of the other
>>>> empty trunks at the time if one exists, which more than likely, it
>>>> will. Is this possible?
>>>> -- -Mike Staver
>>>> [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
>>>> [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
>>>> _______________________________________________
>>>> --Bandwidth and Colocation provided by Easynews.com
<http://Easynews.com> --
>>>>
>>>> Asterisk-Users mailing list
>>>> To UNSUBSCRIBE or update options visit:
>>>> http://lists.digium.com/mailman/listinfo/asterisk-users
>>> _______________________________________________
>>> --Bandwidth and Colocation provided by Easynews.com
<http://Easynews.com> --
>>> Asterisk-Users mailing list
>>> To UNSUBSCRIBE or update options visit:
>>> http://lists.digium.com/mailman/listinfo/asterisk-users
>>
>> --
>> -Mike Staver
>> [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
>> [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
>> _______________________________________________
>> --Bandwidth and Colocation provided by Easynews.com
<http://Easynews.com> --
>>
>> Asterisk-Users mailing list
>> To UNSUBSCRIBE or update options visit:
>> http://lists.digium.com/mailman/listinfo/asterisk-users
>
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com
<http://Easynews.com> --
>
> Asterisk-Users mailing list
> To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-users
--
-Mike Staver
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
_______________________________________________
--Bandwidth and Colocation provided by Easynews.com
<http://Easynews.com> --
asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users
--
Lacy Moore
Aspendora, Inc.
------------------------------------------------------------------------
_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --
asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users
--
-Mike Staver
[EMAIL PROTECTED]
[EMAIL PROTECTED]
_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --
asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users