Advertisement
load-net

ael_asterisk_deprecated

Feb 4th, 2024
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 40.95 KB | None | 0 0
  1.  
  2.  
  3. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  4. /////////////////////////ИСХОДЯЩАЯ СВЯЗЬ///////////////////////////////////////////////////////////////////////////////////////
  5. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  6. context outgoing {
  7. includes {
  8. outgoing_local;
  9. outgoing_gorod;
  10. outgoing_gorod_mejgorod_gsm_block;
  11. parkedcalls;
  12. help;
  13. pickup;
  14. // queue;
  15. }
  16. }
  17.  
  18. context outgoing_mejgorod {
  19. includes {
  20. outgoing_local;
  21. outgoing_gorod;
  22. outgoing_gorod_mejgorod_gsm;
  23. parkedcalls;
  24. help;
  25. pickup;
  26. // queue;
  27. }
  28. }
  29.  
  30. context outgoing_local {
  31. 666 => {
  32. MeetMe(666);
  33. // Answer();
  34. // SayDigits(8);
  35. // SayNumber(922);
  36. // SayDigits(00000);
  37. // SayNumber(29);
  38. };
  39. _1000 => {
  40. NoOp(Phone from ${CALLERID(number)} phones to conference);
  41. Set(MEETME_RECORDINGFILE=/backup/meetme/conference_recording-${EPOCH}-${USER});
  42. MeetMe(1000,rMpc);
  43. }
  44. _[1237]XXX => {
  45. NoOp(Phone from ${CALLERID(number)} phones to ${EXTEN});
  46. if ("${SIPPEER(${EXTEN},status)}" = "") {
  47. Playback(incorect-number); //Номер не существует
  48. Playback(check-number-dial-again);
  49. Hangup();
  50. }
  51. if ("${SIPPEER(${EXTEN},status):0:2}" = "UN") {
  52. Playback(number); //Номер
  53. Playback(ne-podkljuchen); //Не подключен
  54. Hangup();
  55. }
  56. Set(fname=${UNIQUEID}.wav); //Задаем имя файла
  57. MixMonitor(/backup/calls/${fname}); //Запись разговоров
  58. Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
  59. Set(redirect=${ODBC_SIPUSERS(redirect,${EXTEN})}); //Присваеваем переменную redirect
  60. NoOp(${CALLERID(ALL)});
  61. if ("${redirect}" = "" | "${redirect}" = "NULL" ) {
  62. Dial(SIP/${EXTEN},60,tTwS(1800)); //Звонок на внутренний
  63. Playback(vm-nobodyavail);
  64. HangUp(); //Ложим трубку
  65. }
  66. Dial(SIP/${EXTEN},20,tTwS(1800));
  67. Playback(transfer);
  68. Dial(${redirect},,tTwS(1800));
  69. HangUp();
  70. };
  71. _999 => {
  72. Goto(fax-rx,receive,1); //Переход в контекст факса
  73. }
  74. };
  75.  
  76. context outgoing_gorod {
  77. _0X => {
  78. Set(fname=${UNIQUEID}.wav); //Задаем имя файла
  79. MixMonitor(/backup/calls/${fname}); //Запись разговоров
  80. Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
  81. Noop(${CALLERID(all)});
  82. Set(Number=${ODBC_SIPUSERS(number,${CALLERID(number)})}); //Присваеваем переменную number
  83. Dial(SIP/${EXTEN}@${Number}-dial,,rtTS(1800)); //Отправляем вызов в поток
  84. // Dial(SIP/${EXTEN}@593111-dial,,tTS(1800)); //Отправляем вызов в поток
  85. HangUp(); //Ложим трубку
  86. };
  87. _0XX => {
  88. Set(fname=${UNIQUEID}.wav); //Задаем имя файла
  89. MixMonitor(/backup/calls/${fname}); //Запись разговоров
  90. Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
  91. Noop(${CALLERID(all)});
  92. Set(Number=${ODBC_SIPUSERS(number,${CALLERID(number)})}); //Присваеваем переменную number
  93. Dial(SIP/${EXTEN}@${Number}-dial,,tTS(1800)); //Отправляем вызов в поток
  94. // Dial(SIP/${EXTEN}@593111-dial,,tTS(1800)); //Отправляем вызов в поток
  95. HangUp(); //Ложим трубку
  96. };
  97. _XXXXXX => {
  98. Set(fname=${UNIQUEID}.wav); //Задаем имя файла
  99. MixMonitor(/backup/calls/${fname}); //Запись разговоров
  100. Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
  101. Noop(${CALLERID(all)});
  102. Set(Number=${ODBC_SIPUSERS(number,${CALLERID(number)})}); //Присваеваем переменную number
  103. Dial(SIP/${EXTEN}@${Number}-dial,,tTS(1800)); //Отправляем вызов в поток
  104. // Dial(SIP/${EXTEN}@593111-dial,,tTS(1800)); //Отправляем вызов в поток
  105. HangUp(); //Ложим трубку
  106. };
  107. _83452XXXXXX => {
  108. Set(fname=${UNIQUEID}.wav); //Задаем имя файла
  109. MixMonitor(/backup/calls/${fname}); //Запись разговоров
  110. Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
  111. Noop(${CALLERID(all)});
  112. Set(Number=${ODBC_SIPUSERS(number,${CALLERID(number)})}); //Присваеваем переменную number
  113. Dial(SIP/${EXTEN}@${Number}-dial,,tTS(1800)); //Отправляем вызов в поток
  114. // Dial(SIP/${EXTEN}@593111-dial,,tTS(1800)); //Отправляем вызов в поток
  115. HangUp(); //Ложим трубку
  116. };
  117. }
  118.  
  119. context outgoing_gorod_mejgorod_gsm {
  120. _8[3456789]. => {
  121. Set(fname=${UNIQUEID}.wav); //Задаем имя файла
  122. MixMonitor(/backup/calls/${fname}); //Запись разговоров
  123. Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
  124. Noop(${CALLERID(all)});
  125. Set(Number=${ODBC_SIPUSERS(number,${CALLERID(number)})}); //Присваеваем переменную number
  126. Dial(SIP/${EXTEN}@${Number}-dial,,S(1800)); //Отправляем вызов в поток
  127. // Dial(SIP/${EXTEN}@593111-dial,,S(1800)); //Отправляем вызов в поток
  128. HangUp(); //Ложим трубку
  129. };
  130. _810. => {
  131. Playback(izvinite&ustanovleno); //Номер не существует
  132. // Playback(incorect-number); //Номер не существует
  133. System(echo "С номера: ${CALLERID(number)} дата: ${STRFTIME(${EPOCH},,%d.%m.%Y)} время: ${STRFTIME(${EPOCH},,%H:%M)} на номер: ${EXTEN}" | mutt -s "8-10 ALARM!!!" -- [email protected] &);
  134. }
  135. }
  136.  
  137. context outgoing_gorod_mejgorod_gsm_block {
  138. _8[3456789]. => {
  139. Playback(izvinite); //Говорим Извините
  140. Playback(feature-not-avail-line); //Говорим на данной линии услугой воспользоваться не возможно
  141. Playback(to-contact-tech-support); //Говорим для связи с технической поддержкой
  142. Playback(naberite); //Говорим Наберите
  143. SayNumber(911); //Произносим цифры
  144. HangUp(); //Ложим трубку
  145. };
  146. };
  147.  
  148. context blind_transfer_ringback {
  149. _[1237]XXX => {
  150. NoOp("Blindtransfer: " ${BLINDTRANSFER});
  151. Set(SrcChanel=${CUT(BLINDTRANSFER,,1)});
  152. Dial(SIP/${EXTEN},30,mtTgS(7200));
  153. NoOp("DIALSTATUS="${DIALSTATUS});
  154. if("${DIALSTATUS}" = "ANSWER") {
  155. Hangup();
  156. }
  157. else {
  158. Dial(${SrcChanel},45,mtTrS(7200));
  159. Playback(vm-nobodyavail&vm-goodbye); //Говорим "Не кто не может вам ответить, досвидание"
  160. Hangup();
  161. }
  162. };
  163. };
  164.  
  165. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  166. /////////////////////////ВХОДЯЩАЯ СВЯЗЬ////////////////////////////////////////////////////////////////////////////////////////
  167. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  168.  
  169. context incoming {
  170. includes {
  171. // incoming_menu;
  172. incoming_local;
  173. incoming_gorod;
  174. }
  175. }
  176.  
  177. context incoming_local {
  178. _1000 => {
  179. NoOp(Phone from ${CALLERID(number)} phones to conference);
  180. Set(MEETME_RECORDINGFILE=/backup/meetme/conference_recording-${EPOCH}-${USER});
  181. MeetMe(1000,rMpc);
  182. }
  183. _[1237]XXX => {
  184. NoOp(internal phones ${EXTEN});
  185. if ("${SIPPEER(${EXTEN},status)}" = "") {
  186. Playback(incorect-number); //Номер не существует
  187. Hangup();
  188. };
  189. if ("${SIPPEER(${EXTEN},status):0:2}" = "UN") {
  190. Playback(number); //Номер
  191. Playback(ne-podkljuchen); //Не подключен
  192. Hangup();
  193. };
  194. Set(fname=${UNIQUEID}.wav); //Задаем имя файла
  195. MixMonitor(/backup/calls/${fname}); //Запись разговоров
  196. Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
  197. Set(redirect=${ODBC_SIPUSERS(redirect,${EXTEN})}); //Присваеваем переменную redirect
  198. if ("${redirect}" = "" | "${redirect}" = "NULL" ) {
  199. Dial(SIP/${EXTEN},60,tTwrS(1800)); //Звонок на внутренний
  200. Playback(vm-nobodyavail);
  201. HangUp(); //Ложим трубку
  202. }
  203. Dial(SIP/${EXTEN},20,tTwrS(1800));
  204. Playback(transfer);
  205. NoOp(${redirect});
  206. Dial(${redirect},,S(1800));
  207. HangUp();
  208. }
  209. };
  210.  
  211. context incoming_gorod {
  212. _593111 => {
  213. Goto(incoming_ivr_priem,ivr_priem,1);
  214. }
  215.  
  216. _593222 => {
  217. Set(CHANNEL(language)=ru); //Установка языка Русского
  218. Set(fname=${UNIQUEID}.wav); //Запись разговоров
  219. NoOp(${CALLERID(number)}); //Выводим в консоль
  220. MixMonitor(/backup/calls/${fname}); //Запись разговоров
  221. Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
  222. Dial(SIP/3105,60,tTwrS(1800));
  223. // Playback(vm-nobodyavail);
  224. HangUp();
  225. }
  226.  
  227. -- _693222 => {
  228. -- Set(CHANNEL(language)=ru); //Установка языка Русского
  229. -- Set(fname=${UNIQUEID}.wav); //Запись разговоров
  230. -- NoOp(${CALLERID(number)}); //Выводим в консоль
  231. -- MixMonitor(/backup/calls/${fname}); //Запись разговоров
  232. -- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
  233. -- Dial(SIP/1106&SIP/1120,60,tTwrS(1800));
  234. -- Playback(vm-nobodyavail);
  235. -- HangUp();
  236. -- }
  237.  
  238. _696767 => {
  239. // Goto(incoming_local,1153,1);
  240. Goto(incoming_ivr_snp,ivr_snp,1);
  241. }
  242. _696396 => {
  243. Goto(incoming_local,1102,1);
  244. }
  245.  
  246. _693369 => {
  247. Goto(incoming_ivr_priem,ivr_priem,1);
  248. }
  249.  
  250. _593920 => {
  251. // Goto(incoming_ivr_priem_poleklinika,ivr_priem,1);
  252. Goto(incoming_local,2152,1);
  253. }
  254. _593556 => {
  255. Goto(incoming_local,2142,1);
  256. }
  257. _593557 => {
  258. // Goto(incoming_local,144,1);
  259. Set(CHANNEL(language)=ru); //Установка языка Русского
  260. Set(fname=${UNIQUEID}.wav); //Запись разговоров
  261. NoOp(${CALLERID(number)}); //Выводим в консоль
  262. MixMonitor(/backup/calls/${fname}); //Запись разговоров
  263. Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
  264. Dial(SIP/2144,10,tTwrS(1800));
  265. Dial(SIP/2141,50,tTwrS(1800));
  266. HangUp();
  267. }
  268. _593558 => {
  269. Goto(incoming_ivr_priem_poleklinika,ivr_priem,1);
  270. }
  271. _593560 => {
  272. Goto(incoming_local,2113,1);
  273. }
  274. _593768 => {
  275. Goto(incoming_local,2104,1);
  276. }
  277. _593913 => {
  278. Goto(incoming_local,2116,1);
  279. }
  280. _593915 => {
  281. Goto(incoming_local,2140,1);
  282. }
  283. _593916 => {
  284. Goto(incoming_local,2126,1);
  285. }
  286. _593917 => {
  287. Goto(incoming_local,2136,1);
  288. }
  289. _593918 => {
  290. Goto(incoming_local,2103,1);
  291. }
  292. _593919 => {
  293. Goto(incoming_local,2129,1);
  294. }
  295. _593921 => {
  296. Goto(incoming_local,2137,1);
  297. }
  298. _593922 => {
  299. Goto(incoming_local,2120,1);
  300. }
  301. _593923 => {
  302. Goto(incoming_local,2133,1);
  303. }
  304. _593444 => {
  305. Goto(incoming_ivr_reg,ivr_reg,1);
  306. }
  307. _593960 => {
  308. Goto(incoming_ivr_fire,ivr_fire,1);
  309. }
  310. _593991 => {
  311. Goto(incoming_local,2107,1);
  312. }
  313. _593992 => {
  314. // Goto(incoming_ivr_priem_poleklinika,ivr_priem,1);
  315. Goto(incoming_local,2127,1);
  316. }
  317. _693396 => {
  318. Goto(incoming_local,1102,1);
  319. }
  320. _696060 => {
  321. Set(CHANNEL(language)=ru); //Установка языка Русского
  322. Set(fname=${UNIQUEID}.wav); //Запись разговоров
  323. NoOp(${CALLERID(number)}); //Выводим в консоль
  324. MixMonitor(/backup/calls/${fname}); //Запись разговоров
  325. Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
  326. Background(ob19/ivr-1&ob19/ivr-2);
  327. Dial(SIP/1107,,tTwrS(1800));
  328. // Dial(SIP/1107&SIP/1132&SIP/1133&SIP/1134&SIP/1135,60,tTwrS(1800));
  329. Queue(PRIEM,mTt,,,);
  330. HangUp();
  331. }
  332.  
  333. // _8002347219 => {
  334. // Goto(incoming_ivr_reg,ivr_reg,1);
  335. // }
  336. }
  337.  
  338. context incoming_ivr { //593444
  339. includes {
  340. incoming_local;
  341. }
  342. ivr => {
  343. // GotoIfTime(8:00-22:00,*,09,jun?open,1);
  344. GotoIfTime(8:00-20:00,mon-fri,*,*?open,1);
  345. GotoIfTime(9:00-14:00,sat-sun,*,*?open,1);
  346. GotoIfTime(*,*,*,*?close,1);
  347. }
  348. open => {
  349. NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
  350. NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
  351. Set(LenCallerID=${LEN(${CALLERID(number)})});
  352. if ("${LenCallerID}" < 12 ) {
  353. if ("${LenCallerID}" = "11" ) {
  354. if ("${CALLERID(number):1}" = "7" ) {
  355. Set(CALLERID(number)=8${CALLERID(number):-1});
  356. }
  357. }
  358. if ("${LenCallerID}" = "10" ) {
  359. Set(CALLERID(number)=8${CALLERID(number)});
  360. }
  361. if ("${LenCallerID}" = "6" ) {
  362. Set(CALLERID(number)=83452${CALLERID(number)});
  363. }
  364. }
  365. NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
  366. NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
  367. Answer();
  368. Set(CHANNEL(language)=ru); //Установка языка Русского
  369. Set(fname=${UNIQUEID}.wav); //Запись разговоров
  370. NoOp(${CALLERID(number)}); //Выводим в консоль
  371. MixMonitor(/backup/calls/${fname}); //Запись разговоров
  372. Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
  373. Background(ob19/ivr-1&ob19/ivr-2);
  374. //Говорит "Здравствуйте Вы позвонили в об19, наберите внутренний или дождитесь ответа"
  375. WaitExten(3);
  376. Dial(SIP/2109,,tTwrS(1800));
  377. HangUp();
  378. }
  379. close => {
  380. NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
  381. NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
  382. Answer();
  383. Set(CHANNEL(language)=ru); //Установка языка Русского
  384. Set(fname=${UNIQUEID}.wav); //Запись разговоров
  385. NoOp(${CALLERID(number)}); //Выводим в консоль
  386. MixMonitor(/backup/calls/${fname}); //Запись разговоров
  387. Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
  388. Background(ob19/ivr-1&ob19/reg-5&ob19/reg-6&ob19/reg-7);
  389. //Говорит "Здравствуйте Вы позвонили в об19, к сожалению вы позвонили в не рабочее время, просьба перезвонить в будни, всего вам доброго."
  390. HangUp();
  391. }
  392.  
  393. };
  394.  
  395. ///////////////////////////////////РЕГИСТРАТУРА/////////////////////////////////////////////////
  396.  
  397. context incoming_ivr_reg { //593444
  398. includes {
  399. incoming_menu_reg;
  400. // incoming_local;
  401. }
  402. ivr_reg => {
  403. // Gotoiftime(8:00-14:00,*,3-4,may?open,1);
  404. // Gotoiftime(8:00-20:00,*,6-8,may?open,1);
  405. // Gotoiftime(8:00-14:00,*,10-11,may?open,1);
  406. // Gotoiftime(*,*,1-11,may?close,1);
  407. // GotoIfTime(8:00-22:00,*,09,jun *,*?open,1);
  408.  
  409. GotoIfTime(8:00-14:00,*,3,jan?open,1);
  410. GotoIfTime(8:00-14:00,*,6,jan?open,1);
  411. GotoIfTime(*,*,1-7,jan?close,1);
  412.  
  413. GotoIfTime(8:00-23:59,mon-fri,*,*?open,1);
  414. // GotoIfTime(16:30-19:00,mon-fri,*,*?open_1630,1);
  415. GotoIfTime(8:00-23:59,sat-sun,*,*?open,1);
  416. GotoIfTime(*,*,*,*?close,1);
  417. }
  418. open => {
  419. NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
  420. NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
  421. Set(LenCallerID=${LEN(${CALLERID(number)})});
  422. if ("${LenCallerID}" < 12 ) {
  423. if ("${LenCallerID}" = "11" ) {
  424. if ("${CALLERID(number):1}" = "7" ) {
  425. Set(CALLERID(number)=8${CALLERID(number):-1});
  426. }
  427. }
  428. if ("${LenCallerID}" = "10" ) {
  429. Set(CALLERID(number)=8${CALLERID(number)});
  430. }
  431. if ("${LenCallerID}" = "6" ) {
  432. Set(CALLERID(number)=83452${CALLERID(number)});
  433. }
  434. }
  435. NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
  436. NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
  437. Answer(1);
  438. Set(CHANNEL(language)=ru); //Установка языка Русского
  439. Set(fname=${UNIQUEID}.wav); //Запись разговоров
  440. NoOp(${CALLERID(number)}); //Выводим в консоль
  441. MixMonitor(/backup/calls/${fname}); //Запись разговоров
  442. Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
  443. BackGround(ob19/reg-01&ob19/snp-00);
  444. //Говорит "Здравствуйте. Вы позвонили в call-центр областной больницы №19. Спасибо за Ваш звонок. Вам ответит первый доступный оператор."
  445. WaitExten(3);
  446. Queue(REG,mTt,,,);
  447. HangUp();
  448. }
  449.  
  450. *************************************************************************************************************************
  451.  
  452. open_1630 => {
  453. NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
  454. NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
  455. Set(LenCallerID=${LEN(${CALLERID(number)})});
  456. if ("${LenCallerID}" < 12 ) {
  457. if ("${LenCallerID}" = "11" ) {
  458. if ("${CALLERID(number):1}" = "7" ) {
  459. Set(CALLERID(number)=8${CALLERID(number):-1});
  460. }
  461. }
  462. if ("${LenCallerID}" = "10" ) {
  463. Set(CALLERID(number)=8${CALLERID(number)});
  464. }
  465. if ("${LenCallerID}" = "6" ) {
  466. Set(CALLERID(number)=83452${CALLERID(number)});
  467. }
  468. }
  469. NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
  470. NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
  471. // Answer(1);
  472. Set(CHANNEL(language)=ru); //Установка языка Русского
  473. Set(fname=${UNIQUEID}.wav); //Запись разговоров
  474. NoOp(${CALLERID(number)}); //Выводим в консоль
  475. MixMonitor(/backup/calls/${fname}); //Запись разговоров
  476. Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
  477. // BackGround(ob19/reg-01&ob19/snp-00);
  478. //Говорит "Здравствуйте. Вы позвонили в call-центр областной больницы №19. Спасибо за Ваш звонок. Вам ответит первый доступный оператор."
  479. // Wait(3);
  480. // Dial(SIP/2109,,tTwrS(1800));
  481. Dial(SIP/2160,,tTwrS(1800));
  482. HangUp();
  483. }
  484.  
  485. close => {
  486. NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
  487. NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
  488. Answer();
  489. Set(CHANNEL(language)=ru); //Установка языка Русского
  490. Set(fname=${UNIQUEID}.wav); //Запись разговоров
  491. NoOp(${CALLERID(number)}); //Выводим в консоль
  492. MixMonitor(/backup/calls/${fname}); //Запись разговоров
  493. Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
  494. Background(ob19/reg-01&ob19/snp-00&ob19/reg-5&ob19/reg-6&ob19/reg-7);
  495. //Говорит "Здравствуйте Вы позвонили в регистратуру об19, к сожалению вы позвогнили в не рабочее время, просьба перезвонить в будни, всего вам доброго."
  496. HangUp();
  497. }
  498. };
  499.  
  500. context incoming_menu_reg {
  501. _1 => {
  502. Queue(SNP,mTt,,,);
  503. Hangup();
  504. }
  505. _i => {
  506. Playback(incorect-number&ob19/reg-3); //Номер не существует
  507. Queue(REG,mTt,,,);
  508. Hangup();
  509. }
  510. }
  511.  
  512. ///////////////////////////////////НЕОТЛОЖКА/////////////////////////////////////////////////
  513.  
  514. context incoming_ivr_snp { //596767
  515. ivr_snp => {
  516. NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
  517. NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
  518. Set(LenCallerID=${LEN(${CALLERID(number)})});
  519. if ("${LenCallerID}" < 12 ) {
  520. if ("${LenCallerID}" = "11" ) {
  521. if ("${CALLERID(number):1}" = "7" ) {
  522. Set(CALLERID(number)=8${CALLERID(number):-1});
  523. }
  524. }
  525. if ("${LenCallerID}" = "10" ) {
  526. Set(CALLERID(number)=8${CALLERID(number)});
  527. }
  528. if ("${LenCallerID}" = "6" ) {
  529. Set(CALLERID(number)=83452${CALLERID(number)});
  530. }
  531. }
  532. NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
  533. NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
  534. Answer();
  535. Set(CHANNEL(language)=ru); //Установка языка Русского
  536. Set(fname=${UNIQUEID}.wav); //Запись разговоров
  537. NoOp(${CALLERID(number)}); //Выводим в консоль
  538. MixMonitor(/backup/calls/${fname}); //Запись разговоров
  539. Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
  540. PlayBack(ob19/snp-01);
  541. //Говорит "Здравствуйте. Вы позвонили в службу неотложной помощи областной больницы №19. Спасибо за Ваш звонок. Вам ответит первый доступный диспетчер"
  542. Queue(SNP,mTt,,,);
  543. HangUp();
  544. }
  545. };
  546.  
  547. ///////////////////////////////////ГОРЯЧАЯ ЛИНИЯ/////////////////////////////////////////////////
  548.  
  549. context incoming_ivr_fire { //342508
  550. includes {
  551. // incoming_menu_fire;
  552. incoming_local;
  553. }
  554. ivr_fire => {
  555. // GotoIfTime(8:00-22:00,*,09,jun?open,1);
  556. // GotoIfTime(*,*,1-10,jan?close,1);
  557. GotoIfTime(8:00-20:00,mon-fri,*,*?open,1);
  558. GotoIfTime(9:00-14:00,sat-sun,*,*?open,1);
  559. GotoIfTime(*,*,*,*?close,1);
  560. }
  561. open => {
  562. NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
  563. NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
  564. Set(LenCallerID=${LEN(${CALLERID(number)})});
  565. if ("${LenCallerID}" < 12 ) {
  566. if ("${LenCallerID}" = "11" ) {
  567. if ("${CALLERID(number):1}" = "7" ) {
  568. Set(CALLERID(number)=8${CALLERID(number):-1});
  569. }
  570. }
  571. if ("${LenCallerID}" = "10" ) {
  572. Set(CALLERID(number)=8${CALLERID(number)});
  573. }
  574. if ("${LenCallerID}" = "6" ) {
  575. Set(CALLERID(number)=83452${CALLERID(number)});
  576. }
  577. }
  578. NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
  579. NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
  580. Answer();
  581. Set(CHANNEL(language)=ru); //Установка языка Русского
  582. Set(fname=${UNIQUEID}.wav); //Запись разговоров
  583. NoOp(${CALLERID(number)}); //Выводим в консоль
  584. MixMonitor(/backup/calls/${fname}); //Запись разговоров
  585. Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
  586. Background(ob19/fire-1);
  587. //Говорит "Здравствуйте Вы позвонили на горячую линию об19"
  588. Queue(REG_1530,mTt,,,);
  589. HangUp();
  590. }
  591. close => {
  592. NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
  593. NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
  594. Answer();
  595. Set(CHANNEL(language)=ru); //Установка языка Русского
  596. Set(fname=${UNIQUEID}.wav); //Запись разговоров
  597. NoOp(${CALLERID(number)}); //Выводим в консоль
  598. MixMonitor(/backup/calls/${fname}); //Запись разговоров
  599. Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
  600. Background(ob19/fire-1&ob19/reg-5&ob19/reg-6&ob19/reg-7);
  601. //Говорит "Здравствуйте Вы позвонили на горячую линию об19, к сожалению вы позвогнили в не рабочее время, просьба перезвонить в будни, всего вам доброго."
  602. HangUp();
  603. }
  604. };
  605.  
  606.  
  607. context incoming_ivr_priem { //342508
  608. includes {
  609. incoming_menu_priem;
  610. incoming_local;
  611. }
  612. ivr_priem => {
  613. // GotoIfTime(07:30-20:00,*,09,jun?open,1);
  614.  
  615. GotoIfTime(8:00-14:00,*,3,jan?open,1);
  616. GotoIfTime(8:00-14:00,*,6,jan?open,1);
  617. GotoIfTime(*,*,1-7,jan?close,1);
  618.  
  619.  
  620. GotoIfTime(07:30-20:00,mon-fri,*,*?open,1);
  621. GotoIfTime(9:00-14:00,sat-sun,*,*?open,1);
  622. GotoIfTime(*,*,*,*?close,1);
  623. }
  624. open => {
  625. NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
  626. NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
  627. Set(LenCallerID=${LEN(${CALLERID(number)})});
  628. if ("${LenCallerID}" < 12 ) {
  629. if ("${LenCallerID}" = "11" ) {
  630. if ("${CALLERID(number):1}" = "7" ) {
  631. Set(CALLERID(number)=8${CALLERID(number):-1});
  632. }
  633. }
  634. if ("${LenCallerID}" = "10" ) {
  635. Set(CALLERID(number)=8${CALLERID(number)});
  636. }
  637. if ("${LenCallerID}" = "6" ) {
  638. Set(CALLERID(number)=83452${CALLERID(number)});
  639. }
  640. }
  641. NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
  642. NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
  643. Answer();
  644. Set(CHANNEL(language)=ru); //Установка языка Русского
  645. Set(fname=${UNIQUEID}.wav); //Запись разговоров
  646. NoOp(${CALLERID(number)}); //Выводим в консоль
  647. MixMonitor(/backup/calls/${fname}); //Запись разговоров
  648. Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
  649. Background(ob19/priem-1&ob19/priem-2&ob19/priem-fax);
  650. //Говорит "Здравствуйте Вы позвонили в приемную об19, наберите внутренний или дождитесь ответ секретаря, для отправки факса нажмите 9"
  651. Queue(PRIEM,mTt,,,);
  652. HangUp();
  653. }
  654. close => {
  655. NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
  656. NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
  657. Answer();
  658. Set(CHANNEL(language)=ru); //Установка языка Русского
  659. Set(fname=${UNIQUEID}.wav); //Запись разговоров
  660. NoOp(${CALLERID(number)}); //Выводим в консоль
  661. MixMonitor(/backup/calls/${fname}); //Запись разговоров
  662. Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
  663. Background(ob19/priem-1&ob19/reg-5&ob19/reg-6);
  664. //Говорит "Здравствуйте Вы позвонили в приемную об19, к сожалению вы позвогнили в не рабочее время, просьба перезвонить в будни"
  665. Background(ob19/priem-fax);
  666. //Говорит "для отправки факса наждмите 9, всего вам доброго."
  667. WaitExten(3);
  668. Playback(ob19/reg-7);
  669. HangUp();
  670. }
  671. };
  672.  
  673. context incoming_ivr_priem_poleklinika { //342508
  674. includes {
  675. incoming_menu_priem;
  676. incoming_local;
  677. }
  678. ivr_priem => {
  679. // GotoIfTime(8:00-20:00,*,09,jun?open,1);
  680.  
  681. GotoIfTime(8:00-14:00,*,3,jan?open,1);
  682. GotoIfTime(8:00-14:00,*,6,jan?open,1);
  683. GotoIfTime(*,*,1-7,jan?close,1);
  684.  
  685.  
  686. GotoIfTime(8:00-20:00,mon-fri,*,*?open,1);
  687. GotoIfTime(9:00-14:00,sat-sun,*,*?open,1);
  688. GotoIfTime(*,*,*,*?close,1);
  689. }
  690. open => {
  691. NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
  692. NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
  693. Set(LenCallerID=${LEN(${CALLERID(number)})});
  694. if ("${LenCallerID}" < 12 ) {
  695. if ("${LenCallerID}" = "11" ) {
  696. if ("${CALLERID(number):1}" = "7" ) {
  697. Set(CALLERID(number)=8${CALLERID(number):-1});
  698. }
  699. }
  700. if ("${LenCallerID}" = "10" ) {
  701. Set(CALLERID(number)=8${CALLERID(number)});
  702. }
  703. if ("${LenCallerID}" = "6" ) {
  704. Set(CALLERID(number)=83452${CALLERID(number)});
  705. }
  706. }
  707. NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
  708. NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
  709. Answer();
  710. Set(CHANNEL(language)=ru); //Установка языка Русского
  711. Set(fname=${UNIQUEID}.wav); //Запись разговоров
  712. NoOp(${CALLERID(number)}); //Выводим в консоль
  713. MixMonitor(/backup/calls/${fname}); //Запись разговоров
  714. Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
  715. Background(ob19/priem-1-1&ob19/priem-2&ob19/priem-fax);
  716. //Говорит "Здравствуйте Вы позвонили в приемную об19, наберите внутренний или дождитесь ответ секретаря, для отправки факса нажмите 9"
  717. Dial(SIP/2101,20,tTwrS(1800));
  718. Playback(transfer);
  719. Dial(SIP/2102,40,tTwrS(1800));
  720. HangUp();
  721. }
  722. close => {
  723. NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
  724. NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
  725. Answer();
  726. Set(CHANNEL(language)=ru); //Установка языка Русского
  727. Set(fname=${UNIQUEID}.wav); //Запись разговоров
  728. NoOp(${CALLERID(number)}); //Выводим в консоль
  729. MixMonitor(/backup/calls/${fname}); //Запись разговоров
  730. Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
  731. Background(ob19/priem-1-1&ob19/reg-5&ob19/reg-6);
  732. //Говорит "Здравствуйте Вы позвонили в приемную об19, к сожалению вы позвогнили в не рабочее время, просьба перезвонить в будни"
  733. Background(ob19/priem-fax);
  734. //Говорит "для отправки факса наждмите 9, всего вам доброго."
  735. WaitExten(3);
  736. Playback(ob19/reg-7);
  737. HangUp();
  738. }
  739. };
  740.  
  741. context incoming_menu_priem {
  742. _9 => {
  743. Goto(fax-rx,receive,1); //Переход в контекст факса
  744. }
  745. _i => {
  746. Playback(incorect-number); //Номер не существует
  747. Dial(SIP/2101,30,tTwrS(1800));
  748. Playback(transfer);
  749. Dial(SIP/2102,60,tTwrS(1800));
  750. Hangup();
  751. }
  752. }
  753.  
  754. context fax-rx {
  755. receive => { //Факс
  756. NoOp(FAX ${CHANNEL});
  757. Set(fileName=fax-${CDR(uniqueid)}-${CALLERID(number)}.tif);
  758. Set(FAXOPT(localstationid)=UPK Avtomobilist);
  759. Set(FAXOPT(headerinfo)=Received by ${CALLERID(number)} ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M)});
  760. Set(FAXOPT(maxrate)=14400);
  761. Set(FAXOPT(minrate)=4800);
  762. NoOp(FAXOPT(ecm) : ${FAXOPT(ecm)});
  763. NoOp(FAXOPT(headerinfo) : ${FAXOPT(headerinfo)});
  764. NoOp(FAXOPT(localstationid) : ${FAXOPT(localstationid)});
  765. NoOp(FAXOPT(maxrate) : ${FAXOPT(maxrate)});
  766. NoOp(FAXOPT(minrate) : ${FAXOPT(minrate)});
  767. NoOp(**** RECEIVING FAX : ${fileName} ****);
  768. if ("${BLINDTRANSFER:0:4}" = "SIP/") {
  769. Set(jabber=${ODBC_SIPUSERS(jabber,${BLINDTRANSFER:0:8})}); //Присваеваем переменную jabber
  770. };
  771. StopMixMonitor();
  772. ReceiveFAX(/backup/fax/${fileName},fFd);
  773. Hangup();
  774. };
  775. h => {
  776. NoOp(------------------- FAX from ${CALLERID(number)} ------------------);
  777. NoOp(------------------- STATUS ${FAXSTATUS} ${FAXERROR} ------------------);
  778. Set(foo=${STAT(/backup/fax/${fileName})});
  779. if ("${STAT(s,/backup/fax/${fileName})}" = "0") {
  780. MYSQL(Connect connid 127.0.0.1 root GradhhigaM asterisk);
  781. MYSQL(Query r1 ${connid} INSERT INTO `asterisk`.`fax` (`fName`,`fData`,`fromExt`,`dt`,`fStatus`) VALUES('${fileName}', NULL, '${CALLERID(number)}', CURRENT_TIMESTAMP(), '${FAXOPT(status)}'));
  782. MYSQL(Clear ${r1});
  783. MYSQL(Disconnect ${connid});
  784. if ("${jabber}" = "") {
  785. System(echo "ФАКС с номера: ${CALLERID(number)} дата: ${STRFTIME(${EPOCH},,%d.%m.%Y)} время: ${STRFTIME(${EPOCH},,%H:%M)} статус: ${FAXSTATUS} ${FAXERROR}" | mutt -s "AVTO FAX ${CALLERID(number)} Статус ${FAXOPT(status)}" -- [email protected],[email protected] &);
  786. }
  787. else {
  788. System("echo "ФАКС с номера: ${CALLERID(number)} дата: ${STRFTIME(${EPOCH},,%d.%m.%Y)} время: ${STRFTIME(${EPOCH},,%H:%M)} статус: ${FAXOPT(status)} ${FAXERROR}" | mutt -s "AVTO FAX ${CALLERID(number)} Статус ${FAXOPT(status)}" -- [email protected],[email protected],${jabber} &");
  789. };
  790. }
  791. else {
  792. MYSQL(Connect connid 127.0.0.1 root GradLigaM asterisk);
  793. MYSQL(Query r1 ${connid} INSERT INTO `asterisk`.`fax` (`fName`,`fData`,`fromExt`,`dt`,`fStatus`) VALUES('${fileName}', LOAD_FILE('/backup/fax/${fileName}'), '${CALLERID(number)}', CURRENT_TIMESTAMP(), '${FAXOPT(status)}'));
  794. MYSQL(Clear ${r1});
  795. MYSQL(Disconnect ${connid});
  796. if ("${jabber}" = "") {
  797. System("echo "ФАКС с номера: ${CALLERID(number)} дата: ${STRFTIME(${EPOCH},,%d.%m.%Y)} время: ${STRFTIME(${EPOCH},,%H:%M)} статус: ${FAXOPT(status)} ${FAXERROR}" | mutt -s "AVTO FAX ${CALLERID(number)} Статус ${FAXOPT(status)}" -a /backup/fax/${fileName} -- [email protected],,[email protected] &");
  798. }
  799. else {
  800. System("echo "ФАКС с номера: ${CALLERID(number)} дата: ${STRFTIME(${EPOCH},,%d.%m.%Y)} время: ${STRFTIME(${EPOCH},,%H:%M)} статус: ${FAXOPT(status)} ${FAXERROR}" | mutt -s "AVTO FAX ${CALLERID(number)} Статус ${FAXOPT(status)}" -a /backup/fax/${fileName} -- [email protected],[email protected],${jabber} &");
  801. };
  802. };
  803. };
  804. };
  805.  
  806. context help {
  807. _911 => {
  808. System("echo "Набрали 911 с номера: ${CALLERID(number)} дата: ${STRFTIME(${EPOCH},,%d.%m.%Y)} время: ${STRFTIME(${EPOCH},,%H:%M)}" | mutt -s "OB19 HELP ${CALLERID(number)}" -- [email protected] &");
  809. Dial(SIP/608029@593444-dial,60,tTwrS(1800));
  810. };
  811. };
  812.  
  813. context pickup {
  814. _**xxx => {
  815. Set(context=${ODBC_SIPUSERS(context,${EXTEN})}); //Присваеваем переменную context
  816. PickUp(${EXTEN:2}@${context});
  817. };
  818. };
  819.  
  820. context queue {
  821. _*101 => {
  822. NoOp(${CALLERID(number)});
  823. PauseQueueMember(,SIP/${CALLERID(number)});
  824. UserEvent(RefreshQueue);
  825. WaitExten(1);
  826. Playback(vm-extension);
  827. SayDigits(${CALLERID(number)});
  828. Playback(dictate/paused);
  829. WaitExten(1);
  830. Hangup;
  831. };
  832. _*102 => {
  833. UnpauseQueueMember(,SIP/${CALLERID(number)});
  834. Playback(vm-extension);
  835. SayDigits(${CALLERID(number)});
  836. Playback(dictate/pause);
  837. Playback(cancelled);
  838. WaitExten(1);
  839. Hangup;
  840. };
  841. };
  842.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement