The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Донабор номера по одной цифре и орг..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Донабор номера по одной цифре и орг..."  +/
Сообщение от auto_tips (??) on 04-Сен-11, 22:35 
Нижеизложенный пример конфигурации Asterisk позволяет обеспечить вывод гудка после набора "8" или "9", как на городском телефоне, и решить проблему со временем ожидания вызова (некоторые пользователи не успевают набрать номер, но если увеличить задержку, другие жалуются на излишне долгий вызов) через организацию донабора номера по одной цифре.


   [upats]
   ; номера "УПАТС"
   exten => 100,1,Dial(SIP/Local100,,tT)
   exten => 100,n,Congestion()
   exten => 100,n,Hangup()
   exten => 101,1,Dial(SIP/Local101,,tT)
   exten => 101,n,Congestion()
   exten => 101,n,Hangup()

   ; экстренные службы
   exten => _0[1-4]!,1,Dial(SIP/external/${EXTEN})
   exten => _0[1-4]!,n,Congestion()
   exten => _0[1-4]!,n,Hangup()
   exten => _112!,1,Dial(SIP/external/${EXTEN})
   exten => _112!,n,Congestion()
   exten => _112!,n,Hangup()
   exten => _911!,1,Dial(SIP/external/${EXTEN})
   exten => _911!,n,Congestion()
   exten => _911!,n,Hangup()

   ; набор номера между странами через "810", к сожалению, длина номера произвольная :(,
   ; и решение на эти номера не сработает - номер придется набирать быстро;
   ; выход во внешний мир - через "8" на внешнем операторе
   exten => _810X!,1,Dial(SIP/external/8${EXTEN:1},,tT)
   exten => _810X!,n,Congestion()
   exten => _810X!,n,Hangup()

   ; набор номера через "8", выход во внешний мир - через "8" на внешнем операторе
   exten => _8NXXXXXXXXX!,1,Dial(SIP/external/8${EXTEN:1},,tT)
   exten => _8NXXXXXXXXX!,n,Congestion()
   exten => _8NXXXXXXXXX!,n,Hangup()

   ; набор городского номера через "9", выход на городские номера прямой на внешнем операторе
   exten => _9NXXXXXX!,1,Dial(SIP/external/${EXTEN:1},,tT)
   exten => _9NXXXXXX!,n,Congestion()
   exten => _9NXXXXXX!,n,Hangup()
  
   ; обработка донабора в случае, если абонент ничего вменяемого не набрал
   exten => _X!,1,Set(X_PREDIGITS=${EXTEN})
   exten => _X!,n,Set(X_ORIGCONTEXT=${CONTEXT})
   exten => _X!,n,Set(X_REPEATS=1)
   exten => _X!,n,Goto(more,s,1)

   ; а сюда подаем в случае полной засады
   exten => i,1,Congestion()
   exten => i,n,Hangup()

   ; а это, собственно, процедура донабора

   [more]
   ; проверка прогресса вызова
   exten => s,1,GotoIf($["${X_PROGRESS}" = "1"]?tone)
   exten => s,n,Set(X_PROGRESS=1)
   exten => s,n,Answer()
   exten => s,n(tone),GotoIf($["${X_TONE}" = "2"]?wait)
   exten => s,n,GotoIf($["${X_TONE}" = "1"]?check)

   ; нужно проиграть гудок?
   exten => s,n,GotoIf($[${LEN(${X_PREDIGITS})} > 1]?setstop)
   exten => s,n,GotoIf($[$["${X_PREDIGITS:0:1}" != "9"] & $["${X_PREDIGITS:0:1}" != "8"]]?setstop)

   ; проигрываем гудок после "8", "9"
   exten => s,n,PlayTones(425/1000)
   exten => s,n,Set(X_TONE=1)
   exten => s,n,Goto(wait)

   ; нужен ли еще гудок?
   exten => s,n(check),GotoIf($[${LEN(${X_PREDIGITS})} > 1]?stop)
   exten => s,n,Goto(wait)

   ; прекращаем гудеть
   exten => s,n(stop),StopPlayTones()
   exten => s,n(setstop),Set(X_TONE=2)
   exten => s,n,Goto(wait)

   ; ждем цифру (5 - интервал, который ждем перед выходом)
   exten => s,n(wait),WaitExten(5)
   exten => _X!,1,Goto(${X_ORIGCONTEXT},${X_PREDIGITS}${EXTEN},1)
   exten => t,1,Set(X_REPEATS=$[${X_REPEATS}-1])

   ; не успели?
   exten => t,n,GotoIf($[${X_REPEATS} >= 0]?i,1)
   exten => t,n,Goto(s,1)

   ; сброс линии если не успели
   exten => i,1,Congestion()
   exten => i,n,Hangup()


URL: http://alex-at.ru/asterisk/donabor
Обсуждается: http://www.opennet.dev/tips/info/2619.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Донабор номера по одной цифре и организация гудка после 8/9 ..."  +/
Сообщение от KdF (??) on 04-Сен-11, 22:35 
Вообще, мне кажется, для конструкций с логикой стоит использовать хотя бы AEL.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Донабор номера по одной цифре и организация гудка после 8/9 ..."  +/
Сообщение от anonimouse on 05-Сен-11, 12:31 
а как увеличить задержку? а то что то не смог  нагуглить
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Донабор номера по одной цифре и организация гудка после 8/9 ..."  +/
Сообщение от Мимо проходил email on 05-Сен-11, 14:29 
> обеспечить вывод гудка

Гудок у паровоза :)
И как с паровоза "гудок вывести", типа слямзить :)
Как бывший связист, есть "сигнал ответа станции" или
просто "ответ станции", а не гудок.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Донабор номера по одной цифре и организация гудка после 8/9 ..."  +/
Сообщение от shakirov on 05-Сен-11, 17:46 
Ну и зачем этот маразм городить?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Донабор номера по одной цифре и организация гудка после 8/9 ..."  +1 +/
Сообщение от zoonman (ok) on 06-Сен-11, 08:41 
Этот маразм называется предсказуемым поведением.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Донабор номера по одной цифре и организация гудка после 8/9 ..."  +/
Сообщение от Andrew Kolchoogin on 06-Сен-11, 17:40 
Можно и "гудок" говорить, только, действительно, гудок у паровоза, у станции -- зуммер.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

7. "Донабор номера по одной цифре и организация гудка после 8/9 ..."  +/
Сообщение от Andrey Mitrofanov on 06-Сен-11, 18:04 
>гудок у паровоза, у станции -- зуммер.

OMG! Что Вы такое говорите?! Откуда в моём телефоне -- ПАРОВОЗ? %)))

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Донабор номера по одной цифре и организация гудка после 8/9 ..."  +/
Сообщение от Andrey Mitrofanov on 06-Сен-11, 18:07 
> Этот маразм называется

...принципом наименьшей неожиданности.

> предсказуемым поведением.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

9. "Донабор номера по одной цифре и организация гудка после 8/9 ..."  +/
Сообщение от Проходил мимо email on 06-Сен-11, 21:31 
Зуммер,это по немецки - сигнал, а так как  язык не такой богатый
как русский, может быть сигналом чего угодно, в зависимости
от контекста.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

10. "Донабор номера по одной цифре и организация гудка после 8/9 ..."  +/
Сообщение от Проходил мимо email on 06-Сен-11, 21:33 
Он там прячется, а вы не в курсе:)
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

11. "Донабор номера по одной цифре и организация гудка после 8/9 ..."  +/
Сообщение от dq0s4y71 (??) on 14-Сен-11, 18:34 
> язык не такой богатый как русский

Уважаемый герр так говорит потому, что знает немецкий так же хорошо, как и русский? :) Кстати, "по-немецки" пишется через дефис.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

12. "Донабор номера по одной цифре и организация гудка после 8/9 ..."  +/
Сообщение от oborot bolta email on 23-Сен-11, 09:18 
НЕ ГУДОК, и не СИГНАЛ ОТВЕТА СТАНЦИИ, а сигнал готовности станции к приему номера. А ответить она может уже - КПВ, занято, перегружена .........
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Донабор номера по одной цифре и организация гудка после 8/9 ..."  +/
Сообщение от Анон on 26-Сен-11, 11:58 
ignorepat => 9
Чем не устраивает?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру