Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Меню выбора перед снатием трубки входящего звонка (Voice and DTMF)

0

Здравствуйте! Такая ситуация, есть входные каналы на которые поступают вызовы (CDMA, GSM, SIP, Skype etc) (каналы N) и они должны перенаправляться на один канал (Gate) который перезванивает на удалённый телефон (User) (GSM, CDMA), для этого дозваниваемся на удалённый телефон, на другой стороне человек видит что ему звонит шлюз и связь устанавливается простым поднятием трубки. Тут проблем нет, всё работает отлично, но не знаем номер и канал на который поступил вызов, а вызов может быть не желательным и отвечать не нужно. Возможные варианты и подобная проблема была вот здесь - http://asterisk-support.ru/question/14829/vyvod-nomera-abonenta-pri-vkhodiashchem-zvonke-na/ но так как каналы (GSM, CDMA) не поддерживают такое как например SIP то тут вариантов несколько (оповещение по SMS, Mail, Jabber, оповещение голосом, DTMF).

Вопрос: как сделать так что бы принимающая сторона (User) при поднятии трубки услышала голосовое сообщение номера или имени звонящего (N) и затем выбор что делать со звонком, например 1 - принять, 2 - занято, 3 отбой итд. Но при этом звонящему (N) не должен делаться Answer() (что бы звонящий не платил за звонок) решение должно приниматься на основе ответа (User) с помощью DTMF. В наведённой ссылке приведён пример похожий но со снятием трубки для (N).

Идея: Телефон или коммуникатор (User) при ответе на звонок получает от шлюза номер звонящего (N) по DTMF сопоставляет из телефонной книгой и выводит на экран номер и имя звонящего, такое возможно? Какие идее? Почти уверен что штатного решения не существует (или всё же?) но программно реализовать можно, кто то такое встречал?

удалить закрыть спам изменить тег редактировать

спросил 2012-08-28 00:57:09 +0400

devi_k Gravatar devi_k
1 1

1 Ответ

0

такое реализовано.называется call screening делается через ключ диал p или M

http://www.asterisk.org/astdocs/node66.html

если надо dtmf - просто полыаете dtmf в макросе.

ссылка удалить спам редактировать

ответил 2012-08-28 02:47:39 +0400

meral Gravatar meral flag of Ukraine
21228 24 19 169
http://pro-sip.net/

обновил 2012-08-28 02:48:23 +0400

Comments

да, только эта функция, если не ошибаюсь, будет "снимать трубку" и звонящему по (GSM, CDMA) каналу будет начисляться плата, плюс это несколько необычно для людей будет когда их просят назвать себя..

devi_k ( 2012-08-28 03:18:59 +0400 )редактировать

а вы как хотите? без снятия трубки по gsm никаких dtmf не пойдет в приницпе. операторы они не идиоты,знаете ли.

meral ( 2012-08-28 05:03:35 +0400 )редактировать

caller будет неотвеченый. незнаю отчего вы взяли что ответит. called отвеченый,ибо иначе дтмф в gsm не пошлешь.

meral ( 2012-08-28 05:04:42 +0400 )редактировать

Да я понимаю что без ответа по GSM ничего не сказать, я же в посте писал про это :) Только имел ввиду что позвонил пользователь (N) ждёт на линии, ему оператор посылает "гудки ожидания" и пусть себе посылает, платить ему за это не придётся. Но как только на вызов Dial() для (User) будет отвечено для (N) делается Answer() и осуществляется соединении двух звуковых каналов (N) и (User) а нужно как раз сделать что бы ответ для или отбой для (N) был по ответу от (User). Прошу прощения, проверил, действительно работает только как то странно, первый раз был автоответ последующие ожидание. пробовал разные вариант ответа 2,3,4 у всех случаях коротки гудки в ответ. И по поводу файла sounds/priv-callerintros/${CALLERID(num)} я так понял первый раз его нет, но это тоже плохо.. Либо я что то не понимаю

devi_k ( 2012-08-28 14:57:36 +0400 )редактировать

угу. так и рабтает. нет, не отвечает макрос пока не закончится.у меня так работают минимум четыре системы операторского класа,одна на 1.6.* три на 1.8.х. вы чтото не понимаете.

meral ( 2012-08-28 20:34:14 +0400 )редактировать

А я пробовал выше описанное используя ключ "р", макрос не пробовал. А как работает макрос? Получается мы отвечаем на Dial() и можем воспроизвести макросом что то абонементу?

devi_k ( 2012-08-28 22:05:18 +0400 )редактировать

а попробывать?

meral ( 2012-08-29 07:08:16 +0400 )редактировать

Немного не в тему, но я сделал гораздо проще. Астер отправляет емейл, на телефоне yandex.почта. Если телефон рядом (на столе), то email приходит и можно увидеть номер звонящего до звонка в строке. Если что, то можно сделать и паузу перед звонком.

fedorchuk ( 2012-08-30 15:40:49 +0400 )редактировать

это ну ОЧЕНь через одно место. а не проще на телефоне номер звонящего посмотерть?

meral ( 2012-08-30 16:17:30 +0400 )редактировать

Нет не проще на телефоне (моб.) отображается номер транка (у меня мультифон) (топик страртер это назвал шлюзом), а необходимо посмотреть кто звонит на мой DID,

fedorchuk ( 2012-09-04 10:07:44 +0400 )редактировать

ну это потомучто вы не разабралися как ПРАВИЛЬНО сделать. не повод делать так криво.

meral ( 2012-09-04 10:14:14 +0400 )редактировать

В данном случае мое решение было правильно для меня, ибо решалось одной строчкой - просто и быстро. Мне важнее было видеть не номер звонящего, а номер пропущенного вызова. Конечно можно было бы попробовать реализовать как топике по ссылке, но позже...

fedorchuk ( 2012-09-04 16:15:13 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку
1 закладка

подписаться на rss ленту новостей

Статистика

Задан: 2012-08-28 00:57:09 +0400

Просмотрен: 249 раз

Обновлен: Aug 28 '12

Похожие вопросы:

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.