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

Входящий номер при поступление звонка, способы получения

Раздел для разработчиков для обсуждения программных и аппаратных продуктов и их реализации.

Модераторы: april22, Zavr2008

Re: Входящий номер при поступление звонка, способы получения

Сообщение virus_net » 25 авг 2015, 09:16

Есть event Bridge по которому можно осознать и номер А и номер Б по Uniqueid.

http://voxlink.ru/kb/asterisk-configuration/AMI/
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
virus_net
 
Сообщений: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: Входящий номер при поступление звонка, способы получения

Сообщение le7o » 05 янв 2016, 21:12

Еще один вопрос в рамках данной темы:
Может кто нибудь поделиться логами AMI(с входящими внешними номерами), для анализа и разработки регулярных выражений?

Поясню: сейчас сделал, регулярное выражение вида:
Код: выделить все
Event=Dial.{1,}SubEvent=Begin.{1,}?100|Event=Bridge.{1,}?100|Event=Hangup.{1,}?100

И фиксируются события вида: ("=" вместо ":" подставляю для удобства дальнейшей обработки в Delphi)
Код: выделить все
Event=Dial
Privilege=call,all
Timestamp=1451857888.475368
SubEvent=Begin
Channel=SIP/101-00000087
Destination=SIP/100

Event=Bridge
Privilege=call,all
Timestamp=1451857890.606465
Bridgestate=Link
Bridgetype=core
Channel1=SIP/101-00000087
Channel2=SIP/100

Event=Hangup
Privilege=call,all
Timestamp=1451857893.432616
Channel=SIP/100


И вот здесь прошу помощи/подсказки - правильно ли я понимаю что НОМЕР, который мне необходимо получить находится в CallerIDNum?

Полное событие Dial ниже
Код: выделить все
Event: Dial
Privilege: call,all
Timestamp: 1451857888.475368
SubEvent: Begin
Channel: SIP/101-00000087
Destination: SIP/100-00000088
CallerIDNum: 101
CallerIDName: PhonerLite
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
UniqueID: 1451857888.135
DestUniqueID: 1451857888.136
Dialstring: 100


P.s.:С jabber разобрался: повесил jabberSend() номер приходит оператору, далее управление берет программа (ищет номер в БД, сверяет и т.п.)
Вложения
111111.png
Скрин тестовой версии
le7o
 
Сообщений: 11
Зарегистрирован: 07 авг 2015, 20:19

Re: Входящий номер при поступление звонка, способы получения

Сообщение virus_net » 06 янв 2016, 11:11

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

P.S. Кодить для Asterisk`а, не имения понимания того как он устроен, хотя бы основные базовые понятия, это долгое и гиблое дело.
P.S.S. В разных версиях Asterisk`а события AMI могут отличаться.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
virus_net
 
Сообщений: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: Входящий номер при поступление звонка, способы получения

Сообщение le7o » 06 янв 2016, 11:28

В данном конкретном случае нет доступа к реальному листингу AMI, версия Asterisk 1.8.19.

Интересует именно разница между значениями: Channel: SIP/101-00000087 и CallerIDNum: 101 для события Dial в случае звонка из вне?
le7o
 
Сообщений: 11
Зарегистрирован: 07 авг 2015, 20:19

Re: Входящий номер при поступление звонка, способы получения

Сообщение april22 » 06 янв 2016, 12:11

один канал
второй CallerIDNum

что такого ?
разница?
SIP/101-00000087
101

в значении
Своими вопросами , вы загоняете меня в ГУГЛЬ.
april22
 
Сообщений: 2187
Зарегистрирован: 09 июл 2012, 09:47

Re: Входящий номер при поступление звонка, способы получения

Сообщение Vlad1983 » 06 янв 2016, 12:11

проблема позвонить и посмотреть?
ЛС: @rostel
Vlad1983
 
Сообщений: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Входящий номер при поступление звонка, способы получения

Сообщение le7o » 06 янв 2016, 12:15

Я же уже написал что на виртуальном стенде только внутренние номера, а интересует именно значение Channel при входящем вызове из вне (не внутренний номер).
le7o
 
Сообщений: 11
Зарегистрирован: 07 авг 2015, 20:19

Re: Входящий номер при поступление звонка, способы получения

Сообщение Vlad1983 » 06 янв 2016, 12:35

хоть в какой среде можно сделать вызов якобы из вне
ЛС: @rostel
Vlad1983
 
Сообщений: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Входящий номер при поступление звонка, способы получения

Сообщение le7o » 06 янв 2016, 19:29

По итогу сформировал "регулярку" на получение события следующего вида:
Код: выделить все
Event=Bridge
Privilege=call,all
Timestamp=1451903956.180707
Bridgestate=Link
Bridgetype=core
Channel1=SIP/1001-00000036
Channel2=SIP/100-00000037
Uniqueid1=1451903954.54
Uniqueid2=1451903954.55
CallerID1=1001 - входящий номер
CallerID2=100


Входящий номер получаю через значение CallerID1, при условии что оно не равно CallerID2...
Всем спасибо за помощь...
le7o
 
Сообщений: 11
Зарегистрирован: 07 авг 2015, 20:19

Re: Входящий номер при поступление звонка, способы получения

Сообщение le7o » 07 янв 2016, 08:52

Прикладываю пример на Delphi, может кому то поможет
Вложения
AMI_TEST.7z
(86.9 KIB) Скачиваний: 467
le7o
 
Сообщений: 11
Зарегистрирован: 07 авг 2015, 20:19

Пред.След.

Вернуться в Разработка

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

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