Как на уровне Asterisk распознать перенаправление вызова с виртуального городского номера на номер GSM-шлюза?

Добрый день!

Заголовок постарался сформулировать максимально коротко и понятно, но получилось не очень.

В общем, вопрос следующий. Существует виртуальный городской номер, который переадресуется на номер мобильного телефона. Связка эта работает давно, и, в своё время, при использовании как обычного сотового телефона (100%), так и смартфона под управлением Windows Mobile 6.5 (насколько мне помнится) на экран выводилась метка, по которой можно было понять, осуществляется ли звонок напрямую на мобильный номер или это перенаправленный вызов. К сожалению, устройства на Андроиде эту информацию предоставлять перестали.

Теперь, чтобы было понятно, причем же тут Asterisk, перехожу к основному. В настоящий момент я далеко от места своего постоянного пребывания, в другой стране, но, так как мне необходима постоянная связь именно по моему номеру, причем количество звонков большое (т.е. роуминг и переадресации, даже с учетом всех опций — это РЕАЛЬНО дорого), ну, и нужна еще локальная связь в месте временного пребывания, реализована схема работы с применением Asterisk + GSM-модем -> SIP (TLS+SRTP) <-> Android + CSipSimple + 3G-сеть. Связка работает хорошо и стабильно, но есть следующая проблема. Периодически телефон всё-таки бывает недоступен (в основном, когда садится батарея, ибо даже в метро тут есть полноценный HSDPA\3G или, в небольшом количестве случаев, хотя бы EDGE), и в такие моменты хочется задействовать возможности голосовой почты Asterisk.

И здесь кроется последний фрагмент мозаики. Так как на телефон приходят вызовы как личного характера (напрямую на мобильный номер), так и деловые (переадресованные с корпоративного виртуального городского номера телефона), хочется разделить голосовые приветствия в зависимости от того, на какой номер звонят.

Подскажите, пожалуйста, можно ли как-то средствами Asterisk + chan_dongle отследить тот самый признак, благодаря которому старые телефонные аппараты определяли факт переадресации? Я пытался смотреть вывод с максимальным уровнем отладки — ничего не увидел. Буду благодарен за советы.
  • Вопрос задан
  • 5899 просмотров
Пригласить эксперта
Ответы на вопрос 1
mpriver
@mpriver
Информация о переадресации вызова называется RDNIS. В астериске можно получить номер, с которого звонок был переадресован (RGN) с помощью функции CALLERID(rdnis), соответственно, там где переадресации не было он будет пустой. Хотя я не уверен поддерживается ли все это в chan_dongle.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
26 апр. 2024, в 09:18
500 руб./в час
26 апр. 2024, в 06:46
1500 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект