Можно говорить только о миграции в готовую АТС с вэб управлением, а не в голый Астериск. Иначе вечная кастомизация и внешний человек (фрилансер) на прикорме, который там девелопит все ваши хотелки, и вы от него зависите.
dogidogi писал(а):Функционал по перехвату звонков определёнными пользователями
Перехват (Pickup) в общепринятых терминах - это возможность перехватить на себя входящий вызов - сам звонок, который звенит на соседнем столе у коллеги.
Это штатная опция, через сервисный код, в примере ниже - *8
Код: Выделить всё
*CLI> features show
Builtin Feature Default Current
--------------- ------- -------
Pickup *8 *8
Blind Transfer # #
Attended Transfer *2
One Touch Monitor *1
Disconnect Call * **
Park Call
One Touch MixMonitor
Dynamic Feature Default Current
--------------- ------- -------
apprecord no def *1
Feature Groups:
---------------
(none)
Для этого внутренние номера должны принадлежать одной и той же ринг-группе и одной пикап группе.
Чтобы подключаться в существующий разговор - незаметно, или для совместного разговора, используется app ChanSpy, вызов которого, как динамический кастомный сервисный код, можно навесить на одну из кнопок ИП-телефона как speed dial
Код: Выделить всё
*CLI> core show application ChanSpy
-= Info about application 'ChanSpy' =-
[Synopsis]
Listen to a channel, and optionally whisper into it.
[Description]
This application is used to listen to the audio from an Asterisk channel. This
includes the audio coming in and out of the channel being spied on. If the
'chanprefix' parameter is specified, only channels beginning with this string
will be spied upon.
While spying, the following actions may be performed:
- Dialing '#' cycles the volume level.
- Dialing '*' will stop spying and look for another channel to spy on.
- Dialing a series of digits followed by '#' builds a channel name to append
to 'chanprefix'. For example, executing ChanSpy(Agent) and then dialing the
digits '1234#' while spying will begin spying on the channel 'Agent/1234'.
Note that this feature will be overridden if the 'd' or 'u' options are used.
NOTE: The <X> option supersedes the three features above in that if a valid
single digit extension exists in the correct context ChanSpy will exit to it.
This also disables choosing a channel based on 'chanprefix' and a digit
sequence.
[Syntax]
ChanSpy([chanprefix][,options])
dogidogi писал(а):Функционал по оповещению об освобождении пользователя (автоматический обратный звонок/уведомление, в случае если пользователь был занят)
Этого нет, это вообще эхо 1990-х годов. Для той же цели используют ИП-телефоны с боковыми кнопками speed dial / BLF (Busy Lamp Field, a busy lamp field is a light on a VoIP phone -- also known as an IP phone -- that tells end users when another extension within the system is in use by displaying a clear status on the phone's display.)
То есть цветом показывают - свободен или занят абонент. И если моргает - то туда идёт вызов, и можно его перехватить (pickup).
dogidogi писал(а):+ уведомление занятого пользователя о параллельном входящем вызове.
Это штатный функционал во всех ИП-телефонах. гудками в разговоре, и информацией кто звонит - на экране ИП-телефона, с возможностью принятия решения: сказать текущему абоненту - минуточку, повисите на трубке! и уйти на ответ по второй линии, и потом вернуться к нем. Или проигнорировать, телефон записывает его как неотвеченный, и перезвонить ему после разговора.