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

Безусловная переадресация входящих сервисными кодами

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

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

Ответить
MrRomka
Сообщения: 31
Зарегистрирован: 03 авг 2020, 12:39

Безусловная переадресация входящих сервисными кодами

Сообщение MrRomka »

Всем привет. У нас Asterisk 16. Мы используем клиент Bria и в нем можно настроить, что бы программа безусловно футболила входящий вызов. Это работает замечательно. Всем нравится.
Теперь, если представить, что мобильный клиент пошел гулять в лес, в котором "4G то ловит, то не ловит" и даже, если входящий звонок придет, ему поговорить нормально точно не получится. В этом случае лучше остаться на переадресации, которую нужно установить на сервере. Дело в том, что Bria может совсем не ловить, и звонки переводить тоже не будет.
Но как ее поставить, находясь далеко от офиса? Руками в dialplan я конечно успешно правило добавляю и оно работает.
Если клиент не в сети в момент звонка - уходит звонок на его мобильный.

Вопрос такой: можно ли это прикрутить с помощью features.conf, что бы неким кодом править план на сервере?
Хочется, что бы юзер заранее открыл Bria, ввел код перевода, установил на сервере переадресацию на нужный номер и гуляет себе спокойно. Может хоть в Доминикану улететь. Мы будем не против.
Я про features.conf читал, но как мне показалось из примеров, переадресовать можно именно текущий разговор.
Может это вообще другими средствами делается?
Ткните пожалуйста в нужное место в мануале? Я способный, разберусь )
Заранее спасибо.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Безусловная переадресация входящих сервисными кодами

Сообщение ded »

MrRomka писал(а):Я про features.conf читал, но как мне показалось из примеров, переадресовать можно именно текущий разговор.
Может это вообще другими средствами делается?
Это называется трансфер. Если плохо - человек в лесу говорит - "секундочку!" и решёткой отправляет текущий разговор себе же на мобильный!

Если бы вы при вашем Астериске 16 (да даже старинном 1.8) использовали оболочку (FreePBXZ, то с радостью нашли бы огромный список features, которые люди уже все придумали и реализовали в ней. В частности, для переадресации -
Включить перенаправление всех вызовов - - *72
Отключить перенаправление всех вызовов - - *73

Астериск спросит голосом - "На какой номер переадресовывать?" и всё будет ОК.
А если настроить follow me, где вызов на мобильный будет идти после попытки вызова Bria, то и этих манипуляций не нужно будет, ни в лесу, ни в Доминикане.
Вложения
sup4.jpg
Последний раз редактировалось ded 13 ноя 2020, 16:19, всего редактировалось 1 раз.
BorisTheBlade
Сообщения: 167
Зарегистрирован: 14 фев 2011, 14:24

Re: Безусловная переадресация входящих сервисными кодами

Сообщение BorisTheBlade »

Вот так во фриипбх сделано -

Код: Выделить всё

[app-cf-on]
include => app-cf-on-custom
exten => lang-playback,1,GosubIf($[${DIALPLAN_EXISTS(app-cf-on,${CHANNEL(language)})}]?app-cf-on,${CHANNEL(language)},${ARG1}():app-cf-on,en,${ARG1}())
exten => lang-playback,n,Return()

exten => *72,1,Answer
exten => *72,n,Wait(1)
exten => *72,n,Macro(user-callerid,)
exten => *72,n,Set(fromext=${AMPUSER})
exten => *72,n,GotoIf($["${fromext}"!=""]?startread)
exten => *72,n,Playback(agent-loggedoff)
exten => *72,n,Macro(hangupcall,)
exten => *72,n(startread),Gosub(app-cf-on,lang-playback,1(hook_1))
exten => *72,n,GotoIf($["foo${toext}"="foo"]?startread)
exten => *72,n,Wait(1)
exten => *72,n,Set(DB(CF/${fromext})=${toext})
exten => *72,n,Set(STATE=BUSY)
exten => *72,n,Gosub(app-cf-on,sstate,1())
exten => *72,n,Gosub(app-cf-on,lang-playback,1(hook_2))
exten => *72,n,Macro(hangupcall,)

exten => sstate,1,Set(DEVICE_STATE(Custom:CF${fromext})=${STATE})
exten => sstate,n,Set(DEVICES=${DB(AMPUSER/${fromext}/device)})
exten => sstate,n,GotoIf($["${DEVICES}" = "" ]?return)
exten => sstate,n,Set(LOOPCNT=${FIELDQTY(DEVICES,&)})
exten => sstate,n,Set(ITER=1)
exten => sstate,n(begin),Set(DEVICE_STATE(Custom:DEVCF${CUT(DEVICES,&,${ITER})})=${STATE})
exten => sstate,n,Set(ITER=$[${ITER} + 1])
exten => sstate,n,GotoIf($[${ITER} <= ${LOOPCNT}]?begin)
exten => sstate,n(return),Return()

exten => en,1(hook_0),Read(fromext,call-fwd-unconditional&please-enter-your-extension-then-press-pound,,,,)
exten => en,n,Return()
exten => en,n(hook_1),Read(toext,agent-newlocation,,,,)
exten => en,n,Return()
exten => en,n(hook_2),Playback(call-fwd-unconditional&for&extension)
exten => en,n,SayDigits(${fromext})
exten => en,n,Playback(is-set-to)
exten => en,n,SayDigits(${toext})
exten => en,n,Return()
exten => en,n(hook_3),Playback(call-fwd-unconditional&for&extension)
exten => en,n,SayDigits(${fromext})
exten => en,n,Playback(is-set-to)
exten => en,n,SayDigits(${toext})
exten => en,n,Return()

ded, опередил :lol:
Последний раз редактировалось BorisTheBlade 13 ноя 2020, 16:20, всего редактировалось 1 раз.
MrRomka
Сообщения: 31
Зарегистрирован: 03 авг 2020, 12:39

Re: Безусловная переадресация входящих сервисными кодами

Сообщение MrRomka »

Я пытался поставить FreePBX 13 (кажется), на UBUNTU 20.04, но уткнулся в неработающий c ней php 1.4., а 1.3 там сразу не взлетает. В итоге пока только SSH. Думал, может ручками можно прикрутить?
MrRomka
Сообщения: 31
Зарегистрирован: 03 авг 2020, 12:39

Re: Безусловная переадресация входящих сервисными кодами

Сообщение MrRomka »

BorisTheBlade писал(а):Вот так во фриипбх сделано -

Код: Выделить всё

[app-cf-on]
include => app-cf-on-custom
exten => lang-playback,1,GosubIf($[${DIALPLAN_EXISTS(app-cf-on,${CHANNEL(language)})}]?app-cf-on,${CHANNEL(language)},${ARG1}():app-cf-on,en,${ARG1}())
exten => lang-playback,n,Return()

exten => *72,1,Answer
exten => *72,n,Wait(1)
exten => *72,n,Macro(user-callerid,)
exten => *72,n,Set(fromext=${AMPUSER})
exten => *72,n,GotoIf($["${fromext}"!=""]?startread)
exten => *72,n,Playback(agent-loggedoff)
exten => *72,n,Macro(hangupcall,)
exten => *72,n(startread),Gosub(app-cf-on,lang-playback,1(hook_1))
exten => *72,n,GotoIf($["foo${toext}"="foo"]?startread)
exten => *72,n,Wait(1)
exten => *72,n,Set(DB(CF/${fromext})=${toext})
exten => *72,n,Set(STATE=BUSY)
exten => *72,n,Gosub(app-cf-on,sstate,1())
exten => *72,n,Gosub(app-cf-on,lang-playback,1(hook_2))
exten => *72,n,Macro(hangupcall,)

exten => sstate,1,Set(DEVICE_STATE(Custom:CF${fromext})=${STATE})
exten => sstate,n,Set(DEVICES=${DB(AMPUSER/${fromext}/device)})
exten => sstate,n,GotoIf($["${DEVICES}" = "" ]?return)
exten => sstate,n,Set(LOOPCNT=${FIELDQTY(DEVICES,&)})
exten => sstate,n,Set(ITER=1)
exten => sstate,n(begin),Set(DEVICE_STATE(Custom:DEVCF${CUT(DEVICES,&,${ITER})})=${STATE})
exten => sstate,n,Set(ITER=$[${ITER} + 1])
exten => sstate,n,GotoIf($[${ITER} <= ${LOOPCNT}]?begin)
exten => sstate,n(return),Return()

exten => en,1(hook_0),Read(fromext,call-fwd-unconditional&please-enter-your-extension-then-press-pound,,,,)
exten => en,n,Return()
exten => en,n(hook_1),Read(toext,agent-newlocation,,,,)
exten => en,n,Return()
exten => en,n(hook_2),Playback(call-fwd-unconditional&for&extension)
exten => en,n,SayDigits(${fromext})
exten => en,n,Playback(is-set-to)
exten => en,n,SayDigits(${toext})
exten => en,n,Return()
exten => en,n(hook_3),Playback(call-fwd-unconditional&for&extension)
exten => en,n,SayDigits(${fromext})
exten => en,n,Playback(is-set-to)
exten => en,n,SayDigits(${toext})
exten => en,n,Return()

ded, опередил :lol:
Попытаюсь в этом разобраться для начала.
Ded, BorisTheBlade, спасибо за оперативный ответ.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Безусловная переадресация входящих сервисными кодами

Сообщение ded »

BorisTheBlade писал(а):ded, опередил :lol:
Изображение
BorisTheBlade
Сообщения: 167
Зарегистрирован: 14 фев 2011, 14:24

Re: Безусловная переадресация входящих сервисными кодами

Сообщение BorisTheBlade »

run, MrRomka, run
У тебя оверквотинг а у ded-a пистолет :mrgreen: :mrgreen: :mrgreen:
MrRomka
Сообщения: 31
Зарегистрирован: 03 авг 2020, 12:39

Re: Безусловная переадресация входящих сервисными кодами

Сообщение MrRomka »

Да, да. Он мне уже на екстеншены даже звонил )
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH