ВидеоКонф(ВКС)  ::   Чат  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Получить имя пира с телефонного аппарата

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модератор: april22

Получить имя пира с телефонного аппарата

Сообщение alexanderzhirov » 12 май 2022, 09:32

Добрый день!

Хочу выгрузить список зарегистрированных пиров с возможностью указания каждому пиру имя абонента, которое забито в телефоне.

Пытаюсь разобраться, как получить имя пира, которое забито в телефоне. Как таковой книги телефонной не существует. Имя привязывается внутри телефонного аппарата (корпоративная телега, сам ещё только разбираюсь, новичок). Включил отладку. Звоню с телефона - нигде не видно информации о том, кто (from) звонит. Сделал дамп пакетов с телефона, через Wireshark глянул - в четвертом отправляемом пакете имеется имя, которое мне необходимо. Думаю, справедливо предположить, что его можно через Asterisk как-то вытащить. Пробовал гуглить и на eng форумах - поиск не дал результатов.
Вложения
2022-05-12_08-28.png
2022-05-12_08-28.png (91.33 KIB) Просмотров: 278
alexanderzhirov
 
Сообщений: 1
Зарегистрирован: 21 мар 2022, 16:34

Re: Получить имя пира с телефонного аппарата

Сообщение ded » 13 май 2022, 11:57

alexanderzhirov писал(а):Звоню с телефона - нигде не видно информации о том, кто (from) звонит. Сделал дамп пакетов с телефона, через Wireshark глянул - в четвертом отправляемом пакете имеется имя, которое мне необходимо. Думаю, справедливо предположить, что его можно через Asterisk как-то вытащить.

Теория: Caller ID состоит из CallerID(name) и CallerID(number), имеет формат
"A.Zhirov"<70031>

При оригинации вызова от абонента многие ИП телефоны и софтфоны могут передавать это всё, что у них вбито, в поле From:
Далее звонок маршрутизируется АТС Астериск, где эти данные обычно унифицированы, чтобы не было анрхии в именах. И имена с номерами обычно хранятся в базах - внутренней astdb и MariaDB/MySQL.
Но их можно менять там, через функцию
Set(CALLERIP(name)
Set(CALLERIP(num)
Set(CALLERIP(all)
Надо читать документацию. Если вы используете FreePBX, то использовать модуль SetCallerID, если чистый Астериск - изучать функции и язык диалплана.
Как вытащить? Расставить везде
NoOp(CallerID is ${CALLERID(all)}) при прохождении вызова, и увидеть где он перебивается Астериском.
ded
 
Сообщений: 15250
Зарегистрирован: 26 авг 2010, 19:00


Вернуться в Вопросы новичков

Кто сейчас на форуме

Сейчас этот форум просматривают: Google [Bot] и гости: 7

© 2008 — 2022 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH