jmtrevaskis

home automation - asterisk extensions.conf examples

Nov 18th, 2011
487
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.99 KB | None | 0 0
  1.  
  2.  
  3. ;extension: 1000 => primary extensions
  4. exten => 1000,1,Dial(SIP/1000,35,tr)
  5. exten => 1000,n,HangUp()
  6.  
  7. ;extension: 1001 => htc touch pro2
  8. exten => 1001,1,Dial(SIP/1001,35,tr)
  9. exten => 1001,n,HangUp()
  10.  
  11. ;extension: 1002 => test ext
  12. exten => 1002,1,Dial(SIP/1002,35,tr)
  13. exten => 1002,n,HangUp()
  14.  
  15. ;extension: 998 => group extension
  16. exten => 998,1,Goto(answer,s,1)
  17. exten => 998,n,HangUp()
  18.  
  19.  
  20. ;extension: 6000 => musiconhold
  21. ;music on hold extension
  22. exten => 6000,1,Answer()
  23. exten => 6000,n,MusicOnHold()
  24. exten => 6000,n,Hangup()
  25.  
  26.  
  27. ;extension: 6001 => echo test
  28. exten => 6001,1,Answer()
  29. exten => 6001,n,Playback(welcome)
  30. exten => 6001,n,Playback(demo-echotest)
  31. exten => 6001,n,Echo()
  32. exten => 6001,n,Playback(demo-echodone)
  33. exten => 6001,n,Playback(vm-goodbye)
  34. exten => 6001,n,Hangup()
  35.  
  36.  
  37. ;extension: 6002 => shame
  38. exten => 6002,1,Answer()
  39. exten => 6002,2,Playback(local/shame)
  40. exten => 6002,n,Goto(sip,6002,2)
  41. exten => 6002,n,Hangup()
  42.  
  43.  
  44. ;extension: 1 => check voicemail
  45. ;check voicemail extensions
  46. exten => 1,1,VoiceMailMain(${EXTEN}@voicemail)
  47. exten => 1,n,Hangup()
  48.  
  49.  
  50. ;extension: 2 => partyline
  51. ;partyline
  52. ;exten => 2,1,Meetme(5555)
  53. ;exten => 2,n,Hangup()
  54.  
  55.  
  56. ;extension: 0XXXXXXXXX => ongoing internode
  57. ;extension: 8XXXXXXX => ongoing internode
  58. ;extension: 7XXXXXXX => ongoing internode
  59. ;internode ongoing calls
  60. exten => _0XXXXXXXXX,1,Set(passexten=${EXTEN})
  61. exten => _0XXXXXXXXX,n,Goto(internode,s,1)
  62. exten => _9XXXXXXXXXX,1,Set(passexten=${EXTEN:1})
  63. exten => _9XXXXXXXXXX,n,Goto(internode,s,1)
  64. exten => _8XXXXXXX,1,Set(passexten=${EXTEN})
  65. exten => _8XXXXXXX,n,Goto(internode,s,1)
  66. exten => _7XXXXXXX,1,Set(passexten=${EXTEN})
  67. exten => _7XXXXXXX,n,Goto(internode,s,1)
  68. exten => _1800XXXXXX,1,Set(passexten=*38#${EXTEN})
  69. exten => _1800XXXXXX,n,Goto(internode,s,1)
  70. exten => _1300XXXXXX,1,Set(passexten=*38#${EXTEN})
  71. exten => _1300XXXXXX,n,Goto(internode,s,1)
  72. exten => _13XXXX,1,Set(passexten=*38#${EXTEN})
  73. exten => _13XXXX,n,Goto(internode,s,1)
  74.  
  75.  
  76.  
  77. ;incoming calls filtering
  78. ;extension: 999 => incoming calls filtering then forward to 998 (group extension)
  79. exten => 999,1,Answer()
  80. exten => 999,n,GotoIf($["${CALLERID(num)}" = "numberhere"]?dialtone,s,1)
  81. exten => 999,n,Set(statecurr=${DB(x10/statecurr)})
  82. exten => 999,n,GotoIf($["${statecurr}" = "sleep"]?call-filtering,s,sleep)
  83. exten => 999,n,GotoIf($["${statecurr}" = "movie"]?call-filtering,s,busy)
  84. exten => 999,n,System(/etc/heyu/bin/announce "incoming phone call from ${CALLERID(num)}")
  85. exten => 999,n,Goto(sip,998,1)
  86. exten => 999,n,Hangup()
  87.  
  88.  
  89. ;extension: 4357 (help)
  90. exten => 4357,1,Answer()
  91. exten => 4357,2,Wait(1)
  92. exten => 4357,n,Background(local/help-menu)
  93. exten => 4357,n,Background(local/help-1001-home)
  94. exten => 4357,n,Background(local/help-910-x10)
  95. exten => 4357,n,Background(local/help-47-ipaddress)
  96. exten => 4357,n,Background(local/help-87-vr)
  97. exten => 4357,n,Background(local/help-774-ssh)
  98. exten => 4357,n,Background(local/help-443-443)
  99. exten => 4357,n,Background(local/help-2255-callback)
  100. exten => 4357,n,Background(local/help-8367-temp)
  101. exten => 4357,n,Background(local/help-266-bom)
  102. exten => 4357,n,Background(local/help-1-voicemail)
  103. exten => 4357,n,Background(local/help-2-partyline)
  104. exten => 4357,n,Background(local/help-6001-echotest)
  105. exten => 4357,n,Background(local/help-3425-intdialtone)
  106. exten => 4357,n,Set(TIMEOUT(digit)=2)
  107. exten => 4357,n,Set(TIMEOUT(response)=5)
  108. exten => 4357,n,WaitExten(10)
  109. exten => 4357,n,Goto(sip,4357,2)
  110. exten => 4357,n,Hangup()
  111.  
  112.  
  113. ;extension: 266 (bom) => check weather
  114. exten => 266,1,Answer()
  115. exten => 266,n,Playback(local/standby)
  116. exten => 266,n,System(/usr/bin/wget -O /tmp/weather-raw.txt ftp://ftp2.bom.gov.au/anon/gen/fwo/IDS10034.txt)
  117. exten => 266,n,Wait(1)
  118. exten => 266,n,System(/var/lib/asterisk/bin/local/convweather)
  119. exten => 266,n,Wait(1)
  120. exten => 266,n,Playback(/tmp/weather)
  121. exten => 266,n,Wait(1)
  122. exten => 266,n,PlayBack(vm-goodbye)
  123. exten => 266,n,System(rm -f /tmp/weather*)
  124. exten => 266,n,Goto(dialtone,s,3)
  125. exten => 266,n,Hangup()
  126.  
  127.  
  128. ;extension: 9253 (wake) => wake script
  129. exten => 9253,1,AGI(wakeup.php)
  130. exten => 9253,n,Goto(dialtone,s,3)
  131. exten => 9253,n,Hangup()
  132.  
  133.  
  134. ;extension: 910 (x10) => manage x10 devices
  135. exten => 910,1,Answer
  136. exten => 910,n,Goto(x10,s,1)
  137. exten => 910,n,Hangup()
  138.  
  139.  
  140. ;extension: 779 (spy) => chanspy
  141. exten => 779,1,Authenticate(1234)
  142. exten => 779,n,Chanspy(SIP)
  143. exten => 779,n,Hangup()
  144.  
  145.  
  146. ;extension: 774 (ssh) => ssh portknock
  147. exten => 774,1,Answer()
  148. exten => 774,n,Swift(opening requested port 22)
  149. exten => 774,n,System(/var/lib/asterisk/bin/local/portknock/sshopen > /dev/null 2>&1&)
  150. exten => 774,n,Swift(the port has been opened for two minutes)
  151. exten => 774,n,Goto(dialtone,s,3)
  152. exten => 774,n,Hangup()
  153.  
  154. ;extension: 443 (443) => remotelyanywhere portknock
  155. exten => 443,1,Answer()
  156. exten => 443,n,Swift(opening requested port 443)
  157. exten => 443,n,System(/var/lib/asterisk/bin/local/portknock/443open > /dev/null 2>&1&)
  158. exten => 443,n,Swift(the port has been opened for five minutes)
  159. exten => 443,n,Goto(dialtone,s,3)
  160. exten => 443,n,Hangup()
  161.  
  162. ;extension: 47 (ip) => ip address playback
  163. exten => 47,1,Answer()
  164. exten => 47,n,Wait(1)
  165. exten => 47,n,System(/var/lib/asterisk/bin/local/convip)
  166. exten => 47,n,Wait(1)
  167. exten => 47,n,Playback(/tmp/ipaddress)
  168. exten => 47,n,Wait(1)
  169. exten => 47,n,PlayBack(vm-goodbye)
  170. exten => 47,n,System(rm -f /tmp/ipaddress*)
  171. exten => 47,n,Goto(dialtone,s,3)
  172. exten => 47,n,Hangup()
  173.  
  174.  
  175. ;extension: 8367 (temp) = > current lounge temperature
  176. exten => 8367,1,Answer()
  177. exten => 8367,n,System(/var/lib/asterisk/bin/local/tempergo)
  178. exten => 8367,n,Wait(2)
  179. exten => 8367,n,Playback(/tmp/currtemp)
  180. exten => 8367,n,Wait(1)
  181. exten => 8367,n,PlayBack(vm-goodbye)
  182. exten => 8367,n,System(rm -f /tmp/currtemp*)
  183. exten => 8367,n,Goto(dialtone,s,3)
  184. exten => 8367,n,Hangup()
  185.  
  186.  
  187. ;extension: 2255 (call) => call back facility
  188. exten => 2255,1,Answer()
  189. exten => 2255,n,System(echo channel: SIP/$[${CALLERID(num)}] > /tmp/$[${CALLERID(num)}])
  190. exten => 2255,n,System(echo context: dialtone >> /tmp/$[${CALLERID(num)}])
  191. exten => 2255,n,System(echo extension: s >> /tmp/$[${CALLERID(num)}])
  192. exten => 2255,n,System(echo priority: 1 >> /tmp/$[${CALLERID(num)}])
  193. exten => 2255,n,System(echo callerid: 1000 >> /tmp/$[${CALLERID(num)}])
  194. exten => 2255,n,System(echo sleep 30 > /tmp/$[${CALLERID(num)}].2)
  195. exten => 2255,n,System(echo mv /tmp/$[${CALLERID(num)}] /var/spool/asterisk/outgoing >>/tmp/$[${CALLERID(num)}].2)
  196. exten => 2255,n,System(chmod 775 /tmp/$[${CALLERID(num)}].2)
  197. exten => 2255,n,System(/tmp/$[${CALLERID(num)}].2& >>/dev/null)
  198. exten => 2255,n,Hangup()
  199.  
  200.  
  201. ;voice recognition
  202. ;extension 87 (vr) = > voice recognition
  203. exten => 87,1,Answer()
  204. exten => 87,2,Playback(local/vr-pleaserequest)
  205. exten => 87,3,AGI(sphinx_test.agi)
  206. exten => 87,n,NoOp(${RESPONSE})
  207. exten => 87,n,GotoIf($["${RESPONSE}" = "KITCHENLIGHTON "]?sip,87,klighton)
  208. exten => 87,n,GotoIf($["${RESPONSE}" = "KITCHENLIGHTSTOP "]?sip,87,klightstop)
  209. exten => 87,n,GotoIf($["${RESPONSE}" = "COFFEEMACHINEON "]?sip,87,coffeeon)
  210. exten => 87,n,GotoIf($["${RESPONSE}" = "COFFEEMACHINESTOP "]?sip,87,coffeestop)
  211. exten => 87,n,GotoIf($["${RESPONSE}" = "SECURITYON "]?sip,87,securityon)
  212. exten => 87,n,GotoIf($["${RESPONSE}" = "SECURITYSTOP "]?sip,87,securitystop)
  213. exten => 87,n,GotoIf($["${RESPONSE}" = "BOM "]?sip,87,bom)
  214. exten => 87,n,GotoIf($["${RESPONSE}" = "VOICEMAIL "]?sip,87,voicemail)
  215. exten => 87,n,GotoIf($["${RESPONSE}" = "WAKEUP "]?sip,87,wakeup)
  216. exten => 87,n,GotoIf($["${RESPONSE}" = "ADDRESS "]?sip,87,ipaddress)
  217. exten => 87,n,GotoIf($["${RESPONSE}" = "REVERSE "]?sip,87,callback)
  218. exten => 87,n,GotoIf($["${RESPONSE}" = "CAMSTUDYON "]?sip,87,camstudyon)
  219. exten => 87,n,GotoIf($["${RESPONSE}" = "CAMSTUDYSTOP "]?sip,87,camstudystop)
  220. exten => 87,n,Goto(sip,87,invalid)
  221. exten => 87,n,Hangup()
  222.  
  223. exten => 87,n(invalid),Playback(local/vr-sorry)
  224. exten => 87,n,Goto(sip,87,3)
  225. exten => 87,n,Hangup()
  226.  
  227. exten => 87,n(klighton),Set(vr-said=kitchen light on)
  228. exten => 87,n,Set(vr-number=x10-klight,1,1)
  229. exten => 87,n,Goto(sip,87,macro)
  230. exten => 87,n,Hangup()
  231.  
  232. exten => 87,n(klightstop),Set(vr-said=kitchen light stop)
  233. exten => 87,n,Set(vr-number=x10-klight,2,1)
  234. exten => 87,n,Goto(sip,87,macro)
  235. exten => 87,n,Hangup()
  236.  
  237. exten => 87,n(coffeeon),Set(vr-said=coffee machine on)
  238. exten => 87,n,Set(vr-number=x10-coffee,1,1)
  239. exten => 87,n,Goto(sip,87,macro)
  240. exten => 87,n,Hangup()
  241.  
  242. exten => 87,n(coffeestop),Set(vr-said=coffee machine stop)
  243. exten => 87,n,Set(vr-number=x10-coffee,2,1)
  244. exten => 87,n,Goto(sip,87,macro)
  245. exten => 87,n,Hangup()
  246.  
  247. exten => 87,n(securityon),Set(vr-said=security on)
  248. exten => 87,n,Set(vr-number=x10-security,1,1)
  249. exten => 87,n,Goto(sip,87,macro)
  250. exten => 87,n,Hangup()
  251.  
  252. exten => 87,n(securitystop),Set(vr-said=security stop)
  253. exten => 87,n,Set(vr-number=x10-security,2,1)
  254. exten => 87,n,Goto(sip,87,macro)
  255. exten => 87,n,Hangup()
  256.  
  257. exten => 87,n(bom),Set(vr-said=bom)
  258. exten => 87,n,Set(vr-number=sip,266,1)
  259. exten => 87,n,Goto(sip,87,macro)
  260. exten => 87,n,Hangup()
  261.  
  262. exten => 87,n(voicemail),Set(vr-said=voicemail)
  263. exten => 87,n,Set(vr-number=sip,1,1)
  264. exten => 87,n,Goto(sip,87,macro)
  265. exten => 87,n,Hangup()
  266.  
  267. exten => 87,n(wakeup),Set(vr-said=wake up)
  268. exten => 87,n,Set(vr-number=sip,9253,1)
  269. exten => 87,n,Goto(sip,87,macro)
  270. exten => 87,n,Hangup()
  271.  
  272. exten => 87,n(ipaddress),Set(vr-said=address)
  273. exten => 87,n,Set(vr-number=sip,47,1)
  274. exten => 87,n,Goto(sip,87,macro)
  275. exten => 87,n,Hangup()
  276.  
  277. exten => 87,n(callback),Set(vr-said=reverse)
  278. exten => 87,n,Set(vr-number=sip,2255,1)
  279. exten => 87,n,Goto(sip,87,macro)
  280. exten => 87,n,Hangup()
  281.  
  282. exten => 87,n(camstudyon),Set(vr-said=cam study on)
  283. exten => 87,n,Set(vr-number=x10-webcam,1,1)
  284. exten => 87,n,Goto(sip,87,macro)
  285. exten => 87,n,Hangup()
  286.  
  287. exten => 87,n(camstudystop),Set(vr-said=cam study stop)
  288. exten => 87,n,Set(vr-number=x10-webcam,3,1)
  289. exten => 87,n,Goto(sip,87,macro)
  290. exten => 87,n,Hangup()
  291.  
  292. exten => 87,n(macro),System(echo you said ${vr-said} > /tmp/speakback.txt)
  293. exten => 87,n,System(/var/lib/asterisk/bin/local/convfile speakback)
  294. exten => 87,n,Playback(/tmp/speakback)
  295. exten => 87,n,System(rm -f /tmp/speakback.*)
  296. exten => 87,n,Goto(${vr-number})
  297. exten => 87,n,Hangup()
  298.  
  299.  
  300.  
  301. ;record new voice files
  302. Exten => 501,1,Wait(2)
  303. Exten => 501,n,Record(local/aaa:gsm)
  304. Exten => 501,n,Wait(2)
  305. Exten => 501,n,Playback(local/aaa)
  306. Exten => 501,n,wait(2)
  307. Exten => 501,n,Hangup()
  308.  
  309.  
  310. ;example console dial
  311. exten => 997,1,Goto(speaker-call,s,1)
  312.  
  313. [speaker-call]
  314. ;page-to-speaker
  315. exten => s,1,Answer()
  316. exten => s,n,Set(statecurr=${DB(x10/statecurr)})
  317. exten => s,n,GotoIf($["${statecurr}" = "sleep"]?speaker-call,s,hangup)
  318. ;exten => s,n,System(/etc/heyu/bin/speakercurrvol)
  319. ;exten => s,n,Set(volprev=${DB(x10/volcurr)})
  320. ;exten => s,n,System(/etc/heyu/bin/speakervol 85)
  321. exten => s,n,Dial(Console/dsp)
  322. exten => s,n(hangup),Hangup()
  323.  
  324. ;exten => h,1,System(/etc/heyu/bin/speakervol ${volprev})
  325. ;exten => h,n,Hangup()
  326.  
  327.  
  328. [call-filtering]
  329. exten => s,1,Answer()
  330. exten => s,2,Set(statecurr=${DB(x10/statecurr)})
  331. exten => s,n,GotoIf($["${statecurr}" = "sleep"]?call-filtering,s,sleep)
  332. exten => s,n,GotoIf($["${statecurr}" = "movie"]?call-filtering,s,busy)
  333. exten => s,n,HangUp()
  334. exten => s,n(sleep),Playback(local/tf-currtime)
  335. exten => s,n,SayUnixTime(,,IMp)
  336. exten => s,n,Background(local/tf-areyousure)
  337. exten => s,n,SET(TIMEOUT(absolute)=120)
  338. exten => s,n,Set(TIMEOUT(digit)=2)
  339. exten => s,n,Set(TIMEOUT(response)=5)
  340. exten => s,n,WaitExten(15)
  341. exten => s,n,Goto(call-filtering,s,sleep)
  342. exten => s,n,Hangup()
  343. exten => s,n(busy),Playback(local/tf-busy)
  344. exten => s,n,SET(TIMEOUT(absolute)=120)
  345. exten => s,n,Set(TIMEOUT(digit)=2)
  346. exten => s,n,Set(TIMEOUT(response)=5)
  347. exten => s,n,WaitExten(15)
  348. exten => s,n,Goto(call-filtering,s,busy)
  349. exten => s,n,Hangup()
  350.  
  351. ; if 1 (yes, ring phone)
  352. exten => 1,1,goto(sip,998,1)
  353. exten => 1,n,Hangup()
  354.  
  355. ; if 2 (no, voicemail)
  356. exten => 2,1,VoiceMail(1000@voicemail)
  357. exten => 2,n,PlayBack(vm-goodbye)
  358. exten => 2,n,Hangup()
  359.  
  360.  
  361.  
  362. [x10]
  363. exten => s,1,Answer()
  364. ;exten => s,2,Authenticate(1234)
  365. exten => s,2,Background(local/x10-welcome)
  366. ;exten => s,n,Background(local/x10-1-coffee)
  367. ;exten => s,n,Background(local/x10-2-klight)
  368. exten => s,n,Background(local/x10-3-webcam)
  369. ;exten => s,n,Background(local/x10-4-security)
  370. ;exten => s,n,Background(local/x10-5-aircon)
  371. exten => s,n,Background(local/x10-9-intdialtone)
  372. exten => s,n,Set(TIMEOUT(digit)=2)
  373. exten => s,n,Set(TIMEOUT(response)=5)
  374. exten => s,n,WaitExten(10)
  375. exten => s,n,Goto(x10,s,2)
  376. exten => s,n,Hangup()
  377.  
  378. exten => 1,1,Answer()
  379. exten => 1,n,Goto(x10-coffee,s,1)
  380. exten => 1,n,Hangup()
  381.  
  382. exten => 2,1,Answer()
  383. exten => 2,n,Goto(x10-klight,s,1)
  384. exten => 2,n,Hangup()
  385.  
  386. exten => 3,1,Answer()
  387. exten => 3,n,Goto(x10-webcam,s,1)
  388. exten => 3,n,Hangup()
  389.  
  390. exten => 4,1,Answer()
  391. exten => 4,n,Goto(x10-security,s,1)
  392. exten => 4,n,Hangup()
  393.  
  394. exten => 5,1,Answer()
  395. exten => 5,n,Goto(x10-aircon,s,1)
  396. exten => 5,n,Hangup()
  397.  
  398.  
  399.  
  400. exten => 9,1,Answer()
  401. exten => 9,n,Goto(dialtone,s,3)
  402. exten => 9,n,Hangup()
  403.  
  404.  
  405. [x10-coffee]
  406. exten => s,1,Answer()
  407. exten => s,n,Wait(1)
  408. exten => s,n,Background(local/x10-normal-select)
  409. exten => s,n,Background(local/x10-9-intdialtone)
  410. exten => s,n,Set(TIMEOUT(digit)=2)
  411. exten => s,n,Set(TIMEOUT(response)=5)
  412. exten => s,n,WaitExten(10)
  413. exten => s,n,Goto(x10-coffee,s,3)
  414. exten => s,n,Hangup()
  415.  
  416. exten => 1,1,Answer()
  417. exten => 1,n,System(/usr/local/bin/heyu -c /etc/heyu/x10.conf turn coffee on)
  418. exten => 1,n,Wait(1)
  419. exten => 1,n,Playback(local/x10-activated)
  420. exten => 1,n,Wait(1)
  421. exten => 1,n,PlayBack(vm-goodbye)
  422. exten => 1,n,Goto(dialtone,s,3)
  423. exten => 1,n,Hangup()
  424.  
  425. exten => 2,1,Answer()
  426. exten => 2,n,System(/usr/local/bin/heyu -c /etc/heyu/x10.conf turn coffee off)
  427. exten => 2,n,Wait(1)
  428. exten => 2,n,Playback(local/x10-deactivated)
  429. exten => 2,n,Wait(1)
  430. exten => 2,n,PlayBack(vm-goodbye)
  431. exten => 2,n,Goto(dialtone,s,3)
  432. exten => 2,n,Hangup()
  433.  
  434. exten => 9,1,Answer()
  435. exten => 9,n,Goto(dialtone,s,3)
  436. exten => 9,n,Hangup()
  437.  
  438.  
  439. [x10-klight]
  440. exten => s,1,Answer()
  441. exten => s,n,Wait(1)
  442. exten => s,n,Background(local/x10-normal-select)
  443. exten => s,n,Background(local/x10-9-intdialtone)
  444. exten => s,n,Set(TIMEOUT(digit)=2)
  445. exten => s,n,Set(TIMEOUT(response)=5)
  446. exten => s,n,WaitExten(10)
  447. exten => s,n,Goto(x10-coffee,s,3)
  448. exten => s,n,Hangup()
  449.  
  450. exten => 1,1,Answer()
  451. exten => 1,n,System(/usr/local/bin/heyu -c /etc/heyu/x10.conf turn klamp on)
  452. exten => 1,n,Wait(1)
  453. exten => 1,n,Playback(local/x10-activated)
  454. exten => 1,n,Wait(1)
  455. exten => 1,n,PlayBack(vm-goodbye)
  456. exten => 1,n,Goto(dialtone,s,3)
  457. exten => 1,n,Hangup()
  458.  
  459. exten => 2,1,Answer()
  460. exten => 2,n,System(/usr/local/bin/heyu -c /etc/heyu/x10.conf turn klamp off)
  461. exten => 2,n,Wait(1)
  462. exten => 2,n,Playback(local/x10-deactivated)
  463. exten => 2,n,Wait(1)
  464. exten => 2,n,PlayBack(vm-goodbye)
  465. exten => 2,n,Goto(dialtone,s,3)
  466. exten => 2,n,Hangup()
  467.  
  468. exten => 9,1,Answer()
  469. exten => 9,n,Goto(dialtone,s,3)
  470. exten => 9,n,Hangup()
  471.  
  472.  
  473. [x10-webcam]
  474. exten => s,1,Answer()
  475. exten => s,n,Wait(1)
  476. exten => s,n,Background(local/x10-webcam-select)
  477. exten => s,n,Background(local/x10-9-intdialtone)
  478. exten => s,n,Set(TIMEOUT(digit)=2)
  479. exten => s,n,Set(TIMEOUT(response)=5)
  480. exten => s,n,WaitExten(10)
  481. exten => s,n,Goto(x10-webcam,s,3)
  482. exten => s,n,Hangup()
  483.  
  484. exten => 1,1,Answer()
  485. exten => 1,n,System(/etc/heyu/bin/vlc_webcam lowreson > /dev/null 2>&1&)
  486. exten => 1,n,Wait(1)
  487. exten => 1,n,Playback(local/x10-activated)
  488. exten => 1,n,Wait(1)
  489. exten => 1,n,PlayBack(vm-goodbye)
  490. exten => 1,n,Goto(dialtone,s,3)
  491. exten => 1,n,Hangup()
  492.  
  493. exten => 2,1,Answer()
  494. exten => 2,n,System(/etc/heyu/bin/vlc_webcam highreson > /dev/null 2>&1&)
  495. exten => 2,n,Wait(1)
  496. exten => 2,n,Playback(local/x10-activated)
  497. exten => 2,n,Wait(1)
  498. exten => 2,n,PlayBack(vm-goodbye)
  499. exten => 2,n,Goto(dialtone,s,3)
  500. exten => 2,n,Hangup()
  501.  
  502. exten => 3,1,Answer()
  503. exten => 3,n,System(/etc/heyu/bin/vlc_webcam off > /dev/null 2>&1&)
  504. exten => 3,n,Wait(1)
  505. exten => 3,n,Playback(local/x10-deactivated)
  506. exten => 3,n,Wait(1)
  507. exten => 3,n,PlayBack(vm-goodbye)
  508. exten => 3,n,Goto(dialtone,s,3)
  509. exten => 3,n,Hangup()
  510.  
  511. exten => 9,1,Answer()
  512. exten => 9,n,Goto(dialtone,s,3)
  513. exten => 9,n,Hangup()
  514.  
  515. [x10-security]
  516. exten => s,1,Answer()
  517. exten => s,2,Background(local/x10-normal-select)
  518. exten => s,n,Background(local/x10-9-intdialtone)
  519. exten => s,n,Set(TIMEOUT(digit)=2)
  520. exten => s,n,Set(TIMEOUT(response)=5)
  521. exten => s,n,WaitExten(10)
  522. exten => s,n,Goto(x10-security,s,2)
  523. exten => s,n,Hangup()
  524.  
  525. exten => 1,1,Answer()
  526. ;exten => 1,n,System(/var/lib/asterisk/bin/local/motion_control.sh start)
  527. exten => 1,n,System(/etc/heyu/bin/securityon)
  528. exten => 1,n,Wait(1)
  529. exten => 1,n,Playback(local/x10-activated)
  530. exten => 1,n,Wait(1)
  531. exten => 1,n,PlayBack(vm-goodbye)
  532. exten => 1,n,Goto(dialtone,s,3)
  533. exten => 1,n,Hangup()
  534.  
  535. exten => 2,1,Answer()
  536. ;exten => 2,n,System(/var/lib/asterisk/bin/local/motion_control.sh stop)
  537. exten => 2,n,System(/etc/heyu/bin/securityoff)
  538. exten => 2,n,Wait(1)
  539. exten => 2,n,Playback(local/x10-deactivated)
  540. exten => 2,n,PlayBack(vm-goodbye)
  541. exten => 2,n,Wait(1)
  542. exten => 2,n,Goto(dialtone,s,3)
  543. exten => 2,n,Hangup()
  544.  
  545. exten => 9,1,Answer()
  546. exten => 9,n,Goto(dialtone,s,3)
  547. exten => 9,n,Hangup()
  548.  
  549.  
  550. [x10-aircon]
  551. exten => s,1,Answer()
  552. exten => s,2,Background(local/x10-aircon-1)
  553. exten => s,n,Background(local/x10-aircon-2)
  554. exten => s,n,Background(local/x10-9-intdialtone)
  555. exten => s,n,Set(TIMEOUT(digit)=2)
  556. exten => s,n,Set(TIMEOUT(response)=5)
  557. exten => s,n,WaitExten(10)
  558. exten => s,n,Goto(x10-aircon,s,2)
  559. exten => s,n,Hangup()
  560.  
  561. exten => 1,1,Answer()
  562. exten => 1,n,Goto(x10-aircon-run,s,1)
  563. exten => 1,n,Hangup()
  564.  
  565. exten => 2,1,Answer()
  566. exten => 2,n,Goto(x10-aircon-auto,s,1)
  567. exten => 2,n,Hangup()
  568.  
  569. exten => 9,1,Answer()
  570. exten => 9,n,Goto(dialtone,s,3)
  571. exten => 9,n,Hangup()
  572.  
  573.  
  574. [x10-aircon-run]
  575. exten => s,1,Answer()
  576. exten => s,2,Swift(this is the air conditioner start stop menu, select 1 to turn on, or 2 to turn off)
  577. exten => s,n,Swift(select 9 to return to the main air conditioner menu)
  578. exten => s,n,Set(TIMEOUT(digit)=2)
  579. exten => s,n,Set(TIMEOUT(response)=5)
  580. exten => s,n,WaitExten(10)
  581. exten => s,n,Goto(x10-aircon-run,s,2)
  582. exten => s,n,Hangup()
  583.  
  584.  
  585. exten => 1,1,Answer()
  586. exten => 1,2,Set(TIMEOUT(digit)=2)
  587. exten => 1,3,Set(TIMEOUT(response)=5)
  588. exten => 1,4,Swift(Please enter the temperature you want the air conditioner to run at)
  589. exten => 1,n,Read(aircontmp,,2)
  590. exten => 1,n,Swift(you entered ${aircontmp})
  591. exten => 1,n,Swift(Please enter the fanspeed you want the air conditioner to run at)
  592. exten => 1,n,Read(airconfs,,1)
  593. exten => 1,n,Swift(you entered ${airconfs})
  594. exten => 1,n,Swift(if these settings are correct press 1 to start or 2 to re enter settings)
  595. exten => 1,n,Read(airconyn,,1)
  596. exten => 1,n,GotoIf($["${airconyn}" = "1"]?x10-aircon-run,1,start)
  597. exten => 1,n,Goto(x10-aircon-run,1,4)
  598. exten => 1,n,Hangup()
  599. exten => 1,n(start),System(/var/lib/asterisk/bin/local/aircon/airconon ${aircontmp} ${airconfs})
  600. exten => 1,n,Swift(air conditioner started)
  601. exten => 1,n,PlayBack(vm-goodbye)
  602. exten => 1,n,Goto(x10-aircon,s,1)
  603.  
  604.  
  605. exten => 2,1,Answer()
  606. exten => 2,n,System(/var/lib/asterisk/bin/local/aircon/airconoff)
  607. exten => 2,n,Wait(1)
  608. exten => 2,n,Swift(air conditioner stopped)
  609. exten => 2,n,Wait(1)
  610. exten => 2,n,PlayBack(vm-goodbye)
  611. exten => 2,n,Goto(x10-aircon,s,1)
  612. exten => 2,n,Hangup()
  613.  
  614.  
  615. exten => 9,1,Answer()
  616. exten => 9,n,Goto(aircon,s,1)
  617. exten => 9,n,Hangup()
  618.  
  619.  
  620. [x10-aircon-auto]
  621.  
  622. exten => s,n,Set(TIMEOUT(digit)=2)
  623. exten => s,n,Set(TIMEOUT(response)=5)
  624. exten => s,n,WaitExten(10)
  625. exten => s,n,Goto(x10-aircon-run,s,2)
  626. exten => s,n,Hangup()
  627.  
  628.  
  629. exten => 1,1,Answer()
  630. exten => 1,2,Set(TIMEOUT(digit)=2)
  631. exten => 1,3,Set(TIMEOUT(response)=5)
  632. exten => 1,4,Swift(Please enter the temperature you want the air conditioner to run at)
  633. exten => 1,n,Read(aircontmp,,2)
  634. exten => 1,n,Swift(you entered ${aircontmp})
  635. exten => 1,n,Swift(Please enter the fanspeed you want the air conditioner to run at)
  636. exten => 1,n,Read(airconfs,,1)
  637. exten => 1,n,Swift(you entered ${airconfs})
  638. exten => 1,n,Swift(if these settings are correct press 1 to start or 2 to re enter settings)
  639. exten => 1,n,Read(airconyn,,1)
  640. exten => 1,n,GotoIf($["${airconyn}" = "1"]?x10-aircon-run,1,start)
  641. exten => 1,n,Goto(x10-aircon-run,1,4)
  642. exten => 1,n,Hangup()
  643. exten => 1,n(start),System(/var/lib/asterisk/bin/local/aircon/airconon ${aircontmp} ${airconfs})
  644. exten => 1,n,Swift(air conditioner started)
  645. exten => 1,n,PlayBack(vm-goodbye)
  646. exten => 1,n,Goto(x10-aircon,s,1)
  647.  
  648.  
  649. exten => 2,1,Answer()
  650. exten => 2,n,System(/var/lib/asterisk/bin/local/aircon/airconoff)
  651. exten => 2,n,Wait(1)
  652. exten => 2,n,Swift(air conditioner stopped)
  653. exten => 2,n,Wait(1)
  654. exten => 2,n,PlayBack(vm-goodbye)
  655. exten => 2,n,Goto(x10-aircon,s,1)
  656. exten => 2,n,Hangup()
  657.  
  658. exten => 9,1,Answer()
  659. exten => 9,n,Goto(x10-aircon,s,1)
  660. exten => 9,n,Hangup()
  661.  
  662.  
  663.  
  664. ;exten => s,1,Macro(moh,1)
  665. ;[moh_timer]
  666. ;exten => _X!,1,Wait(${EXTEN})
  667.  
  668. ;[macro-moh]
  669. ;exten => s,1,Dial(local/${ARG1}@moh_timer,${ARG1},m)
  670.  
  671.  
  672.  
  673. [speeddials]
  674. ;extension: 3425 (dial) => internal dialtone
  675. exten => 3425,1,Answer()
  676. exten => 3425,n,Goto(dialtone,s,1)
  677. exten => 3425,n,Hangup()
  678.  
  679.  
  680.  
  681. [alerts]
  682. ;dial this number to alert!
  683. exten => 99,1,Dial(SIP/numberhere@internode,15,tr)
  684. ;exten => 99,1,Dial(Local/1001@sip,15,tr)
  685.  
  686. exten => 100,1,System(/var/lib/asterisk/bin/local/convfile alert)
  687. exten => 100,n,Wait(1)
  688. exten => 100,n,Playback(welcome)
  689. exten => 100,n,Playback(/tmp/alert)
  690. exten => 100,n,Playback(vm-goodbye)
  691. exten => 100,n,System(rm -f /tmp/alert.*)
  692. exten => 100,n,Hangup()
  693.  
  694. exten => 101,1,System(/var/lib/asterisk/bin/local/convfile spook)
  695. exten => 101,n,Wait(1)
  696. exten => 101,n,Playback(/tmp/spook)
  697. exten => 101,n,System(rm -f /tmp/spook.*)
  698. exten => 101,n,Hangup()
  699.  
  700.  
  701. ;prank call engine
  702. ;exten => 202,1,Dial(SIP/numberhere@internode,40,tr)
  703. ;exten => 202,1,System(/var/lib/asterisk/bin/local/convfile prank)
  704. ;exten => 202,n,Wait(1)
  705. ;exten => 202,n,Playback(/tmp/prank)
  706. ;exten => 202,n,System(rm -f /tmp/prank.*)
  707. ;exten => 202,n,Hangup()
  708.  
  709.  
  710. [internode]
  711. exten => s,1,Answer()
  712. ;exten => s,n,Set(stateprev=${DB(x10/statecurr)})
  713. exten => s,n,System(/etc/heyu/bin/mode phone asterisk)
  714. exten => s,n,Dial(SIP/${passexten}@internode,35,tr)
  715. exten => s,n,Hangup()
  716.  
  717. exten => h,1,Set(stateprev=${DB(x10/stateprev)})
  718. exten => h,2,System(/etc/heyu/bin/mode ${stateprev} asterisk)
  719. exten => h,3,Hangup()
  720.  
  721.  
  722. [answer]
  723. ;extension: s => group extension
  724. exten => s,1,Answer()
  725. exten => s,n,System(/etc/heyu/bin/mode phone asterisk)
  726. exten => s,n,dial(SIP/1000&SIP/1001,35,tr)
  727. ;exten => s,n,Dial(SIP/1000&Console/dsp,35,tr)
  728. exten => s,n,VoiceMail(1000@voicemail)
  729. exten => s,n,PlayBack(vm-goodbye)
  730. exten => s,n,HangUp()
  731.  
  732. exten => h,1,Set(stateprev=${DB(x10/stateprev)})
  733. exten => h,2,System(/etc/heyu/bin/mode ${stateprev} asterisk)
  734. exten => h,3,Hangup()
  735.  
  736.  
  737.  
  738.  
Add Comment
Please, Sign In to add comment