Гарантированное время звонка и обрыв вызова

 

Сервисы Общения Форумы Телефония Звонки на мобильные и городские (публичные линии) Гарантированное время звонка и обрыв вызова

Просмотр 17 сообщений - с 1 по 17 (из 17 всего)
  • Автор
    Сообщения
  • #14493
    Demon
    Участник

    Пару лет назад в сервисе был некоторый функционал, который заключался в следующем…
    Если при исходящем звонке все линии были заняты, то искалась линия, по которой общаются всех дольше и время разговора превышает гарантированное время.
    Данный разговор насильно прерывался и линия отдавалась желающему позвонить.
    Нехорошо, конечно, когда разговор прерывают. Но ведь и тот, кто желает позвонить.. тоже хочет позвонить. Гарантированное время обычно равняется минут 5, что согласно статистике среднего времени звонка более, чем достаточно.

    Данный функционал был “утерян” по двум причинам:
    – резко увеличилось (тогда) число линий и занятость линий стала очень редким явлением
    – на это наложилась очередная переделка логики обработки исходящих вызовов и функционал насильственного завершения вызова стал… плохо стал вписываться в эту логику.

    Я задумался о возврате этого функционала.
    Согласно статистике сейчас практически нет (пока нет) массовой проблемы с занятостью линий. Но…

    Но осталась вторая проблема: несовместимость логики действий исходящих звонков и завершения вызовов. Вот об этом и хотелось бы поговорить после такого длительного введения 🙂
    Сразу скажу спасибо тем, кто хотя бы дочитал до этого места:)

    Ранее в списке действий исходящих были только внешние учётные записи. Алгоритм, пройдясь по списку и определив занятость всех, завершал один вызов и… начинал обработку заново.
    Сейчас же в списке действий может быть сложная логика: внешние учётные записи с разными приоритетами, включение разных направлений исходящих, проигрывание мелодий, оповещение контактов, вызов http… и многое другое.
    Вопрос: а когда же мне принимать решение что всё… линии все заняты и надо уже что-то оборвать? Куда после этого переходить?
    Ведь вряд ли понравится что оповещение на контакт придёт дважды из-за того, что алгоритм вернулся на исходную точку?

    Окей. Есть такое правило в разработке: если алгоритм не может принять решение самостоятельно, то это должен сделать человек (настройщик).
    Т.е. вводим новое действие (аналогичное действию сообщения статуса звонка голосом):
    а) которое имеет смысл поставить в позицию после списка внешних учётных записей или включения направлений
    б) выполняться которое будет только если текущий статус звонка “все линии заняты”
    в) после отключения линии (если вообще найдется что отключить) оно будет переходить на приоритет (порядок), указанный в этом действии. т.е. сам настройщик решает “куда же прыгать после”.
    г) анализировать для отключения оно будет именно те линии, которые были проверены после указанного в пункте “в” приоритета.
    д) срабатывать будет только один раз (чтобы не зациклиться)

    Когда я начал писать этот текст я ещё не знал возможного решения. Думал: поделюсь проблемой и… Вот что значит правильно сформулированный вопрос 🙂
    Сейчас это кажется решением. Но при реализации узнаю много нового, всплывут какие-нибудь подводные камни 🙂

    Что думаете об этом? 🙂

    #14494
    Demon
    Участник

    Для истории.
    Было бы неплохо не просто обрывать вызов, а выдавать в канал голосовую фразу “Всё, приехали. Поезд дальше не идёт. Просьба освободить вагоны”.
    Вот только кому выдавать это?
    Хорошо бы обеим сторонам разговора. Но это значит что задержится исходящий вызов. Надо ж будет ждать пока фраза будет произнесена.
    Можно выдать только “локальному” пользователю (чаще всего именно он звонит – исходящий). Но это ещё и техническая задача: определить есть ли локальный канал и какой из двух…
    Обдумаем.

    #14495
    Роман
    Участник

    Резать разговор на полуслове совсем не красиво. Может сделать динамические лимиты на длительность звонка по разным линиям чтобы один человек не мог выговорить подавляющее большинство трафика? Тогда страждущий №2 будет знать что буквально через несколько минут сделает попытку и звонок произойдет.
    Ну или так: разговор не прерывается сразу, а робот говорит второму: подожжите, через 30 сек линия будет ваша. В этот же момент первый слышит “пора и честь знать, через 30 сек будет досвидос” чтобы он как-то предупредил своего собеседника о предстоящем обрыве.

    #14496
    Роман
    Участник

    А еще даже в нынешней ситуации можно второму (без разрыва разговора у первого) давать инфо типа “до освобождения линии осталось не более ХХ сек, вы – первый в очереди на звонок”, ведь исходя из имеющихся лимитов это довольно просто посчитать. И давать второму в ближайшие пару минут после разговора приоритет на очередь к этой линии. Наверно технически это реализуемо…

    #14497
    Дмитрий110
    Участник

    Друзья, я не думаю что если кому то ну очень срочно надо будет связаться то он будет звонить через сип телефон, позвонит по старинке, а если разговор не срочный то человек я думаю все прекрасно понимает и подождет пока линия освободится, тем более такой большой проблемы с этим нет

    #14498
    Saymer
    Участник

    Всё же, телефону более 100 лет.
    По старинке это как? По медному кабелю?
    Сейчас в России, в ТфОП сетях ни где не передается голос по меди. Так что по старинке позвонить всё равно не выйдет.
    Даже мелкие, крупные и очень крупные Операторы гоняют голос сейчас по оптическому волокну, а многие и вообще через SIP.
    В своих закрытых сетях, но тем не менее.

    #14499
    Дмитрий110
    Участник

    Имелось в виду , через своего сотового оператора

    #14500
    Nobody
    Участник

    Друзья, я не думаю что если кому то ну очень срочно надо будет связаться то он будет звонить через сип телефон, позвонит по старинке, а если разговор не срочный то человек я думаю все прекрасно понимает и подождет пока линия освободится, тем более такой большой проблемы с этим нет

    Пример:
    Звонит человек из другого региона.
    Сбрасываешь и презваниваешь.
    А не звонится блин.
    Ждешь.. ждешь…
    Второй раз звонят, намекают что немного поскорее надо бы поговорить.
    Опять не звонится. Чъйорт побери…

    В конечном итоге плюешь! И, как вы и предлагаете, звонишь с мобилы.
    Платишь 50 рублей за десяти минутный разговор.
    Материшься, что хер ты еще раз вот такой же злосчастный палтиник положишь на публичные линии.

    Meanwhile…
    На занятой линии второй час болтают с соседкой по подьезду какие охрененные трусы завезли в 5й гастроном и совсем ведь не дорого, а фактура, фактура..

    Мораль.
    Думаю что с этим что-то надо делать. Рвать разговор посередине считаю неправильным. Но что-то надо делать.

    ПС.
    История и персонажи вымышленны, а все совпадения случайны.

    #14501
    AndyRadist
    Участник

    Выше приведено оптимальное решение. Установить гарантированный минимум, после чего разговор продолжается до тех пор, пока не возникнет потребность в линии в условиях их дефицита. Тогда самого долгоговорящего отключают, но не сразу, а через минуту. В течение этой минуты долгоговорящий слышит пикалку каждые 6 секунд. На десятом пике линия освобождается.
    У ожидающего свободную линию звонок ставится на удержание и проговаривается голосом: Все линии заняты, время ожидания свободной линии одна минута.
    Проблема в том, что усложняются правила линий и Дмитрию придётся изрядно поломать голову.

    P.S. При наличии большого количества линий можно было-бы создать простое правило: “Одна линия всегда свободна”. В этом случае при занятии последней линии сразу-же инициируется минутная процедура освобождения самой долгозанятой линии. Такое делалось на старых АТС чтобы катушка реле могла остыть и прийти в себя.

    #14502
    talk
    Участник

    В течение этой минуты

    Согласен с радистом, но считаю что тут можно сократить до 15сек.

    #14503
    Роман
    Участник

    Глупый вопрос: а можно все оставить как есть? Ведь, как говорилось в первом посту, случаев занятости линий стало довольно мало…

    #14504
    Demon
    Участник

    Сейчас речь идёт о “возможностях”.
    Когда такая проблема “встанет в полный рост”, то у меня не будет времени ни обсудить, ни реализовать.
    Возможность ожидания освобождения, возможность отключения после гарантированного времени.. всё это “независимые” возможности, которые можно вводит или не вводить.
    Но если такое потребуется, то нужно это иметь.

    Это очень похоже на долгоиграющую историю по переходу на номера, более чем 4-хзначные.. давно бы надо.

    #14505
    Saymer
    Участник

    Такое делалось на старых АТС чтобы катушка реле могла остыть и прийти в себя.

    Вот это хорошая мысль, а у нас это можно мотивировать тем, что бы модемы успевали остыть и чипсет на хабе. А то при постоянных звонках, они могут и нагреваться.

    #14506
    Demon
    Участник

    Если бы у нас было большое число линий, то этой темы не было бы 🙂

    #14541
    farcann
    Участник

    Неплохо реализовать используя “внутреннюю” линию для удержания. То есть “повесить” абонента на ожидание.
    Тут я полностью солгласен с Романом. “до освобождения линии осталось не более ХХ сек, вы – первый в очереди на звонок”.
    Голосовую нотификацию конечно же желательно и по прогнозу возможной продолжительности соединения. Например: “продолжительность соединения составит не менее четырёх минут”. Перед завершением вполне можно обойтись и звуковыми тиккерами. За 30 секунд до окончания и за 10.
    Уже сейчас попадаются линии на которых выдаётся голосовое уведомление о предстоящей продолжительности вызова и это удобно.
    Я сам могу предупредить собеседника сколько минут есть для разговора.
    Спасибо, что подняли эту тему!
    PS Как только отменят внутрисетевой роуминг станет полегче. Вот только отменят ли его?

    #14542
    Nobody
    Участник

    Неплохо реализовать используя “внутреннюю” линию для удержания.

    Тут больше вопрос рубить или не рубить того кто долго говорит. А на счет очереди в линии полностью Вас поддерживаю.

    #14545
    farcann
    Участник

    А что значит “вопрос” ? Эта необходимость возникла и касается “не ночного” времени по мск. Я правильно понимаю ситуацию? Количество линий не велико. Как вариант с 23-00 мск до 06-00 мск не рубить. В остальное время при инициализации соединения голосом запрашивать параметр желательной продолжительности. “Введите в минутах желаемую продолжительность разговора”. Например: ввожу “20”. А дальше смотрим на существующие лимиты и текущее время по мск поясу и принимаем решение дать инициатору 20 минут или отказать. Или, для начала, добавить этот параметр на страничке https://ruvoip.net/cb/ с ответным инфо-уведомлением о возможностях системы. Например на те же 20 минут: “ваш запрос поставлен в очередь. возможное время ожидания соединения тридцать шесть минут” или “данный запрос не может быть выполнен. уменьшите значение”.

Просмотр 17 сообщений - с 1 по 17 (из 17 всего)
  • Для ответа в этой теме необходимо авторизоваться.