asterisk followme

Asterisk: followme.conf

Follow Me - настройка предустановленной переадресации вызова - Следуй За Мной.

Asterisk Follow Me

Конфигурационный файл /etc/asterisk/followme.conf используется для назначения глобальных параметров general и уникальных адресатов followmeid, которые могут выполняться из диалплана приложением Follow Me

Приоритет может быть использован только один раз, т.е. в одной строке, но не в разных (для одного пользователя).
Отдельные строки с одинаковым приоритетом будут игнорироваться.
Параллельные вызовы на разные номера (два и больше), должны описываться в одной строке при помощи оператора '&'.

[имя или номер] используется для вызова приложением FollowMe
context ⇒ <context name> - контекст, из которого будут вызываться заданные номера folowme
number ⇒ <number>,[<timeout>],[<priority>] - адресат, время посылки вызова, приоритет

Простое распределение по порядку строк.
[followmeid_simple]
context=from-internal
number => 9981138,15
number => 1234,20
number => 3216111,45

Сперва вызывается номер 9981138 в течении 15-ти секунд, затем номер -1234 в течении 20 секунд и после номер 3216111 в течении 45 секунд.

Сортировка по приоритетам.
[followmeid_sorted]
context=from-internal
number => 9981138,35,2
number => 1234,20,1
number => 3216111,50,3

Сначала вызывается номер 1234 (приоритет 1), затем 9981138 (2) и последним 3216111 (3) .

Параллельные вызовы
[followmeid_parallel]
context=full_outbound_access
number => 1234&9981138,35,1
number => 3216111,50,2

Сперва вызываются номера 1234 и 9981138 одновременно, затем 3216111.

Конфигурационный файл followme.conf

Убедитесь, что app_followme.so загружен.

*CLI> module load app_followme.so
Loaded app_followme.so
  == Parsing '/etc/asterisk/followme.conf': Found followme.conf
  == Registered application 'FollowMe'
 Loaded app_followme.so => (Find-Me/Follow-Me Application)
[general]

Глобальные параметры folowme

 featuredigittimeout=>5000

Время в миллисекундах, в течении которого система будет ждать подтверждения принять вызов, вводом DTMF кода, от вызываемого абонента.

 enable_callee_prompt=>true

Включить голосовое объявление вызываемому абоненту, с предложением принять или отказаться от переадресованного вызова.
По умолчанию - включено.

  takecall=>1

Общее, по умолчанию '1', значение DTMF кода, подтверждения приема вызова.
Может состоять из одной или нескольких цифр.

  declinecall=>2

Общее, по умолчанию '2', значение DTMF кода, отказа от ответа на вызов.

'Incoming call from'
 call_from_prompt=>followme/call-from

Общее, по умолчанию, сообщение «Входящий вызов от».

'You have an incoming call'
 norecording_prompt=>followme/no-recording

Общее, по умолчанию, сообщение «Входящий вызов», если вызывающий выбрал опцию, не записывать свое имя.

'Press 1 to accept this call or press 2 to decline it'
 options_prompt=>followme/options

Общее, по умолчанию, сообщение - «Нажмите 1 чтобы принять вызов или 2 чтобы отказаться».

'Please hold while we try and connect your call'
 pls_hold_prompt=>followme/pls-hold-while-try

Общее сообщение: «Оставайтесь на линии, мы вас соединяем».

'The party you're calling isn't at their desk'
 status_prompt=>followme/status

Общее сообщение: «Вызываемый абонент не на рабочем месте»

'I'm sorry, but we were unable to locate your party'
 sorry_prompt=>followme/sorry

Общее сообщение: «Местонахождение абонента не установлено»

[followme_id_test]

Конфигурация уникального идентификатора для вызова приложением FollowME

 musicclass=>default

Класс Музыки на Удержании для воспроизведения ожидающему абоненту.

 context=>default

Контекст для вызова адресатов followme

  number=>01233456,25

Адресат followme. Формат:

number⇒ <number to call[&2nd #[&…]]>[,<таймаут в секундахs>[,<порядок выбора адресатов>]]

 enable_callee_prompt=>true

Включить приглашение вызывающему абоненту активировать followme.
По умолчанию действует глобальная установка из раздела [general].

 takecall=>1

Общее, по умолчанию '1', значение DTMF кода, подтверждения приема вызова.
Может состоять из одной или нескольких цифр. По умолчанию действует глобальная установка из раздела [general].

 declinecall=>2

Общее, по умолчанию '2', значение DTMF кода, отказа от ответа на вызов. По умолчанию, как задано в [general].

Назначить сообщения отличные от заданных по умолчанию в [general]

 call_from_prompt=>followme/call-from
 norecording_prompt=>followme/no-recording
 options_prompt=>followme/options
 pls_hold_prompt=>followme/pls-hold-while-try
 status_prompt=>followme/status

sorry_prompt⇒followme/sorry

Asterisk app: FollowMe

Приложение диалплана Asterisk для «умной» предустановленной переадресации вызова.

Описание

Данное приложение позволяет перевести вызывающего абонента на указанные номера. Команда ссылается на профили <followmeid> заданные в followme.conf. Если указанный <followmeid> не найден, приложение возвращает вызов и диалплан выполняется со следующего приоритета.

Возвращает '-1' при отбое.

синтаксис

FollowMe(followmeid[,options])

Аргументы
  • options
    • a: Записать имя вызывающего абонента для объявления вызываемой стороне.
    • B([[context^]exten^]priority[(arg1[^...][^argN])]): Перед выполнением исходящего вызова выполнить GoSub по указанному контексту, используя текущий канал.
    • b([[context^]exten^]priority[(arg1[^...][^argN])]): Перед выполнением исходящего вызова выполнить GoSub по указанному контексту, в новом канале.
    • d: Выключить объявление 'Please hold while we try and connect your call'
    • I: Игнорировать любые запросы на изменение текущего вызова.
    • l: Отключить оптимизацию локального вызова. Видимо равносильно действию опции '/n' канала Local (Local/${EXTEN}@from-internal/n).
    • N: Не отвечать на входящий вызов, пока мы не готовы соединить вызывающего абонента. Игнорируется если вызов уже отвечен (например командой Answer). Если вызов не отвечен опции 'a' и 's' игнорируется, в то время как опция 'd' считается включенной, даже если не задана явно.
    • n: Проиграть сообщение о недоступности абонента, если он отказался принимать вызов.
    • s: Проиграть 'The party you're calling isn't at their desk' до начала переадресации.
примеры

пример 1

extensions.conf:

exten => _4411,1,Answer
exten => _4411,2,Dial(SIP/${EXTEN},12,t)
exten => _4411,3,GotoIf($["${DIALSTATUS}" = "NOANSWER"]?:4:5)
exten => _4411,4,Followme(${EXTEN})
exten => _4411,5,VoiceMail(u${EXTEN})
exten => _4411,6,Hangup

followme.conf:

[4411]
context => default
number => 4410,30
number => 4420,30

пример 2:

extensions.conf:

exten => 1111,1,Dial(PJSIP/1111,15,tr)
exten => 1111,n,FollowMe(4444)
exten => 1111,n,Wait(1)
exten => 1111,n,Playback(beep)
exten => 1111,n,Goto(1)

exten => 2222,1,Dial(PJSIP/2222},15,tr)
exten => 2222,n,FollowMe(UserTest,san)
exten => 2222,n,Goto(4444,1)

exten => 4444,1,Dial(PJSIP/4444,15,tr)
exten => 4444,n,FollowMe(${EXTEN},s)
exten => 4444,n,Voicemail(UserTest)
exten => 4444,n,Hangup

followme.conf:

[4444]
music => default
context => default
number => 1965751234,5
number => 17182025678,20
number => 1234
number => 5678

[UserTest]
number => 09876&210,40,2 ; вызываются одновременно 09876 и 210 в течении 40-ка секунд.
number => 543,30,1 ; но сначала вызывается 543 в течении 30 секунд.

Пример 3: Follow-me без использования приложения app_followme

[incoming]
exten => 300,1,Answer()
exten => 300,2,Dial(DAHDI/1,30,grM(call-screening^${CALLERIDNUM}^${CONTEXT}^${EXTEN}^${PRIORITY}))
exten => 300,3,Hangup()
exten => 300,103,NoOp(${EXTEN}::${PRIORITY})
exten => 300,104,VoiceMail(u${EXTEN}@default)
exten => 300,105,Hangup()
exten => t,1,Playback(connection-timed-out)
exten => t,2,Playback(goodbye)
exten => t,3,Hangup()
[macro-call-screening]
exten => s,1,NoOp(${ARG2}::${ARG3}::${ARG4}::)
exten => s,2,Playback(vm-youhave)
exten => s,3,Playback(letters/a)
exten => s,4,Playback(call)
exten => s,5,Playback(from)
exten => s,6,SayDigits(${ARG1})
exten => s,7,Read(ACCEPTCALL|1-yes-2-no|1) ; (repeatoptions)
exten => s,8,GotoIf($["${ACCEPTCALL}" = ""] ?t,1)
exten => s,9,GotoIf($[${ACCEPTCALL} = 2] ?s,11)
exten => s,10,GotoIf($[${ACCEPTCALL} = 1] ?s,14:s,2)
exten => s,11,Set(NEWPRIORITY=$[${ARG4} + 101])
exten => s,12,Set(MACRO_RESULT=GOTO:${ARG2}^${ARG3}^${NEWPRIORITY})
exten => s,13,Goto(s,16);
exten => s,14,Playback(auth-thankyou)
exten => s,15,Set(MACRO_RESULT=)
exten => s,16,NoOp(End of macro)
exten => t,1,Playback(connection-timed-out)
exten => t,2,Goto(s,2)

см. также

Asterisk: followme.conf

 

Файлы конфигурации Asterisk

  • asterisk/cf/followme.conf.txt
  • Последние изменения: 2018/06/02