| Цитата |
|---|
Алексей Портнов пишет: То, что я описал уже реализовано в текущих версиях "SIP Софтфон для 1С" Достаточно одной команды: Код Компонент. Transfer (ТекущийЗвонок.Канал, "sip:" + НомерКудаПереводимЗвонок Atxfer + "@" + Хост); Для какой конфигурации ведете разработку? Какая АТС используется? |
Конфигурация нестандартная (самописная).
Перевод решается путем донабора номера, алгоритм следующий:
- поступает входящий звонок
- снимаем трубку
- после уточнения цели звонка оператор ставит на удержание
| Код |
|---|
Компонента.Hold(НомерКанала); |
- далее набирает внутренний(или сотовый) номер абонента (отдела продаж) и нажимает кнопку перевода
| Код |
|---|
Компонента.Resume(НомерКанала);
/... делаем небольшую задержку .. ./
Компонента.Input(НомерКанала, "##" + НомерДонабора + "#"); |
- происходит разговор с абонентом, в этот момент клиент находится на удержании (слышит заставку)
- далее либо ложем трубку и клиент разговаривает с абонентом, либо возвращаемся к клиенту
| Код |
|---|
Компонента.Input(НомерКанала, "##");
|
Сложности возникают при возвращении к клиенту в случае неудачного перевода (номер абонента недоступен/занят/нет желания разговаривать), после ввода донабора "##" даже поставив задержку (пустой цикл до 20000 (по тестам максимальное время для того чтобы клиент не заметил переключения)), клиента не поставить на удержание функцией:
| Код |
|---|
Компонента.Hold(НомерКанала); |
требуется более продолжительный цикл.