Звонящий, Возможность оставить свой номер
Помогите реализовать следующую схемку
Откуда: Уфа
Сообщений: 5856
|
Re: Звонящий, Возможность оставить свой номер
Имхо мой вариант с обработчиком в h будет более удобным:
никаких проверок каждые 15 секунд, состояние линии будет известно 100%.
|
Откуда: Москва
Сообщений: 3421
|
Re: Звонящий, Возможность оставить свой номер
Подробнее можно?
|
Сообщений: 196
|
Re: Звонящий, Возможность оставить свой номер
делали такое.. callerid клиента как переменная передается внешнему скрипту, который формирует call-файл.
|
Откуда: Уфа
Сообщений: 5856
|
Re: Звонящий, Возможность оставить свой номер
да все намного элегантнее:
Звонит абонент С абоненту А, который разговаривает с В.
так вот
С попадает в макрос dial и там вываливается по статусу busy.
В обработчике этого статуса записывается в astdb номер звонящего.
Когда абонент А заканчивает разговор, его вызов проходит в экстеншен h.
Там проверяется, есть ли в соответствующей ячейке бд какое-нить значение, если есть - формируется call файл или ami событие, после чего значение стирается и вызов окончательно завершается.
Call файл соединяет абонента C c астериском, а затем - с абонентом A. Все счастливы и довольны.
Все для пущего удобства и понтов ради обвешивается красивыми фразами.
Голосовое меню добавляется по вкусу.
|
Откуда: Москва
Сообщений: 3421
|
Re: Звонящий, Возможность оставить свой номер
А так и понял, но хотел чтобы ты сам это описал. Согласен, использование h exten'a в кач-ве триггера проверки "а не надо ли тебе никому перезвонить" идея хорошая. В случае успешного дозвона обнулять. Интересно, насколько это жизнеспособно, или просто никому не нужна фича в стиле \m/ \m/ ...
|
Откуда: Уфа
Сообщений: 5856
|
Re: Звонящий, Возможность оставить свой номер
а-а-а блин
поооонял все-таки
Кому-то актуально
но у меня не сделано, так что хз
кстати мой вариант не будет работать в случае занятости внешнего абонента.
|
Сообщений: 131
|
Re: Звонящий, Возможность оставить свой номер
один триггер мало...
а если во время одного разговора В с А позвонит С1, С2, С3 и т. д.
а вообще мне кажется - не будут звонящие пользоваться этой услугой.
скажите например - многие ли оставляют сообщение на войсмейл (автоответчик)?!
у меня например - из 20 пропущенных звонков - только 3-4 звонящих оставляют сообщения. И все(!) они - те с кем я уже знаком и у нас продолжается общение.
Новый звонящий (на моем опыте) очень редко оставляет сообщение.
В этом случае, думаю, самым лучшим решением обработки вызова будет -
если номер вызывающего отсутствует в базе (каждый CallrID проверять с базой CRM например) его в ОБЯЗАТЕЛЬНОМ порядке переводить на свободного ЧЕЛОВЕКА. который уже и спросит - кто это и зачем звонит, а потом передаст эту информацию кому надо.
|
Откуда: Уфа
Сообщений: 5856
|
Re: Звонящий, Возможность оставить свой номер
а в моем дистрибе просто отправляется письмо со ссылкой о пропущенном звонке. нажал на ссылку - соединился с тем, кто звонил
|
Откуда: Москва
Сообщений: 3421
|
Re: Звонящий, Возможность оставить свой номер
Абсолютно согласен с предыдущим оратором :-)
У нас есть один клиент - автодилер. Те вначале сделали личные очереди на менеджеров по модели машины, а если тот не отвечает больше порогового времени, проговаривали фразу, типа "нажмите 1 и менеджер свяжется когда освободится". При нажатии 1 шло уведомление на мыло missed call. Они понимали, что никто VM отавлять не будет. Так вот, никто даже 1 не нажимал. Люди просто вешали трубку. В итоге, пришлось переделать алгоритм. Получилось интересно, потому что для управления используйтеся freepbx, а все заменено на extensions. Алгоритм там такой.
1. Кажому DID'у - по марке машины. В зав-ти от набранного номера проговаривается "Вы позвонили в Nissan" и тд. Далее звонок направляется в custom destiation (в мой диалплан).
2. Созданы во FreePbx личные очереди, но только для того, чтобы админ мог сам менять менеджера. В моем диалплане через функцию QUEUE_MEMBER_LIST получаем exten менеджера, отвечающего за марку машины.
3. Проверяем статус пира через DEVICE_STATE.
4. Проверяем статус DND через Custom DEVICE_STATE.
5. Если оба NOT_INUSE, проговариваем "Соединяем с менеджером ФИО в род. падеже" и соединяем.
6. Если персональный менеджер не отвечает, или не взял трубку, направляемся далее.
7. Во FreePbx создана очередь со всеми менеджерами. В диалплане получаем весь их список в QUEUE_MEMBER_LIST, и по очереди проверяем статус. Как нашли свободного, проговариваем его ФИО, и соединяем.
8. Если свободных нет, смотрим статус секретаря. Если тот свободен, то на него. Если занят, запускаем с самого начала.
Основные положения:
- звонок должен принять хоть кто-то, клиент не будет ничего оставлять.
- проговаривать личное ФИО менеджера перед соединением. Кстати, сколько не читал man по Queue, так и не смог выжать этот функционал штатно - проговорить фразу перед соединением.
Мне кейс очень понравился, буду писать howto. Пока просто выложу dialplan - http://asteriskpbx.ru/wiki/personal-queues-howto
Да кстати, в этом примере запись разговоров делается средствами FreePbx, и подшивается к статистике через Сашин патч - http://www.freepbx.org/v2/ticket/3955 (добавляет в отчет ссылку на скачивание записанного разговора).
|
Откуда: Москва
Сообщений: 3421
|
Re: Звонящий, Возможность оставить свой номер
Пока писал, ораторы сменились. С пре-предыдушим :-)
|
|