Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////////////ИСХОДЯЩАЯ СВЯЗЬ///////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- context outgoing {
- includes {
- outgoing_local;
- outgoing_gorod;
- outgoing_gorod_mejgorod_gsm_block;
- parkedcalls;
- help;
- pickup;
- // queue;
- }
- }
- context outgoing_mejgorod {
- includes {
- outgoing_local;
- outgoing_gorod;
- outgoing_gorod_mejgorod_gsm;
- parkedcalls;
- help;
- pickup;
- // queue;
- }
- }
- context outgoing_local {
- 666 => {
- MeetMe(666);
- // Answer();
- // SayDigits(8);
- // SayNumber(922);
- // SayDigits(00000);
- // SayNumber(29);
- };
- _1000 => {
- NoOp(Phone from ${CALLERID(number)} phones to conference);
- Set(MEETME_RECORDINGFILE=/backup/meetme/conference_recording-${EPOCH}-${USER});
- MeetMe(1000,rMpc);
- }
- _[1237]XXX => {
- NoOp(Phone from ${CALLERID(number)} phones to ${EXTEN});
- if ("${SIPPEER(${EXTEN},status)}" = "") {
- Playback(incorect-number); //Номер не существует
- Playback(check-number-dial-again);
- Hangup();
- }
- if ("${SIPPEER(${EXTEN},status):0:2}" = "UN") {
- Playback(number); //Номер
- Playback(ne-podkljuchen); //Не подключен
- Hangup();
- }
- Set(fname=${UNIQUEID}.wav); //Задаем имя файла
- MixMonitor(/backup/calls/${fname}); //Запись разговоров
- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
- Set(redirect=${ODBC_SIPUSERS(redirect,${EXTEN})}); //Присваеваем переменную redirect
- NoOp(${CALLERID(ALL)});
- if ("${redirect}" = "" | "${redirect}" = "NULL" ) {
- Dial(SIP/${EXTEN},60,tTwS(1800)); //Звонок на внутренний
- Playback(vm-nobodyavail);
- HangUp(); //Ложим трубку
- }
- Dial(SIP/${EXTEN},20,tTwS(1800));
- Playback(transfer);
- Dial(${redirect},,tTwS(1800));
- HangUp();
- };
- _999 => {
- Goto(fax-rx,receive,1); //Переход в контекст факса
- }
- };
- context outgoing_gorod {
- _0X => {
- Set(fname=${UNIQUEID}.wav); //Задаем имя файла
- MixMonitor(/backup/calls/${fname}); //Запись разговоров
- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
- Noop(${CALLERID(all)});
- Set(Number=${ODBC_SIPUSERS(number,${CALLERID(number)})}); //Присваеваем переменную number
- Dial(SIP/${EXTEN}@${Number}-dial,,rtTS(1800)); //Отправляем вызов в поток
- // Dial(SIP/${EXTEN}@593111-dial,,tTS(1800)); //Отправляем вызов в поток
- HangUp(); //Ложим трубку
- };
- _0XX => {
- Set(fname=${UNIQUEID}.wav); //Задаем имя файла
- MixMonitor(/backup/calls/${fname}); //Запись разговоров
- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
- Noop(${CALLERID(all)});
- Set(Number=${ODBC_SIPUSERS(number,${CALLERID(number)})}); //Присваеваем переменную number
- Dial(SIP/${EXTEN}@${Number}-dial,,tTS(1800)); //Отправляем вызов в поток
- // Dial(SIP/${EXTEN}@593111-dial,,tTS(1800)); //Отправляем вызов в поток
- HangUp(); //Ложим трубку
- };
- _XXXXXX => {
- Set(fname=${UNIQUEID}.wav); //Задаем имя файла
- MixMonitor(/backup/calls/${fname}); //Запись разговоров
- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
- Noop(${CALLERID(all)});
- Set(Number=${ODBC_SIPUSERS(number,${CALLERID(number)})}); //Присваеваем переменную number
- Dial(SIP/${EXTEN}@${Number}-dial,,tTS(1800)); //Отправляем вызов в поток
- // Dial(SIP/${EXTEN}@593111-dial,,tTS(1800)); //Отправляем вызов в поток
- HangUp(); //Ложим трубку
- };
- _83452XXXXXX => {
- Set(fname=${UNIQUEID}.wav); //Задаем имя файла
- MixMonitor(/backup/calls/${fname}); //Запись разговоров
- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
- Noop(${CALLERID(all)});
- Set(Number=${ODBC_SIPUSERS(number,${CALLERID(number)})}); //Присваеваем переменную number
- Dial(SIP/${EXTEN}@${Number}-dial,,tTS(1800)); //Отправляем вызов в поток
- // Dial(SIP/${EXTEN}@593111-dial,,tTS(1800)); //Отправляем вызов в поток
- HangUp(); //Ложим трубку
- };
- }
- context outgoing_gorod_mejgorod_gsm {
- _8[3456789]. => {
- Set(fname=${UNIQUEID}.wav); //Задаем имя файла
- MixMonitor(/backup/calls/${fname}); //Запись разговоров
- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
- Noop(${CALLERID(all)});
- Set(Number=${ODBC_SIPUSERS(number,${CALLERID(number)})}); //Присваеваем переменную number
- Dial(SIP/${EXTEN}@${Number}-dial,,S(1800)); //Отправляем вызов в поток
- // Dial(SIP/${EXTEN}@593111-dial,,S(1800)); //Отправляем вызов в поток
- HangUp(); //Ложим трубку
- };
- _810. => {
- Playback(izvinite&ustanovleno); //Номер не существует
- // Playback(incorect-number); //Номер не существует
- System(echo "С номера: ${CALLERID(number)} дата: ${STRFTIME(${EPOCH},,%d.%m.%Y)} время: ${STRFTIME(${EPOCH},,%H:%M)} на номер: ${EXTEN}" | mutt -s "8-10 ALARM!!!" -- [email protected] &);
- }
- }
- context outgoing_gorod_mejgorod_gsm_block {
- _8[3456789]. => {
- Playback(izvinite); //Говорим Извините
- Playback(feature-not-avail-line); //Говорим на данной линии услугой воспользоваться не возможно
- Playback(to-contact-tech-support); //Говорим для связи с технической поддержкой
- Playback(naberite); //Говорим Наберите
- SayNumber(911); //Произносим цифры
- HangUp(); //Ложим трубку
- };
- };
- context blind_transfer_ringback {
- _[1237]XXX => {
- NoOp("Blindtransfer: " ${BLINDTRANSFER});
- Set(SrcChanel=${CUT(BLINDTRANSFER,,1)});
- Dial(SIP/${EXTEN},30,mtTgS(7200));
- NoOp("DIALSTATUS="${DIALSTATUS});
- if("${DIALSTATUS}" = "ANSWER") {
- Hangup();
- }
- else {
- Dial(${SrcChanel},45,mtTrS(7200));
- Playback(vm-nobodyavail&vm-goodbye); //Говорим "Не кто не может вам ответить, досвидание"
- Hangup();
- }
- };
- };
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////////////ВХОДЯЩАЯ СВЯЗЬ////////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- context incoming {
- includes {
- // incoming_menu;
- incoming_local;
- incoming_gorod;
- }
- }
- context incoming_local {
- _1000 => {
- NoOp(Phone from ${CALLERID(number)} phones to conference);
- Set(MEETME_RECORDINGFILE=/backup/meetme/conference_recording-${EPOCH}-${USER});
- MeetMe(1000,rMpc);
- }
- _[1237]XXX => {
- NoOp(internal phones ${EXTEN});
- if ("${SIPPEER(${EXTEN},status)}" = "") {
- Playback(incorect-number); //Номер не существует
- Hangup();
- };
- if ("${SIPPEER(${EXTEN},status):0:2}" = "UN") {
- Playback(number); //Номер
- Playback(ne-podkljuchen); //Не подключен
- Hangup();
- };
- Set(fname=${UNIQUEID}.wav); //Задаем имя файла
- MixMonitor(/backup/calls/${fname}); //Запись разговоров
- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
- Set(redirect=${ODBC_SIPUSERS(redirect,${EXTEN})}); //Присваеваем переменную redirect
- if ("${redirect}" = "" | "${redirect}" = "NULL" ) {
- Dial(SIP/${EXTEN},60,tTwrS(1800)); //Звонок на внутренний
- Playback(vm-nobodyavail);
- HangUp(); //Ложим трубку
- }
- Dial(SIP/${EXTEN},20,tTwrS(1800));
- Playback(transfer);
- NoOp(${redirect});
- Dial(${redirect},,S(1800));
- HangUp();
- }
- };
- context incoming_gorod {
- _593111 => {
- Goto(incoming_ivr_priem,ivr_priem,1);
- }
- _593222 => {
- Set(CHANNEL(language)=ru); //Установка языка Русского
- Set(fname=${UNIQUEID}.wav); //Запись разговоров
- NoOp(${CALLERID(number)}); //Выводим в консоль
- MixMonitor(/backup/calls/${fname}); //Запись разговоров
- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
- Dial(SIP/3105,60,tTwrS(1800));
- // Playback(vm-nobodyavail);
- HangUp();
- }
- -- _693222 => {
- -- Set(CHANNEL(language)=ru); //Установка языка Русского
- -- Set(fname=${UNIQUEID}.wav); //Запись разговоров
- -- NoOp(${CALLERID(number)}); //Выводим в консоль
- -- MixMonitor(/backup/calls/${fname}); //Запись разговоров
- -- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
- -- Dial(SIP/1106&SIP/1120,60,tTwrS(1800));
- -- Playback(vm-nobodyavail);
- -- HangUp();
- -- }
- _696767 => {
- // Goto(incoming_local,1153,1);
- Goto(incoming_ivr_snp,ivr_snp,1);
- }
- _696396 => {
- Goto(incoming_local,1102,1);
- }
- _693369 => {
- Goto(incoming_ivr_priem,ivr_priem,1);
- }
- _593920 => {
- // Goto(incoming_ivr_priem_poleklinika,ivr_priem,1);
- Goto(incoming_local,2152,1);
- }
- _593556 => {
- Goto(incoming_local,2142,1);
- }
- _593557 => {
- // Goto(incoming_local,144,1);
- Set(CHANNEL(language)=ru); //Установка языка Русского
- Set(fname=${UNIQUEID}.wav); //Запись разговоров
- NoOp(${CALLERID(number)}); //Выводим в консоль
- MixMonitor(/backup/calls/${fname}); //Запись разговоров
- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
- Dial(SIP/2144,10,tTwrS(1800));
- Dial(SIP/2141,50,tTwrS(1800));
- HangUp();
- }
- _593558 => {
- Goto(incoming_ivr_priem_poleklinika,ivr_priem,1);
- }
- _593560 => {
- Goto(incoming_local,2113,1);
- }
- _593768 => {
- Goto(incoming_local,2104,1);
- }
- _593913 => {
- Goto(incoming_local,2116,1);
- }
- _593915 => {
- Goto(incoming_local,2140,1);
- }
- _593916 => {
- Goto(incoming_local,2126,1);
- }
- _593917 => {
- Goto(incoming_local,2136,1);
- }
- _593918 => {
- Goto(incoming_local,2103,1);
- }
- _593919 => {
- Goto(incoming_local,2129,1);
- }
- _593921 => {
- Goto(incoming_local,2137,1);
- }
- _593922 => {
- Goto(incoming_local,2120,1);
- }
- _593923 => {
- Goto(incoming_local,2133,1);
- }
- _593444 => {
- Goto(incoming_ivr_reg,ivr_reg,1);
- }
- _593960 => {
- Goto(incoming_ivr_fire,ivr_fire,1);
- }
- _593991 => {
- Goto(incoming_local,2107,1);
- }
- _593992 => {
- // Goto(incoming_ivr_priem_poleklinika,ivr_priem,1);
- Goto(incoming_local,2127,1);
- }
- _693396 => {
- Goto(incoming_local,1102,1);
- }
- _696060 => {
- Set(CHANNEL(language)=ru); //Установка языка Русского
- Set(fname=${UNIQUEID}.wav); //Запись разговоров
- NoOp(${CALLERID(number)}); //Выводим в консоль
- MixMonitor(/backup/calls/${fname}); //Запись разговоров
- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
- Background(ob19/ivr-1&ob19/ivr-2);
- Dial(SIP/1107,,tTwrS(1800));
- // Dial(SIP/1107&SIP/1132&SIP/1133&SIP/1134&SIP/1135,60,tTwrS(1800));
- Queue(PRIEM,mTt,,,);
- HangUp();
- }
- // _8002347219 => {
- // Goto(incoming_ivr_reg,ivr_reg,1);
- // }
- }
- context incoming_ivr { //593444
- includes {
- incoming_local;
- }
- ivr => {
- // GotoIfTime(8:00-22:00,*,09,jun?open,1);
- GotoIfTime(8:00-20:00,mon-fri,*,*?open,1);
- GotoIfTime(9:00-14:00,sat-sun,*,*?open,1);
- GotoIfTime(*,*,*,*?close,1);
- }
- open => {
- NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
- NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
- Set(LenCallerID=${LEN(${CALLERID(number)})});
- if ("${LenCallerID}" < 12 ) {
- if ("${LenCallerID}" = "11" ) {
- if ("${CALLERID(number):1}" = "7" ) {
- Set(CALLERID(number)=8${CALLERID(number):-1});
- }
- }
- if ("${LenCallerID}" = "10" ) {
- Set(CALLERID(number)=8${CALLERID(number)});
- }
- if ("${LenCallerID}" = "6" ) {
- Set(CALLERID(number)=83452${CALLERID(number)});
- }
- }
- NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
- NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
- Answer();
- Set(CHANNEL(language)=ru); //Установка языка Русского
- Set(fname=${UNIQUEID}.wav); //Запись разговоров
- NoOp(${CALLERID(number)}); //Выводим в консоль
- MixMonitor(/backup/calls/${fname}); //Запись разговоров
- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
- Background(ob19/ivr-1&ob19/ivr-2);
- //Говорит "Здравствуйте Вы позвонили в об19, наберите внутренний или дождитесь ответа"
- WaitExten(3);
- Dial(SIP/2109,,tTwrS(1800));
- HangUp();
- }
- close => {
- NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
- NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
- Answer();
- Set(CHANNEL(language)=ru); //Установка языка Русского
- Set(fname=${UNIQUEID}.wav); //Запись разговоров
- NoOp(${CALLERID(number)}); //Выводим в консоль
- MixMonitor(/backup/calls/${fname}); //Запись разговоров
- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
- Background(ob19/ivr-1&ob19/reg-5&ob19/reg-6&ob19/reg-7);
- //Говорит "Здравствуйте Вы позвонили в об19, к сожалению вы позвонили в не рабочее время, просьба перезвонить в будни, всего вам доброго."
- HangUp();
- }
- };
- ///////////////////////////////////РЕГИСТРАТУРА/////////////////////////////////////////////////
- context incoming_ivr_reg { //593444
- includes {
- incoming_menu_reg;
- // incoming_local;
- }
- ivr_reg => {
- // Gotoiftime(8:00-14:00,*,3-4,may?open,1);
- // Gotoiftime(8:00-20:00,*,6-8,may?open,1);
- // Gotoiftime(8:00-14:00,*,10-11,may?open,1);
- // Gotoiftime(*,*,1-11,may?close,1);
- // GotoIfTime(8:00-22:00,*,09,jun *,*?open,1);
- GotoIfTime(8:00-14:00,*,3,jan?open,1);
- GotoIfTime(8:00-14:00,*,6,jan?open,1);
- GotoIfTime(*,*,1-7,jan?close,1);
- GotoIfTime(8:00-23:59,mon-fri,*,*?open,1);
- // GotoIfTime(16:30-19:00,mon-fri,*,*?open_1630,1);
- GotoIfTime(8:00-23:59,sat-sun,*,*?open,1);
- GotoIfTime(*,*,*,*?close,1);
- }
- open => {
- NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
- NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
- Set(LenCallerID=${LEN(${CALLERID(number)})});
- if ("${LenCallerID}" < 12 ) {
- if ("${LenCallerID}" = "11" ) {
- if ("${CALLERID(number):1}" = "7" ) {
- Set(CALLERID(number)=8${CALLERID(number):-1});
- }
- }
- if ("${LenCallerID}" = "10" ) {
- Set(CALLERID(number)=8${CALLERID(number)});
- }
- if ("${LenCallerID}" = "6" ) {
- Set(CALLERID(number)=83452${CALLERID(number)});
- }
- }
- NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
- NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
- Answer(1);
- Set(CHANNEL(language)=ru); //Установка языка Русского
- Set(fname=${UNIQUEID}.wav); //Запись разговоров
- NoOp(${CALLERID(number)}); //Выводим в консоль
- MixMonitor(/backup/calls/${fname}); //Запись разговоров
- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
- BackGround(ob19/reg-01&ob19/snp-00);
- //Говорит "Здравствуйте. Вы позвонили в call-центр областной больницы №19. Спасибо за Ваш звонок. Вам ответит первый доступный оператор."
- WaitExten(3);
- Queue(REG,mTt,,,);
- HangUp();
- }
- *************************************************************************************************************************
- open_1630 => {
- NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
- NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
- Set(LenCallerID=${LEN(${CALLERID(number)})});
- if ("${LenCallerID}" < 12 ) {
- if ("${LenCallerID}" = "11" ) {
- if ("${CALLERID(number):1}" = "7" ) {
- Set(CALLERID(number)=8${CALLERID(number):-1});
- }
- }
- if ("${LenCallerID}" = "10" ) {
- Set(CALLERID(number)=8${CALLERID(number)});
- }
- if ("${LenCallerID}" = "6" ) {
- Set(CALLERID(number)=83452${CALLERID(number)});
- }
- }
- NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
- NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
- // Answer(1);
- Set(CHANNEL(language)=ru); //Установка языка Русского
- Set(fname=${UNIQUEID}.wav); //Запись разговоров
- NoOp(${CALLERID(number)}); //Выводим в консоль
- MixMonitor(/backup/calls/${fname}); //Запись разговоров
- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
- // BackGround(ob19/reg-01&ob19/snp-00);
- //Говорит "Здравствуйте. Вы позвонили в call-центр областной больницы №19. Спасибо за Ваш звонок. Вам ответит первый доступный оператор."
- // Wait(3);
- // Dial(SIP/2109,,tTwrS(1800));
- Dial(SIP/2160,,tTwrS(1800));
- HangUp();
- }
- close => {
- NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
- NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
- Answer();
- Set(CHANNEL(language)=ru); //Установка языка Русского
- Set(fname=${UNIQUEID}.wav); //Запись разговоров
- NoOp(${CALLERID(number)}); //Выводим в консоль
- MixMonitor(/backup/calls/${fname}); //Запись разговоров
- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
- Background(ob19/reg-01&ob19/snp-00&ob19/reg-5&ob19/reg-6&ob19/reg-7);
- //Говорит "Здравствуйте Вы позвонили в регистратуру об19, к сожалению вы позвогнили в не рабочее время, просьба перезвонить в будни, всего вам доброго."
- HangUp();
- }
- };
- context incoming_menu_reg {
- _1 => {
- Queue(SNP,mTt,,,);
- Hangup();
- }
- _i => {
- Playback(incorect-number&ob19/reg-3); //Номер не существует
- Queue(REG,mTt,,,);
- Hangup();
- }
- }
- ///////////////////////////////////НЕОТЛОЖКА/////////////////////////////////////////////////
- context incoming_ivr_snp { //596767
- ivr_snp => {
- NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
- NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
- Set(LenCallerID=${LEN(${CALLERID(number)})});
- if ("${LenCallerID}" < 12 ) {
- if ("${LenCallerID}" = "11" ) {
- if ("${CALLERID(number):1}" = "7" ) {
- Set(CALLERID(number)=8${CALLERID(number):-1});
- }
- }
- if ("${LenCallerID}" = "10" ) {
- Set(CALLERID(number)=8${CALLERID(number)});
- }
- if ("${LenCallerID}" = "6" ) {
- Set(CALLERID(number)=83452${CALLERID(number)});
- }
- }
- NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
- NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
- Answer();
- Set(CHANNEL(language)=ru); //Установка языка Русского
- Set(fname=${UNIQUEID}.wav); //Запись разговоров
- NoOp(${CALLERID(number)}); //Выводим в консоль
- MixMonitor(/backup/calls/${fname}); //Запись разговоров
- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
- PlayBack(ob19/snp-01);
- //Говорит "Здравствуйте. Вы позвонили в службу неотложной помощи областной больницы №19. Спасибо за Ваш звонок. Вам ответит первый доступный диспетчер"
- Queue(SNP,mTt,,,);
- HangUp();
- }
- };
- ///////////////////////////////////ГОРЯЧАЯ ЛИНИЯ/////////////////////////////////////////////////
- context incoming_ivr_fire { //342508
- includes {
- // incoming_menu_fire;
- incoming_local;
- }
- ivr_fire => {
- // GotoIfTime(8:00-22:00,*,09,jun?open,1);
- // GotoIfTime(*,*,1-10,jan?close,1);
- GotoIfTime(8:00-20:00,mon-fri,*,*?open,1);
- GotoIfTime(9:00-14:00,sat-sun,*,*?open,1);
- GotoIfTime(*,*,*,*?close,1);
- }
- open => {
- NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
- NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
- Set(LenCallerID=${LEN(${CALLERID(number)})});
- if ("${LenCallerID}" < 12 ) {
- if ("${LenCallerID}" = "11" ) {
- if ("${CALLERID(number):1}" = "7" ) {
- Set(CALLERID(number)=8${CALLERID(number):-1});
- }
- }
- if ("${LenCallerID}" = "10" ) {
- Set(CALLERID(number)=8${CALLERID(number)});
- }
- if ("${LenCallerID}" = "6" ) {
- Set(CALLERID(number)=83452${CALLERID(number)});
- }
- }
- NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
- NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
- Answer();
- Set(CHANNEL(language)=ru); //Установка языка Русского
- Set(fname=${UNIQUEID}.wav); //Запись разговоров
- NoOp(${CALLERID(number)}); //Выводим в консоль
- MixMonitor(/backup/calls/${fname}); //Запись разговоров
- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
- Background(ob19/fire-1);
- //Говорит "Здравствуйте Вы позвонили на горячую линию об19"
- Queue(REG_1530,mTt,,,);
- HangUp();
- }
- close => {
- NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
- NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
- Answer();
- Set(CHANNEL(language)=ru); //Установка языка Русского
- Set(fname=${UNIQUEID}.wav); //Запись разговоров
- NoOp(${CALLERID(number)}); //Выводим в консоль
- MixMonitor(/backup/calls/${fname}); //Запись разговоров
- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
- Background(ob19/fire-1&ob19/reg-5&ob19/reg-6&ob19/reg-7);
- //Говорит "Здравствуйте Вы позвонили на горячую линию об19, к сожалению вы позвогнили в не рабочее время, просьба перезвонить в будни, всего вам доброго."
- HangUp();
- }
- };
- context incoming_ivr_priem { //342508
- includes {
- incoming_menu_priem;
- incoming_local;
- }
- ivr_priem => {
- // GotoIfTime(07:30-20:00,*,09,jun?open,1);
- GotoIfTime(8:00-14:00,*,3,jan?open,1);
- GotoIfTime(8:00-14:00,*,6,jan?open,1);
- GotoIfTime(*,*,1-7,jan?close,1);
- GotoIfTime(07:30-20:00,mon-fri,*,*?open,1);
- GotoIfTime(9:00-14:00,sat-sun,*,*?open,1);
- GotoIfTime(*,*,*,*?close,1);
- }
- open => {
- NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
- NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
- Set(LenCallerID=${LEN(${CALLERID(number)})});
- if ("${LenCallerID}" < 12 ) {
- if ("${LenCallerID}" = "11" ) {
- if ("${CALLERID(number):1}" = "7" ) {
- Set(CALLERID(number)=8${CALLERID(number):-1});
- }
- }
- if ("${LenCallerID}" = "10" ) {
- Set(CALLERID(number)=8${CALLERID(number)});
- }
- if ("${LenCallerID}" = "6" ) {
- Set(CALLERID(number)=83452${CALLERID(number)});
- }
- }
- NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
- NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
- Answer();
- Set(CHANNEL(language)=ru); //Установка языка Русского
- Set(fname=${UNIQUEID}.wav); //Запись разговоров
- NoOp(${CALLERID(number)}); //Выводим в консоль
- MixMonitor(/backup/calls/${fname}); //Запись разговоров
- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
- Background(ob19/priem-1&ob19/priem-2&ob19/priem-fax);
- //Говорит "Здравствуйте Вы позвонили в приемную об19, наберите внутренний или дождитесь ответ секретаря, для отправки факса нажмите 9"
- Queue(PRIEM,mTt,,,);
- HangUp();
- }
- close => {
- NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
- NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
- Answer();
- Set(CHANNEL(language)=ru); //Установка языка Русского
- Set(fname=${UNIQUEID}.wav); //Запись разговоров
- NoOp(${CALLERID(number)}); //Выводим в консоль
- MixMonitor(/backup/calls/${fname}); //Запись разговоров
- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
- Background(ob19/priem-1&ob19/reg-5&ob19/reg-6);
- //Говорит "Здравствуйте Вы позвонили в приемную об19, к сожалению вы позвогнили в не рабочее время, просьба перезвонить в будни"
- Background(ob19/priem-fax);
- //Говорит "для отправки факса наждмите 9, всего вам доброго."
- WaitExten(3);
- Playback(ob19/reg-7);
- HangUp();
- }
- };
- context incoming_ivr_priem_poleklinika { //342508
- includes {
- incoming_menu_priem;
- incoming_local;
- }
- ivr_priem => {
- // GotoIfTime(8:00-20:00,*,09,jun?open,1);
- GotoIfTime(8:00-14:00,*,3,jan?open,1);
- GotoIfTime(8:00-14:00,*,6,jan?open,1);
- GotoIfTime(*,*,1-7,jan?close,1);
- GotoIfTime(8:00-20:00,mon-fri,*,*?open,1);
- GotoIfTime(9:00-14:00,sat-sun,*,*?open,1);
- GotoIfTime(*,*,*,*?close,1);
- }
- open => {
- NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
- NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
- Set(LenCallerID=${LEN(${CALLERID(number)})});
- if ("${LenCallerID}" < 12 ) {
- if ("${LenCallerID}" = "11" ) {
- if ("${CALLERID(number):1}" = "7" ) {
- Set(CALLERID(number)=8${CALLERID(number):-1});
- }
- }
- if ("${LenCallerID}" = "10" ) {
- Set(CALLERID(number)=8${CALLERID(number)});
- }
- if ("${LenCallerID}" = "6" ) {
- Set(CALLERID(number)=83452${CALLERID(number)});
- }
- }
- NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
- NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
- Answer();
- Set(CHANNEL(language)=ru); //Установка языка Русского
- Set(fname=${UNIQUEID}.wav); //Запись разговоров
- NoOp(${CALLERID(number)}); //Выводим в консоль
- MixMonitor(/backup/calls/${fname}); //Запись разговоров
- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
- Background(ob19/priem-1-1&ob19/priem-2&ob19/priem-fax);
- //Говорит "Здравствуйте Вы позвонили в приемную об19, наберите внутренний или дождитесь ответ секретаря, для отправки факса нажмите 9"
- Dial(SIP/2101,20,tTwrS(1800));
- Playback(transfer);
- Dial(SIP/2102,40,tTwrS(1800));
- HangUp();
- }
- close => {
- NoOp(------------------- CALLER from ${CALLERID(number)} ------------------);
- NoOp(------------------- CALLER ALL from ${CALLERID(ALL)} ------------------);
- Answer();
- Set(CHANNEL(language)=ru); //Установка языка Русского
- Set(fname=${UNIQUEID}.wav); //Запись разговоров
- NoOp(${CALLERID(number)}); //Выводим в консоль
- MixMonitor(/backup/calls/${fname}); //Запись разговоров
- Set(AUDIOHOOK_INHERIT(MixMonitor)=yes); //Запись звонков в единый файл, даже после перевода
- Background(ob19/priem-1-1&ob19/reg-5&ob19/reg-6);
- //Говорит "Здравствуйте Вы позвонили в приемную об19, к сожалению вы позвогнили в не рабочее время, просьба перезвонить в будни"
- Background(ob19/priem-fax);
- //Говорит "для отправки факса наждмите 9, всего вам доброго."
- WaitExten(3);
- Playback(ob19/reg-7);
- HangUp();
- }
- };
- context incoming_menu_priem {
- _9 => {
- Goto(fax-rx,receive,1); //Переход в контекст факса
- }
- _i => {
- Playback(incorect-number); //Номер не существует
- Dial(SIP/2101,30,tTwrS(1800));
- Playback(transfer);
- Dial(SIP/2102,60,tTwrS(1800));
- Hangup();
- }
- }
- context fax-rx {
- receive => { //Факс
- NoOp(FAX ${CHANNEL});
- Set(fileName=fax-${CDR(uniqueid)}-${CALLERID(number)}.tif);
- Set(FAXOPT(localstationid)=UPK Avtomobilist);
- Set(FAXOPT(headerinfo)=Received by ${CALLERID(number)} ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M)});
- Set(FAXOPT(maxrate)=14400);
- Set(FAXOPT(minrate)=4800);
- NoOp(FAXOPT(ecm) : ${FAXOPT(ecm)});
- NoOp(FAXOPT(headerinfo) : ${FAXOPT(headerinfo)});
- NoOp(FAXOPT(localstationid) : ${FAXOPT(localstationid)});
- NoOp(FAXOPT(maxrate) : ${FAXOPT(maxrate)});
- NoOp(FAXOPT(minrate) : ${FAXOPT(minrate)});
- NoOp(**** RECEIVING FAX : ${fileName} ****);
- if ("${BLINDTRANSFER:0:4}" = "SIP/") {
- Set(jabber=${ODBC_SIPUSERS(jabber,${BLINDTRANSFER:0:8})}); //Присваеваем переменную jabber
- };
- StopMixMonitor();
- ReceiveFAX(/backup/fax/${fileName},fFd);
- Hangup();
- };
- h => {
- NoOp(------------------- FAX from ${CALLERID(number)} ------------------);
- NoOp(------------------- STATUS ${FAXSTATUS} ${FAXERROR} ------------------);
- Set(foo=${STAT(/backup/fax/${fileName})});
- if ("${STAT(s,/backup/fax/${fileName})}" = "0") {
- MYSQL(Connect connid 127.0.0.1 root GradhhigaM asterisk);
- MYSQL(Query r1 ${connid} INSERT INTO `asterisk`.`fax` (`fName`,`fData`,`fromExt`,`dt`,`fStatus`) VALUES('${fileName}', NULL, '${CALLERID(number)}', CURRENT_TIMESTAMP(), '${FAXOPT(status)}'));
- MYSQL(Clear ${r1});
- MYSQL(Disconnect ${connid});
- if ("${jabber}" = "") {
- 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] &);
- }
- else {
- 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} &");
- };
- }
- else {
- MYSQL(Connect connid 127.0.0.1 root GradLigaM asterisk);
- 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)}'));
- MYSQL(Clear ${r1});
- MYSQL(Disconnect ${connid});
- if ("${jabber}" = "") {
- 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] &");
- }
- else {
- 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} &");
- };
- };
- };
- };
- context help {
- _911 => {
- System("echo "Набрали 911 с номера: ${CALLERID(number)} дата: ${STRFTIME(${EPOCH},,%d.%m.%Y)} время: ${STRFTIME(${EPOCH},,%H:%M)}" | mutt -s "OB19 HELP ${CALLERID(number)}" -- [email protected] &");
- Dial(SIP/608029@593444-dial,60,tTwrS(1800));
- };
- };
- context pickup {
- _**xxx => {
- Set(context=${ODBC_SIPUSERS(context,${EXTEN})}); //Присваеваем переменную context
- PickUp(${EXTEN:2}@${context});
- };
- };
- context queue {
- _*101 => {
- NoOp(${CALLERID(number)});
- PauseQueueMember(,SIP/${CALLERID(number)});
- UserEvent(RefreshQueue);
- WaitExten(1);
- Playback(vm-extension);
- SayDigits(${CALLERID(number)});
- Playback(dictate/paused);
- WaitExten(1);
- Hangup;
- };
- _*102 => {
- UnpauseQueueMember(,SIP/${CALLERID(number)});
- Playback(vm-extension);
- SayDigits(${CALLERID(number)});
- Playback(dictate/pause);
- Playback(cancelled);
- WaitExten(1);
- Hangup;
- };
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement