Вывод пользователя из группового номера — различия между версиями
(Новая страница: «==SVC - Вывод пользователя из группового номера.== В случае, когда пользователь участвует в г...») |
м |
||
(не показано 10 промежуточных версии этого же участника) | |||
Строка 1: | Строка 1: | ||
− | + | [[Практики|Наверх]] | |
В случае, когда пользователь участвует в групповом номере и приходит много звонков, нет возможности совершить исходящий звонок, так как сразу после завершения текущего разговора приходит следующий звонок. Для решения такой задачи нужно вывести пользователя из группового номера. | В случае, когда пользователь участвует в групповом номере и приходит много звонков, нет возможности совершить исходящий звонок, так как сразу после завершения текущего разговора приходит следующий звонок. Для решения такой задачи нужно вывести пользователя из группового номера. | ||
Строка 5: | Строка 5: | ||
1) Попросить администратора убрать пользователя из группового номер | 1) Попросить администратора убрать пользователя из группового номер | ||
− | [[Файл:Otput_memberof_the_group.PNG]] | + | [[Файл:Otput_memberof_the_group.PNG|center]] |
Но это не самый лучший вариант! | Но это не самый лучший вариант! | ||
− | 2) Воспользоваться возможностью [[ | + | 2) Воспользоваться возможностью [[Серверный HTTP интерфейс|web интерфейсом Oktell'a.]] |
Для этого перейдем в раздел Администрирование\ Внешние модули\Разделы меню | Для этого перейдем в раздел Администрирование\ Внешние модули\Разделы меню | ||
Нажимаем "Добавить" и в качестве "Адреса страницы веб-сервиса" укажем следующий адрес: | Нажимаем "Добавить" и в качестве "Адреса страницы веб-сервиса" укажем следующий адрес: | ||
Строка 17: | Строка 17: | ||
'''phone_buttons - название служебного сценария.''' | '''phone_buttons - название служебного сценария.''' | ||
'''[user_guid] - id оператора, открывшего создаваемый пункт меню''' | '''[user_guid] - id оператора, открывшего создаваемый пункт меню''' | ||
− | [[Файл:Otput_memberof_the_group_1.PNG]] | + | [[Файл:Otput_memberof_the_group_1.PNG|center]] |
Создаем служебный сценарий phone_buttons. | Создаем служебный сценарий phone_buttons. | ||
На старт данного сценария передается '''[user_guid]'''. Сохраняем его в переменную текстовую '''Userid'''. | На старт данного сценария передается '''[user_guid]'''. Сохраняем его в переменную текстовую '''Userid'''. | ||
− | [[Файл:Otput_memberof_the_group_2.PNG]] | + | [[Файл:Otput_memberof_the_group_2.PNG|center]] |
Далее в компоненте "Присвоение" служебной переменной "(сл) Возвращаемое значение 1(строка)" присваиваем выражение, где по ссылкам будет запускаться служебный сценарий '''"Управление групповым номером 8888"''' и в качестве параметра будет передаваться '''"1"''' или '''"0"''', в зависимости выбранной ссылки. | Далее в компоненте "Присвоение" служебной переменной "(сл) Возвращаемое значение 1(строка)" присваиваем выражение, где по ссылкам будет запускаться служебный сценарий '''"Управление групповым номером 8888"''' и в качестве параметра будет передаваться '''"1"''' или '''"0"''', в зависимости выбранной ссылки. | ||
Строка 28: | Строка 28: | ||
После перезапуска клиентского приложения, в разделе '''"Внешние модули"''', появиться созданный пункт меню "Управление номером". | После перезапуска клиентского приложения, в разделе '''"Внешние модули"''', появиться созданный пункт меню "Управление номером". | ||
− | [[Файл:Otput_memberof_the_group_3.PNG]] | + | [[Файл:Otput_memberof_the_group_3.PNG|center]] |
− | Теперь рассмотрим сценарий '''Управление групповым номером 8888''', в котором происходит добавление или удаления пользователя из группового номера | + | Теперь рассмотрим сценарий '''"Управление групповым номером 8888"''', в котором происходит добавление или удаления пользователя из группового номера |
− | [[Файл:Otput_memberof_the_group_4. | + | [[Файл:Otput_memberof_the_group_4.PNG|center]] |
Если переданный параметр был "1", то прежде чем добавлять пользователя в групповой номер, проверяем нет ли уже его там. Если нет, то добавляем пользователя в групповой номер с помощью SQL запроса: | Если переданный параметр был "1", то прежде чем добавлять пользователя в групповой номер, проверяем нет ли уже его там. Если нет, то добавляем пользователя в групповой номер с помощью SQL запроса: | ||
Строка 60: | Строка 60: | ||
В конце сценария перезапускаем сервер состояния с помощью компонента "Статус объекта", для того чтобы все изменения вступили в силу. | В конце сценария перезапускаем сервер состояния с помощью компонента "Статус объекта", для того чтобы все изменения вступили в силу. | ||
− | + | <span style="color:red;">Внимание!!! В сценариях необходимо указать свой адрес сервера, порт и групповой номер.''' | |
+ | |||
+ | [[Media:Сценарии.zip|Сценарии.zip]] |
Текущая версия на 10:49, 31 марта 2023
В случае, когда пользователь участвует в групповом номере и приходит много звонков, нет возможности совершить исходящий звонок, так как сразу после завершения текущего разговора приходит следующий звонок. Для решения такой задачи нужно вывести пользователя из группового номера.
1) Попросить администратора убрать пользователя из группового номер
Но это не самый лучший вариант!
2) Воспользоваться возможностью web интерфейсом Oktell'a. Для этого перейдем в раздел Администрирование\ Внешние модули\Разделы меню Нажимаем "Добавить" и в качестве "Адреса страницы веб-сервиса" укажем следующий адрес:
http://192.168.0.20:4055/execsvcscriptplain?name=phone_buttons&startparam1=[user_guid]&async=0&timeout=10
Где:
phone_buttons - название служебного сценария. [user_guid] - id оператора, открывшего создаваемый пункт меню
Создаем служебный сценарий phone_buttons. На старт данного сценария передается [user_guid]. Сохраняем его в переменную текстовую Userid.
Далее в компоненте "Присвоение" служебной переменной "(сл) Возвращаемое значение 1(строка)" присваиваем выражение, где по ссылкам будет запускаться служебный сценарий "Управление групповым номером 8888" и в качестве параметра будет передаваться "1" или "0", в зависимости выбранной ссылки.
После перезапуска клиентского приложения, в разделе "Внешние модули", появиться созданный пункт меню "Управление номером".
Теперь рассмотрим сценарий "Управление групповым номером 8888", в котором происходит добавление или удаления пользователя из группового номера
Если переданный параметр был "1", то прежде чем добавлять пользователя в групповой номер, проверяем нет ли уже его там. Если нет, то добавляем пользователя в групповой номер с помощью SQL запроса:
declare @id uniqueidentifier select @id=ExtraId from A_NumberPlanAction npa inner join A_NumberPlan np on np.Id=npa.NumID and np.Prefix='8888' insert into A_RuleRecords(ID, InnerAddressType, StartTime, FinishTime, RuleId, ReactId, Account) values(NewId(), @objtype, 0, 90, @id, @idobject, )
Если переданный параметр был "0", то удаляем пользователя из группового номера с помощью SQL запроса:
declare @id uniqueidentifier select @id=ExtraId from A_NumberPlanAction npa inner join A_NumberPlan np on np.Id=npa.NumID and np.Prefix='8888' delete from A_RuleRecords where InnerAddressType=@objtype and ReactId=@idobject and RuleId=@id
И что бы сбросить с него очередь, меняем его статус на "Отсутствует" с помощью запроса:
'http://192.168.0.20:4055/wp_setuserstate?user='+[Userid]+'&userstateid=3'
а потом на "На месте" с помощью запроса:
'http://192.168.0.20:4055/wp_setuserstate?user='+[Userid]+'&userstateid=1'
В конце сценария перезапускаем сервер состояния с помощью компонента "Статус объекта", для того чтобы все изменения вступили в силу.
Внимание!!! В сценариях необходимо указать свой адрес сервера, порт и групповой номер.