#282 closed улучшение (fixed)
Переделать исходящие вызовы в телефонную сеть
Reported by: | alx | Owned by: | dimag |
---|---|---|---|
Priority: | critical | Milestone: | 2 очередь |
Component: | ПО MC04-Dispatcher. Пульт диспетчера/техника | Keywords: | public telephone network, pstn |
Cc: | san |
Description
По просьбе Александра (см. #280) ставлю задачу по изменению способа вызовов номеров телефонной сети.
Предлагаю попробовать делать вызов следующей командой:
originate {var=val,...}loopback/<number>/<context>/XML <confname> XML conference
Change History (19)
comment:1 by , 8 years ago
comment:2 by , 8 years ago
Дополнение. Для правильного отображения вызываемого номера в CDR и списке участников конференции надо дополнительно установить переменную origination_callee_id_number
в значение вызываемого номера, например:
originate {...,origination_callee_id_number=112}loopback/112/pstn/XML 0 XML conference
comment:3 by , 8 years ago
Теперь есть другая проблема. Вызываю в конференцию, допустим, телефонный номер 112. А он отображается в списке участников как наш местный абонент "ГРС Червень - 112" из-за совпадения имен.
Я не знаю, как решить эту проблему. В качестве промежуточного решения могу предложить при установке значения переменной origination_callee_id_number добавлять какой-то префикс, например:
origination_callee_id_number=pstn:112
Благодаря этому префиксу номера телефонной сети не будут совпадать с номерами локальных пользователей.
Сам префикс предлагаю формировать из имени контекста, который используется для вызова телефонных номеров и двоеточия. Это позволит не добавлять новых настроек в программу (будет настраиваться только имя контекста).
follow-up: 5 comment:4 by , 8 years ago
А почему ты считаешь это решенее промежуточным? что плохого в этом?
comment:5 by , 8 years ago
Replying to san:
А почему ты считаешь это решенее промежуточным? что плохого в этом?
Когда я писал "промежуточное", я придумал еще только добавлять какой-то префикс (предполагая фиксированную строку, например "PSTN:"). Это не решало проблему полностью, так как локальный пользователь тоже может иметь имя "PSTN:112". А уже потом я придумал, что в качестве префикса можно использовать имя контекста, которое у нас конфигурируется. В таком решении я ничего плохого не вижу.
comment:6 by , 8 years ago
Кстати, в качестве бонуса мы будем сразу иметь признак того, что это абонент телефонной сети, прямо в его имени без необходимости что-либо специально анализировать в программе...
comment:8 by , 8 years ago
Priority: | major → critical |
---|
follow-up: 10 comment:9 by , 8 years ago
Для абонента ТФОП с номером 121 используется следующая строка
bgapi originate {originate_timeout=20,origination_caller_id_name='Диспетчерская',origination_caller_id_number=pstn:2,origination_uuid=45538bf5-b2fb-4db4-ac3e-30bb42db3364}loopback/121/pstn/XML 0 XML conference
Когда я получаю список пользователей конференции, то возвращается следующая строка
onference 0 (1 member rate: 8000 flags: running|dynamic|exit_sound|enter_sound|json_status)
610;loopback/121-a;45538bf5-b2fb-4db4-ac3e-30bb42db3364;Outbound Call;XML;hear|speak|floor;0;0;0;300
Вместо имени пользователя 121 у меня имя пользователя XML.
Вчё ли у меня верно?
comment:10 by , 8 years ago
follow-up: 12 comment:11 by , 8 years ago
В опции origination_caller_id_number=pstn:2, 2 - имя пользователя программы.
Данную опция я пишу как origination_caller_id_number=pstn:[имя пользователя программы].
Согласно предыдущему комментарию, я должен писать данную опцию как
origination_caller_id_number=pstn:112, для любого пользователя программы?
comment:12 by , 8 years ago
Replying to dimag:
В опции origination_caller_id_number=pstn:2, 2 - имя пользователя программы.
Данную опция я пишу как origination_caller_id_number=pstn:[имя пользователя программы].
И это Вы делаете совершенно зря. Предложение добавлять префикс в виде имени контекста и двоеточия касалось номера вызываемого, а вовсе не вызывающего абонента. С именем вызывающего, по-моему, никаких проблем не было и нет.
Согласно предыдущему комментарию, я должен писать данную опцию как
origination_caller_id_number=pstn:112, для любого пользователя программы?
В предыдущем (как и во 2-м, и в 3-м) комментарии ничего не говорилось о переменной origination_caller_id_number
. Речь шла о переменной origination_callee_id_number
comment:13 by , 8 years ago
Keywords: | public telephone network pstn added |
---|---|
Resolution: | → fixed |
Status: | new → closed |
r316
Переделал запрос по вашим замечаниям.
Также закрыл замечание 280
comment:14 by , 8 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
В r316 выполняю такие действия:
- запускаю программу;
- вхожу в сеть как техник;
- нажимаю "Вызов абонента ТСОП";
- ввожу номер "112" и нажимаю Enter.
Результат: номер успешно вызывается, но имя участника конференции я вижу как "112", без префикса "pstn:".
follow-up: 16 comment:15 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Есть иконка, телфонный номер должен выводиться в том виде, в котором его ввёл пользователь, без приставок в виде pstn:
follow-up: 17 comment:16 by , 8 years ago
Replying to dimag:
Есть иконка, телфонный номер должен выводиться в том виде, в котором его ввёл пользователь, без приставок в виде pstn:
Почему должен именно так? Аргументируйте, пожалуйста.
follow-up: 18 comment:17 by , 8 years ago
Replying to alx:
Replying to dimag:
Есть иконка, телфонный номер должен выводиться в том виде, в котором его ввёл пользователь, без приставок в виде pstn:
Почему должен именно так? Аргументируйте, пожалуйста.
Тут Дима прав, заказчику не понравится "лишняя" информация на кнопке абонента.
(Если нужно, полное имя можно вывести в всплывающей подсказке)
comment:18 by , 8 years ago
Replying to san:
заказчику не понравится "лишняя" информация на кнопке абонента.
OK. Если это требование Заказчика, тогда вопросов больше нет.
Тут есть проблемы с номером абонента в CDR: вместо номера там "XML"...