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

StackOverflow https://stackoverflow.com/questions/2375885

  •  24-09-2019
  •  | 
  •  

Вопрос

В настоящее время я пишу службу Windows, которая использует Asterisk AMI для обнаружения при попадании вызова, а затем выполнить веб-запрос на основе которого вызов из того, кто он собирается. Кто-нибудь знает о событии в звездочке, который я мог бы слушать включенные в себя оба этих деталя? Мне нужна номер человека за пределами системы, который вызывает, но все, что я мог бы использовать для идентификации внутреннего номера телефона, называемым, будет в порядке, пока его можно использовать вне звездочки.

Я смотрел на события, и все они имеют номер внешнего звонящего на них, однако ни один из них не ссылается на внутренний абонент, кроме как в UniqueId, который, если я не буду не построить словарь из них, я не смогу использовать.

Это было полезно?

Решение

Так что в конце концов мне удалось сделать это через использование только AMI и прослушивания событий вызова. С тому, что мы хотели, чтобы добраться, я слушал события NewChannel, номера набора событий и событий Handup, хотя, если все, что вы последуете, это номер того, кто звонит, и количество которых они звонят, я уверен, что вы можете уйти с мониторингом Просто набор событий.

Каждый раз, когда было получено событие NewChannel, я создал объект канала и добавил его в список каналов, которые в настоящее время на сервере Asterisk. Затем, прослушивая к циферблату со событиями с подретиком начнется, я смог извлечь уникальный идентификатор канала обеих сторон, связанных с вызовом, а затем получить участие номера. Когда было получено событие зависания, я удалил канал, который был разрушен. Это, кажется, отлично работает, хотя у нас не было полного времени, чтобы проверить его, надеюсь, это правильно.

Другие советы

У меня есть идея, но вы, вероятно, не понравится ответ :)

Мы пытались сделать это и потерпели неудачу, поэтому мы сделали что-то зло :)

То, что мы делали, должны были написать сценарии AGI, и они называют их с помощью интерфейса менеджера, а затем соскрестите командную строку.

Такие материалы, такие как Core Show Channels. Выход из командной строки имеет тенденцию изменять патч на патч.

Если вы обнаружите, что вы делаете это, используя это с помощью API C # и не используя AGI, я был бы очень заинтересован, но мы просто не могли сделать то, что мы хотели с API, не прибегая к сценариям AGI в конце.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top