2014-11-29 3 views
1

У нас есть наше приложение, которое мы пытаемся подключиться к нашей звездочке, используя приведенный ниже код, и ищем события AMI, такие как идентификатор вызывающего абонента, уникальный идентификатор, Hangup, Answered и т. Д. Мы получаем успешный логин, но есть нет события, которое передается.события пользователя asterisk не обнаружены

 callsList = new Dictionary<string, string>(); 
     activeAgents = new Dictionary<string, string>(); 
     manager = new ManagerConnection(credentials.Address, credentials.Port, credentials.UserName, credentials.Password); 
     manager.NewCallerId += new NewCallerIdEventHandler(manager_NewCallerId); 
     manager.Link += new LinkEventHandler(manager_Link); 
     manager.Unlink += new UnlinkEventHandler(manager_Unlink); 
     manager.NewState += new NewStateEventHandler(manager_NewState); 
     manager.Hangup += new HangupEventHandler(manager_Hangup); 
     manager.Login(); 

Наш план нумерации имеет следующую строку

 exten => s,n,UserEvent(NewCallerId, ${CALLERID(num)}) 
     exten => s,n,UserEvent(NewState, ${CALLERID(num)}) 
     exten => s,n,UserEvent(Hangup, ${UNIQUEID}) 

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

:)

ответ

1

Использование ТСРйитра или другая аналогичная утилита, чтобы проверить, что именно отправить на свой интерфейс AMI.

для TCPDUMP линии имеют быть, как это

tcpdump -i eth0 -v -s0 -nn port 5038 

Примечание, вы включили события в случае, если вам это нужно.

http://www.voip-info.org/wiki/view/Asterisk+manager+API

http://www.voip-info.org/wiki/view/asterisk+manager+events

Смежные вопросы