911 Problems

I have 2 boxes with t-1pri in two different locations. One box, I can not call 911. I get the “all circuits are busy”. I have tried everything to get this working. I see it going out the correct truck. I even tried setting up a custom extension and had it dial zap/g0/911 with nothing but a busy signal. I know the circuit is working. When I used that same custom extension, replacing 911 with my cell phone, it works. I will have had to add a phone line for now to handle any emergency. Any help would be welcomed here.

This sounds like a problem with the provider. Have you checked with them to have them test it?

Yes. They keep telling me that they do not see the call coming through to their switch. They keep telling me that it must be my equipment. Right now I have the 911 extension that I created forwarded to the local police department.

what are the logs saying?

Bill/W5WAF

Is the “Emergency Route” the 1st outbound route?

On the outbound routes it must be first. Also, what version of FreePBX and what type of cards feed the PRI’s?

The 911 route is the first route. I am using a digium te121. I am using 2.4 on freepbx. I am getting the same error when dialing out 411. I turned 411 off in the feature codes and returned the same results. I am now testing with the 411, when I get this working I think the 911 should also work. I am calling from extension 192.

Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '1’
Sep 16 12:10:59 DEBUG[11740] pbx.c: Function result is '192’
Sep 16 12:10:59 DEBUG[11740] pbx.c: Function result is '192’
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: Set
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '0’
Sep 16 12:10:59 DEBUG[11740] pbx.c: Not taking any branch
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: GotoIf
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '0’
Sep 16 12:10:59 DEBUG[11740] pbx.c: Function result is '192’
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: ExecIf
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '0’
Sep 16 12:10:59 DEBUG[11740] pbx.c: Function result is '192’
Sep 16 12:10:59 DEBUG[11740] pbx.c: Function result is '192’
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: Set
Sep 16 12:10:59 DEBUG[11740] pbx.c: Function result is 'test’
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: Set
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '0’
Sep 16 12:10:59 DEBUG[11740] pbx.c: Not taking any branch
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: GotoIf
Sep 16 12:10:59 DEBUG[11740] pbx.c: Function result is '1’
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '1’
Sep 16 12:10:59 DEBUG[11740] pbx.c: Function result is '192’
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: Set
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: Set
Sep 16 12:10:59 DEBUG[11740] pbx.c: Function result is '192’
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: Set
Sep 16 12:10:59 DEBUG[11740] db.c: Unable to find key ‘192/language’ in family 'AMPUSER’
Sep 16 12:10:59 DEBUG[11740] func_db.c: DB: AMPUSER/192/language not found in database.
Sep 16 12:10:59 DEBUG[11740] pbx.c: Function result is ''
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '0’
Sep 16 12:10:59 DEBUG[11740] db.c: Unable to find key ‘192/language’ in family 'AMPUSER’
Sep 16 12:10:59 DEBUG[11740] func_db.c: DB: AMPUSER/192/language not found in database.
Sep 16 12:10:59 DEBUG[11740] pbx.c: Function result is ''
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: ExecIf
Sep 16 12:10:59 DEBUG[11740] db.c: Unable to find key ‘192/language’ in family 'AMPUSER’
Sep 16 12:10:59 DEBUG[11740] func_db.c: DB: AMPUSER/192/language not found in database.
Sep 16 12:10:59 DEBUG[11740] pbx.c: Function result is ''
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '0’
Sep 16 12:10:59 DEBUG[11740] db.c: Unable to find key ‘192/language’ in family 'AMPUSER’
Sep 16 12:10:59 DEBUG[11740] func_db.c: DB: AMPUSER/192/language not found in database.
Sep 16 12:10:59 DEBUG[11740] pbx.c: Function result is ''
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '1’
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: GotoIf
Sep 16 12:10:59 DEBUG[11740] pbx.c: Function result is '“test” <192>'
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: Noop
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '1’
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: GotoIf
Sep 16 12:10:59 DEBUG[11740] pbx.c: Function result is '20080916-121059’
Sep 16 12:10:59 VERBOSE[11740] logger.c: recordingcheck|20080916-121059|1221585059.2306: Outbound recording not enabled
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: AGI
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: Set
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '0’
Sep 16 12:10:59 DEBUG[11740] db.c: Unable to find key ‘192/pinless’ in family 'AMPUSER’
Sep 16 12:10:59 DEBUG[11740] func_db.c: DB: AMPUSER/192/pinless not found in database.
Sep 16 12:10:59 DEBUG[11740] pbx.c: Function result is ''
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '1’
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '0’
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: ExecIf
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '0’
Sep 16 12:10:59 DEBUG[11740] db.c: Unable to find key ‘192/pinless’ in family 'AMPUSER’
Sep 16 12:10:59 DEBUG[11740] func_db.c: DB: AMPUSER/192/pinless not found in database.
Sep 16 12:10:59 DEBUG[11740] pbx.c: Function result is ''
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '1’
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '0’
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '0’
Sep 16 12:10:59 DEBUG[11740] pbx.c: Not taking any branch
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: GotoIf
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: Set
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: Set
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: Set
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '0’
Sep 16 12:10:59 DEBUG[11740] pbx.c: Not taking any branch
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: GotoIf
Sep 16 12:10:59 DEBUG[11740] pbx.c: Function result is '0’
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '0’
Sep 16 12:10:59 DEBUG[11740] pbx.c: Not taking any branch
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: GotoIf
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '1’
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: GotoIf
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '0’
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: ExecIf
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '0’
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: Set
Sep 16 12:10:59 DEBUG[11740] pbx.c: Function result is 'ZAP/22’
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: Set
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '1’
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '0’
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '0’
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: ExecIf
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '1’
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is '0’
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is ‘0’
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: Macro
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is ‘0’
Sep 16 12:10:59 DEBUG[11740] pbx.c: Not taking any branch
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: GotoIf
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is ‘0’
Sep 16 12:10:59 DEBUG[11740] pbx.c: Not taking any branch
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: GotoIf
Sep 16 12:10:59 DEBUG[3139] chan_zap.c: Queuing frame from PRI_EVENT_PROCEEDING on channel 0/22 span 1
Sep 16 12:10:59 DEBUG[11740] chan_zap.c: Set option AUDIO MODE, value: ON(1) on Zap/22-1
Sep 16 12:10:59 DEBUG[11740] chan_zap.c: Hangup: channel: 22 index = 0, normal = 34, callwait = -1, thirdcall = -1
Sep 16 12:10:59 DEBUG[11740] chan_zap.c: Not yet hungup… Calling hangup once with icause, and clearing call
Sep 16 12:10:59 DEBUG[11740] chan_zap.c: disabled echo cancellation on channel 22
Sep 16 12:10:59 DEBUG[11740] chan_zap.c: Set option TDD MODE, value: OFF(0) on Zap/22-1
Sep 16 12:10:59 DEBUG[11740] chan_zap.c: Updated conferencing on 22, with 0 conference users
Sep 16 12:10:59 DEBUG[11740] chan_zap.c: Set option AUDIO MODE, value: OFF(0) on Zap/22-1
Sep 16 12:10:59 DEBUG[11740] chan_zap.c: disabled echo cancellation on channel 22
Sep 16 12:10:59 DEBUG[11740] app_dial.c: Exiting with DIALSTATUS=CHANUNAVAIL.
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: Dial
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: Goto
Sep 16 12:10:59 DEBUG[11740] pbx.c: Expression result is ‘1’
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: GotoIf
Sep 16 12:10:59 DEBUG[11740] app_macro.c: Executed application: Noop
Sep 16 12:10:59 DEBUG[11740] channel.c: Scheduling timer at 160 sample intervals
Sep 16 12:10:59 DEBUG[3143] chan_iax2.c: Ooh, voice format changed to 4
Sep 16 12:11:00 DEBUG[3143] chan_iax2.c: Immediately destroying 4, having received hangup
Sep 16 12:11:00 DEBUG[11740] channel.c: Scheduling timer at 0 sample intervals
Sep 16 12:11:00 DEBUG[11740] chan_iax2.c: We’re hanging up IAX2/192-4 now…
Sep 16 12:11:00 DEBUG[11740] chan_iax2.c: Really destroying IAX2/192-4 now…
Sep 16 12:11:00 DEBUG[11740] cdr_addon_mysql.c: cdr_mysql: inserting a CDR record.
Sep 16 12:11:00 DEBUG[11740] cdr_addon_mysql.c: cdr_mysql: SQL command as follows: INSERT INTO cdr (calldate,clid,src,dst,dcontext,channel,dstchannel,lastapp,lastdata,duration,billsec,disposition,amaflags,accountcode,uniqueid) VALUES (‘2008-09-16 12:10:59’,’“test” <192>’,‘192’,‘411’,‘from-internal’, ‘IAX2/192-4’,‘Zap/22-1’,‘Playback’,‘all-circuits-busy-now|noanswer’,1,0,‘NO ANSWER’,3,’’,‘1221585059.2306’)
Sep 16 12:11:01 DEBUG[11747] manager.c: Manager received command 'login’
Sep 16 12:11:01 DEBUG[11747] acl.c: 0.0.0.0/0.0.0.0/0.0.0.0 appended to acl for peer
Sep 16 12:11:01 DEBUG[11747] acl.c: 127.0.0.1/255.255.255.0/255.255.255.0 appended to acl for peer
Sep 16 12:11:01 DEBUG[11747] acl.c: ##### Testing 127.0.0.1 with 0.0.0.0
Sep 16 12:11:01 DEBUG[11747] acl.c: ##### Testing 127.0.0.1 with 127.0.0.0

Have you tried it from a SIP phone?

I have tried it from a sip phone, both local and from a different location with the same results. I am not as familiar with the phone company as I should be, but I would be willing to pay a consultant to even look at this. I am sure there has to be some way to see what is being passed onto the phone companies circuits. We are a medium sized company with about 300 employees and 10 locations. I was being held up by the different phone providers with outrageous cost. I had a strong systems background and after testing decided that Free PBX would be a viable solution. It is! I have had more support and also lent my experience to various users on the working of Free PBX. This was my first experiment with open source. We are now looking at open filer, and M0no as some other solutions. This one hick-up 911. I was thinking the way to get around this is to set up a sip account with a voip provider and putting it first on the trunk list or having a analog truck added for just 911. I have also tried it from a soft phone. I am traveling down there with another system to replace the one in that location to make sure it is not the setup. I can not see why it is not working. These are all band aids but I would like to get it to work correctly. I am willing to bet it is the service provider, but I can not prove it. With a data network, I can show them where they are wrong, but voice is beyond my abilities.

What does the CDR show?

You also need to look at the PRI signaling, try ‘PRI intense debug’ my syntax may be off. You can then see what digits are being sent.

I also think this is a provider problem.

Scott

I suspect that not being able to dial 911 should set off alarms in their office as well as yours. They won’t admit they have a problem, but you should be able to get a tech to watch the line on their end as you dial.

Make sure you notify your PSAP (911 center) that you are testing, or you may get a visit from the local PD.

David,

By any chance are you forcing a prefix set of digits to identify your account to the provider to to add a 1 to enable US county code dialing ?

Look at your trunk and your outbound dial rules carefully, as well as the box under the dial rules to prefix an access code.

When you dial out you should see them process in the log…

???

I did look at the prefix and removed it with the same results. I did add a 1 to dial in the us. I used 1+NXXXXXXXXX. This was put in the trunk and should, if I am correct match 10 digit numbers that begin with 1 or greater and add a 1 to them. Either way, I did remove it and still was not able to dial out. I removed all the trunk rules and was unable to dial 911. I am working with Patec (old McLeodUSA) and they do not see to think it is a big deal, since everything else works. This is killing me to the point of ordering a pots line just for 911.

[Sep 26 13:07:39] VERBOSE[9287] logger.c: – Executing [s-CHANUNAVAIL@macro-dialout-trunk:3] NoOp(“IAX2/192-3391”, “TRUNK Dial failed due to CHANUNAVAIL (hangupcause: 1) - failing through to other trunks”) in new stack

When I turn on debug on the pri.

I also noticed this:
[Sep 26 13:08:13] WARNING[2439] chan_iax2.c: Max retries exceeded to host 10.10.3.154 on IAX2/192-3391 (type = 4, subclass = 20, ts=2589, seqno=5)
[Sep 26 13:08:13] WARNING[2440] chan_iax2.c: Max retries exceeded to host 10.10.3.154 on IAX2/192-3391 (type = 4, subclass = 4, ts=2586, seqno=4)

I use Elastix 1.6 When I dial 911 I get an “all circuits busy.” The calls 911 do not show up on my CDR. When I do a tcpdump host all I get is a communication between the switch and the phone back and forth. No outside activity. 911 is at the top of the Outbound Route Dialing Pattern. Any suggestions? I have created Restricted Outbound Routes as per the directions in Elastix Without Tears, and it works perfectly to force extensions out the proper Trunk/prevent them from dialing out the wrong Trunk. Below is a copy of my extensions_custom.conf. I’m wondering if there is another file somewhere that is preventing 911. Thanks.

; This file contains the contexts the agents login for the module call center.
; and contains the context conferences for module conferences of elastix 1.0.

[from-internal-custom]
exten => 1234,1,Playback(demo-congrats) ; extensions can dial 1234
exten => 1234,2,Hangup()
exten => h,1,Hangup()
;exten => *62,1,Answer
exten => *62,2,AGI(wakeup.php)
exten => *62,3,Hangup
include => agentlogin
include => conferences
include => calendar-event
include => weather-wakeup

[agentlogin]
exten => _*8888.,1,Set(AGENTNUMBER=${EXTEN:5})
exten => _*8888.,n,NoOp(AgentNumber is ${AGENTNUMBER})
exten => _*8888.,n,AgentLogin(${AGENTNUMBER})
exten => _*8888.,n,Hangup()

[mm-announce]
exten => 9999,1,Set(CALLERID(name)=“MMGETOUT”)
exten => 9999,n,Answer
exten => 9999,n,Playback(conf-will-end-in)
exten => 9999,n,Playback(digits/5)
exten => 9999,n,Playback(minutes)
exten => 9999,n,Hangup

[conferences]
;Used by cbEnd script to play end of conference warning
exten => 5555,1,Answer
exten => 5555,n,Wait(3)
exten => 5555,n,CBMysql()
exten => 5555,n,Hangup

[calendar-event]
exten => _*7899,1,Answer
exten => _*7899,2,Playback(${FILE_CALL})
exten => _*7899,3,Wait(2)
exten => _*7899,4,Hangup()

[weather-wakeup]
exten => *61,1,Answer
exten => *61,2,AGI(nv-weather.php)
exten => *61,3,Hangup
exten => *62,1,Answer
exten => *62,2,AGI(wakeup.php)
exten => *62,3,Hangup

[from-internal-primary]

;
; These are all the applications that you will require
;
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-callwaiting-cwoff
include => app-callwaiting-cwon
include => app-dialvm
include => app-directory
include => app-dnd-off
include => app-dnd-on
include => app-echo-test
include => app-recordings
include => app-speakextennum
include => app-speakingclock
include => app-userlogonoff
include => app-zapbarge
include => app-vmmain
include => ext-group
include => ext-fax
include => ext-meetme
include => ext-findmefollow
include => ext-paging
include => ext-queues
include => ext-test
include => ext-local
include => parkedcalls

;
; #### OutBound Routes ########
; # Below are all restricted routes #
; ###########################
;
; new outbound-restricted-routes

include => outbound-allroutes-custom
include => outrt-001-9_outside
include => outrt-002-primary
;include => outrt-003-medical
;include => outrt-004-dental
;include => outrt-005-FarmersInsurance
;include => outrt-006-STS

exten => foo,1,Noop(bar)
;
; end of outbound-restricted-routes
;
exten => h,1,Hangup
exten => s,1,Macro(hangupcall)
exten => h,1,Macro(hangupcall)

[from-internal-dental]

;
; These are all the applications that you will require
;
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-callwaiting-cwoff
include => app-callwaiting-cwon
include => app-dialvm
include => app-directory
include => app-dnd-off
include => app-dnd-on
include => app-echo-test
include => app-recordings
include => app-speakextennum
include => app-speakingclock
include => app-userlogonoff
include => app-zapbarge
include => app-vmmain
include => ext-group
include => ext-fax
include => ext-meetme
include => ext-findmefollow
include => ext-paging
include => ext-queues
include => ext-test
include => ext-local
include => parkedcalls

;
; #### OutBound Routes ########
; # Below are all restricted routes #
; ###########################
;
; new outbound-restricted-routes

include => outbound-allroutes-custom
include => outrt-001-9_outside
;include => outrt-002-primary
;include => outrt-003-medical
include => outrt-004-dental
;include => outrt-005-FarmersInsurance
;include => outrt-006-STS
exten => foo,1,Noop(bar)
;
; end of outbound-restricted-routes
;
exten => h,1,Hangup
exten => s,1,Macro(hangupcall)
exten => h,1,Macro(hangupcall)

[from-internal-farmers]

;
; These are all the applications that you will require
;
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-callwaiting-cwoff
include => app-callwaiting-cwon
include => app-dialvm
include => app-directory
include => app-dnd-off
include => app-dnd-on
include => app-echo-test
include => app-recordings
include => app-speakextennum
include => app-speakingclock
include => app-userlogonoff
include => app-zapbarge
include => app-vmmain
include => ext-group
include => ext-fax
include => ext-meetme
include => ext-findmefollow
include => ext-paging
include => ext-queues
include => ext-test
include => ext-local
include => parkedcalls

;
; #### OutBound Routes ########
; # Below are all restricted routes #
; ###########################
;
; new outbound-restricted-routes

include => outbound-allroutes-custom
include => outrt-001-9_outside
;include => outrt-002-primary
;include => outrt-003-medical
;include => outrt-004-dental
include => outrt-005-FarmersInsurance
;include => outrt-006-STS
exten => foo,1,Noop(bar)
;
; end of outbound-restricted-routes
;
exten => h,1,Hangup
exten => s,1,Macro(hangupcall)
exten => h,1,Macro(hangupcall)

[from-internal-medical]

;
; These are all the applications that you will require
;
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-callwaiting-cwoff
include => app-callwaiting-cwon
include => app-dialvm
include => app-directory
include => app-dnd-off
include => app-dnd-on
include => app-echo-test
include => app-recordings
include => app-speakextennum
include => app-speakingclock
include => app-userlogonoff
include => app-zapbarge
include => app-vmmain
include => ext-group
include => ext-fax
include => ext-meetme
include => ext-findmefollow
include => ext-paging
include => ext-queues
include => ext-test
include => ext-local
include => parkedcalls

;
; #### OutBound Routes ########
; # Below are all restricted routes #
; ###########################
;
; new outbound-restricted-routes

include => outbound-allroutes-custom
include => outrt-001-9_outside
;include => outrt-002-primary
include => outrt-003-medical
;include => outrt-004-dental
;include => outrt-005-FarmersInsurance
;include => outrt-006-STS
exten => foo,1,Noop(bar)
;
; end of outbound-restricted-routes
;
exten => h,1,Hangup
exten => s,1,Macro(hangupcall)
exten => h,1,Macro(hangupcall)

[from-internal-sts]

;
; These are all the applications that you will require
;
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-callwaiting-cwoff
include => app-callwaiting-cwon
include => app-dialvm
include => app-directory
include => app-dnd-off
include => app-dnd-on
include => app-echo-test
include => app-recordings
include => app-speakextennum
include => app-speakingclock
include => app-userlogonoff
include => app-zapbarge
include => app-vmmain
include => ext-group
include => ext-fax
include => ext-meetme
include => ext-findmefollow
include => ext-paging
include => ext-queues
include => ext-test
include => ext-local
include => parkedcalls

;
; #### OutBound Routes ########
; # Below are all restricted routes #
; ###########################
;
; new outbound-restricted-routes

include => outbound-allroutes-custom
include => outrt-001-9_outside
;include => outrt-002-primary
;include => outrt-003-medical
;include => outrt-004-dental
;include => outrt-005-FarmersInsurance
include => outrt-006-STS
exten => foo,1,Noop(bar)
;
; end of outbound-restricted-routes
;
exten => h,1,Hangup
exten => s,1,Macro(hangupcall)
exten => h,1,Macro(hangupcall)

[from-restricted]
;
; These are all the applications that you will require
;
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-callwaiting-cwoff
include => app-callwaiting-cwon
include => app-dialvm
include => app-directory
include => app-dnd-off
include => app-dnd-on
include => app-echo-test
include => app-recordings
include => app-speakextennum
include => app-speakingclock
include => app-userlogonoff
include => app-zapbarge
include => app-vmmain
include => ext-group
include => ext-fax
include => ext-meetme
include => ext-findmefollow
include => ext-paging
include => ext-queues
include => ext-test
include => ext-local
include => parkedcalls

;
; #### OutBound Routes ########
; # Below are all restricted routes #
; ###########################
;
; new outbound-restricted-routes

include => outbound-allroutes-custom
include => outrt-001-9_outside
include => outrt-002-primary
include => outrt-003-medical
include => outrt-004-dental
exten => foo,1,Noop(bar)
;
; end of outbound-restricted-routes
;
exten => h,1,Hangup
exten => s,1,Macro(hangupcall)
exten => h,1,Macro(hangupcall)