ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

FreePBX, перейти в другой контекст в момент поднятия трубки.

Обо всем касательно TrixBox, Elastix, AstPBX и всех других дистрибутивов

Модераторы: april22, Zavr2008

FreePBX, перейти в другой контекст в момент поднятия трубки.

Сообщение rebelucho » 02 дек 2015, 12:05

Здравствуйте! Мне двадцать лет, я бородат, живу с мамой, тролль, лжец и девственник. Вот и сейчас... P.S. Извените за неровный почерк..
Сращиваем Asterisk с CRM.
При поступлении звонка узнаем имя через сервер событий, отдаем в качестве CID(name) на внутренние телефоны, оповещаем менеджеров о входящем звонке.
Когда звонок идет на группу, то тут проблем нет, я вклинился в контекст [macro-auto-blkvm] и оповестил сервер событий, кто именно взял трубку. Но если у клиента есть персональный менеджер, то звонок идёт ему персонально и тут у меня затык, не могу указать серверу событий, что клиент взял трубку.

Думаю, что надо копаться в контексте [macro-dial-one] в момент звонка.
Попытался подставлять после "exten => s,n(godial),Dial(${DSTRING},${ARG1},${D_OPTIONS})" строку на переход выполнения скрипта "exten => s,n,Gosub(pickup,pickup_1,1())", пытался делать GusubIf по условию, что DIALSTATUS=ANSWER, все равно ничего не получается.
Мозгом понимаю, что надо ковырять в сторону изменения конструкции Dial, либо добавления приоритета с Dial. Но застрял на этом шаге и бьюсь уже четвертый день.

Подскажите в какую сторону конкретно смотреть, если будут примеры буду безмерно благодарен.
rebelucho
 
Сообщений: 4
Зарегистрирован: 02 дек 2015, 11:47

Re: FreePBX, перейти в другой контекст в момент поднятия тру

Сообщение ded » 02 дек 2015, 12:40

Использовать хинты
CLI> core show hints
Увидите статусы -
State:Unavailable
State:Idle
State:InUse

и делать это по AMI. Не нужно переходить в другой контекст.
ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

Re: FreePBX, перейти в другой контекст в момент поднятия тру

Сообщение rebelucho » 03 дек 2015, 03:26

Было бы неплохо, но сервер событий (проприетарный) понимает только определенный формат обращений и не умеет делать запросы самостоятельно. Поэтому и был выбран вариант исполнения скриптов по определенным событиям в АТС.
Можно конечно к существующему серверу событий написать еще один сервер событий, но как то это уже перебор.
rebelucho
 
Сообщений: 4
Зарегистрирован: 02 дек 2015, 11:47

Re: FreePBX, перейти в другой контекст в момент поднятия тру

Сообщение Glukinho » 03 дек 2015, 08:56

Если нужно делать что-то в момент соединения, то для этого есть опции M и U в Dial.
Glukinho
 
Сообщений: 616
Зарегистрирован: 07 янв 2011, 21:05

Re: FreePBX, перейти в другой контекст в момент поднятия тру

Сообщение rebelucho » 03 дек 2015, 10:22

Glukinho писал(а):Если нужно делать что-то в момент соединения, то для этого есть опции M и U в Dial.

Да, именно то, что нужно, спасибо.
Ведь знал, что именно в этом направлении копать, а просветление не наступало.


Если кто решает подобную задачу с FreePBX, то решение, как всегда, простое.

В [macros-dial-one]
в строку exten => s,n(skiptrace),Set(D_OPTIONS=${IF($["${NODEST}"!="" & ${REGEX("(M[(]auto-blkvm[)])" ${ARG2})} != 1]?${ARG2}M(auto-blkvm):${ARG2})}) добавляем наш макрос macro-pickup в условие "Иначе", получаем
exten => s,n(skiptrace),Set(D_OPTIONS=${IF($["${NODEST}"!="" & ${REGEX("(M[(]auto-blkvm[)])" ${ARG2})} != 1]?${ARG2}M(auto-blkvm):${ARG2}M(pickup))})
rebelucho
 
Сообщений: 4
Зарегистрирован: 02 дек 2015, 11:47

Re: FreePBX, перейти в другой контекст в момент поднятия тру

Сообщение april22 » 03 дек 2015, 10:50

нажимаем применить . и идем делать все заново ;-)
Своими вопросами , вы загоняете меня в ГУГЛЬ.
april22
 
Сообщений: 2187
Зарегистрирован: 09 июл 2012, 09:47

Re: FreePBX, перейти в другой контекст в момент поднятия тру

Сообщение rebelucho » 03 дек 2015, 11:01

april22 писал(а):нажимаем применить . и идем делать все заново


Думаю, все, кто используют freepbx, знают, для того что бы не случилось страшного необходимо скопировать контекст в extensions_override_freepbx.conf и тормошить его уже там :)))
rebelucho
 
Сообщений: 4
Зарегистрирован: 02 дек 2015, 11:47

Re: FreePBX, перейти в другой контекст в момент поднятия тру

Сообщение ded » 03 дек 2015, 11:24

Не все, но с каждым днём таких всё больше, и это радует! :)
ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

Re: FreePBX, перейти в другой контекст в момент поднятия тру

Сообщение awsswa » 25 сен 2017, 20:19

Пост некрофилов

Во FreePBX в Advanced
в диалы за место
Asterisk Dial Options Ttr вписать TtrU(call-answer^s^1)
Если нужно то и Asterisk Outbound Trunk Dial Options меняем на TU(call-answer^s^1)
в extensions_custom.conf

[call-answer]
exten => s,1,NoOp(==Гадим по мелкому после ответа==)
....
exten => s,n,Return()

PS а почему не M и макрос ? а потому что в RingGroup уже есть M и свой макрос и он трет наш
платный суппорт по мере возможностей
awsswa
 
Сообщений: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: FreePBX, перейти в другой контекст в момент поднятия тру

Сообщение kt72ru » 06 окт 2017, 08:03

Asterisk Dial Options вроде как используется при исходящих звонках, а речь идет про входящие.
kt72ru
 
Сообщений: 23
Зарегистрирован: 09 ноя 2016, 14:35

След.

Вернуться в Готовые VoIP дистрибутивы

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH