VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

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

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

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

rebelucho
Сообщения: 4
Зарегистрирован: 02 дек 2015, 10:47

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

Сообщение rebelucho »

Здравствуйте! Мне двадцать лет, я бородат, живу с мамой, тролль, лжец и девственник. Вот и сейчас... 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. Но застрял на этом шаге и бьюсь уже четвертый день.

Подскажите в какую сторону конкретно смотреть, если будут примеры буду безмерно благодарен.
ded
Сообщения: 15618
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение ded »

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

и делать это по AMI. Не нужно переходить в другой контекст.
rebelucho
Сообщения: 4
Зарегистрирован: 02 дек 2015, 10:47

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

Сообщение rebelucho »

Было бы неплохо, но сервер событий (проприетарный) понимает только определенный формат обращений и не умеет делать запросы самостоятельно. Поэтому и был выбран вариант исполнения скриптов по определенным событиям в АТС.
Можно конечно к существующему серверу событий написать еще один сервер событий, но как то это уже перебор.
Glukinho
Сообщения: 660
Зарегистрирован: 07 янв 2011, 20:05

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

Сообщение Glukinho »

Если нужно делать что-то в момент соединения, то для этого есть опции M и U в Dial.
rebelucho
Сообщения: 4
Зарегистрирован: 02 дек 2015, 10:47

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

Сообщение rebelucho »

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))})
april22
Сообщения: 2187
Зарегистрирован: 09 июл 2012, 09:47

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

Сообщение april22 »

нажимаем применить . и идем делать все заново ;-)
Своими вопросами , вы загоняете меня в ГУГЛЬ.
rebelucho
Сообщения: 4
Зарегистрирован: 02 дек 2015, 10:47

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

Сообщение rebelucho »

april22 писал(а):нажимаем применить . и идем делать все заново
Думаю, все, кто используют freepbx, знают, для того что бы не случилось страшного необходимо скопировать контекст в extensions_override_freepbx.conf и тормошить его уже там :)))
ded
Сообщения: 15618
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение ded »

Не все, но с каждым днём таких всё больше, и это радует! :)
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

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

Сообщение awsswa »

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

Во 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 и свой макрос и он трет наш
платный суппорт по мере возможностей
kt72ru
Сообщения: 23
Зарегистрирован: 09 ноя 2016, 13:35

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

Сообщение kt72ru »

Asterisk Dial Options вроде как используется при исходящих звонках, а речь идет про входящие.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH